X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FLightApp%2FLightApp_PreferencesDlg.cxx;h=be387c4cb22c87bb671a4045738ea5882c85611b;hb=c4b058d18583af7f94042eb55d4b933dd222d2e6;hp=b627e9a5c583a2b92bcefbbfb402af153cc95fe2;hpb=8c5294030a4c11ca0a18be48fc0165466861adad;p=modules%2Fgui.git diff --git a/src/LightApp/LightApp_PreferencesDlg.cxx b/src/LightApp/LightApp_PreferencesDlg.cxx index b627e9a5c..be387c4cb 100644 --- a/src/LightApp/LightApp_PreferencesDlg.cxx +++ b/src/LightApp/LightApp_PreferencesDlg.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2015 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 @@ -6,7 +6,7 @@ // 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 @@ -28,7 +28,10 @@ #include "QtxResourceMgr.h" +#include +#include #include +#include #include #include @@ -38,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" ) ); @@ -65,6 +68,7 @@ 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() ) ); setMinimumSize( 800, 600 ); } @@ -114,6 +118,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.*/ @@ -134,38 +141,33 @@ 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(); - - QStringList files = dlg.selectedFiles(); - if ( files.isEmpty() ) - return; + QString aName = SUIT_FileDlg::getFileName( this, anInitialPath, filtersList, tr("IMPORT_PREFERENCES"), true, true ); - QString fname = files[0]; - if( mgr->import( fname ) ) + if( mgr->import( aName ) ) { myPrefs->retrieve(); myPrefs->toBackup();