https://bugs.kde.org/show_bug.cgi?id=395455

--- Comment #7 from Marco Martin <notm...@gmail.com> ---
Git commit 26b8bdea24c3930533be9abdef6a9202b507d1bc by Marco Martin.
Committed on 26/06/2018 at 16:33.
Pushed by mart into branch 'master'.

Refactor the Global ToolBar concept

Summary:
The recomended toolbar to be used for kirigami applications used to need to be
explicitly instantiated, and had an internal flickable that tried hard to be
synchronized with the main PageRow.
but this is pretty much impossible to have it glitch-free, it will there always
be an edge case in which the two flickables gets out of sync, which is a strong
sign of bad architecture.

Page toolbars are now moved on top of Page itself, so on the same Flickable as
the PageRow itself. (a global header is still used when we are in breadcrumbs
mode)
Is now also now possible to have multiple instances of PageRows, each one with
its own globalToolBar. So, it's now also possible for AbstractApplicationHeader
(and any subclass) to trach a different PageRow than the global one in
ApplicationWindow.

also, there have been requests to be possible while keeping the default
toolbar, have a custom global one that goes on top of it (ApplicationWindow's
header item)

also, i wanted to have a way to make it possible to switch on the fly between a
mobile-like and a desktop-like toolbar for further convergence plans

in the future, it will be possible for pages to put their own component to
replace the default toolbar

Test Plan:
tested all possible combinations of both the new way and the legacy
compatibility mode.

ApplicationHeader and ToolBarApplicationHeader still work if used explicitly.

The patch shouldn't have significant visible UI changes.

there is still an explicit FIXME tough i want to do it in a different turn, as
would need a new component

Reviewers: #kirigami, ngraham

Reviewed By: #kirigami, ngraham

Subscribers: apol, IlyaBizyaev, ngraham, davidedmundson, plasma-devel

Tags: #kirigami

Differential Revision: https://phabricator.kde.org/D13663

M  +51   -19   examples/gallerydata/contents/ui/DesktopExampleApp.qml
M  +48   -14   examples/gallerydata/contents/ui/ExampleApp.qml
M  +1    -1    examples/gallerydata/contents/ui/gallery/LayersGallery.qml
M  +2    -2    examples/simpleexamples/simpleChatApp.qml
M  +6    -0    kirigami.qrc
M  +15   -3    src/controls/AbstractApplicationHeader.qml
M  +1    -0    src/controls/ApplicationWindow.qml
M  +9    -1    src/controls/OverlayDrawer.qml
M  +72   -9    src/controls/Page.qml
M  +67   -5    src/controls/PageRow.qml
M  +1    -0    src/controls/ToolBarApplicationHeader.qml
A  +42   -0    src/controls/private/AbstractPageHeader.qml     [License: LGPL
(v2+)]
A  +48   -0    src/controls/private/PageRowGlobalToolBarStyleGroup.qml    
[License: LGPL (v2+)]
A  +96   -0    src/controls/private/PageRowGlobalToolBarUI.qml     [License:
LGPL (v2+)]
M  +7    -6    src/controls/private/PrivateActionToolButton.qml
A  +47   -0    src/controls/private/TitlesPageHeader.qml     [License: LGPL
(v2+)]
A  +119  -0    src/controls/private/ToolBarPageHeader.qml     [License: LGPL
(v2+)]
M  +40   -33   src/controls/templates/AbstractApplicationHeader.qml
M  +22   -21   src/controls/templates/ApplicationHeader.qml
M  +17   -11   src/controls/templates/OverlayDrawer.qml
M  +2    -3    src/controls/templates/private/BackButton.qml
M  +2    -4    src/controls/templates/private/ForwardButton.qml
M  +3    -1    src/enums.h
M  +3    -0    src/styles/org.kde.desktop/AbstractApplicationHeader.qml
M  +13   -5    src/styles/org.kde.desktop/OverlayDrawer.qml

https://commits.kde.org/kirigami/26b8bdea24c3930533be9abdef6a9202b507d1bc

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to