summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx
diff options
context:
space:
mode:
authorRafael Roquetto <rafael.roquetto.qnx@kdab.com>2013-11-28 11:51:18 -0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-12-01 01:57:59 +0100
commit0312cb3ffe3d29f7c74c142515ed4ffbc86c03ff (patch)
treed47787bee2ce0e1f50315b7ad4c76764fc4543ce /src/plugins/platforms/qnx
parent2a76ef7e990404340f53cafbe4f85d8f124da0f1 (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>
Diffstat (limited to 'src/plugins/platforms/qnx')
-rw-r--r--src/plugins/platforms/qnx/qqnxfiledialoghelper.h3
-rw-r--r--src/plugins/platforms/qnx/qqnxfiledialoghelper_bb10.cpp14
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;