Header should only change flickable content margins when its size is not null and it's visible property is true
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical System Image |
Fix Released
|
Medium
|
Zoltan Balogh | ||
ubuntu-ui-toolkit (Ubuntu) |
Fix Released
|
Medium
|
Tim Peeters | ||
ubuntu-ui-toolkit (Ubuntu RTM) |
Fix Released
|
Medium
|
Tim Peeters |
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.
id: mainView_
}
}
Related branches
- ubuntu-sdk-build-bot: Approve (continuous-integration)
- Zsombor Egri: Approve
-
Diff: 410 lines (+112/-58)6 files modifiedsrc/Ubuntu/Components/1.3/Page.qml (+1/-4)
src/Ubuntu/Components/plugin/ucheader.cpp (+30/-22)
src/Ubuntu/Components/plugin/ucheader.h (+2/-2)
tests/unit_x11/tst_components/tst_header.qml (+63/-4)
tests/unit_x11/tst_components/tst_page_with_header.qml (+11/-13)
tests/unit_x11/tst_components/tst_scrollbar_header.qml (+5/-13)
Changed in ubuntu-ui-toolkit (Ubuntu): | |
assignee: | nobody → Tim Peeters (tpeeters) |
description: | updated |
description: | updated |
Changed in ubuntu-ui-toolkit (Ubuntu): | |
importance: | Undecided → Medium |
status: | New → Confirmed |
Changed in ubuntu-ui-toolkit (Ubuntu): | |
status: | Confirmed → In Progress |
Changed in canonical-devices-system-image: | |
milestone: | none → 11 |
Changed in canonical-devices-system-image: | |
status: | New → In Progress |
assignee: | nobody → Zoltan Balogh (bzoltan) |
importance: | Undecided → Medium |
Changed in ubuntu-ui-toolkit (Ubuntu RTM): | |
importance: | Undecided → Medium |
Changed in ubuntu-ui-toolkit (Ubuntu): | |
status: | In Progress → Fix Committed |
Changed in ubuntu-ui-toolkit (Ubuntu RTM): | |
status: | New → Fix Committed |
Changed in canonical-devices-system-image: | |
status: | In Progress → Fix Committed |
Changed in ubuntu-ui-toolkit (Ubuntu RTM): | |
assignee: | nobody → Tim Peeters (tpeeters) |
Changed in canonical-devices-system-image: | |
status: | Fix Committed → Fix Released |
Reference, from QtQuick Row documentation:
"If an item within a Row is not visible, or if it has a width or height of 0, the item will not be laid out and it will not be visible within the row. Also, since a Row automatically positions its children horizontally, a child item within a Row should not set its x position or horizontally anchor itself using the left, right, anchors. horizontalCente r, fill or centerIn anchors. If you need to perform these actions, consider positioning the items without the use of a Row."