aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/platform/widgets/qwidgetplatformfiledialog.cpp
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2016-08-16 18:18:54 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2016-08-16 18:25:04 +0000
commita69f95259fae492c4b95813da8e75433b2883ac1 (patch)
tree4ad0516e1c662e6c2af0a324314541eb2ce718d4 /src/imports/platform/widgets/qwidgetplatformfiledialog.cpp
parent14ee7d5b940cca276bfdc0492c0ae52b69ded62d (diff)
Platform: widget-based fallbacks no longer need to check availability
It is done in qwidgetplatform_p.h createWidget() outside QT_WIDGETS_LIB guards so you get the important warnings even in -no-widgets builds. Now that the widget platform instances are created only when really available, they can unconditionally instantiate the respective widget, which simplifies the code quite a bit. Change-Id: I7430f8e803050e43edb3af3a139b0508445f6a37 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Diffstat (limited to 'src/imports/platform/widgets/qwidgetplatformfiledialog.cpp')
-rw-r--r--src/imports/platform/widgets/qwidgetplatformfiledialog.cpp66
1 files changed, 27 insertions, 39 deletions
diff --git a/src/imports/platform/widgets/qwidgetplatformfiledialog.cpp b/src/imports/platform/widgets/qwidgetplatformfiledialog.cpp
index dd25708d..772443a5 100644
--- a/src/imports/platform/widgets/qwidgetplatformfiledialog.cpp
+++ b/src/imports/platform/widgets/qwidgetplatformfiledialog.cpp
@@ -36,38 +36,34 @@
#include "qwidgetplatformfiledialog_p.h"
#include "qwidgetplatformdialog_p.h"
-#include "qwidgetplatform_p.h"
#include <QtWidgets/qfiledialog.h>
QT_BEGIN_NAMESPACE
QWidgetPlatformFileDialog::QWidgetPlatformFileDialog(QObject *parent)
+ : m_dialog(new QFileDialog)
{
setParent(parent);
- static bool available = QWidgetPlatform::isAvailable("file dialog");
- if (available) {
- m_dialog.reset(new QFileDialog);
- connect(m_dialog.data(), &QDialog::accepted, this, &QPlatformDialogHelper::accept);
- connect(m_dialog.data(), &QDialog::rejected, this, &QPlatformDialogHelper::reject);
-
- connect(m_dialog.data(), &QFileDialog::fileSelected, [this](const QString &file) {
- emit fileSelected(QUrl::fromLocalFile(file));
- });
- connect(m_dialog.data(), &QFileDialog::filesSelected, [this](const QList<QString> &files) {
- QList<QUrl> urls;
- urls.reserve(files.count());
- for (const QString &file : files)
- urls += QUrl::fromLocalFile(file);
- emit filesSelected(urls);
- });
- connect(m_dialog.data(), &QFileDialog::currentChanged, [this](const QString &path) {
- emit currentChanged(QUrl::fromLocalFile(path));
- });
- connect(m_dialog.data(), &QFileDialog::directoryEntered, this, &QWidgetPlatformFileDialog::directoryEntered);
- connect(m_dialog.data(), &QFileDialog::filterSelected, this, &QWidgetPlatformFileDialog::filterSelected);
- }
+ connect(m_dialog.data(), &QDialog::accepted, this, &QPlatformDialogHelper::accept);
+ connect(m_dialog.data(), &QDialog::rejected, this, &QPlatformDialogHelper::reject);
+
+ connect(m_dialog.data(), &QFileDialog::fileSelected, [this](const QString &file) {
+ emit fileSelected(QUrl::fromLocalFile(file));
+ });
+ connect(m_dialog.data(), &QFileDialog::filesSelected, [this](const QList<QString> &files) {
+ QList<QUrl> urls;
+ urls.reserve(files.count());
+ for (const QString &file : files)
+ urls += QUrl::fromLocalFile(file);
+ emit filesSelected(urls);
+ });
+ connect(m_dialog.data(), &QFileDialog::currentChanged, [this](const QString &path) {
+ emit currentChanged(QUrl::fromLocalFile(path));
+ });
+ connect(m_dialog.data(), &QFileDialog::directoryEntered, this, &QWidgetPlatformFileDialog::directoryEntered);
+ connect(m_dialog.data(), &QFileDialog::filterSelected, this, &QWidgetPlatformFileDialog::filterSelected);
}
QWidgetPlatformFileDialog::~QWidgetPlatformFileDialog()
@@ -81,24 +77,22 @@ bool QWidgetPlatformFileDialog::defaultNameFilterDisables() const
void QWidgetPlatformFileDialog::setDirectory(const QUrl &directory)
{
- if (m_dialog)
- m_dialog->setDirectory(directory.toLocalFile());
+ m_dialog->setDirectory(directory.toLocalFile());
}
QUrl QWidgetPlatformFileDialog::directory() const
{
- return m_dialog ? m_dialog->directoryUrl() : QUrl();
+ return m_dialog->directoryUrl();
}
void QWidgetPlatformFileDialog::selectFile(const QUrl &filename)
{
- if (m_dialog)
- m_dialog->selectUrl(filename);
+ m_dialog->selectUrl(filename);
}
QList<QUrl> QWidgetPlatformFileDialog::selectedFiles() const
{
- return m_dialog ? m_dialog->selectedUrls() : QList<QUrl>();
+ return m_dialog->selectedUrls();
}
void QWidgetPlatformFileDialog::setFilter()
@@ -108,26 +102,21 @@ void QWidgetPlatformFileDialog::setFilter()
void QWidgetPlatformFileDialog::selectNameFilter(const QString &filter)
{
- if (m_dialog)
- m_dialog->selectNameFilter(filter);
+ m_dialog->selectNameFilter(filter);
}
QString QWidgetPlatformFileDialog::selectedNameFilter() const
{
- return m_dialog ? m_dialog->selectedNameFilter() : QString();
+ return m_dialog->selectedNameFilter();
}
void QWidgetPlatformFileDialog::exec()
{
- if (m_dialog)
- m_dialog->exec();
+ m_dialog->exec();
}
bool QWidgetPlatformFileDialog::show(Qt::WindowFlags flags, Qt::WindowModality modality, QWindow *parent)
{
- if (!m_dialog)
- return false;
-
QSharedPointer<QFileDialogOptions> options = QPlatformFileDialogHelper::options();
m_dialog->setWindowTitle(options->windowTitle());
m_dialog->setAcceptMode(static_cast<QFileDialog::AcceptMode>(options->acceptMode()));
@@ -145,8 +134,7 @@ bool QWidgetPlatformFileDialog::show(Qt::WindowFlags flags, Qt::WindowModality m
void QWidgetPlatformFileDialog::hide()
{
- if (m_dialog)
- m_dialog->hide();
+ m_dialog->hide();
}
QT_END_NAMESPACE