diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2016-08-14 13:46:51 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2016-08-14 12:07:27 +0000 |
commit | 54de8921d0fb10ee6d554f13631d57b2f7bfdffe (patch) | |
tree | 2b6c000834850714f05fd7ca775c909276da1d77 /src/imports/platform | |
parent | 018e051c266413e514f93bcd24a0c783554cfea7 (diff) |
Platform dialogs: make properties independent of the platform instance
This allows us to postpone to creation further, and even re-create
the instance on the fly later, without losing information.
Change-Id: I116d332d10d637bbc393ee31ec1bc8b0cd156835
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Diffstat (limited to 'src/imports/platform')
4 files changed, 6 insertions, 2 deletions
diff --git a/src/imports/platform/qquickplatformcolordialog.cpp b/src/imports/platform/qquickplatformcolordialog.cpp index 5f5905d4..ed6b9a56 100644 --- a/src/imports/platform/qquickplatformcolordialog.cpp +++ b/src/imports/platform/qquickplatformcolordialog.cpp @@ -145,13 +145,14 @@ QColor QQuickPlatformColorDialog::currentColor() const { if (QPlatformColorDialogHelper *colorDialog = qobject_cast<QPlatformColorDialogHelper *>(handle())) return colorDialog->currentColor(); - return QColor(); + return m_currentColor; } void QQuickPlatformColorDialog::setCurrentColor(const QColor &color) { if (QPlatformColorDialogHelper *colorDialog = qobject_cast<QPlatformColorDialogHelper *>(handle())) colorDialog->setCurrentColor(color); + m_currentColor = color; } /*! diff --git a/src/imports/platform/qquickplatformcolordialog_p.h b/src/imports/platform/qquickplatformcolordialog_p.h index 70d913e1..ffc31116 100644 --- a/src/imports/platform/qquickplatformcolordialog_p.h +++ b/src/imports/platform/qquickplatformcolordialog_p.h @@ -86,6 +86,7 @@ protected: private: QColor m_color; + QColor m_currentColor; // TODO: QColorDialogOptions::initialColor QSharedPointer<QColorDialogOptions> m_options; }; diff --git a/src/imports/platform/qquickplatformfontdialog.cpp b/src/imports/platform/qquickplatformfontdialog.cpp index cffa5b97..bd7b1b06 100644 --- a/src/imports/platform/qquickplatformfontdialog.cpp +++ b/src/imports/platform/qquickplatformfontdialog.cpp @@ -145,13 +145,14 @@ QFont QQuickPlatformFontDialog::currentFont() const { if (QPlatformFontDialogHelper *fontDialog = qobject_cast<QPlatformFontDialogHelper *>(handle())) return fontDialog->currentFont(); - return QFont(); + return m_currentFont; } void QQuickPlatformFontDialog::setCurrentFont(const QFont &font) { if (QPlatformFontDialogHelper *fontDialog = qobject_cast<QPlatformFontDialogHelper *>(handle())) fontDialog->setCurrentFont(font); + m_currentFont = font; } /*! diff --git a/src/imports/platform/qquickplatformfontdialog_p.h b/src/imports/platform/qquickplatformfontdialog_p.h index 920628ed..583bf42a 100644 --- a/src/imports/platform/qquickplatformfontdialog_p.h +++ b/src/imports/platform/qquickplatformfontdialog_p.h @@ -86,6 +86,7 @@ protected: private: QFont m_font; + QFont m_currentFont; // TODO: QFontDialogOptions::initialFont QSharedPointer<QFontDialogOptions> m_options; }; |