From 113545bc7462804223563045bcea8071c9daeb9e Mon Sep 17 00:00:00 2001 From: fsb4000 Date: Wed, 28 Jan 2015 14:48:18 +0600 Subject: [PATCH] =?utf8?q?=D0=9E=D0=BA=D0=BD=D0=BE=20=D0=BE=D0=BF=D1=86=D0=B8=D0=B9=20=D1=82=D0=B5=D0=BF=D0=B5=D1=80=D1=8C=20QWidget?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/qt/bitcoingui.cpp | 12 ++++++++---- src/qt/bitcoingui.h | 2 ++ src/qt/forms/optionsdialog.ui | 5 +---- src/qt/optionsdialog.cpp | 26 ++++++++++++++++++++++---- src/qt/optionsdialog.h | 5 +++-- 5 files changed, 36 insertions(+), 14 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 75a6510..d5ddc4a 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -84,7 +84,8 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): trayIcon(0), notificator(0), rpcConsole(0), - aboutDialog(0) + aboutDialog(0), + optionsDialog(0) { resize(850, 550); setWindowTitle(tr("NovaCoin") + " - " + tr("Wallet")); @@ -202,6 +203,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): connect(openRPCConsoleAction, SIGNAL(triggered()), rpcConsole, SLOT(show())); aboutDialog = new AboutDialog(0); + optionsDialog = new OptionsDialog(0); // Clicking on "Verify Message" in the address book sends you to the verify message tab connect(addressBookPage, SIGNAL(verifyMessage(QString)), this, SLOT(gotoVerifyMessageTab(QString))); @@ -221,6 +223,7 @@ BitcoinGUI::~BitcoinGUI() delete rpcConsole; delete aboutDialog; + delete optionsDialog; } void BitcoinGUI::createActions() @@ -538,9 +541,10 @@ void BitcoinGUI::optionsClicked() { if(!clientModel || !clientModel->getOptionsModel()) return; - OptionsDialog dlg; - dlg.setModel(clientModel->getOptionsModel()); - dlg.exec(); + + optionsDialog->setModel(clientModel->getOptionsModel()); + optionsDialog->setWindowModality(Qt::ApplicationModal); + optionsDialog->show(); } void BitcoinGUI::aboutClicked() diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index 8b8daf9..d27151a 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -17,6 +17,7 @@ class MultisigDialog; class Notificator; class RPCConsole; class AboutDialog; +class OptionsDialog; QT_BEGIN_NAMESPACE class QLabel; @@ -110,6 +111,7 @@ private: MintingView *mintingView; RPCConsole *rpcConsole; AboutDialog *aboutDialog; + OptionsDialog *optionsDialog; QMovie *syncIconMovie; diff --git a/src/qt/forms/optionsdialog.ui b/src/qt/forms/optionsdialog.ui index 8427694..1258edc 100644 --- a/src/qt/forms/optionsdialog.ui +++ b/src/qt/forms/optionsdialog.ui @@ -1,7 +1,7 @@ OptionsDialog - + 0 @@ -13,9 +13,6 @@ Options - - true - diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp index c964fc3..4fc9ab8 100644 --- a/src/qt/optionsdialog.cpp +++ b/src/qt/optionsdialog.cpp @@ -13,9 +13,10 @@ #include #include #include +#include OptionsDialog::OptionsDialog(QWidget *parent) : - QDialog(parent, DIALOGWINDOWHINTS), + QWidget(parent, DIALOGWINDOWHINTS), ui(new Ui::OptionsDialog), model(0), mapper(0), @@ -216,12 +217,14 @@ void OptionsDialog::setSaveButtonState(bool fState) void OptionsDialog::on_okButton_clicked() { mapper->submit(); - accept(); +// accept(); + close(); } void OptionsDialog::on_cancelButton_clicked() { - reject(); +// reject(); + close(); } void OptionsDialog::on_applyButton_clicked() @@ -332,5 +335,20 @@ bool OptionsDialog::eventFilter(QObject *object, QEvent *event) emit torIpValid(ui->torIp, LookupNumeric(ui->torIp->text().toStdString().c_str(), addr)); } } - return QDialog::eventFilter(object, event); + return QWidget::eventFilter(object, event); } + +void OptionsDialog::keyPressEvent(QKeyEvent *event) +{ +#ifdef ANDROID + if(windowType() != Qt::Widget && event->key() == Qt::Key_Back) + { + close(); + } +#else + if(windowType() != Qt::Widget && event->key() == Qt::Key_Escape) + { + close(); + } +#endif +} \ No newline at end of file diff --git a/src/qt/optionsdialog.h b/src/qt/optionsdialog.h index c2a11df..cec9331 100644 --- a/src/qt/optionsdialog.h +++ b/src/qt/optionsdialog.h @@ -1,7 +1,7 @@ #ifndef OPTIONSDIALOG_H #define OPTIONSDIALOG_H -#include +#include namespace Ui { class OptionsDialog; @@ -11,7 +11,7 @@ class MonitoredDataMapper; class QValidatedLineEdit; /** Preferences dialog. */ -class OptionsDialog : public QDialog +class OptionsDialog : public QWidget { Q_OBJECT @@ -24,6 +24,7 @@ public: protected: bool eventFilter(QObject *object, QEvent *event); + void keyPressEvent(QKeyEvent *); private slots: /* enable only apply button */ -- 1.7.1