Use AdaptivePageLayout instead of PageStack in the GUI
Bug #1550365 reported by
Christopher Townsend
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Libertine | Status tracked in Devel | |||||
Devel |
Fix Released
|
Low
|
Larry Price | |||
Trunk |
Fix Released
|
Low
|
Larry Price | |||
libertine (Ubuntu) |
Fix Released
|
Low
|
Larry Price |
Bug Description
We should consider using AdaptivePageLayout instead of PageStack for the GUI. This could make the Libertine GUI navigation on tablets and desktops easier.
Related branches
lp:~larryprice/libertine/adaptive-page-layout
- Christopher Townsend: Approve
- Libertine CI Bot: Approve (continuous-integration)
-
Diff: 587 lines (+131/-147)10 files modifiedqml/common/ContainerEditView.qml (+25/-15)
qml/common/ContainersList.qml (+45/-5)
qml/common/ExtraArchivesView.qml (+3/-2)
qml/common/ManageContainer.qml (+1/-1)
qml/common/SearchPackagesDialog.qml (+5/-7)
qml/common/SearchResultsView.qml (+11/-14)
qml/gui/ContainersView.qml (+1/-0)
qml/gui/WelcomeView.qml (+0/-80)
qml/gui/libertine.qml (+35/-19)
qml/plugin/MainSettingsPage.qml (+5/-4)
lp:~townsend/libertine/1.7-release
- Larry Price: Approve
-
Diff: 6192 lines (+2021/-1733)78 files modified.bzrignore (+1/-2)
CMakeLists.txt (+1/-1)
common/CMakeLists.txt (+3/-2)
common/ContainerAppsList.cpp (+6/-8)
common/ContainerAppsList.h (+7/-10)
common/ContainerArchivesList.cpp (+7/-7)
common/ContainerArchivesList.h (+5/-8)
common/ContainerBindMountsList.cpp (+87/-0)
common/ContainerBindMountsList.h (+76/-0)
common/ContainerConfig.cpp (+0/-513)
common/ContainerConfig.h (+0/-153)
common/ContainerConfigList.cpp (+74/-160)
common/ContainerConfigList.h (+29/-25)
common/ContainerManager.cpp (+20/-20)
common/ContainerManager.h (+4/-4)
common/ContainerOperationDetails.cpp (+25/-57)
common/ContainerOperationDetails.h (+9/-9)
common/ContainersConfig.cpp (+212/-0)
common/ContainersConfig.h (+108/-0)
debian/changelog (+41/-0)
debian/control (+8/-5)
debian/libertined.preinst (+24/-0)
debian/libertined.prerm (+24/-0)
debian/python3-libertine.install (+1/-0)
libertine/CMakeLists.txt (+1/-3)
libertine/libertine.cpp (+8/-7)
libertine/libertine.h (+5/-3)
liblibertine/libertined.cpp (+19/-15)
python/libertine/ChrootContainer.py (+1/-1)
python/libertine/Client.py (+70/-0)
python/libertine/ContainersConfig.py (+25/-17)
python/libertine/HostInfo.py (+8/-5)
python/libertine/Libertine.py (+18/-5)
python/libertine/LxcContainer.py (+39/-46)
python/libertine/LxdContainer.py (+187/-93)
python/libertine/__init__.py (+3/-3)
python/libertine/launcher/session.py (+20/-7)
python/libertine/service/manager.py (+15/-22)
python/libertine/service/operations_state.py (+75/-0)
python/libertine/service/task_dispatcher.py (+19/-0)
python/libertine/service/tasks/base_task.py (+1/-1)
python/libertine/service/tasks/create_task.py (+4/-2)
python/libertine/utils.py (+17/-13)
qml/common/AddBindMountDialog.qml (+27/-0)
qml/common/AddExtraArchiveView.qml (+1/-1)
qml/common/ContainerEditView.qml (+29/-19)
qml/common/ContainerInfoView.qml (+25/-7)
qml/common/ContainerOptionsDialog.qml (+4/-4)
qml/common/ContainersList.qml (+53/-10)
qml/common/DebianPackagePicker.qml (+1/-1)
qml/common/ExtraArchivesView.qml (+4/-3)
qml/common/ExtraBindMountsView.qml (+110/-0)
qml/common/ManageContainer.qml (+49/-10)
qml/common/PackageInfoView.qml (+4/-50)
qml/common/SearchPackagesDialog.qml (+5/-7)
qml/common/SearchResults.qml (+5/-5)
qml/common/SearchResultsView.qml (+14/-16)
qml/gui/ContainersView.qml (+1/-0)
qml/gui/WelcomeView.qml (+0/-80)
qml/gui/libertine.qml (+36/-20)
qml/plugin/MainSettingsPage.qml (+5/-4)
setup/gui/libertine-manager-app.desktop (+0/-12)
snap/gui/libertine-manager-app.desktop (+12/-0)
snap/plugins/x-libertine-deps.py (+4/-1)
snap/snap-runner.wrapper (+1/-1)
snapcraft.yaml (+23/-10)
system-settings-plugin/plugin.cpp (+6/-8)
tests/integration/CMakeLists.txt (+2/-2)
tests/integration/test_libertine_service.py (+3/-4)
tests/unit/CMakeLists.txt (+1/-1)
tests/unit/ContainerConfigListTests.cpp (+2/-2)
tests/unit/ContainerConfigTests.cpp (+0/-127)
tests/unit/ContainersConfigTests.cpp (+154/-0)
tools/completions/libertine-container-manager (+1/-1)
tools/libertine-container-manager (+113/-89)
tools/libertine-container-manager.1 (+13/-8)
tools/libertine-launch (+2/-2)
tools/libertined (+4/-1)
Changed in libertine (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → Low |
tags: | added: gui |
Changed in libertine: | |
milestone: | 1.1 → 1.2 |
Changed in libertine: | |
milestone: | 1.2 → 1.3 |
Changed in libertine: | |
milestone: | 1.3 → 1.4 |
Changed in libertine: | |
milestone: | 1.4 → 1.5 |
Changed in libertine: | |
milestone: | 1.5 → 1.6 |
Changed in libertine (Ubuntu): | |
status: | Triaged → In Progress |
assignee: | nobody → Larry Price (larryprice) |
To post a comment you must log in.
I looked into this for a bit and didn't have much luck. The API for AdaptivePageLayout seems immature. Unlike in PageStack, APL requires much more manual maintenance of the historical pages. I've seen other applications handle this by keeping an array or pages called "FakePageStack" inside their APL implementation. Creating a chain of more than 2 pages seems to be quite difficult, though now impossible. For some reason, APL removes all Back buttons that Stack was able to auto-detect. APL does not deal very well with listviews that are side by side, and ends up with icons overlaying one another. APL also prevents the page parents from having appropriate heights set, which causes the need to reevaluate all of our heights.