Salome HOME
Has functionality from SalomeApp without dependency from CORBA
[modules/gui.git] / src / LightApp / LightApp_PreferencesDlg.cxx
1 // File:      LightApp_PreferencesDlg.cxx
2 // Author:    Sergey TELKOV
3
4 #include "LightApp_PreferencesDlg.h"
5
6 #include "LightApp_Preferences.h"
7
8 #include <qvbox.h>
9 #include <qlayout.h>
10
11 /*!
12   Constructor.
13 */
14 LightApp_PreferencesDlg::LightApp_PreferencesDlg( LightApp_Preferences* prefs, QWidget* parent )
15 : QtxDialog( parent, 0, true, false, OK | Close | Apply ),
16 myPrefs( prefs )
17 {
18   setCaption( tr( "CAPTION" ) );
19
20   QVBoxLayout* main = new QVBoxLayout( mainFrame(), 5 );
21
22   QVBox* base = new QVBox( mainFrame() );
23   main->addWidget( base );
24
25   myPrefs->reparent( base, QPoint( 0, 0 ), true );
26
27   setFocusProxy( myPrefs );
28
29   setButtonPosition( Right, Close );
30
31   setDialogFlags( AlignOnce );
32
33   connect( this, SIGNAL( dlgHelp() ),  this, SLOT( onHelp() ) );
34   connect( this, SIGNAL( dlgApply() ), this, SLOT( onApply() ) );
35 }
36
37 /*!
38   Destructor.
39 */
40 LightApp_PreferencesDlg::~LightApp_PreferencesDlg()
41 {
42   if ( !myPrefs )
43     return;
44
45   myPrefs->reparent( 0, QPoint( 0, 0 ), false );
46   myPrefs = 0;
47 }
48
49 /*!Show dialog.*/
50 void LightApp_PreferencesDlg::show()
51 {
52   myPrefs->retrieve();
53   myPrefs->toBackup();
54
55   QtxDialog::show();
56 }
57
58 /*!Store preferences on accept.*/
59 void LightApp_PreferencesDlg::accept()
60 {
61   QtxDialog::accept();
62
63   myPrefs->store();
64 }
65
66 /*!Reject. Restore preferences from backup.*/
67 void LightApp_PreferencesDlg::reject()
68 {
69   QtxDialog::reject();
70
71   myPrefs->fromBackup();
72 }
73
74 /*!Do nothing.*/
75 void LightApp_PreferencesDlg::onHelp()
76 {
77 }
78
79 /*!Store preferences on apply.*/
80 void LightApp_PreferencesDlg::onApply()
81 {
82   myPrefs->store();
83   myPrefs->toBackup();
84 }