aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/platform
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2016-08-15 13:37:42 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2016-08-15 12:47:23 +0000
commit748a9418544e25c2abc6e3eb8862517bea091e7d (patch)
tree0f4a16af267f60d67931449f3bae5c7e8afb3f46 /src/imports/platform
parente7bef190cd794b688c9428913ebcc59cd7b1c76b (diff)
Add QQuickPlatformDialog::useNativeDialog()
Change-Id: Id1699a6045eb9066a80ebdbb3cb5d3a01e58a36f Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Diffstat (limited to 'src/imports/platform')
-rw-r--r--src/imports/platform/qquickplatformcolordialog.cpp7
-rw-r--r--src/imports/platform/qquickplatformcolordialog_p.h1
-rw-r--r--src/imports/platform/qquickplatformdialog.cpp5
-rw-r--r--src/imports/platform/qquickplatformdialog_p.h1
-rw-r--r--src/imports/platform/qquickplatformfiledialog.cpp7
-rw-r--r--src/imports/platform/qquickplatformfiledialog_p.h1
-rw-r--r--src/imports/platform/qquickplatformfolderdialog.cpp7
-rw-r--r--src/imports/platform/qquickplatformfolderdialog_p.h1
-rw-r--r--src/imports/platform/qquickplatformfontdialog.cpp7
-rw-r--r--src/imports/platform/qquickplatformfontdialog_p.h1
-rw-r--r--src/imports/platform/qquickplatformmessagedialog.cpp4
11 files changed, 37 insertions, 5 deletions
diff --git a/src/imports/platform/qquickplatformcolordialog.cpp b/src/imports/platform/qquickplatformcolordialog.cpp
index 257095e3..792debb7 100644
--- a/src/imports/platform/qquickplatformcolordialog.cpp
+++ b/src/imports/platform/qquickplatformcolordialog.cpp
@@ -185,10 +185,15 @@ void QQuickPlatformColorDialog::setOptions(QColorDialogOptions::ColorDialogOptio
emit optionsChanged();
}
+bool QQuickPlatformColorDialog::useNativeDialog() const
+{
+ return !m_options->testOption(QColorDialogOptions::DontUseNativeDialog);
+}
+
QPlatformDialogHelper *QQuickPlatformColorDialog::onCreate()
{
QPlatformDialogHelper *dialog = nullptr;
- if (!m_options->testOption(QColorDialogOptions::DontUseNativeDialog))
+ if (useNativeDialog())
dialog = QGuiApplicationPrivate::platformTheme()->createPlatformDialogHelper(QPlatformTheme::ColorDialog);
#ifdef QT_WIDGETS_LIB
if (!dialog)
diff --git a/src/imports/platform/qquickplatformcolordialog_p.h b/src/imports/platform/qquickplatformcolordialog_p.h
index 1671dabf..3ab8e79f 100644
--- a/src/imports/platform/qquickplatformcolordialog_p.h
+++ b/src/imports/platform/qquickplatformcolordialog_p.h
@@ -80,6 +80,7 @@ Q_SIGNALS:
void optionsChanged();
protected:
+ bool useNativeDialog() const override;
QPlatformDialogHelper *onCreate() override;
void onShow(QPlatformDialogHelper *dialog) override;
void accept() override;
diff --git a/src/imports/platform/qquickplatformdialog.cpp b/src/imports/platform/qquickplatformdialog.cpp
index 09d1919a..70d571e0 100644
--- a/src/imports/platform/qquickplatformdialog.cpp
+++ b/src/imports/platform/qquickplatformdialog.cpp
@@ -353,6 +353,11 @@ void QQuickPlatformDialog::destroy()
m_handle = nullptr;
}
+bool QQuickPlatformDialog::useNativeDialog() const
+{
+ return true;
+}
+
void QQuickPlatformDialog::onShow(QPlatformDialogHelper *dialog)
{
Q_UNUSED(dialog);
diff --git a/src/imports/platform/qquickplatformdialog_p.h b/src/imports/platform/qquickplatformdialog_p.h
index 967da7a2..cdae186e 100644
--- a/src/imports/platform/qquickplatformdialog_p.h
+++ b/src/imports/platform/qquickplatformdialog_p.h
@@ -126,6 +126,7 @@ protected:
bool create();
void destroy();
+ virtual bool useNativeDialog() const;
virtual QPlatformDialogHelper *onCreate() = 0;
virtual void onShow(QPlatformDialogHelper *dialog);
diff --git a/src/imports/platform/qquickplatformfiledialog.cpp b/src/imports/platform/qquickplatformfiledialog.cpp
index 03d145af..4718442a 100644
--- a/src/imports/platform/qquickplatformfiledialog.cpp
+++ b/src/imports/platform/qquickplatformfiledialog.cpp
@@ -458,10 +458,15 @@ void QQuickPlatformFileDialog::resetRejectLabel()
setRejectLabel(QString());
}
+bool QQuickPlatformFileDialog::useNativeDialog() const
+{
+ return !m_options->testOption(QFileDialogOptions::DontUseNativeDialog);
+}
+
QPlatformDialogHelper *QQuickPlatformFileDialog::onCreate()
{
QPlatformDialogHelper *dialog = nullptr;
- if (!m_options->testOption(QFileDialogOptions::DontUseNativeDialog))
+ if (useNativeDialog())
dialog = QGuiApplicationPrivate::platformTheme()->createPlatformDialogHelper(QPlatformTheme::FileDialog);
#ifdef QT_WIDGETS_LIB
if (!dialog)
diff --git a/src/imports/platform/qquickplatformfiledialog_p.h b/src/imports/platform/qquickplatformfiledialog_p.h
index f06927e4..bd849a3f 100644
--- a/src/imports/platform/qquickplatformfiledialog_p.h
+++ b/src/imports/platform/qquickplatformfiledialog_p.h
@@ -137,6 +137,7 @@ Q_SIGNALS:
void rejectLabelChanged();
protected:
+ bool useNativeDialog() const override;
QPlatformDialogHelper *onCreate() override;
void onShow(QPlatformDialogHelper *dialog) override;
void accept() override;
diff --git a/src/imports/platform/qquickplatformfolderdialog.cpp b/src/imports/platform/qquickplatformfolderdialog.cpp
index 96c0add3..84847097 100644
--- a/src/imports/platform/qquickplatformfolderdialog.cpp
+++ b/src/imports/platform/qquickplatformfolderdialog.cpp
@@ -260,10 +260,15 @@ void QQuickPlatformFolderDialog::resetRejectLabel()
setRejectLabel(QString());
}
+bool QQuickPlatformFolderDialog::useNativeDialog() const
+{
+ return !m_options->testOption(QFileDialogOptions::DontUseNativeDialog);
+}
+
QPlatformDialogHelper *QQuickPlatformFolderDialog::onCreate()
{
QPlatformDialogHelper *dialog = nullptr;
- if (!m_options->testOption(QFileDialogOptions::DontUseNativeDialog))
+ if (useNativeDialog())
dialog = QGuiApplicationPrivate::platformTheme()->createPlatformDialogHelper(QPlatformTheme::FileDialog);
#ifdef QT_WIDGETS_LIB
if (!dialog)
diff --git a/src/imports/platform/qquickplatformfolderdialog_p.h b/src/imports/platform/qquickplatformfolderdialog_p.h
index d58ade0e..5d0b4404 100644
--- a/src/imports/platform/qquickplatformfolderdialog_p.h
+++ b/src/imports/platform/qquickplatformfolderdialog_p.h
@@ -93,6 +93,7 @@ Q_SIGNALS:
void rejectLabelChanged();
protected:
+ bool useNativeDialog() const override;
QPlatformDialogHelper *onCreate() override;
void onShow(QPlatformDialogHelper *dialog) override;
void accept() override;
diff --git a/src/imports/platform/qquickplatformfontdialog.cpp b/src/imports/platform/qquickplatformfontdialog.cpp
index 40598998..ab6e05ec 100644
--- a/src/imports/platform/qquickplatformfontdialog.cpp
+++ b/src/imports/platform/qquickplatformfontdialog.cpp
@@ -188,10 +188,15 @@ void QQuickPlatformFontDialog::setOptions(QFontDialogOptions::FontDialogOptions
emit optionsChanged();
}
+bool QQuickPlatformFontDialog::useNativeDialog() const
+{
+ return !m_options->testOption(QFontDialogOptions::DontUseNativeDialog);
+}
+
QPlatformDialogHelper *QQuickPlatformFontDialog::onCreate()
{
QPlatformDialogHelper *dialog = nullptr;
- if (!m_options->testOption(QFontDialogOptions::DontUseNativeDialog))
+ if (useNativeDialog())
dialog = QGuiApplicationPrivate::platformTheme()->createPlatformDialogHelper(QPlatformTheme::FontDialog);
#ifdef QT_WIDGETS_LIB
if (!dialog)
diff --git a/src/imports/platform/qquickplatformfontdialog_p.h b/src/imports/platform/qquickplatformfontdialog_p.h
index 7fe7d635..3cfa391e 100644
--- a/src/imports/platform/qquickplatformfontdialog_p.h
+++ b/src/imports/platform/qquickplatformfontdialog_p.h
@@ -80,6 +80,7 @@ Q_SIGNALS:
void optionsChanged();
protected:
+ bool useNativeDialog() const override;
QPlatformDialogHelper *onCreate() override;
void onShow(QPlatformDialogHelper *dialog) override;
void accept() override;
diff --git a/src/imports/platform/qquickplatformmessagedialog.cpp b/src/imports/platform/qquickplatformmessagedialog.cpp
index b8d84864..842648f1 100644
--- a/src/imports/platform/qquickplatformmessagedialog.cpp
+++ b/src/imports/platform/qquickplatformmessagedialog.cpp
@@ -348,7 +348,9 @@ void QQuickPlatformMessageDialog::setButtons(QPlatformDialogHelper::StandardButt
QPlatformDialogHelper *QQuickPlatformMessageDialog::onCreate()
{
- QPlatformDialogHelper *dialog = QGuiApplicationPrivate::platformTheme()->createPlatformDialogHelper(QPlatformTheme::MessageDialog);
+ QPlatformDialogHelper *dialog = nullptr;
+ if (useNativeDialog())
+ dialog = QGuiApplicationPrivate::platformTheme()->createPlatformDialogHelper(QPlatformTheme::MessageDialog);
#ifdef QT_WIDGETS_LIB
if (!dialog)
dialog = new QWidgetPlatformMessageDialog(this);