From c4443c2be141e5f45bb10376056f3083e97cde50 Mon Sep 17 00:00:00 2001 From: Philip Kaufmann Date: Fri, 8 Jun 2012 15:21:55 +0200 Subject: re-work optionsdialog to a tabbed UI based on an ui-file - extend network options with a SOCKS version selection - changing "Unit to show amounts in:" now also updates the unit used in the transaction fee box - string updates - link Apply button and OK button when enabling or disabling them - use LookupNumeric() from netbase to verify proxy address (via an EventFilter) - change proxy address field to QValidatedLineEdit and add visual feedback - add a status label used for displaying a message for invalid proxy addresses - allow usage of IPv6 address as proxy address - added warning message when enabling / disabling SOCKS proxy --- src/qt/optionsdialog.h | 55 +++++++++++++++++++++++++++----------------------- 1 file changed, 30 insertions(+), 25 deletions(-) (limited to 'src/qt/optionsdialog.h') diff --git a/src/qt/optionsdialog.h b/src/qt/optionsdialog.h index ea0cbb8bfc..7e91c96475 100644 --- a/src/qt/optionsdialog.h +++ b/src/qt/optionsdialog.h @@ -2,48 +2,53 @@ #define OPTIONSDIALOG_H #include -#include - -QT_BEGIN_NAMESPACE -class QStackedWidget; -class QListWidget; -class QListWidgetItem; -class QPushButton; -QT_END_NAMESPACE + +namespace Ui { +class OptionsDialog; +} class OptionsModel; -class OptionsPage; class MonitoredDataMapper; /** Preferences dialog. */ class OptionsDialog : public QDialog { Q_OBJECT + public: - explicit OptionsDialog(QWidget *parent=0); + explicit OptionsDialog(QWidget *parent = 0); + ~OptionsDialog(); void setModel(OptionsModel *model); + void setMapper(); -signals: - -public slots: - /** Change the current page to \a index. */ - void changePage(int index); +protected: + bool eventFilter(QObject *object, QEvent *event); private slots: - void okClicked(); - void cancelClicked(); - void applyClicked(); - void enableApply(); - void disableApply(); + /* enable apply button and OK button */ + void enableSaveButtons(); + /* disable apply button and OK button */ + void disableSaveButtons(); + /* set apply button and OK button state (enabled / disabled) */ + void setSaveButtonState(bool fState); + void on_okButton_clicked(); + void on_cancelButton_clicked(); + void on_applyButton_clicked(); + + void showRestartWarning_Proxy(); + void showRestartWarning_Lang(); + void updateDisplayUnit(); + +signals: + void proxyIpValid(bool fValid); private: - QListWidget *contents_widget; - QStackedWidget *pages_widget; + Ui::OptionsDialog *ui; OptionsModel *model; MonitoredDataMapper *mapper; - QPushButton *apply_button; - - QList pages; + bool fRestartWarningDisplayed_Proxy; + bool fRestartWarningDisplayed_Lang; + bool fProxyIpValid; }; #endif // OPTIONSDIALOG_H -- cgit v1.2.3