aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2018-03-14 14:56:00 +0100
committerJ-P Nurmi <jpnurmi@qt.io>2018-03-15 13:00:53 +0000
commit87d3e84c75839b736d45f2773fc5fb4ecce14296 (patch)
treed580764ae48ed0226763b9ad56a12c566acd8a75 /tests
parent6d879ab06a95d6b49e5ca4ad0af12024d5d2a988 (diff)
Add QQuickTheme::Scope
Replace the old enums that were originally copied from QPlatformTheme, including irrelevant entries for DockWidget, MdiSubWindow, MessageBox, with a unified enum that will be matched to cover everything needed for theming fonts and palettes for Qt Quick Controls 2. Task-number: QTBUG-67062 Change-Id: Ia99d092f28c00210c0c7f24d4241eb5a5d9ceb5b Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/font/tst_font.cpp108
-rw-r--r--tests/auto/palette/tst_palette.cpp112
-rw-r--r--tests/auto/qquickapplicationwindow/tst_qquickapplicationwindow.cpp6
3 files changed, 115 insertions, 111 deletions
diff --git a/tests/auto/font/tst_font.cpp b/tests/auto/font/tst_font.cpp
index 6e705fb4..eb37857a 100644
--- a/tests/auto/font/tst_font.cpp
+++ b/tests/auto/font/tst_font.cpp
@@ -220,82 +220,84 @@ void tst_font::inheritance()
class TestFontTheme : public QQuickTheme
{
public:
+ static const int NFonts = QQuickTheme::Tumbler + 1;
+
TestFontTheme()
{
- std::fill(fonts, fonts + QQuickTheme::NFonts, static_cast<QFont *>(0));
+ std::fill(fonts, fonts + NFonts, static_cast<QFont *>(0));
- for (int i = QQuickTheme::SystemFont; i < QQuickTheme::NFonts; ++i) {
+ for (int i = 0; i < NFonts; ++i) {
QFont font = QFont();
font.setPixelSize(i + 10);
fonts[i] = new QFont(font);
}
}
- const QFont *font(Font type) const override
+ const QFont *font(Scope scope) const override
{
- return fonts[type];
+ return fonts[scope];
}
private:
- QFont *fonts[QQuickTheme::NFonts];
+ QFont *fonts[NFonts];
};
-Q_DECLARE_METATYPE(QQuickTheme::Font)
+Q_DECLARE_METATYPE(QQuickTheme::Scope)
void tst_font::defaultFont_data()
{
QTest::addColumn<QString>("control");
- QTest::addColumn<QQuickTheme::Font>("fontType");
-
- QTest::newRow("AbstractButton") << "AbstractButton" << QQuickTheme::SystemFont;
- QTest::newRow("ApplicationWindow") << "ApplicationWindow" << QQuickTheme::SystemFont;
- QTest::newRow("Button") << "Button" << QQuickTheme::PushButtonFont;
- QTest::newRow("CheckBox") << "CheckBox" << QQuickTheme::CheckBoxFont;
- QTest::newRow("CheckDelegate") << "CheckDelegate" << QQuickTheme::ListViewFont;
- QTest::newRow("ComboBox") << "ComboBox" << QQuickTheme::ComboMenuItemFont;
- QTest::newRow("Container") << "Container" << QQuickTheme::SystemFont;
- QTest::newRow("Control") << "Control" << QQuickTheme::SystemFont;
- QTest::newRow("Dial") << "Dial" << QQuickTheme::SystemFont;
- QTest::newRow("Dialog") << "Dialog" << QQuickTheme::SystemFont;
- QTest::newRow("DialogButtonBox") << "DialogButtonBox" << QQuickTheme::SystemFont;
- QTest::newRow("Drawer") << "Drawer" << QQuickTheme::SystemFont;
- QTest::newRow("Frame") << "Frame" << QQuickTheme::SystemFont;
- QTest::newRow("GroupBox") << "GroupBox" << QQuickTheme::GroupBoxTitleFont;
- QTest::newRow("ItemDelegate") << "ItemDelegate" << QQuickTheme::ItemViewFont;
- QTest::newRow("Label") << "Label" << QQuickTheme::LabelFont;
- QTest::newRow("Menu") << "Menu" << QQuickTheme::MenuFont;
- QTest::newRow("MenuItem") << "MenuItem" << QQuickTheme::MenuItemFont;
- QTest::newRow("MenuSeparator") << "MenuSeparator" << QQuickTheme::SystemFont;
- QTest::newRow("Page") << "Page" << QQuickTheme::SystemFont;
- QTest::newRow("Pane") << "Pane" << QQuickTheme::SystemFont;
- QTest::newRow("Popup") << "Popup" << QQuickTheme::SystemFont;
- QTest::newRow("ProgressBar") << "ProgressBar" << QQuickTheme::SystemFont;
- QTest::newRow("RadioButton") << "RadioButton" << QQuickTheme::RadioButtonFont;
- QTest::newRow("RadioDelegate") << "RadioDelegate" << QQuickTheme::ListViewFont;
- QTest::newRow("RangeSlider") << "RangeSlider" << QQuickTheme::SystemFont;
- QTest::newRow("RoundButton") << "RoundButton" << QQuickTheme::PushButtonFont;
- QTest::newRow("ScrollBar") << "ScrollBar" << QQuickTheme::SystemFont;
- QTest::newRow("ScrollIndicator") << "ScrollIndicator" << QQuickTheme::SystemFont;
- QTest::newRow("Slider") << "Slider" << QQuickTheme::SystemFont;
- QTest::newRow("SpinBox") << "SpinBox" << QQuickTheme::SpinBoxFont;
- QTest::newRow("SwipeDelegate") << "SwipeDelegate" << QQuickTheme::ListViewFont;
- QTest::newRow("Switch") << "Switch" << QQuickTheme::SwitchFont;
- QTest::newRow("SwitchDelegate") << "SwitchDelegate" << QQuickTheme::ListViewFont;
- QTest::newRow("TabBar") << "TabBar" << QQuickTheme::SystemFont;
- QTest::newRow("TabButton") << "TabButton" << QQuickTheme::TabButtonFont;
- QTest::newRow("TextArea") << "TextArea" << QQuickTheme::EditorFont;
- QTest::newRow("TextField") << "TextField" << QQuickTheme::EditorFont;
- QTest::newRow("ToolBar") << "ToolBar" << QQuickTheme::SystemFont;
- QTest::newRow("ToolButton") << "ToolButton" << QQuickTheme::ToolButtonFont;
- QTest::newRow("ToolSeparator") << "ToolSeparator" << QQuickTheme::SystemFont;
- QTest::newRow("ToolTip") << "ToolTip" << QQuickTheme::TipLabelFont;
- QTest::newRow("Tumbler") << "Tumbler" << QQuickTheme::TumblerFont;
+ QTest::addColumn<QQuickTheme::Scope>("scope");
+
+ QTest::newRow("AbstractButton") << "AbstractButton" << QQuickTheme::System;
+ QTest::newRow("ApplicationWindow") << "ApplicationWindow" << QQuickTheme::System;
+ QTest::newRow("Button") << "Button" << QQuickTheme::Button;
+ QTest::newRow("CheckBox") << "CheckBox" << QQuickTheme::CheckBox;
+ QTest::newRow("CheckDelegate") << "CheckDelegate" << QQuickTheme::ListView;
+ QTest::newRow("ComboBox") << "ComboBox" << QQuickTheme::ComboBox;
+ QTest::newRow("Container") << "Container" << QQuickTheme::System;
+ QTest::newRow("Control") << "Control" << QQuickTheme::System;
+ QTest::newRow("Dial") << "Dial" << QQuickTheme::System;
+ QTest::newRow("Dialog") << "Dialog" << QQuickTheme::System;
+ QTest::newRow("DialogButtonBox") << "DialogButtonBox" << QQuickTheme::System;
+ QTest::newRow("Drawer") << "Drawer" << QQuickTheme::System;
+ QTest::newRow("Frame") << "Frame" << QQuickTheme::System;
+ QTest::newRow("GroupBox") << "GroupBox" << QQuickTheme::GroupBox;
+ QTest::newRow("ItemDelegate") << "ItemDelegate" << QQuickTheme::ItemView;
+ QTest::newRow("Label") << "Label" << QQuickTheme::Label;
+ QTest::newRow("Menu") << "Menu" << QQuickTheme::Menu;
+ QTest::newRow("MenuItem") << "MenuItem" << QQuickTheme::Menu;
+ QTest::newRow("MenuSeparator") << "MenuSeparator" << QQuickTheme::Menu;
+ QTest::newRow("Page") << "Page" << QQuickTheme::System;
+ QTest::newRow("Pane") << "Pane" << QQuickTheme::System;
+ QTest::newRow("Popup") << "Popup" << QQuickTheme::System;
+ QTest::newRow("ProgressBar") << "ProgressBar" << QQuickTheme::System;
+ QTest::newRow("RadioButton") << "RadioButton" << QQuickTheme::RadioButton;
+ QTest::newRow("RadioDelegate") << "RadioDelegate" << QQuickTheme::ListView;
+ QTest::newRow("RangeSlider") << "RangeSlider" << QQuickTheme::System;
+ QTest::newRow("RoundButton") << "RoundButton" << QQuickTheme::Button;
+ QTest::newRow("ScrollBar") << "ScrollBar" << QQuickTheme::System;
+ QTest::newRow("ScrollIndicator") << "ScrollIndicator" << QQuickTheme::System;
+ QTest::newRow("Slider") << "Slider" << QQuickTheme::System;
+ QTest::newRow("SpinBox") << "SpinBox" << QQuickTheme::SpinBox;
+ QTest::newRow("SwipeDelegate") << "SwipeDelegate" << QQuickTheme::ListView;
+ QTest::newRow("Switch") << "Switch" << QQuickTheme::Switch;
+ QTest::newRow("SwitchDelegate") << "SwitchDelegate" << QQuickTheme::ListView;
+ QTest::newRow("TabBar") << "TabBar" << QQuickTheme::TabBar;
+ QTest::newRow("TabButton") << "TabButton" << QQuickTheme::TabBar;
+ QTest::newRow("TextArea") << "TextArea" << QQuickTheme::TextArea;
+ QTest::newRow("TextField") << "TextField" << QQuickTheme::TextField;
+ QTest::newRow("ToolBar") << "ToolBar" << QQuickTheme::ToolBar;
+ QTest::newRow("ToolButton") << "ToolButton" << QQuickTheme::ToolBar;
+ QTest::newRow("ToolSeparator") << "ToolSeparator" << QQuickTheme::ToolBar;
+ QTest::newRow("ToolTip") << "ToolTip" << QQuickTheme::ToolTip;
+ QTest::newRow("Tumbler") << "Tumbler" << QQuickTheme::Tumbler;
}
void tst_font::defaultFont()
{
QFETCH(QString, control);
- QFETCH(QQuickTheme::Font, fontType);
+ QFETCH(QQuickTheme::Scope, scope);
QQmlEngine engine;
QQmlComponent component(&engine);
@@ -311,7 +313,7 @@ void tst_font::defaultFont()
QVariant var = object->property("font");
QVERIFY(var.isValid());
- QFont expectedFont = QQuickTheme::themeFont(fontType);
+ QFont expectedFont = QQuickTheme::themeFont(scope);
QFont actualFont = var.value<QFont>();
QCOMPARE(actualFont, expectedFont);
}
diff --git a/tests/auto/palette/tst_palette.cpp b/tests/auto/palette/tst_palette.cpp
index af251a82..1b1f5168 100644
--- a/tests/auto/palette/tst_palette.cpp
+++ b/tests/auto/palette/tst_palette.cpp
@@ -87,7 +87,7 @@ void tst_palette::palette_data()
QTest::addColumn<QString>("testFile");
QTest::addColumn<QPalette>("expectedPalette");
- QPalette defaultPalette = QQuickTheme::themePalette(QQuickTheme::SystemPalette);
+ QPalette defaultPalette = QQuickTheme::themePalette(QQuickTheme::System);
defaultPalette.setColor(QPalette::Base, QColor("#efefef"));
defaultPalette.setColor(QPalette::Text, QColor("#101010"));
@@ -171,7 +171,7 @@ void tst_palette::inheritance()
QObject *grandChild = window->property("grandChild").value<QObject *>();
QVERIFY(control && child && grandChild);
- QPalette defaultPalette = QQuickTheme::themePalette(QQuickTheme::SystemPalette);
+ QPalette defaultPalette = QQuickTheme::themePalette(QQuickTheme::System);
defaultPalette.setColor(QPalette::Base, QColor("#efefef"));
defaultPalette.setColor(QPalette::Text, QColor("#101010"));
@@ -219,79 +219,81 @@ void tst_palette::inheritance()
class TestTheme : public QQuickTheme
{
public:
+ static const int NPalettes = QQuickTheme::Tumbler + 1;
+
TestTheme()
{
- std::fill(palettes, palettes + QQuickTheme::NPalettes, static_cast<QPalette *>(0));
+ std::fill(palettes, palettes + NPalettes, static_cast<QPalette *>(0));
- for (int i = QQuickTheme::SystemPalette; i < QQuickTheme::NPalettes; ++i)
+ for (int i = 0; i < NPalettes; ++i)
palettes[i] = new QPalette(QColor::fromRgb(i));
}
- const QPalette *palette(Palette type) const override
+ const QPalette *palette(Scope scope) const override
{
- return palettes[type];
+ return palettes[scope];
}
private:
- QPalette *palettes[QQuickTheme::NPalettes];
+ QPalette *palettes[NPalettes];
};
-Q_DECLARE_METATYPE(QQuickTheme::Palette)
+Q_DECLARE_METATYPE(QQuickTheme::Scope)
void tst_palette::defaultPalette_data()
{
QTest::addColumn<QString>("control");
- QTest::addColumn<QQuickTheme::Palette>("paletteType");
-
- QTest::newRow("AbstractButton") << "AbstractButton" << QQuickTheme::SystemPalette;
- QTest::newRow("ApplicationWindow") << "ApplicationWindow" << QQuickTheme::SystemPalette;
- QTest::newRow("Button") << "Button" << QQuickTheme::ButtonPalette;
- QTest::newRow("CheckBox") << "CheckBox" << QQuickTheme::CheckBoxPalette;
- QTest::newRow("CheckDelegate") << "CheckDelegate" << QQuickTheme::ItemViewPalette;
- QTest::newRow("ComboBox") << "ComboBox" << QQuickTheme::ComboBoxPalette;
- QTest::newRow("Container") << "Container" << QQuickTheme::SystemPalette;
- QTest::newRow("Control") << "Control" << QQuickTheme::SystemPalette;
- QTest::newRow("Dial") << "Dial" << QQuickTheme::SystemPalette;
- QTest::newRow("Dialog") << "Dialog" << QQuickTheme::SystemPalette;
- QTest::newRow("DialogButtonBox") << "DialogButtonBox" << QQuickTheme::SystemPalette;
- QTest::newRow("Drawer") << "Drawer" << QQuickTheme::SystemPalette;
- QTest::newRow("Frame") << "Frame" << QQuickTheme::SystemPalette;
- QTest::newRow("GroupBox") << "GroupBox" << QQuickTheme::GroupBoxPalette;
- QTest::newRow("ItemDelegate") << "ItemDelegate" << QQuickTheme::ItemViewPalette;
- QTest::newRow("Label") << "Label" << QQuickTheme::LabelPalette;
- QTest::newRow("Menu") << "Menu" << QQuickTheme::MenuPalette;
- QTest::newRow("MenuItem") << "MenuItem" << QQuickTheme::MenuPalette;
- QTest::newRow("MenuSeparator") << "MenuSeparator" << QQuickTheme::MenuPalette;
- QTest::newRow("Page") << "Page" << QQuickTheme::SystemPalette;
- QTest::newRow("Pane") << "Pane" << QQuickTheme::SystemPalette;
- QTest::newRow("Popup") << "Popup" << QQuickTheme::SystemPalette;
- QTest::newRow("ProgressBar") << "ProgressBar" << QQuickTheme::SystemPalette;
- QTest::newRow("RadioButton") << "RadioButton" << QQuickTheme::RadioButtonPalette;
- QTest::newRow("RadioDelegate") << "RadioDelegate" << QQuickTheme::ItemViewPalette;
- QTest::newRow("RangeSlider") << "RangeSlider" << QQuickTheme::SystemPalette;
- QTest::newRow("RoundButton") << "RoundButton" << QQuickTheme::ButtonPalette;
- QTest::newRow("ScrollBar") << "ScrollBar" << QQuickTheme::SystemPalette;
- QTest::newRow("ScrollIndicator") << "ScrollIndicator" << QQuickTheme::SystemPalette;
- QTest::newRow("Slider") << "Slider" << QQuickTheme::SystemPalette;
- QTest::newRow("SpinBox") << "SpinBox" << QQuickTheme::SpinBoxPalette;
- QTest::newRow("SwipeDelegate") << "SwipeDelegate" << QQuickTheme::ItemViewPalette;
- QTest::newRow("Switch") << "Switch" << QQuickTheme::SwitchPalette;
- QTest::newRow("SwitchDelegate") << "SwitchDelegate" << QQuickTheme::ItemViewPalette;
- QTest::newRow("TabBar") << "TabBar" << QQuickTheme::TabBarPalette;
- QTest::newRow("TabButton") << "TabButton" << QQuickTheme::TabBarPalette;
- QTest::newRow("TextArea") << "TextArea" << QQuickTheme::TextEditPalette;
- QTest::newRow("TextField") << "TextField" << QQuickTheme::TextLineEditPalette;
- QTest::newRow("ToolBar") << "ToolBar" << QQuickTheme::ToolButtonPalette;
- QTest::newRow("ToolButton") << "ToolButton" << QQuickTheme::ToolButtonPalette;
- QTest::newRow("ToolSeparator") << "ToolSeparator" << QQuickTheme::ToolButtonPalette;
- QTest::newRow("ToolTip") << "ToolTip" << QQuickTheme::ToolTipPalette;
- QTest::newRow("Tumbler") << "Tumbler" << QQuickTheme::TumblerPalette;
+ QTest::addColumn<QQuickTheme::Scope>("scope");
+
+ QTest::newRow("AbstractButton") << "AbstractButton" << QQuickTheme::System;
+ QTest::newRow("ApplicationWindow") << "ApplicationWindow" << QQuickTheme::System;
+ QTest::newRow("Button") << "Button" << QQuickTheme::Button;
+ QTest::newRow("CheckBox") << "CheckBox" << QQuickTheme::CheckBox;
+ QTest::newRow("CheckDelegate") << "CheckDelegate" << QQuickTheme::ListView;
+ QTest::newRow("ComboBox") << "ComboBox" << QQuickTheme::ComboBox;
+ QTest::newRow("Container") << "Container" << QQuickTheme::System;
+ QTest::newRow("Control") << "Control" << QQuickTheme::System;
+ QTest::newRow("Dial") << "Dial" << QQuickTheme::System;
+ QTest::newRow("Dialog") << "Dialog" << QQuickTheme::System;
+ QTest::newRow("DialogButtonBox") << "DialogButtonBox" << QQuickTheme::System;
+ QTest::newRow("Drawer") << "Drawer" << QQuickTheme::System;
+ QTest::newRow("Frame") << "Frame" << QQuickTheme::System;
+ QTest::newRow("GroupBox") << "GroupBox" << QQuickTheme::GroupBox;
+ QTest::newRow("ItemDelegate") << "ItemDelegate" << QQuickTheme::ItemView;
+ QTest::newRow("Label") << "Label" << QQuickTheme::Label;
+ QTest::newRow("Menu") << "Menu" << QQuickTheme::Menu;
+ QTest::newRow("MenuItem") << "MenuItem" << QQuickTheme::Menu;
+ QTest::newRow("MenuSeparator") << "MenuSeparator" << QQuickTheme::Menu;
+ QTest::newRow("Page") << "Page" << QQuickTheme::System;
+ QTest::newRow("Pane") << "Pane" << QQuickTheme::System;
+ QTest::newRow("Popup") << "Popup" << QQuickTheme::System;
+ QTest::newRow("ProgressBar") << "ProgressBar" << QQuickTheme::System;
+ QTest::newRow("RadioButton") << "RadioButton" << QQuickTheme::RadioButton;
+ QTest::newRow("RadioDelegate") << "RadioDelegate" << QQuickTheme::ListView;
+ QTest::newRow("RangeSlider") << "RangeSlider" << QQuickTheme::System;
+ QTest::newRow("RoundButton") << "RoundButton" << QQuickTheme::Button;
+ QTest::newRow("ScrollBar") << "ScrollBar" << QQuickTheme::System;
+ QTest::newRow("ScrollIndicator") << "ScrollIndicator" << QQuickTheme::System;
+ QTest::newRow("Slider") << "Slider" << QQuickTheme::System;
+ QTest::newRow("SpinBox") << "SpinBox" << QQuickTheme::SpinBox;
+ QTest::newRow("SwipeDelegate") << "SwipeDelegate" << QQuickTheme::ListView;
+ QTest::newRow("Switch") << "Switch" << QQuickTheme::Switch;
+ QTest::newRow("SwitchDelegate") << "SwitchDelegate" << QQuickTheme::ListView;
+ QTest::newRow("TabBar") << "TabBar" << QQuickTheme::TabBar;
+ QTest::newRow("TabButton") << "TabButton" << QQuickTheme::TabBar;
+ QTest::newRow("TextArea") << "TextArea" << QQuickTheme::TextArea;
+ QTest::newRow("TextField") << "TextField" << QQuickTheme::TextField;
+ QTest::newRow("ToolBar") << "ToolBar" << QQuickTheme::ToolBar;
+ QTest::newRow("ToolButton") << "ToolButton" << QQuickTheme::ToolBar;
+ QTest::newRow("ToolSeparator") << "ToolSeparator" << QQuickTheme::ToolBar;
+ QTest::newRow("ToolTip") << "ToolTip" << QQuickTheme::ToolTip;
+ QTest::newRow("Tumbler") << "Tumbler" << QQuickTheme::Tumbler;
}
void tst_palette::defaultPalette()
{
QFETCH(QString, control);
- QFETCH(QQuickTheme::Palette, paletteType);
+ QFETCH(QQuickTheme::Scope, scope);
QQmlEngine engine;
QQmlComponent component(&engine);
@@ -307,7 +309,7 @@ void tst_palette::defaultPalette()
QVariant var = object->property("palette");
QVERIFY(var.isValid());
- QPalette expectedPalette = QQuickTheme::themePalette(paletteType);
+ QPalette expectedPalette = QQuickTheme::themePalette(scope);
QPalette actualPalette = var.value<QPalette>();
QCOMPARE(actualPalette, expectedPalette);
}
diff --git a/tests/auto/qquickapplicationwindow/tst_qquickapplicationwindow.cpp b/tests/auto/qquickapplicationwindow/tst_qquickapplicationwindow.cpp
index ecd53b9e..1700829c 100644
--- a/tests/auto/qquickapplicationwindow/tst_qquickapplicationwindow.cpp
+++ b/tests/auto/qquickapplicationwindow/tst_qquickapplicationwindow.cpp
@@ -560,9 +560,9 @@ class TestTheme : public QQuickTheme
public:
TestTheme() : m_font("Courier") { }
- const QFont *font(Font type) const override
+ const QFont *font(Scope scope) const override
{
- Q_UNUSED(type);
+ Q_UNUSED(scope);
return &m_font;
}
@@ -580,7 +580,7 @@ void tst_QQuickApplicationWindow::defaultFont()
QScopedPointer<QQuickApplicationWindow> window;
window.reset(static_cast<QQuickApplicationWindow *>(component.create()));
QVERIFY(!window.isNull());
- QCOMPARE(window->font(), QQuickTheme::themeFont(QQuickTheme::SystemFont));
+ QCOMPARE(window->font(), QQuickTheme::themeFont(QQuickTheme::System));
}
void tst_QQuickApplicationWindow::locale()