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/forms/transactiondescdialog.ui
src/qt/transactiondescdialog.cpp
src/qt/transactiondescdialog.h
src/qt/transactionview.cpp

index b38dffc..dd78c38 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <ui version="4.0">
  <class>TransactionDescDialog</class>
- <widget class="QDialog" name="TransactionDescDialog">
+ <widget class="QWidget" name="TransactionDescDialog">
   <property name="geometry">
    <rect>
     <x>0</x>
@@ -42,7 +42,7 @@
    <sender>buttonBox</sender>
    <signal>accepted()</signal>
    <receiver>TransactionDescDialog</receiver>
-   <slot>accept()</slot>
+   <slot>close()</slot>
    <hints>
     <hint type="sourcelabel">
      <x>248</x>
@@ -58,7 +58,7 @@
    <sender>buttonBox</sender>
    <signal>rejected()</signal>
    <receiver>TransactionDescDialog</receiver>
-   <slot>reject()</slot>
+   <slot>close()</slot>
    <hints>
     <hint type="sourcelabel">
      <x>316</x>
index e37b71e..c79792d 100644 (file)
@@ -5,9 +5,10 @@
 #include "dialogwindowflags.h"
 
 #include <QModelIndex>
+#include <QKeyEvent>
 
 TransactionDescDialog::TransactionDescDialog(const QModelIndex &idx, QWidget *parent) :
-    QDialog(parent, DIALOGWINDOWHINTS),
+    QWidget(parent, DIALOGWINDOWHINTS),
     ui(new Ui::TransactionDescDialog)
 {
     ui->setupUi(this);
@@ -19,3 +20,18 @@ TransactionDescDialog::~TransactionDescDialog()
 {
     delete ui;
 }
+
+void TransactionDescDialog::keyPressEvent(QKeyEvent *event)
+{
+#ifdef ANDROID
+    if(event->key() == Qt::Key_Back)
+    {
+        close();
+    }
+#else
+    if(event->key() == Qt::Key_Escape)
+    {
+        close();
+    }
+#endif
+}
\ No newline at end of file
index e86fb58..4d74821 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef TRANSACTIONDESCDIALOG_H
 #define TRANSACTIONDESCDIALOG_H
 
-#include <QDialog>
+#include <QWidget>
 
 namespace Ui {
     class TransactionDescDialog;
@@ -11,9 +11,11 @@ class QModelIndex;
 QT_END_NAMESPACE
 
 /** Dialog showing transaction details. */
-class TransactionDescDialog : public QDialog
+class TransactionDescDialog : public QWidget
 {
     Q_OBJECT
+protected:
+    void keyPressEvent(QKeyEvent *);
 
 public:
     explicit TransactionDescDialog(const QModelIndex &idx, QWidget *parent = 0);
index a5cb6c8..45abb74 100644 (file)
@@ -32,6 +32,7 @@
 #include <QDesktopServices>
 #include <QSignalMapper>
 #include <QUrl>
+#include <QEventLoop>
 
 TransactionView::TransactionView(QWidget *parent) :
     QWidget(parent), model(0), transactionProxyModel(0),
@@ -415,7 +416,13 @@ void TransactionView::showDetails()
     if(!selection.isEmpty())
     {
         TransactionDescDialog dlg(selection.at(0));
-        dlg.exec();
+        dlg.setWindowModality(Qt::ApplicationModal);
+        dlg.show();
+
+        // This loop will wait for the window is closed
+        QEventLoop loop;
+        connect(&dlg, SIGNAL(close()), &loop, SLOT(quit()));
+        loop.exec();
     }
 }