-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
#include "QtxResourceMgr.h"
+#include <SUIT_Session.h>
+#include <SUIT_Application.h>
#include <SUIT_MessageBox.h>
+#include <SUIT_FileDlg.h>
#include <QAbstractButton>
#include <QVBoxLayout>
Constructor.
*/
LightApp_PreferencesDlg::LightApp_PreferencesDlg( LightApp_Preferences* prefs, QWidget* parent )
-: QtxDialog( parent, true, true, OK | Close | Apply ),
+: QtxDialog( parent, true, true, OK | Close | Apply | Help ),
myPrefs( prefs ), mySaved ( false )
{
setWindowTitle( tr( "CAPTION" ) );
QAbstractButton* impBtn = userButton( insertButton( tr( "IMPORT_BTN_TEXT" ) ) );
if( impBtn )
connect( impBtn, SIGNAL( clicked() ), this, SLOT( onImportPref() ) );
+ connect( this, SIGNAL( defaultPressed() ), prefs, SIGNAL( resetToDefaults() ) );
+
+ connect( prefs, SIGNAL( restartRequired() ), this, SLOT( onRestartRequired() ) );
setMinimumSize( 800, 600 );
}
/*!Do nothing.*/
void LightApp_PreferencesDlg::onHelp()
{
+ SUIT_Application* app = SUIT_Session::session()->activeApplication();
+ if ( app )
+ app->onHelpContextModule( "GUI", "setting_preferences.html" );
}
/*!Store preferences on apply.*/
/*! Restore default preferences*/
void LightApp_PreferencesDlg::onDefault()
{
- if( SUIT_MessageBox::Ok == SUIT_MessageBox::question( this, tr( "WARNING" ), tr( "DEFAULT_QUESTION" ),
- SUIT_MessageBox::Ok | SUIT_MessageBox::Cancel,
- SUIT_MessageBox::Ok ) )
+ if ( SUIT_MessageBox::Ok == SUIT_MessageBox::question( this, tr( "WARNING" ), tr( "DEFAULT_QUESTION" ),
+ SUIT_MessageBox::Ok | SUIT_MessageBox::Cancel,
+ SUIT_MessageBox::Ok ) )
+ {
+ if ( myPrefs && myPrefs->resourceMgr() )
{
- if ( myPrefs && myPrefs->resourceMgr() )
- {
- QtxResourceMgr::WorkingMode prev = myPrefs->resourceMgr()->workingMode();
- myPrefs->resourceMgr()->setWorkingMode( QtxResourceMgr::IgnoreUserValues );
- myPrefs->retrieve();
- myPrefs->resourceMgr()->setWorkingMode( prev );
- }
+ QtxResourceMgr::WorkingMode prev = myPrefs->resourceMgr()->setWorkingMode( QtxResourceMgr::IgnoreUserValues );
+ myPrefs->retrieve();
+ myPrefs->resourceMgr()->setWorkingMode( prev );
}
+ emit defaultPressed();
+ }
}
/*! Import preferences from some file */
void LightApp_PreferencesDlg::onImportPref()
{
QtxResourceMgr* mgr = myPrefs->resourceMgr();
- if( !mgr )
- return;
+ QStringList filtersList;
+ filtersList.append(tr("XML_FILES_FILTER"));
+ QString anInitialPath = "";
+ if ( SUIT_FileDlg::getLastVisitedPath().isEmpty() )
+ anInitialPath = QDir::currentPath();
- QFileDialog dlg( this, tr("IMPORT_PREFERENCES"), ".", "*" );
- dlg.setObjectName( "" );
- //dlg.setShowHiddenFiles( true );
- dlg.exec();
+ QString aName = SUIT_FileDlg::getFileName( this, anInitialPath, filtersList, tr("IMPORT_PREFERENCES"), true, true );
- QStringList files = dlg.selectedFiles();
- if ( files.isEmpty() )
- return;
-
- QString fname = files[0];
- if( mgr->import( fname ) )
+ if( mgr->import( aName ) )
{
myPrefs->retrieve();
myPrefs->toBackup();
}
}
+
+/*! Called if some preferences that will come in force only after application restart are changed */
+void LightApp_PreferencesDlg::onRestartRequired()
+{
+ SUIT_MessageBox::information( this, tr( "WRN_WARNING" ), tr( "PREF_NEED_RESTART" ) );
+}