Dialog and Popover have no attached theme property

Bug #1555548 reported by Tim Peeters on 2016-03-10
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Canonical System Image
Critical
Zoltan Balogh
ubuntu-ui-toolkit (Ubuntu)
Critical
Tim Peeters
ubuntu-ui-toolkit (Ubuntu RTM)
Undecided
Unassigned
unity8 (Ubuntu)
Critical
Unassigned

Bug Description

In order to give the Dialog a different theme from the rest of an app, we need to set the theme property, as is done in the example of the theming tutorial in file:///usr/share/ubuntu-ui-toolkit/doc/html/ubuntu-theming-subtheming.html (ubuntu-ui-toolkit-doc package):

import QtQuick 2.4
import Ubuntu.Components 1.3
import Ubuntu.Components.Popups 1.3
MainView {
    width: units.gu(40)
    height: units.gu(71)

    applicationName: "subthemed"

    // make sure the main theme is Ambiance
    theme.name: "Ubuntu.Components.Themes.Ambiance"

    Component {
        id: dialogComponent
        Dialog {
            id: dialog
            title: "Input dialog"
            // the dialog and its children will use SuruDark
            theme: ThemeSettings {
                name: "Ubuntu.Components.Themes.SuruDark"
            }
            TextField {
                placeholderText: "enter text"
            }
            Button {
                text: "Close"
                onClicked: PopupUtils.close(dialog)
            }
        }
    }

    Button {
        text: "Open dialog"
        onClicked: PopupUtils.open(dialogComponent)
    }
}

However, this gives the following error file:///home/tim/test.qml:19 Cannot assign to non-existent property "theme"
because Dialog is not a StyledItem.

Related branches

Tim Peeters (tpeeters) wrote :

Workaround:

import QtQuick 2.4
import Ubuntu.Components 1.3
import Ubuntu.Components.Popups 1.3
MainView {
    width: units.gu(40)
    height: units.gu(71)

    applicationName: "subthemed"

    // make sure the main theme is Ambiance
    theme.name: "Ubuntu.Components.Themes.Ambiance"

    Component {
        id: dialogComponent
        Dialog {
            id: dialog
            title: "Input dialog"
            // the dialog and its children will use SuruDark
            ThemeSettings {
  id: tset
                name: "Ubuntu.Components.Themes.SuruDark"
            }
            TextField {
                placeholderText: "enter text"
            }
            Button {
                text: "Close"
                onClicked: PopupUtils.close(dialog)
            }
     Component.onCompleted: {
  __foreground.theme = tset;
     }
        }
    }

    Button {
        text: "Open dialog"
        onClicked: PopupUtils.open(dialogComponent)
    }
}

Zsombor Egri (zsombi) wrote :

Same applies for Popover!!!

Changed in ubuntu-ui-toolkit (Ubuntu):
status: New → Confirmed
Tim Peeters (tpeeters) wrote :

When fixing the bug, please add the missing import Ubuntu.Components.Popups 1.3 to the tutorial code.

summary: - Dialog has no attached theme property
+ Dialog and Popover have no attached theme property
Tim Peeters (tpeeters) on 2016-03-11
Changed in ubuntu-ui-toolkit (Ubuntu):
importance: Undecided → High
Lukáš Tinkl (lukas-kde) wrote :

For the record, this breaks Unity 8 shutdown/reboot/logout dialogs: the title and subtitle texts are rendered in white-on-white

Changed in unity8 (Ubuntu):
importance: Undecided → Critical
kevin gunn (kgunn72) wrote :

note: currently unity8 using a workaround on vivid atm, but this same workaround doesn't work on xenial.

Tim Peeters (tpeeters) on 2016-03-16
Changed in ubuntu-ui-toolkit (Ubuntu):
assignee: nobody → Tim Peeters (tpeeters)
importance: High → Critical
Changed in canonical-devices-system-image:
milestone: none → 11
Tim Peeters (tpeeters) on 2016-03-17
Changed in canonical-devices-system-image:
status: New → In Progress
Changed in ubuntu-ui-toolkit (Ubuntu):
status: Confirmed → In Progress
Tim Peeters (tpeeters) on 2016-03-25
Changed in ubuntu-ui-toolkit (Ubuntu):
status: In Progress → Fix Committed
Łukasz Zemczak (sil2100) wrote :
Download full text (4.1 KiB)

