How to realize the cancel operation of setting/option dialog?
-
Every app has it's setting/option dialog. In this dialog, it has many widgets, such as, pushbutton, groupbox, lineedit, combobox,etc.
If ths user update these widgets' contents in setting/option dialog, but click
cancel
pushbutton to undo the previous error/wrong operations.The setting/option dialog should keep the original state when next dialog 's opening.
My solution is using extra variables to save these widgets' contents in setting/option dialog, such as,
bool
variable to saveQGroupBox
,int
variable to saveQComboBox
,QString
variable to saveQLineEdit/QTextEdit
,Just like,
class OptionDialog : public QDialog { ..... private: QLineEdit* m_hostLineEdit; QLineEdit* m_portLineEdit; QLineEdit* m_userLineEdit; QLineEdit* m_pwdLineEdit; QString m_host; // to save m_hostLineEdit QString m_port; // to save m_portLineEdit QString m_username; // to save m_userLineEdit QString m_password; // to save m_pwdLineEdit ..... void ok() // when clicked the ok pushbutton { ....... /* save */ m_host = m_hostLineEdit->text(); m_port = m_portLineEdit->text(); m_username = m_userLineEdit->text(); m_password = m_pwdLineEdit->text(); .............. } void cancel() // when clicked the cancel pushbutton { ..... // undo m_hostLineEdit->setText(m_host); m_portLineEdit->setText(m_port); m_userLineEdit->setText(m_username); m_pwdLineEdit->setText(m_password); ....... } } // class OptionDialog : public QDialog
Is there anything wrong with my solution?
If a bad solution, could you give me any advice? Thanks a lot in advance.
-
Every app has it's setting/option dialog. In this dialog, it has many widgets, such as, pushbutton, groupbox, lineedit, combobox,etc.
If ths user update these widgets' contents in setting/option dialog, but click
cancel
pushbutton to undo the previous error/wrong operations.The setting/option dialog should keep the original state when next dialog 's opening.
My solution is using extra variables to save these widgets' contents in setting/option dialog, such as,
bool
variable to saveQGroupBox
,int
variable to saveQComboBox
,QString
variable to saveQLineEdit/QTextEdit
,Just like,
class OptionDialog : public QDialog { ..... private: QLineEdit* m_hostLineEdit; QLineEdit* m_portLineEdit; QLineEdit* m_userLineEdit; QLineEdit* m_pwdLineEdit; QString m_host; // to save m_hostLineEdit QString m_port; // to save m_portLineEdit QString m_username; // to save m_userLineEdit QString m_password; // to save m_pwdLineEdit ..... void ok() // when clicked the ok pushbutton { ....... /* save */ m_host = m_hostLineEdit->text(); m_port = m_portLineEdit->text(); m_username = m_userLineEdit->text(); m_password = m_pwdLineEdit->text(); .............. } void cancel() // when clicked the cancel pushbutton { ..... // undo m_hostLineEdit->setText(m_host); m_portLineEdit->setText(m_port); m_userLineEdit->setText(m_username); m_pwdLineEdit->setText(m_password); ....... } } // class OptionDialog : public QDialog
Is there anything wrong with my solution?
If a bad solution, could you give me any advice? Thanks a lot in advance.