2016-03-22 12:00:00 |
Andrea Bernabei |
bug |
|
|
added bug |
2016-03-22 12:00:09 |
Andrea Bernabei |
ubuntu-ui-toolkit (Ubuntu): assignee |
|
Tim Peeters (tpeeters) |
|
2016-03-22 12:00:26 |
Andrea Bernabei |
description |
r1886
Header should not update (or stop updating) Flickable content margins in case either one of its sides have 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")
}
}
}
}
} |
r1886
Header should not update (or it should stop updating) Flickable content margins in case either one of its sides have 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")
}
}
}
}
} |
|
2016-03-22 12:00:57 |
Andrea Bernabei |
description |
r1886
Header should not update (or it should stop updating) Flickable content margins in case either one of its sides have 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")
}
}
}
}
} |
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")
}
}
}
}
} |
|
2016-03-25 19:46:00 |
Tim Peeters |
ubuntu-ui-toolkit (Ubuntu): importance |
Undecided |
Medium |
|
2016-03-25 19:46:03 |
Tim Peeters |
ubuntu-ui-toolkit (Ubuntu): status |
New |
Confirmed |
|
2016-03-31 15:52:09 |
Tim Peeters |
ubuntu-ui-toolkit (Ubuntu): status |
Confirmed |
In Progress |
|
2016-03-31 17:23:51 |
Launchpad Janitor |
branch linked |
|
lp:~tpeeters/ubuntu-ui-toolkit/invisible-header-topmargin |
|
2016-04-12 11:17:22 |
Timo Jyrinki |
bug task added |
|
ubuntu-ui-toolkit (Ubuntu RTM) |
|
2016-04-12 11:17:35 |
Timo Jyrinki |
bug task added |
|
canonical-devices-system-image |
|
2016-04-12 11:17:43 |
Timo Jyrinki |
canonical-devices-system-image: milestone |
|
11 |
|
2016-04-12 11:52:30 |
Timo Jyrinki |
canonical-devices-system-image: status |
New |
In Progress |
|
2016-04-12 11:52:36 |
Timo Jyrinki |
canonical-devices-system-image: assignee |
|
Zoltan Balogh (bzoltan) |
|
2016-04-12 11:52:38 |
Timo Jyrinki |
canonical-devices-system-image: importance |
Undecided |
Medium |
|
2016-04-12 11:52:39 |
Timo Jyrinki |
ubuntu-ui-toolkit (Ubuntu RTM): importance |
Undecided |
Medium |
|
2016-04-12 11:52:44 |
Timo Jyrinki |
ubuntu-ui-toolkit (Ubuntu): status |
In Progress |
Fix Committed |
|
2016-04-12 11:52:46 |
Timo Jyrinki |
ubuntu-ui-toolkit (Ubuntu RTM): status |
New |
Fix Committed |
|
2016-04-14 14:34:49 |
Łukasz Zemczak |
ubuntu-ui-toolkit (Ubuntu RTM): status |
Fix Committed |
Fix Released |
|
2016-04-14 16:54:08 |
Jean-Baptiste Lallement |
canonical-devices-system-image: status |
In Progress |
Fix Committed |
|
2016-04-18 11:09:26 |
Tim Peeters |
ubuntu-ui-toolkit (Ubuntu RTM): assignee |
|
Tim Peeters (tpeeters) |
|
2016-05-30 15:39:00 |
Launchpad Janitor |
ubuntu-ui-toolkit (Ubuntu): status |
Fix Committed |
Fix Released |
|
2016-06-02 12:18:20 |
Pat McGowan |
canonical-devices-system-image: status |
Fix Committed |
Fix Released |
|