This bug was fixed in the package ubuntu-ui-toolkit 1.3.1918+15.04.20160404-0ubuntu1 in https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/stable-phone-overlay

---------------

ubuntu-ui-toolkit (1.3.1918+15.04.20160404-0ubuntu1) vivid; urgency=medium

  [ Benjamin Zeller ]
  * Register expected warning messages in the tree testcase.
  * Add testsuite for Tree. Fixes LP: #1549171.
  * Compile with Qt 5.6. Fixes LP: #1540356
  * More Qt 5.6 fixes.

  [ Michael Terry ]
  * Add grabGesture field to SwipeArea.
  * This field controls whether the SwipeArea takes ownership of the gestures it
    observes. Fixes LP: #1527387.

  [ Timo Jyrinki ]
  * Add a test for blocking if packaging not sorted and clean.
  * More package name transitioning, wrap and sort, fix debian/copyright syntax,
    update standards-version, fix devel package sections and add/fix
    lintian-overrides.

  [ Olivier Tilloy ]
  * Fix dependencies of the transitional dummy package
    qtdeclarative5-ubuntu-ui-toolkit-plugin. Fixes LP: #1553551.

  [ Christian Dywan ]
  * Rename qtdeclarative5-*-plugin to qml-module-*. Fixes LP: #1342031.
  * Require a qtdeclarative5 known to have the tab fence patch.
  * Reset previous theme version and use UbuntuTestCase in tst_animator.
  * BottomEdge(Hint) focus and close via keyboard. Fixes LP: #1523825
  * Add 1.3 version of UbuntuTestCase.
  * No gdb when running unit tests on armv7l.
  * Build-depend on python3-debian for wrap-and-sort.

  [ XiaoGuo Liu ]
  * Fix AdaptivePageLayout documentation.

  [ Tim Peeters ]
  * Properly disable left/right arrows on sections when at the beginning/end of
    the list. Fixes LP: #1551356.
  * Sections and old AppHeader landscape mode. Fixes LP: #1551341.
  * Set the window color as soon as the window is available, to avoid a
    flickering background when it is updated later.
    Fixes LP: #1439133, LP: #1554897
  * Add theme, style and styleName properties to Dialog and Popover.
    Fixes LP: #1555548
  * Update the gallery script to use the new name of the export script.
  * Export the full list of library paths.
  * Prevent Page geometry changes in APL when changing Pages in a column.
  * Fix typo in DatePickerStyle. Fixes: LP #1561440.

  [ Zsombor Egri ]
  * ListItem focus navigation in ListView and other views.
    Fixes LP: #1523815, LP: #1536679, LP: #1549733, LP: #1549743
  * BorromEdge.preloadContent. Fixes LP: #1540454.
  * Asynchronous loader (AsyncLoader) using incubator, prerequisite for
    BottomEdge preloading its content. Fixes LP: #1540454.
  * ListView proxy should not consume up/down key events. Fixes LP: #1554447
  * Pick up the right style. Fixes LP: #1555797
  * Label makes sure the color alteration is known by the theming.
    Fixes LP: #1555784
  * Fix AsyncLoader tests so they create slightly less amount of elements.
  * AdaptivePageLayout removes all pages pushed to next columns when
    addPageToNextColumn() is called. Fixes LP: #1544745
  * Fix BottomEdge content discarding.
  * Disconnect enabled signal in Label in destructor, so functor call will not
    be handled when QQuickItem triggers enabled change. Fixes LP: #1560044.

  [ Andrea Bernabei ]
  * UI G...

Read more...

Changed in ubuntu-ui-toolkit (Ubuntu RTM):
status: New → Fix Released
Changed in canonical-devices-system-image:
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :
Download full text (4.1 KiB)

