diff options
author | Rafael Roquetto <rafael.roquetto.qnx@kdab.com> | 2013-11-28 11:51:18 -0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-12-01 01:57:59 +0100 |
commit | 0312cb3ffe3d29f7c74c142515ed4ffbc86c03ff (patch) | |
tree | d47787bee2ce0e1f50315b7ad4c76764fc4543ce | |
parent | 2a76ef7e990404340f53cafbe4f85d8f124da0f1 (diff) |
BlackBerry: Fix QFileDialog show()/hide()
QFileDialog::show() no longer worked after the dialog had already been shown
and hidden before.
Task-number: QTBUG-34983
Change-Id: I7300374b74805308e0966db7b3545e5fd8470465
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
-rw-r--r-- | src/plugins/platforms/qnx/qqnxfiledialoghelper.h | 3 | ||||
-rw-r--r-- | src/plugins/platforms/qnx/qqnxfiledialoghelper_bb10.cpp | 14 |
2 files changed, 12 insertions, 5 deletions
diff --git a/src/plugins/platforms/qnx/qqnxfiledialoghelper.h b/src/plugins/platforms/qnx/qqnxfiledialoghelper.h index e7c68f6ff5..c2033c16d3 100644 --- a/src/plugins/platforms/qnx/qqnxfiledialoghelper.h +++ b/src/plugins/platforms/qnx/qqnxfiledialoghelper.h @@ -87,6 +87,9 @@ public: Q_SIGNALS: void dialogClosed(); +private Q_SLOTS: + void emitSignals(); + private: void setNameFilter(const QString &filter); void setNameFilters(const QStringList &filters); diff --git a/src/plugins/platforms/qnx/qqnxfiledialoghelper_bb10.cpp b/src/plugins/platforms/qnx/qqnxfiledialoghelper_bb10.cpp index dc841eb1a9..e3b1e2dc4d 100644 --- a/src/plugins/platforms/qnx/qqnxfiledialoghelper_bb10.cpp +++ b/src/plugins/platforms/qnx/qqnxfiledialoghelper_bb10.cpp @@ -68,6 +68,7 @@ QQnxFileDialogHelper::QQnxFileDialogHelper(const QQnxIntegration *integration) m_selectedFilter(), m_result(QPlatformDialogHelper::Rejected) { + connect(m_dialog, &QQnxFilePicker::closed, this, &QQnxFileDialogHelper::emitSignals); } QQnxFileDialogHelper::~QQnxFileDialogHelper() @@ -85,11 +86,6 @@ void QQnxFileDialogHelper::exec() QEventLoop loop; connect(m_dialog, SIGNAL(closed()), &loop, SLOT(quit())); loop.exec(); - - if (m_dialog->selectedFiles().isEmpty()) - Q_EMIT reject(); - else - Q_EMIT accept(); } bool QQnxFileDialogHelper::show(Qt::WindowFlags flags, Qt::WindowModality modality, QWindow *parent) @@ -197,6 +193,14 @@ QString QQnxFileDialogHelper::selectedNameFilter() const return m_selectedFilter; } +void QQnxFileDialogHelper::emitSignals() +{ + if (m_dialog->selectedFiles().isEmpty()) + Q_EMIT reject(); + else + Q_EMIT accept(); +} + void QQnxFileDialogHelper::setNameFilter(const QString &filter) { qFileDialogHelperDebug() << Q_FUNC_INFO << "filter =" << filter; |