]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
PAL10671 - ?Save? of preferences as soon as the user clicks ?Ok?
authornds <nds@opencascade.com>
Fri, 9 Dec 2005 14:53:08 +0000 (14:53 +0000)
committernds <nds@opencascade.com>
Fri, 9 Dec 2005 14:53:08 +0000 (14:53 +0000)
src/LightApp/LightApp_Application.cxx
src/LightApp/LightApp_PreferencesDlg.cxx
src/LightApp/LightApp_PreferencesDlg.h

index 24d546933c9dd0eac97bf406997e2425953b6738..0e420e26bc39b732960062347ef5d72bbdf560af 100644 (file)
@@ -1250,7 +1250,11 @@ void LightApp_Application::onPreferences()
   if ( !prefDlg )
     return;
 
-  prefDlg->exec();
+  if ( ( prefDlg->exec() == QDialog::Accepted || prefDlg->isSaved() ) &&  resourceMgr() ) {
+    if ( desktop() )
+      desktop()->saveGeometry( resourceMgr(), "desktop" );
+    resourceMgr()->save();
+  }
 
   delete prefDlg;
 }
index d44586445d60031549401f7f5f6d3328c389d343..5d0f1ead4a3a01f353fae732ef205fdb4dccdd0e 100644 (file)
@@ -31,7 +31,7 @@
 */
 LightApp_PreferencesDlg::LightApp_PreferencesDlg( LightApp_Preferences* prefs, QWidget* parent )
 : QtxDialog( parent, 0, true, false, OK | Close | Apply ),
-myPrefs( prefs )
+myPrefs( prefs ), mySaved ( false )
 {
   setCaption( tr( "CAPTION" ) );
 
@@ -79,6 +79,7 @@ void LightApp_PreferencesDlg::accept()
   QtxDialog::accept();
 
   myPrefs->store();
+  mySaved = true;
 }
 
 /*!Reject. Restore preferences from backup.*/
@@ -99,4 +100,5 @@ void LightApp_PreferencesDlg::onApply()
 {
   myPrefs->store();
   myPrefs->toBackup();
+  mySaved = true;
 }
index 95ffb79b6d42be2f993673a7c7854c48ec456aea..ea7bf55fe22697014b9b709ff843950ed2e29d58 100644 (file)
@@ -40,12 +40,16 @@ public:
   virtual void          accept();
   virtual void          reject();
 
+  bool                  isSaved() { return mySaved; }
+  void                  setSaved( bool saved ) { mySaved = saved; } 
+
 private slots:
   void                  onHelp();
   void                  onApply();
 
 private:
   LightApp_Preferences* myPrefs;
+  bool                  mySaved;
 };
 
 #endif