Merge pull request #148 from fsb4000/MultisigDialog
authorCryptoManiac <CryptoManiac@users.noreply.github.com>
Mon, 9 Feb 2015 20:47:03 +0000 (23:47 +0300)
committerCryptoManiac <CryptoManiac@users.noreply.github.com>
Mon, 9 Feb 2015 20:47:03 +0000 (23:47 +0300)
Окно для работы с мультиподписью теперь QWidget

src/qt/bitcoingui.cpp
src/qt/forms/multisigdialog.ui
src/qt/multisigdialog.cpp
src/qt/multisigdialog.h

index d5ddc4a..a275cc8 100644 (file)
@@ -85,7 +85,8 @@ BitcoinGUI::BitcoinGUI(QWidget *parent):
     notificator(0),
     rpcConsole(0),
     aboutDialog(0),
-    optionsDialog(0)
+    optionsDialog(0),
+    multisigPage(0)
 {
     resize(850, 550);
     setWindowTitle(tr("NovaCoin") + " - " + tr("Wallet"));
@@ -134,7 +135,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent):
 
     signVerifyMessageDialog = new SignVerifyMessageDialog(this);
 
-    multisigPage = new MultisigDialog(this);
+    multisigPage = new MultisigDialog(0);
 
     centralWidget = new QStackedWidget(this);
     centralWidget->addWidget(overviewPage);
@@ -224,6 +225,7 @@ BitcoinGUI::~BitcoinGUI()
     delete rpcConsole;
     delete aboutDialog;
     delete optionsDialog;
+    delete multisigPage;
 }
 
 void BitcoinGUI::createActions()
index 0ec772d..a0b360f 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <ui version="4.0">
  <class>MultisigDialog</class>
- <widget class="QDialog" name="MultisigDialog">
+ <widget class="QWidget" name="MultisigDialog">
   <property name="geometry">
    <rect>
     <x>0</x>
index 52eb978..56d1674 100644 (file)
@@ -2,6 +2,7 @@
 #include <QDialog>
 #include <QMessageBox>
 #include <QScrollBar>
+#include <QKeyEvent>
 #include <vector>
 
 #include "addresstablemodel.h"
@@ -28,7 +29,7 @@
 #pragma warning( disable : 4101)
 #endif
 
-MultisigDialog::MultisigDialog(QWidget *parent) : QDialog(parent), ui(new Ui::MultisigDialog), model(0)
+MultisigDialog::MultisigDialog(QWidget *parent) : QWidget(parent), ui(new Ui::MultisigDialog), model(0)
 {
     ui->setupUi(this);
 
@@ -642,4 +643,19 @@ void MultisigDialog::updateAmounts()
     QString feeStr;
     feeStr.sprintf("%.6f", (double) fee / COIN);
     ui->fee->setText(feeStr);
+}
+
+void MultisigDialog::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
index 50f98a8..1c444c2 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef MULTISIGDIALOG_H
 #define MULTISIGDIALOG_H
 
-#include <QDialog>
+#include <QWidget>
 
 #include "multisigaddressentry.h"
 #include "multisiginputentry.h"
@@ -14,13 +14,16 @@ namespace Ui
     class MultisigDialog;
 }
 
-class MultisigDialog : public QDialog
+class MultisigDialog : public QWidget
 {
     Q_OBJECT;
+  protected:
+    void keyPressEvent(QKeyEvent *);
 
   public:
     explicit MultisigDialog(QWidget *parent);
     MultisigDialog();
+    ~MultisigDialog();
     void setModel(WalletModel *model);
 
   public slots:
@@ -33,7 +36,6 @@ class MultisigDialog : public QDialog
   private:
     Ui::MultisigDialog *ui;
     WalletModel *model;
-    ~MultisigDialog();
 
   private slots:
     void showEvent(QShowEvent *event);