← Back to team overview

ubuntu-sdk-bugs team mailing list archive

[Bug 1560458] Re: Header should only change flickable content margins when its size is not null and it's visible property is true

 

This bug was fixed in the package ubuntu-ui-toolkit -
1.3.1984+16.10.20160527.2

---------------
ubuntu-ui-toolkit (1.3.1984+16.10.20160527.2) yakkety; urgency=medium

  [ Christian Dywan ]
  * Slimmer frame for TextFields: 0.5dp. Fixes LP: #1578190.

  [ Albert Astals Cid ]
  * Add override
    The override specifier (since C++11) specifies that a virtual function
    overrides another virtual function. In a member function declaration or
    definition, override ensures that the function is virtual and is overriding
    a virtual function from the base class.

  [ Tim Peeters ]
  * Fix reference error in PullToRefreshStyle. Fixes LP: #1582843
  * Mark Tab, Tabs, TabBar, PageHeadConfiguration, PageHeadSections,
    PageHeadState, ToolbarButton, ToolbarItems as deprecated in the
    documentation. Fixes LP: #1566735, LP: #1566741.

  [ CI Train Bot ]
  * Resync trunk.

 -- Zoltan Balogh <zoltan.balogh@xxxxxxxxxxxxx>  Fri, 27 May 2016
07:08:44 +0000

** Changed in: ubuntu-ui-toolkit (Ubuntu)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
SDK bug tracking, which is subscribed to ubuntu-ui-toolkit in Ubuntu.
https://bugs.launchpad.net/bugs/1560458

Title:
  Header should only change flickable content margins when its size is
  not null and it's visible property is true

Status in Canonical System Image:
  Fix Committed
Status in ubuntu-ui-toolkit package in Ubuntu:
  Fix Released
Status in ubuntu-ui-toolkit package in Ubuntu RTM:
  Fix Released

Bug description:
  r1886

  Header should not update (or it should stop updating) Flickable content margins in case either one (or both) of its sides has null size or it's !visible.
  This is to be consistent with how QtQuick layout components already behave -> they ignore children whose size is null or that are !visible.

  NOTE: opacity should not affect this logic. If opacity is 0, the items
  should NOT be ignored (this allows opacity animations).

  TestCase: you can verify that flickable.topMargin is equal to
  editHeader's height even when the header it's not visible and
  standardHeader is the visible one instead.

              MainView {
                  id: mainView_movingHeaderTest
                  width: units.gu(50)
                  height: units.gu(80)
                  clip: true

                  property alias page: pageItem
                  property alias standardHeader: standardHeaderItem
                  property alias editHeader: editHeaderItem

                  Page {
                      id: pageItem
                      header: standardHeaderItem

                      Flickable {
                          id: flickable_movingHeaderTest
                          anchors.fill: parent
                          //just make sure the scrollbar is scrollable
                          contentHeight: mainView_movingHeaderTest.height * 2
                          contentWidth: mainView_movingHeaderTest.width * 2
                          Label {
                              text: "Use the icons in the header."
                              visible: standardHeaderItem.visible
                          }
                      }
                      Scrollbar {
                          id: scrollbar_movingHeaderTest
                          flickableItem: flickable_movingHeaderTest
                      }

                      PageHeader {
                          id: standardHeaderItem
                          visible: pageItem.header === standardHeaderItem
                          title: "Default title"
                          flickable: flickable_movingHeaderTest
                          trailingActionBar.actions: [
                              Action {
                                  iconName: "edit"
                                  text: "Edit"
                                  onTriggered: pageItem.header = editHeaderItem
                              }
                          ]
                      }
                      PageHeader {
                          id: editHeaderItem
                          visible: pageItem.header === editHeaderItem
                          flickable:  flickable_movingHeaderTest
                          property Component delegate: Component {
                              AbstractButton {
                                  id: button
                                  action: modelData
                                  width: label.width + units.gu(4)
                                  height: parent.height
                                  Rectangle {
                                      color: UbuntuColors.slate
                                      opacity: 0.1
                                      anchors.fill: parent
                                      visible: button.pressed
                                  }
                                  Label {
                                      anchors.centerIn: parent
                                      id: label
                                      text: action.text
                                      font.weight: text === "Confirm"
                                                   ? Font.Normal
                                                   : Font.Light
                                  }
                              }
                          }
                          leadingActionBar {
                              anchors.leftMargin: 0
                              actions: Action {
                                  text: "Cancel"
                                  iconName: "close"
                                  onTriggered: pageItem.header = standardHeaderItem
                              }
                              delegate: editHeaderItem.delegate
                          }
                          trailingActionBar {
                              anchors.rightMargin: 0
                              actions: Action {
                                  text: "Confirm"
                                  iconName: "tick"
                                  onTriggered: pageItem.header = standardHeaderItem
                              }
                              delegate: editHeaderItem.delegate
                          }
                          extension: Toolbar {
                              anchors {
                                  left: parent.left
                                  right: parent.right
                                  bottom: parent.bottom
                              }
                              trailingActionBar.actions: [
                                  Action { iconName: "bookmark-new" },
                                  Action { iconName: "add" },
                                  Action { iconName: "edit-select-all" },
                                  Action { iconName: "edit-copy" },
                                  Action { iconName: "select" }
                              ]
                              leadingActionBar.actions: Action {
                                  iconName: "delete"
                                  text: "delete"
                                  onTriggered: print("Delete action triggered")
                              }
                          }
                      }
                  }
              }

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1560458/+subscriptions


References