diff options
author | Tim Jenssen <tim.jenssen@qt.io> | 2017-03-06 14:35:09 +0100 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@qt.io> | 2017-03-09 17:20:16 +0000 |
commit | e6e71e385ec1121246e72bd7be09d489eb457288 (patch) | |
tree | 9a4921c2042068ab24d208578c9d0f264786e3fa /src/libs/utils/theme | |
parent | 1b9c18951ad565bccdfcd55418aee36d5f568713 (diff) | |
download | qt-creator-e6e71e385ec1121246e72bd7be09d489eb457288.tar.gz |
Theme: enable inheritance without private knowledge
Change-Id: Id0ff90a92964fb213db50d11df832333cfb56716
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/libs/utils/theme')
-rw-r--r-- | src/libs/utils/theme/theme.cpp | 6 | ||||
-rw-r--r-- | src/libs/utils/theme/theme.h | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/libs/utils/theme/theme.cpp b/src/libs/utils/theme/theme.cpp index a0dd779f4b..5eb8a86b22 100644 --- a/src/libs/utils/theme/theme.cpp +++ b/src/libs/utils/theme/theme.cpp @@ -54,7 +54,7 @@ Theme *creatorTheme() Theme *proxyTheme() { - return new Theme(*(new ThemePrivate(*(m_creatorTheme->d)))); + return new Theme(m_creatorTheme); } void setCreatorTheme(Theme *theme) @@ -74,7 +74,9 @@ Theme::Theme(const QString &id, QObject *parent) d->id = id; } -Theme::Theme(ThemePrivate &dd, QObject *parent) : QObject(parent), d(&dd) +Theme::Theme(Theme *originTheme, QObject *parent) + : QObject(parent) + , d(new ThemePrivate(*(originTheme->d))) { } diff --git a/src/libs/utils/theme/theme.h b/src/libs/utils/theme/theme.h index 9aa84dee92..e0b9fcd97f 100644 --- a/src/libs/utils/theme/theme.h +++ b/src/libs/utils/theme/theme.h @@ -349,7 +349,7 @@ public: static QPalette initialPalette(); protected: - Theme(ThemePrivate &dd, QObject *parent = nullptr); + Theme(Theme *originTheme, QObject *parent = nullptr); ThemePrivate *d; private: |