X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FLightApp%2FLightApp_PreferencesDlg.cxx;h=147ab8117520a482f84f76448dd743ef670710a0;hb=8d3405d6aa5e63bb6680dca7d21c2df6c555e783;hp=748d42b54bbf60b000aa6ca35d5fcdb7f3feedaa;hpb=1c889394b028b786898a995d38c07c8f3d564837;p=modules%2Fgui.git diff --git a/src/LightApp/LightApp_PreferencesDlg.cxx b/src/LightApp/LightApp_PreferencesDlg.cxx index 748d42b54..147ab8117 100644 --- a/src/LightApp/LightApp_PreferencesDlg.cxx +++ b/src/LightApp/LightApp_PreferencesDlg.cxx @@ -1,24 +1,25 @@ -// Copyright (C) 2007-2008 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 +// 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. +// 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, 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 -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. // -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + // File: LightApp_PreferencesDlg.cxx // Author: Sergey TELKOV // @@ -27,7 +28,10 @@ #include "QtxResourceMgr.h" +#include +#include #include +#include #include #include @@ -37,7 +41,7 @@ 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" ) ); @@ -64,6 +68,11 @@ myPrefs( prefs ), mySaved ( false ) 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 ); } /*! @@ -111,6 +120,9 @@ void LightApp_PreferencesDlg::reject() /*!Do nothing.*/ void LightApp_PreferencesDlg::onHelp() { + SUIT_Application* app = SUIT_Session::session()->activeApplication(); + if ( app ) + app->onHelpContextModule( "GUI", "setting_preferences_page.html" ); } /*!Store preferences on apply.*/ @@ -131,40 +143,41 @@ void LightApp_PreferencesDlg::onApply() /*! 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" ) ); +}