From: fsb4000 Date: Wed, 28 Jan 2015 08:48:18 +0000 (+0600) Subject: Окно опций теперь QWidget X-Git-Tag: nvc-v0.5.3~125^2 X-Git-Url: https://git.novaco.in/?p=novacoin.git;a=commitdiff_plain;h=113545bc7462804223563045bcea8071c9daeb9e Окно опций теперь QWidget --- 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 */