summaryrefslogtreecommitdiff
path: root/src/libs/utils/theme
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@qt.io>2017-03-06 14:35:09 +0100
committerTim Jenssen <tim.jenssen@qt.io>2017-03-09 17:20:16 +0000
commite6e71e385ec1121246e72bd7be09d489eb457288 (patch)
tree9a4921c2042068ab24d208578c9d0f264786e3fa /src/libs/utils/theme
parent1b9c18951ad565bccdfcd55418aee36d5f568713 (diff)
downloadqt-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.cpp6
-rw-r--r--src/libs/utils/theme/theme.h2
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: