<?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>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>TransactionDescDialog</receiver>
- <slot>accept()</slot>
+ <slot>close()</slot>
<hints>
<hint type="sourcelabel">
<x>248</x>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>TransactionDescDialog</receiver>
- <slot>reject()</slot>
+ <slot>close()</slot>
<hints>
<hint type="sourcelabel">
<x>316</x>
#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);
{
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
#ifndef TRANSACTIONDESCDIALOG_H
#define TRANSACTIONDESCDIALOG_H
-#include <QDialog>
+#include <QWidget>
namespace Ui {
class TransactionDescDialog;
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);
#include <QDesktopServices>
#include <QSignalMapper>
#include <QUrl>
+#include <QEventLoop>
TransactionView::TransactionView(QWidget *parent) :
QWidget(parent), model(0), transactionProxyModel(0),
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();
}
}