[Theming] define a convention file name for application custom theme so that it’s automatically loaded

Bug #1152160 reported by Zsombor Egri
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu UI Toolkit
Fix Released
Zsombor Egri
ubuntu-ui-toolkit (Ubuntu)
Fix Released

Bug Description

Make application specific themes to be loaded automatically.

Tags: theming

Related branches

Changed in ubuntu-ui-toolkit:
status: New → Confirmed
Revision history for this message
Florian Boucault (fboucault) wrote :

From blueprint:
Deprecate manual theme loading.

Refactor Theme type API to be more QML compliant:
- introduce warnings instead of errors
- introduce status code (Ready, Loading, Fail, Warning)
- manual theme loading through property

Provide automatic theme file identification for applications:
- application theme identified from the application ID - desktop file
- first lookup after theme file should be under ~/.config/<application>
- second lookup after theme file under ~/.local/share/themes/<current-theme>/qmltheme
- third lookup after theme file under /usr/share/themes/<current-theme>.qmltheme
- if not found, fall back to the system theme

Work items:
Implement theme lookup for system themes: TODO
Implement theme lookup for application theme files: TODO
Refactor Theme API: TODO

Changed in ubuntu-ui-toolkit:
importance: High → Medium
information type: Private → Public
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:ubuntu-ui-toolkit at revision 572, scheduled for release in ubuntu-ui-toolkit, milestone Unknown

Changed in ubuntu-ui-toolkit:
status: Confirmed → Fix Committed
Changed in ubuntu-ui-toolkit:
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (4.7 KiB)

This bug was fixed in the package ubuntu-ui-toolkit - 0.1.46+13.10.20130703.1-0ubuntu1

ubuntu-ui-toolkit (0.1.46+13.10.20130703.1-0ubuntu1) saucy; urgency=low

  [ Zsombor Egri ]
  * Fix for re-parenting items that are anchor filled to an item in
    default layout.
  * TextField API extended with API left out from TextInput. wrapMode is
    not inlcuded as does not make sense to be used in single line input.
    (LP: #1183265)
  * Calculator example which turns from simple calculator (phone
    portrait mode) into scientific one (phone landscape mode) reflecting
    the use of Ubuntu.Layouts. .
  * Removing common.pri from Layouts.pro and Layouts\plugin.pro causing
    qmake warnings when Ubuntu UI toolkit project is opened in

  [ Leo Arias ]
  * Replaced the MainWindow emulator for autopilot tests with a MainView
    emulator that the uses the custom emulator features of autopilot.
  * Added the Toolbar Autopilot emulator. (LP: #1177341)

  [ Juhapekka Piiroinen ]
  * Fixed broken ubuntu-ui-toolkit-gallery.qmlproject file, which had an
    invalid value in mainFile field.

  [ tpeeters ]
  * Update header behavior: - Do not automatically hide the header when
    scrolling in a flickable that is not anchored to the top of the
    page. - Automatically show the header when flickable's contentHeight
    becomes less than flickable.height. - Update documentation for
    Page.flickable. (LP: #1156573, #1160175)

  [ Kaleo ]
  * Removed common.pri and coverage.pri files that were cluttering
    QtCreator making it harder to understand the real structure of the
    project. coverage.pri has been transformed into a feature file
    (coverage.prf) which works the same way as before.
  * Removed antiquated TextCustom class.
  * Removed unused old-style tabs delegate.
  * Removed UbuntuShape.qml and transferred code & documentation to
    shapeitem.cpp ShapeItem: renamed baseColor property into color.
  * UbuntuShape: simplified gradient implementation; gradientColor is
    now the same as color by default. .
  * 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.Components.Themes.Ambiance 0.1'. The name of the current
    theme is set in ~/.config/ubuntu-ui-toolkit/theme.ini Writing a new
    theme is done by creating a QML module and adding it in the
    Ubuntu/Components/Themes folder. 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/Components/Themes so that themes are importable. * 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 fro...


Changed in ubuntu-ui-toolkit (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.