summaryrefslogtreecommitdiffstats
path: root/tests/barstest
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-01-07 10:46:26 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-01-07 13:18:41 +0200
commit8566d712a87d9e3a78be15b6bd3498c2cf8afe57 (patch)
tree6ae292f0fd8c870d997db6d208a531da5f9320f0 /tests/barstest
parentaa842c39480aa5b95f704c97b8b3acc821144883 (diff)
Fix setting theme type
Now reset the theme properties immediately to new theme type, instead of waiting for the theme activation. Also make changing theme type later work consistently. Task-number: QTRD-2750 Change-Id: I970d69587623119df33ad2a825fbc12367804eae Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Diffstat (limited to 'tests/barstest')
-rw-r--r--tests/barstest/chart.cpp18
-rw-r--r--tests/barstest/chart.h1
2 files changed, 7 insertions, 12 deletions
diff --git a/tests/barstest/chart.cpp b/tests/barstest/chart.cpp
index 5c36607e..73f0074c 100644
--- a/tests/barstest/chart.cpp
+++ b/tests/barstest/chart.cpp
@@ -64,7 +64,8 @@ GraphModifier::GraphModifier(Q3DBars *barchart, QColorDialog *colorDialog)
m_negativeValuesOn(false),
m_useNullInputHandler(false),
m_defaultInputHandler(0),
- m_ownTheme(0)
+ m_ownTheme(0),
+ m_builtinTheme(new Q3DTheme(Q3DTheme::ThemeStoneMoss))
{
// Generate generic labels
QStringList genericColumnLabels;
@@ -117,7 +118,7 @@ GraphModifier::GraphModifier(Q3DBars *barchart, QColorDialog *colorDialog)
m_graph->addAxis(m_genericRowAxis);
m_graph->addAxis(m_genericColumnAxis);
- m_graph->setActiveTheme(new Q3DTheme(Q3DTheme::ThemeStoneMoss));
+ m_graph->setActiveTheme(m_builtinTheme);
m_graph->setShadowQuality(QDataVis::ShadowQualitySoftMedium);
m_temperatureData->setItemLabelFormat(QStringLiteral("1: @valueTitle for @colLabel @rowLabel: @valueLabel"));
@@ -578,11 +579,9 @@ void GraphModifier::changeTheme()
static int theme = Q3DTheme::ThemeQt;
Q3DTheme *currentTheme = m_graph->activeTheme();
- if (currentTheme != m_ownTheme) {
- m_graph->releaseTheme(currentTheme);
- delete currentTheme;
- }
- m_graph->setActiveTheme(new Q3DTheme((Q3DTheme::Theme)theme));
+ m_builtinTheme->setType(Q3DTheme::Theme(theme));
+ if (currentTheme == m_ownTheme)
+ m_graph->setActiveTheme(m_builtinTheme);
switch (theme) {
case Q3DTheme::ThemeQt:
@@ -851,11 +850,6 @@ void GraphModifier::useOwnTheme()
m_ownTheme->setWindowColor(QColor(QRgb(0xffffff)));
}
- Q3DTheme *currentTheme = m_graph->activeTheme();
- if (currentTheme != m_ownTheme) {
- m_graph->releaseTheme(currentTheme);
- delete currentTheme;
- }
m_graph->setActiveTheme(m_ownTheme);
m_colorDialog->open();
diff --git a/tests/barstest/chart.h b/tests/barstest/chart.h
index 3948ca8f..77b10093 100644
--- a/tests/barstest/chart.h
+++ b/tests/barstest/chart.h
@@ -130,6 +130,7 @@ private:
bool m_useNullInputHandler;
QAbstract3DInputHandler *m_defaultInputHandler;
Q3DTheme *m_ownTheme;
+ Q3DTheme *m_builtinTheme;
};
#endif