This bug was fixed in the package ubuntu-ui-toolkit - 1.3.1918+16.04.20160404-0ubuntu1

---------------
ubuntu-ui-toolkit (1.3.1918+16.04.20160404-0ubuntu1) xenial; urgency=medium

  [ Benjamin Zeller ]
  * Register expected warning messages in the tree testcase.
  * Add testsuite for Tree. Fixes LP: #1549171.
  * Compile with Qt 5.6. Fixes LP: #1540356
  * More Qt 5.6 fixes.

  [ Michael Terry ]
  * Add grabGesture field to SwipeArea.
  * This field controls whether the SwipeArea takes ownership of the gestures it
    observes. Fixes LP: #1527387.

  [ Timo Jyrinki ]
  * Add additional Breaks as requested by archive admin.
  * Add a test for blocking if packaging not sorted and clean.
  * More package name transitioning, wrap and sort, fix debian/copyright syntax,
    update standards-version, fix devel package sections and add/fix
    lintian-overrides.

  [ Olivier Tilloy ]
  * Fix dependencies of the transitional dummy package
    qtdeclarative5-ubuntu-ui-toolkit-plugin. Fixes LP: #1553551.

  [ Christian Dywan ]
  * Rename qtdeclarative5-*-plugin to qml-module-*. Fixes LP: #1342031.
  * Require a qtdeclarative5 known to have the tab fence patch.
  * Reset previous theme version and use UbuntuTestCase in tst_animator.
  * BottomEdge(Hint) focus and close via keyboard. Fixes LP: #1523825
  * Add 1.3 version of UbuntuTestCase.
  * No gdb when running unit tests on armv7l.
  * Build-depend on python3-debian for wrap-and-sort.

  [ XiaoGuo Liu ]
  * Fix AdaptivePageLayout documentation.

  [ Tim Peeters ]
  * Properly disable left/right arrows on sections when at the beginning/end of
    the list. Fixes LP: #1551356.
  * Sections and old AppHeader landscape mode. Fixes LP: #1551341.
  * Set the window color as soon as the window is available, to avoid a
    flickering background when it is updated later.
    Fixes LP: #1439133, LP: #1554897
  * Add theme, style and styleName properties to Dialog and Popover.
    Fixes LP: #1555548
  * Update the gallery script to use the new name of the export script.
  * Export the full list of library paths.
  * Prevent Page geometry changes in APL when changing Pages in a column.
  * Fix typo in DatePickerStyle. Fixes: LP #1561440.

  [ Zsombor Egri ]
  * ListItem focus navigation in ListView and other views.
    Fixes LP: #1523815, LP: #1536679, LP: #1549733, LP: #1549743
  * BorromEdge.preloadContent. Fixes LP: #1540454.
  * Asynchronous loader (AsyncLoader) using incubator, prerequisite for
    BottomEdge preloading its content. Fixes LP: #1540454.
  * ListView proxy should not consume up/down key events. Fixes LP: #1554447
  * Pick up the right style. Fixes LP: #1555797
  * Label makes sure the color alteration is known by the theming.
    Fixes LP: #1555784
  * Fix AsyncLoader tests so they create slightly less amount of elements.
  * AdaptivePageLayout removes all pages pushed to next columns when
    addPageToNextColumn() is called. Fixes LP: #1544745
  * Fix BottomEdge content discarding.
  * Disconnect enabled signal in Label in destructor, so functor call will not
    be handled when QQuickItem triggers enabled change. Fixes LP: #1560044.

  [ Andrea Bernabei ]
  * UI Gallery: fix vertical alig...

Read more...

Changed in ubuntu-ui-toolkit (Ubuntu):
status: Fix Committed → Fix Released
Changed in canonical-devices-system-image:
assignee: nobody → Zoltan Balogh (bzoltan)
importance: Undecided → Critical
Changed in canonical-devices-system-image:
status: Fix Committed → Fix Released
beanroy (beanroy) on 2019-07-10
information type: Public → Private Security
information type: Private Security → Public
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers