summaryrefslogtreecommitdiffstats
path: root/tests
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
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')
-rw-r--r--tests/barstest/chart.cpp18
-rw-r--r--tests/barstest/chart.h1
-rw-r--r--tests/multigraphs/data.cpp16
-rw-r--r--tests/scattertest/scatterchart.cpp7
-rw-r--r--tests/surfacetest/graphmodifier.cpp5
-rw-r--r--tests/surfacetest/main.cpp2
6 files changed, 16 insertions, 33 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
diff --git a/tests/multigraphs/data.cpp b/tests/multigraphs/data.cpp
index 177d86b7..7ba5685f 100644
--- a/tests/multigraphs/data.cpp
+++ b/tests/multigraphs/data.cpp
@@ -45,7 +45,7 @@ Data::Data(Q3DSurface *surface, Q3DScatter *scatter, Q3DBars *bars,
m_started(false)
{
// Initialize surface
- m_surface->setActiveTheme(new Q3DTheme(Q3DTheme::ThemeIsabelle));
+ m_surface->activeTheme()->setType(Q3DTheme::ThemeIsabelle);
QLinearGradient gradient;
gradient.setColorAt(0.0, Qt::black);
gradient.setColorAt(0.33, Qt::blue);
@@ -63,7 +63,7 @@ Data::Data(Q3DSurface *surface, Q3DScatter *scatter, Q3DBars *bars,
m_surface->addSeries(series1);
// Initialize scatter
- m_scatter->setActiveTheme(new Q3DTheme(Q3DTheme::ThemeStoneMoss));
+ m_scatter->activeTheme()->setType(Q3DTheme::ThemeStoneMoss);
m_scatter->setSelectionMode(QDataVis::SelectionNone);
m_scatter->activeTheme()->setGridEnabled(false);
m_scatter->setShadowQuality(QDataVis::ShadowQualitySoftLow);
@@ -73,7 +73,7 @@ Data::Data(Q3DSurface *surface, Q3DScatter *scatter, Q3DBars *bars,
m_scatter->addSeries(series2);
// Initialize bars
- m_bars->setActiveTheme(new Q3DTheme(Q3DTheme::ThemeQt));
+ m_bars->activeTheme()->setType(Q3DTheme::ThemeQt);
m_bars->setSelectionMode(QDataVis::SelectionItemAndRow | QDataVis::SelectionSlice);
m_bars->activeTheme()->setGridEnabled(false);
m_bars->setShadowQuality(QDataVis::ShadowQualityLow);
@@ -185,10 +185,7 @@ void Data::scrollDown()
void Data::useGradientOne()
{
- Q3DTheme *currentTheme = m_surface->activeTheme();
- m_surface->releaseTheme(currentTheme);
- delete currentTheme;
- m_surface->setActiveTheme(new Q3DTheme(Q3DTheme::ThemeIsabelle));
+ m_surface->activeTheme()->setType(Q3DTheme::ThemeIsabelle);
QLinearGradient gradient;
gradient.setColorAt(0.0, Qt::black);
gradient.setColorAt(0.33, Qt::blue);
@@ -201,10 +198,7 @@ void Data::useGradientOne()
void Data::useGradientTwo()
{
- Q3DTheme *currentTheme = m_surface->activeTheme();
- m_surface->releaseTheme(currentTheme);
- delete currentTheme;
- m_surface->setActiveTheme(new Q3DTheme(Q3DTheme::ThemeQt));
+ m_surface->activeTheme()->setType(Q3DTheme::ThemeQt);
QLinearGradient gradient;
gradient.setColorAt(0.0, Qt::white);
gradient.setColorAt(0.8, Qt::red);
diff --git a/tests/scattertest/scatterchart.cpp b/tests/scattertest/scatterchart.cpp
index 10f48465..2277ca3f 100644
--- a/tests/scattertest/scatterchart.cpp
+++ b/tests/scattertest/scatterchart.cpp
@@ -37,7 +37,7 @@ ScatterDataModifier::ScatterDataModifier(Q3DScatter *scatter)
m_selectedItem(-1),
m_targetSeries(0)
{
- m_chart->setActiveTheme(new Q3DTheme(Q3DTheme::ThemeStoneMoss));
+ m_chart->activeTheme()->setType(Q3DTheme::ThemeStoneMoss);
QFont font = m_chart->activeTheme()->font();
font.setPointSize(m_fontSize);
m_chart->activeTheme()->setFont(font);
@@ -161,10 +161,7 @@ void ScatterDataModifier::changeTheme()
{
static int theme = Q3DTheme::ThemeQt;
- Q3DTheme *currentTheme = m_chart->activeTheme();
- m_chart->releaseTheme(currentTheme);
- delete currentTheme;
- m_chart->setActiveTheme(new Q3DTheme(Q3DTheme::Theme(theme)));
+ m_chart->activeTheme()->setType(Q3DTheme::Theme(theme));
if (++theme > Q3DTheme::ThemeIsabelle)
theme = Q3DTheme::ThemeQt;
diff --git a/tests/surfacetest/graphmodifier.cpp b/tests/surfacetest/graphmodifier.cpp
index 749b1c69..be96a696 100644
--- a/tests/surfacetest/graphmodifier.cpp
+++ b/tests/surfacetest/graphmodifier.cpp
@@ -363,10 +363,7 @@ void GraphModifier::selectedPointChanged(const QPoint &point)
void GraphModifier::changeTheme(int theme)
{
- Q3DTheme *currentTheme = m_graph->activeTheme();
- m_graph->releaseTheme(currentTheme);
- delete currentTheme;
- m_graph->setActiveTheme(new Q3DTheme(Q3DTheme::Theme(theme)));
+ m_graph->activeTheme()->setType(Q3DTheme::Theme(theme));
}
diff --git a/tests/surfacetest/main.cpp b/tests/surfacetest/main.cpp
index 5a26c7ce..54c27981 100644
--- a/tests/surfacetest/main.cpp
+++ b/tests/surfacetest/main.cpp
@@ -52,7 +52,7 @@ int main(int argc, char *argv[])
QSize screenSize = surfaceGraph->screen()->size();
// Set to default, should be same as the initial on themeList
- surfaceGraph->setActiveTheme(new Q3DTheme(Q3DTheme::Theme(initialTheme)));
+ surfaceGraph->activeTheme()->setType(Q3DTheme::Theme(initialTheme));
QWidget *container = QWidget::createWindowContainer(surfaceGraph);
container->setMinimumSize(QSize(screenSize.width() / 2, screenSize.height() / 2));