Merge lp://staging/~fboucault/ubuntu-ui-toolkit/simple_theming into lp://staging/ubuntu-ui-toolkit
Status: | Merged | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Approved by: | Zsombor Egri | ||||||||||||||||||||||||||||||||||||
Approved revision: | 596 | ||||||||||||||||||||||||||||||||||||
Merged at revision: | 572 | ||||||||||||||||||||||||||||||||||||
Proposed branch: | lp://staging/~fboucault/ubuntu-ui-toolkit/simple_theming | ||||||||||||||||||||||||||||||||||||
Merge into: | lp://staging/ubuntu-ui-toolkit | ||||||||||||||||||||||||||||||||||||
Diff against target: |
11905 lines (+945/-8385) 168 files modified
CHANGES (+2/-0) components.api (+12/-19) debian/qtdeclarative5-ubuntu-ui-toolkit-plugin.install (+9/-1) debian/ubuntu-ui-toolkit-theme.install (+1/-1) examples/examples.pro (+1/-1) examples/jokes/jokes.pro (+1/-1) examples/locale/locale.pro (+1/-1) examples/ubuntu-ui-toolkit-gallery/ubuntu-ui-toolkit-gallery.pro (+1/-1) examples/unit-converter/unit-converter.pro (+1/-1) export_modules_dir.sh (+1/-1) modules/Ubuntu/Components/ActionItem.qml (+1/-1) modules/Ubuntu/Components/ActivityIndicator.qml (+1/-7) modules/Ubuntu/Components/AnimatedItem.qml (+1/-1) modules/Ubuntu/Components/Button.qml (+2/-7) modules/Ubuntu/Components/CheckBox.qml (+2/-10) modules/Ubuntu/Components/Components.pro (+1/-1) modules/Ubuntu/Components/Header.qml (+6/-7) modules/Ubuntu/Components/Label.qml (+1/-11) modules/Ubuntu/Components/MainView.qml (+3/-8) modules/Ubuntu/Components/PageTreeNode.qml (+1/-1) modules/Ubuntu/Components/Panel.qml (+0/-1) modules/Ubuntu/Components/Popups/ActionSelectionPopover.qml (+0/-1) modules/Ubuntu/Components/Popups/Dialog.qml (+16/-18) modules/Ubuntu/Components/Popups/Pointer.qml (+6/-9) modules/Ubuntu/Components/Popups/Popover.qml (+9/-12) modules/Ubuntu/Components/Popups/PopupBase.qml (+2/-7) modules/Ubuntu/Components/Popups/SheetBase.qml (+5/-19) modules/Ubuntu/Components/Scrollbar.qml (+4/-10) modules/Ubuntu/Components/Slider.qml (+10/-15) modules/Ubuntu/Components/StyledItem.qml (+70/-0) modules/Ubuntu/Components/Switch.qml (+2/-7) modules/Ubuntu/Components/Tabs.qml (+6/-11) modules/Ubuntu/Components/TextArea.qml (+13/-26) modules/Ubuntu/Components/TextCursor.qml (+5/-3) modules/Ubuntu/Components/TextField.qml (+13/-12) modules/Ubuntu/Components/Themes/Ambiance/ActivityIndicatorStyle.qml (+3/-2) modules/Ubuntu/Components/Themes/Ambiance/Ambiance.pro (+23/-0) modules/Ubuntu/Components/Themes/Ambiance/ButtonStyle.qml (+7/-7) modules/Ubuntu/Components/Themes/Ambiance/CheckBoxStyle.qml (+10/-6) modules/Ubuntu/Components/Themes/Ambiance/DialogForegroundStyle.qml (+3/-2) modules/Ubuntu/Components/Themes/Ambiance/HeaderStyle.qml (+22/-33) modules/Ubuntu/Components/Themes/Ambiance/MainViewStyle.qml (+5/-5) modules/Ubuntu/Components/Themes/Ambiance/PointerStyle.qml (+5/-1) modules/Ubuntu/Components/Themes/Ambiance/PointerStyleShader.qml (+3/-3) modules/Ubuntu/Components/Themes/Ambiance/PopoverForegroundStyle.qml (+2/-2) modules/Ubuntu/Components/Themes/Ambiance/ScrollbarStyle.qml (+40/-40) modules/Ubuntu/Components/Themes/Ambiance/SelectionCursorStyle.qml (+8/-7) modules/Ubuntu/Components/Themes/Ambiance/SheetForegroundStyle.qml (+13/-13) modules/Ubuntu/Components/Themes/Ambiance/SliderStyle.qml (+13/-11) modules/Ubuntu/Components/Themes/Ambiance/SwitchStyle.qml (+25/-18) modules/Ubuntu/Components/Themes/Ambiance/TabsStyle.qml (+30/-31) modules/Ubuntu/Components/Themes/Ambiance/TextAreaStyle.qml (+16/-20) modules/Ubuntu/Components/Themes/Ambiance/TextCursorStyle.qml (+8/-8) modules/Ubuntu/Components/Themes/Ambiance/TextFieldStyle.qml (+20/-0) modules/Ubuntu/Components/Themes/Ambiance/ToolbarButtonStyle.qml (+8/-6) modules/Ubuntu/Components/Themes/Ambiance/ToolbarStyle.qml (+3/-4) modules/Ubuntu/Components/Themes/Ambiance/TransparentButtonStyle.qml (+8/-8) modules/Ubuntu/Components/Themes/Ambiance/qmldir (+21/-31) modules/Ubuntu/Components/Themes/Themes.pro (+1/-25) modules/Ubuntu/Components/Toolbar.qml (+4/-8) modules/Ubuntu/Components/ToolbarActions.qml (+1/-1) modules/Ubuntu/Components/ToolbarButton.qml (+2/-6) modules/Ubuntu/Components/ToolbarItems.qml (+0/-5) modules/Ubuntu/Components/overview.qdoc (+0/-2) modules/Ubuntu/Components/plugin/itemstyleattached.cpp (+0/-715) modules/Ubuntu/Components/plugin/itemstyleattached.h (+0/-76) modules/Ubuntu/Components/plugin/itemstyleattached_p.h (+0/-75) modules/Ubuntu/Components/plugin/plugin.cpp (+3/-7) modules/Ubuntu/Components/plugin/plugin.pro (+4/-17) modules/Ubuntu/Components/plugin/qmlthemeloader.cpp (+0/-777) modules/Ubuntu/Components/plugin/qmlthemeloader_p.h (+0/-95) modules/Ubuntu/Components/plugin/selector.cpp (+0/-339) modules/Ubuntu/Components/plugin/selector_p.h (+0/-107) modules/Ubuntu/Components/plugin/stylecache.cpp (+0/-318) modules/Ubuntu/Components/plugin/stylecache_p.h (+0/-80) modules/Ubuntu/Components/plugin/themeengine_p.h (+0/-95) modules/Ubuntu/Components/plugin/themeloader_p.h (+0/-34) modules/Ubuntu/Components/plugin/ucstyle.cpp (+0/-268) modules/Ubuntu/Components/plugin/ucstyle.h (+0/-111) modules/Ubuntu/Components/plugin/uctheme.cpp (+174/-318) modules/Ubuntu/Components/plugin/uctheme.h (+34/-39) modules/Ubuntu/Components/plugin/ucthemesettings.cpp (+53/-90) modules/Ubuntu/Components/plugin/ucthemesettings.h (+19/-16) modules/Ubuntu/Components/qmldir (+1/-0) modules/Ubuntu/Components/scrollbarUtils.js (+2/-2) modules/Ubuntu/Components/ubuntu-components-theming.qdoc (+0/-638) tests/resources/base.qmltheme (+0/-21) tests/resources/benchmark.qmltheme (+0/-324) tests/resources/block.qmltheme (+0/-3) tests/resources/components.qmltheme (+0/-6) tests/resources/inheritance.qmltheme (+0/-30) tests/resources/test.qmltheme (+0/-28) tests/resources/theme-engine-test.qrc (+0/-6) tests/resources/toolbar/panels.qml (+0/-1) tests/resources/urlmacro.qmltheme (+0/-21) tests/unit/README (+1/-1) tests/unit/add_makecheck.pri (+1/-1) tests/unit/runtest.sh (+1/-1) tests/unit/tst_components/tst_scrollbar.qml (+0/-3) tests/unit/tst_inversemousearea/tst_inversemouseareatest.cpp (+1/-18) tests/unit/tst_performance/ButtonGrid.qml (+1/-1) tests/unit/tst_performance/ButtonStyleGrid.qml (+4/-2) tests/unit/tst_performance/ButtonsWithStyledGrid.qml (+0/-32) tests/unit/tst_performance/CheckBoxGrid.qml (+1/-1) tests/unit/tst_performance/CheckBoxStyleGrid.qml (+4/-2) tests/unit/tst_performance/CustomTheme.qmltheme (+0/-5) tests/unit/tst_performance/SliderGrid.qml (+1/-1) tests/unit/tst_performance/SliderStyleGrid.qml (+6/-4) tests/unit/tst_performance/SwitchGrid.qml (+1/-1) tests/unit/tst_performance/SwitchStyleGrid.qml (+4/-2) tests/unit/tst_performance/tst_performance.cpp (+8/-19) tests/unit/tst_performance/tst_performance.pro (+4/-6) tests/unit/tst_theme_engine/BlockPropertyTest.qml (+0/-23) tests/unit/tst_theme_engine/CustomStyles.qml (+0/-44) tests/unit/tst_theme_engine/InheritanceTest.qml (+0/-45) tests/unit/tst_theme_engine/MemoryCleanup.qml (+0/-26) tests/unit/tst_theme_engine/Parent.qml (+20/-0) tests/unit/tst_theme_engine/ReparentingTest.qml (+0/-34) tests/unit/tst_theme_engine/SelectorTest.qml (+0/-37) tests/unit/tst_theme_engine/StyleLookupCrash.qml (+0/-26) tests/unit/tst_theme_engine/StyleLookupCrash.qmltheme (+0/-1) tests/unit/tst_theme_engine/TestModule/TestTheme/TestStyle.qml (+20/-0) tests/unit/tst_theme_engine/tst_theme_engine.pro (+3/-12) tests/unit/tst_theme_engine/tst_theme_enginetest.cpp (+59/-356) tests/unit/tst_theme_engine_private/tst_theme_engine_private.pro (+0/-5) tests/unit/tst_theme_engine_private/tst_theme_engine_privatetest.cpp (+0/-393) tests/unit/tst_theme_engine_selector/DescendantSelector.qml (+0/-28) tests/unit/tst_theme_engine_selector/DescendantSelectorWithName.qml (+0/-29) tests/unit/tst_theme_engine_selector/DescendantSelectorWithNamedParent.qml (+0/-29) tests/unit/tst_theme_engine_selector/DirectChildSelector.qml (+0/-26) tests/unit/tst_theme_engine_selector/DirectChildSelectorWithName.qml (+0/-27) tests/unit/tst_theme_engine_selector/DirectChildSelectorWithNamedParent.qml (+0/-27) tests/unit/tst_theme_engine_selector/SimpleSelector.qml (+0/-23) tests/unit/tst_theme_engine_selector/SimpleSelectorWithName.qml (+0/-24) tests/unit/tst_theme_engine_selector/TestTheme.qmltheme (+0/-7) tests/unit/tst_theme_engine_selector/tst_theme_engine_selector.pro (+0/-14) tests/unit/tst_theme_engine_selector/tst_theme_engine_selectortest.cpp (+0/-399) tests/unit/tst_theme_engine_style/BindingTest.qml (+0/-37) tests/unit/tst_theme_engine_style/CustomDelegateComponent.qml (+0/-30) tests/unit/tst_theme_engine_style/CustomDelegateObject.qml (+0/-26) tests/unit/tst_theme_engine_style/CustomStyleObject.qml (+0/-26) tests/unit/tst_theme_engine_style/FontThemeDoNotOverrideUserValue.qml (+0/-23) tests/unit/tst_theme_engine_style/FontThemeDoNotOverrideUserValue.qmltheme (+0/-3) tests/unit/tst_theme_engine_style/FontThemeDoNotOverrideUserValueText.qml (+0/-23) tests/unit/tst_theme_engine_style/FontThemeNoOverride.qml (+0/-22) tests/unit/tst_theme_engine_style/FontThemeNoOverride.qmltheme (+0/-3) tests/unit/tst_theme_engine_style/FontThemeNoOverrideText.qml (+0/-22) tests/unit/tst_theme_engine_style/FontThemeNoOverrideUserBinding.qml (+0/-24) tests/unit/tst_theme_engine_style/FontThemeNoOverrideUserBinding.qmltheme (+0/-3) tests/unit/tst_theme_engine_style/FontThemeNoOverrideUserBindingText.qml (+0/-22) tests/unit/tst_theme_engine_style/FontThemeNoOverrideWithBinding.qml (+0/-22) tests/unit/tst_theme_engine_style/FontThemeNoOverrideWithBinding.qmltheme (+0/-3) tests/unit/tst_theme_engine_style/FontThemeNoOverrideWithBindingText.qml (+0/-24) tests/unit/tst_theme_engine_style/FontThemeOverrideDefaultValue.qml (+0/-22) tests/unit/tst_theme_engine_style/FontThemeOverrideDefaultValue.qmltheme (+0/-3) tests/unit/tst_theme_engine_style/FontThemeOverrideDefaultValueText.qml (+0/-23) tests/unit/tst_theme_engine_style/FontThemeWithOtherDefaultValue.qml (+0/-22) tests/unit/tst_theme_engine_style/FontThemeWithOtherDefaultValue.qmltheme (+0/-3) tests/unit/tst_theme_engine_style/FontThemeWithOtherDefaultValueText.qml (+0/-23) tests/unit/tst_theme_engine_style/StyledItem.qml (+0/-22) tests/unit/tst_theme_engine_style/TestDocument.qml (+0/-35) tests/unit/tst_theme_engine_style/tst_theme_engine_style.pro (+0/-13) tests/unit/tst_theme_engine_style/tst_theme_engine_styletest.cpp (+0/-395) tests/unit/tst_theme_engine_stylecache/tst_theme_engine_stylecache.pro (+0/-3) tests/unit/tst_theme_engine_stylecache/tst_theme_engine_stylecachetest.cpp (+0/-220) tests/unit/unit.pro (+0/-4) themes/Ambiance/qmltheme/default.qmltheme (+0/-354) ubuntu-sdk.pro (+1/-1) |
||||||||||||||||||||||||||||||||||||
To merge this branch: | bzr merge lp://staging/~fboucault/ubuntu-ui-toolkit/simple_theming | ||||||||||||||||||||||||||||||||||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Zsombor Egri | Needs Fixing | ||
PS Jenkins bot | continuous-integration | Approve | |
Florian Boucault (community) | Needs Fixing | ||
Review via email: mp+171645@code.staging.launchpad.net |
Commit message
Simplified theming infrastructure.
There are no stylesheets anymore (.qmltheme file), only delegates remain. A theme is a QML module containing delegates whose names are standardized.
The default theme is called 'Ambiance' and available from QML through 'import Ubuntu.
The name of the current theme is set in ~/.config/
Writing a new theme is done by creating a QML module and adding it in the Ubuntu/
A theme inherits from another theme by containing a text file name 'parent_theme' whose first and only line is the name of the parent theme.
* Moved themes/ directory to Ubuntu/
* Simplified ThemeEngine and ThemeSettings class, removed the rest of the theming infrastructure (ItemStyle, Style, QmlThemeLoader, Selector, StyleCache).
* Adapted all widgets to use the simplified theming technique:
- new StyledItem class that has a 'style' Component property representing the delegate
- all widgets that have delegates inherit from StyledItem
- all widgets set the 'style' property to the corresponding delegate in the current theme by using Theme.createSty
- Ambiance's stylesheet property/values have been moved to where they are used (mostly to the delegates)
- TextAreaDelegate: exposed background as Component property
- Added a delegate specific to TextField: TextFieldDelegate
- Renamed delegates so that they match their widget's name (e.g. EditorCursorDel
* Renamed UITK_THEME_PATH into UBUNTU_
FAILED: Continuous integration, rev:564 jenkins. qa.ubuntu. com/job/ ubuntu- ui-toolkit- ci/216/ jenkins. qa.ubuntu. com/job/ ubuntu- ui-toolkit- saucy-amd64- ci/73/console jenkins. qa.ubuntu. com/job/ ubuntu- ui-toolkit- saucy-armhf- ci/73/console
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild: s-jenkins: 8080/job/ ubuntu- ui-toolkit- ci/216/ rebuild
http://