[Indicators] Update indicators to match the latest design
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu UX |
Fix Released
|
Critical
|
Vesa Rautiainen | ||
unity8 (Ubuntu) |
Fix Released
|
High
|
Nick Dedekind | ||
unity8 (Ubuntu RTM) |
Fix Released
|
Critical
|
Nick Dedekind |
Bug Description
There is a new indicators design that improves and fixes many of the usability issues in the current design.
New design fixes following issues:
1. Too small target size for reliably making selection -> false positives
2. Current design doesn’t support overflow. Or inactive items so that their menu could be accessed.
3. Movement overload when item changes while going down.
4. Tabs. Deprecated component and poor navigation.
5. Invisible locking line in mid point of the screen.
Specification can be found here: https:/
There is also a prototype of the new design:
It can be found here: lp:~willow-team/willow/Indicators-Bens-idea/
There is also a screencast video of the prototype in action here:
https:/
Implementing this would be one way of fixing bug 1285951, bug 1352784, and bug 1370799.
Related branches
- Michael Terry: Approve
- PS Jenkins bot (community): Needs Fixing (continuous-integration)
- Daniel d'Andrada (community): Abstain
- Michał Sawicz: Needs Fixing
- Albert Astals Cid (community): Abstain
- Andrea Cimitan (community): Needs Fixing
- Nick Dedekind (community): Needs Fixing
- Omer Akram: Pending (functional) requested
-
Diff: 5736 lines (+2171/-2135)56 files modifiedplugins/Unity/Indicators/Indicators.qmltypes (+2/-4)
plugins/Unity/Indicators/indicators.h (+0/-2)
plugins/Unity/Indicators/indicatorsmodel.cpp (+0/-6)
plugins/Unity/Indicators/rootactionstate.cpp (+1/-1)
plugins/Unity/Indicators/rootactionstate.h (+4/-4)
plugins/Unity/Indicators/sharedunitymenumodel.cpp (+6/-1)
plugins/Unity/Indicators/unitymenumodelcache.cpp (+1/-5)
plugins/Unity/Indicators/unitymenumodelcache.h (+1/-3)
plugins/Unity/Indicators/visibleindicatorsmodel.cpp (+0/-2)
qml/Components/DragHandle.qml (+6/-1)
qml/Components/EdgeDemo.qml (+13/-10)
qml/Components/ListItems/VerticalThinDivider.qml (+0/-26)
qml/Components/ScrollCalculator.qml (+81/-0)
qml/Panel/Handle.qml (+43/-0)
qml/Panel/IndicatorItem.qml (+0/-53)
qml/Panel/IndicatorItemRow.qml (+297/-0)
qml/Panel/IndicatorPage.qml (+10/-16)
qml/Panel/IndicatorRow.qml (+0/-163)
qml/Panel/Indicators.qml (+0/-415)
qml/Panel/Indicators/DefaultIndicatorWidget.qml (+0/-119)
qml/Panel/Indicators/IndicatorBase.qml (+1/-5)
qml/Panel/Indicators/IndicatorDelegate.qml (+2/-2)
qml/Panel/Indicators/VisibleIndicators.qml (+4/-5)
qml/Panel/Indicators/client/IndicatorRepresentation.qml (+22/-11)
qml/Panel/Indicators/client/IndicatorsList.qml (+2/-2)
qml/Panel/Indicators/client/IndicatorsTree.qml (+4/-26)
qml/Panel/IndicatorsBar.qml (+269/-0)
qml/Panel/IndicatorsMenu.qml (+318/-0)
qml/Panel/MenuContent.qml (+26/-83)
qml/Panel/Panel.qml (+0/-191)
qml/Panel/PanelVelocityCalculator.qml (+54/-0)
qml/Shell.qml (+16/-5)
tests/autopilot/unity8/indicators/tests/test_indicators.py (+1/-1)
tests/autopilot/unity8/shell/emulators/main_window.py (+6/-6)
tests/mocks/Unity/Indicators/Indicators.qmltypes (+2/-4)
tests/mocks/Unity/Indicators/IndicatorsModel.qml (+89/-79)
tests/mocks/Unity/Indicators/RootActionState.qml (+2/-2)
tests/mocks/Unity/Indicators/fakeindicatorsmodel.cpp (+0/-2)
tests/mocks/Unity/Indicators/fakeunitymenumodelcache.cpp (+10/-8)
tests/mocks/Unity/Indicators/fakeunitymenumodelcache.h (+4/-8)
tests/qmltests/CMakeLists.txt (+5/-5)
tests/qmltests/Greeter/tst_Clock.qml (+1/-3)
tests/qmltests/Panel/IndicatorTest.qml (+80/-0)
tests/qmltests/Panel/Indicators/tst_DefaultIndicatorWidget.qml (+0/-52)
tests/qmltests/Panel/tst_ActiveCallHint.qml (+0/-1)
tests/qmltests/Panel/tst_IndicatorItem.qml (+0/-50)
tests/qmltests/Panel/tst_IndicatorItemRow.qml (+290/-0)
tests/qmltests/Panel/tst_IndicatorPage.qml (+5/-7)
tests/qmltests/Panel/tst_IndicatorRow.qml (+0/-158)
tests/qmltests/Panel/tst_Indicators.qml (+0/-231)
tests/qmltests/Panel/tst_IndicatorsBar.qml (+224/-0)
tests/qmltests/Panel/tst_IndicatorsMenu.qml (+258/-0)
tests/qmltests/Panel/tst_MenuContent.qml (+9/-17)
tests/qmltests/Panel/tst_Panel.qml (+0/-337)
tests/qmltests/Panel/tst_SearchIndicator.qml (+0/-1)
tests/qmltests/tst_Shell.qml (+2/-2)
- PS Jenkins bot (community): Needs Fixing (continuous-integration)
- Albert Astals Cid (community): Approve
- Michael Terry: Pending requested
-
Diff: 2734 lines (+958/-783)66 files modifiedplugins/AccountsService/AccountsService.qmltypes (+2/-0)
plugins/Dash/Dash.qmltypes (+3/-0)
plugins/LightDM/LightDM.qmltypes (+1/-0)
plugins/Ubuntu/Payments/Payments.qmltypes (+1/-0)
plugins/Unity/DashCommunicator/DashCommunicator.qmltypes (+17/-4)
plugins/Unity/Indicators/CMakeLists.txt (+1/-0)
plugins/Unity/Indicators/Indicators.qmltypes (+10/-7)
plugins/Unity/Indicators/plugin.cpp (+8/-2)
plugins/Unity/Indicators/plugin.h (+1/-1)
plugins/Unity/Indicators/sharedunitymenumodel.cpp (+87/-0)
plugins/Unity/Indicators/sharedunitymenumodel.h (+66/-0)
plugins/Unity/Indicators/unitymenumodelcache.cpp (+28/-13)
plugins/Unity/Indicators/unitymenumodelcache.h (+15/-9)
plugins/Unity/Launcher/Launcher.qmltypes (+17/-12)
plugins/Unity/Session/Session.qmltypes (+10/-0)
plugins/Utils/Utils.qmltypes (+6/-0)
qml/Greeter/Clock.qml (+9/-9)
qml/Panel/Indicators/CachedUnityMenuModel.qml (+0/-39)
qml/Panel/Indicators/IndicatorBase.qml (+2/-2)
tests/mocks/AccountsService/AccountsService.qmltypes (+2/-0)
tests/mocks/LightDM/LightDM.qmltypes (+1/-0)
tests/mocks/QMenuModel/QMenuModel.qmltypes (+1/-1)
tests/mocks/QMenuModel/unitymenumodel.cpp (+1/-2)
tests/mocks/QMenuModel/unitymenumodel.h (+6/-2)
tests/mocks/Ubuntu/Payments/Payments.qmltypes (+2/-0)
tests/mocks/Ubuntu/Telephony/Telephony.qmltypes (+2/-1)
tests/mocks/Unity/Application/Application.qmltypes (+13/-0)
tests/mocks/Unity/DashCommunicator/DashCommunicator.qmltypes (+2/-2)
tests/mocks/Unity/Indicators/CMakeLists.txt (+3/-10)
tests/mocks/Unity/Indicators/FakeMenuPage.qml (+0/-27)
tests/mocks/Unity/Indicators/Indicators.qmltypes (+41/-11)
tests/mocks/Unity/Indicators/IndicatorsModel.qml (+143/-35)
tests/mocks/Unity/Indicators/RootActionState.qml (+17/-9)
tests/mocks/Unity/Indicators/fakeindicatorsmodel.cpp (+60/-29)
tests/mocks/Unity/Indicators/fakeindicatorsmodel.h (+8/-2)
tests/mocks/Unity/Indicators/fakeplugin.cpp (+8/-4)
tests/mocks/Unity/Indicators/fakeunitymenumodelcache.cpp (+57/-0)
tests/mocks/Unity/Indicators/fakeunitymenumodelcache.h (+49/-0)
tests/mocks/Unity/Indicators/indicators_fake.qrc (+0/-14)
tests/mocks/Unity/Indicators/qml/fake_menu_page1.qml (+0/-35)
tests/mocks/Unity/Indicators/qml/fake_menu_page2.qml (+0/-35)
tests/mocks/Unity/Indicators/qml/fake_menu_page3.qml (+0/-35)
tests/mocks/Unity/Indicators/qml/fake_menu_page4.qml (+0/-35)
tests/mocks/Unity/Indicators/qml/fake_menu_page5.qml (+0/-35)
tests/mocks/Unity/Indicators/qml/fake_menu_widget1.qml (+0/-23)
tests/mocks/Unity/Indicators/qml/fake_menu_widget2.qml (+0/-23)
tests/mocks/Unity/Indicators/qml/fake_menu_widget3.qml (+0/-23)
tests/mocks/Unity/Indicators/qml/fake_menu_widget4.qml (+0/-23)
tests/mocks/Unity/Indicators/qml/fake_menu_widget5.qml (+0/-23)
tests/mocks/Unity/Indicators/qmldir (+0/-1)
tests/mocks/Unity/Launcher/Launcher.qmltypes (+13/-0)
tests/mocks/Unity/Unity.qmltypes (+32/-0)
tests/plugins/Unity/Indicators/CMakeLists.txt (+1/-0)
tests/plugins/Unity/Indicators/sharedunitymenumodeltest.cpp (+102/-0)
tests/qmltests/CMakeLists.txt (+7/-8)
tests/qmltests/Greeter/tst_Clock.qml (+57/-40)
tests/qmltests/Panel/Indicators/tst_CachedUnityMenuModel.qml (+0/-137)
tests/qmltests/Panel/Indicators/tst_DefaultIndicatorPage.qml (+21/-24)
tests/qmltests/Panel/Indicators/tst_DefaultIndicatorWidget.qml (+0/-8)
tests/qmltests/Panel/tst_IndicatorItem.qml (+1/-1)
tests/qmltests/Panel/tst_IndicatorRow.qml (+17/-19)
tests/qmltests/Panel/tst_Indicators.qml (+1/-0)
tests/qmltests/Panel/tst_MenuContent.qml (+0/-8)
tests/qmltests/tst_Shell.qml (+2/-0)
tests/qmltests/tst_ShellWithPin.qml (+2/-0)
tests/qmltests/tst_TabletShell.qml (+2/-0)
- Michał Sawicz: Approve
-
Diff: 5058 lines (+1883/-2006)45 files modifiedplugins/Unity/Indicators/Indicators.qmltypes (+2/-4)
plugins/Unity/Indicators/indicators.h (+0/-2)
plugins/Unity/Indicators/indicatorsmodel.cpp (+0/-6)
plugins/Unity/Indicators/visibleindicatorsmodel.cpp (+0/-2)
qml/Components/DragHandle.qml (+6/-1)
qml/Components/ListItems/VerticalThinDivider.qml (+0/-26)
qml/Components/ScrollCalculator.qml (+81/-0)
qml/Panel/Handle.qml (+43/-0)
qml/Panel/IndicatorItem.qml (+0/-53)
qml/Panel/IndicatorItemRow.qml (+256/-0)
qml/Panel/IndicatorPage.qml (+2/-6)
qml/Panel/IndicatorRow.qml (+0/-162)
qml/Panel/Indicators.qml (+0/-415)
qml/Panel/Indicators/DefaultIndicatorWidget.qml (+0/-119)
qml/Panel/Indicators/IndicatorBase.qml (+1/-3)
qml/Panel/Indicators/VisibleIndicators.qml (+4/-5)
qml/Panel/Indicators/client/IndicatorRepresentation.qml (+22/-11)
qml/Panel/Indicators/client/IndicatorsList.qml (+2/-2)
qml/Panel/Indicators/client/IndicatorsTree.qml (+5/-27)
qml/Panel/IndicatorsBar.qml (+260/-0)
qml/Panel/IndicatorsMenu.qml (+285/-0)
qml/Panel/MenuContent.qml (+25/-82)
qml/Panel/Panel.qml (+0/-191)
qml/Panel/PanelVelocityCalculator.qml (+54/-0)
qml/Shell.qml (+15/-4)
tests/autopilot/unity8/indicators/tests/test_indicators.py (+1/-1)
tests/autopilot/unity8/shell/emulators/main_window.py (+6/-6)
tests/mocks/Unity/Indicators/Indicators.qmltypes (+2/-4)
tests/mocks/Unity/Indicators/IndicatorsModel.qml (+23/-17)
tests/mocks/Unity/Indicators/fakeindicatorsmodel.cpp (+0/-2)
tests/qmltests/CMakeLists.txt (+5/-5)
tests/qmltests/Panel/IndicatorTest.qml (+67/-0)
tests/qmltests/Panel/Indicators/tst_DefaultIndicatorWidget.qml (+0/-52)
tests/qmltests/Panel/tst_ActiveCallHint.qml (+0/-1)
tests/qmltests/Panel/tst_IndicatorItem.qml (+0/-50)
tests/qmltests/Panel/tst_IndicatorItemRow.qml (+279/-0)
tests/qmltests/Panel/tst_IndicatorPage.qml (+4/-4)
tests/qmltests/Panel/tst_IndicatorRow.qml (+0/-158)
tests/qmltests/Panel/tst_Indicators.qml (+0/-231)
tests/qmltests/Panel/tst_IndicatorsBar.qml (+178/-0)
tests/qmltests/Panel/tst_IndicatorsMenu.qml (+247/-0)
tests/qmltests/Panel/tst_MenuContent.qml (+6/-14)
tests/qmltests/Panel/tst_Panel.qml (+0/-337)
tests/qmltests/Panel/tst_SearchIndicator.qml (+0/-1)
tests/qmltests/tst_Shell.qml (+2/-2)
- Michał Sawicz: Approve
-
Diff: 2734 lines (+958/-783)66 files modifiedplugins/AccountsService/AccountsService.qmltypes (+2/-0)
plugins/Dash/Dash.qmltypes (+3/-0)
plugins/LightDM/LightDM.qmltypes (+1/-0)
plugins/Ubuntu/Payments/Payments.qmltypes (+1/-0)
plugins/Unity/DashCommunicator/DashCommunicator.qmltypes (+17/-4)
plugins/Unity/Indicators/CMakeLists.txt (+1/-0)
plugins/Unity/Indicators/Indicators.qmltypes (+10/-7)
plugins/Unity/Indicators/plugin.cpp (+8/-2)
plugins/Unity/Indicators/plugin.h (+1/-1)
plugins/Unity/Indicators/sharedunitymenumodel.cpp (+87/-0)
plugins/Unity/Indicators/sharedunitymenumodel.h (+66/-0)
plugins/Unity/Indicators/unitymenumodelcache.cpp (+28/-13)
plugins/Unity/Indicators/unitymenumodelcache.h (+15/-9)
plugins/Unity/Launcher/Launcher.qmltypes (+17/-12)
plugins/Unity/Session/Session.qmltypes (+10/-0)
plugins/Utils/Utils.qmltypes (+6/-0)
qml/Greeter/Clock.qml (+9/-9)
qml/Panel/Indicators/CachedUnityMenuModel.qml (+0/-39)
qml/Panel/Indicators/IndicatorBase.qml (+2/-2)
tests/mocks/AccountsService/AccountsService.qmltypes (+2/-0)
tests/mocks/LightDM/LightDM.qmltypes (+1/-0)
tests/mocks/QMenuModel/QMenuModel.qmltypes (+1/-1)
tests/mocks/QMenuModel/unitymenumodel.cpp (+1/-2)
tests/mocks/QMenuModel/unitymenumodel.h (+6/-2)
tests/mocks/Ubuntu/Payments/Payments.qmltypes (+2/-0)
tests/mocks/Ubuntu/Telephony/Telephony.qmltypes (+2/-1)
tests/mocks/Unity/Application/Application.qmltypes (+13/-0)
tests/mocks/Unity/DashCommunicator/DashCommunicator.qmltypes (+2/-2)
tests/mocks/Unity/Indicators/CMakeLists.txt (+3/-10)
tests/mocks/Unity/Indicators/FakeMenuPage.qml (+0/-27)
tests/mocks/Unity/Indicators/Indicators.qmltypes (+41/-11)
tests/mocks/Unity/Indicators/IndicatorsModel.qml (+143/-35)
tests/mocks/Unity/Indicators/RootActionState.qml (+17/-9)
tests/mocks/Unity/Indicators/fakeindicatorsmodel.cpp (+60/-29)
tests/mocks/Unity/Indicators/fakeindicatorsmodel.h (+8/-2)
tests/mocks/Unity/Indicators/fakeplugin.cpp (+8/-4)
tests/mocks/Unity/Indicators/fakeunitymenumodelcache.cpp (+57/-0)
tests/mocks/Unity/Indicators/fakeunitymenumodelcache.h (+49/-0)
tests/mocks/Unity/Indicators/indicators_fake.qrc (+0/-14)
tests/mocks/Unity/Indicators/qml/fake_menu_page1.qml (+0/-35)
tests/mocks/Unity/Indicators/qml/fake_menu_page2.qml (+0/-35)
tests/mocks/Unity/Indicators/qml/fake_menu_page3.qml (+0/-35)
tests/mocks/Unity/Indicators/qml/fake_menu_page4.qml (+0/-35)
tests/mocks/Unity/Indicators/qml/fake_menu_page5.qml (+0/-35)
tests/mocks/Unity/Indicators/qml/fake_menu_widget1.qml (+0/-23)
tests/mocks/Unity/Indicators/qml/fake_menu_widget2.qml (+0/-23)
tests/mocks/Unity/Indicators/qml/fake_menu_widget3.qml (+0/-23)
tests/mocks/Unity/Indicators/qml/fake_menu_widget4.qml (+0/-23)
tests/mocks/Unity/Indicators/qml/fake_menu_widget5.qml (+0/-23)
tests/mocks/Unity/Indicators/qmldir (+0/-1)
tests/mocks/Unity/Launcher/Launcher.qmltypes (+13/-0)
tests/mocks/Unity/Unity.qmltypes (+32/-0)
tests/plugins/Unity/Indicators/CMakeLists.txt (+1/-0)
tests/plugins/Unity/Indicators/sharedunitymenumodeltest.cpp (+102/-0)
tests/qmltests/CMakeLists.txt (+7/-8)
tests/qmltests/Greeter/tst_Clock.qml (+57/-40)
tests/qmltests/Panel/Indicators/tst_CachedUnityMenuModel.qml (+0/-137)
tests/qmltests/Panel/Indicators/tst_DefaultIndicatorPage.qml (+21/-24)
tests/qmltests/Panel/Indicators/tst_DefaultIndicatorWidget.qml (+0/-8)
tests/qmltests/Panel/tst_IndicatorItem.qml (+1/-1)
tests/qmltests/Panel/tst_IndicatorRow.qml (+17/-19)
tests/qmltests/Panel/tst_Indicators.qml (+1/-0)
tests/qmltests/Panel/tst_MenuContent.qml (+0/-8)
tests/qmltests/tst_Shell.qml (+2/-0)
tests/qmltests/tst_ShellWithPin.qml (+2/-0)
tests/qmltests/tst_TabletShell.qml (+2/-0)
Changed in ubuntu-ux: | |
status: | New → Triaged |
status: | Triaged → In Progress |
importance: | Undecided → Medium |
importance: | Medium → High |
assignee: | nobody → Vesa Rautiainen (vesar) |
summary: |
- [Indicators] Update indicators to match the latest design + [Indicators] [design] Update indicators to match the latest design |
Changed in ubuntu-ux: | |
importance: | High → Critical |
status: | In Progress → Fix Committed |
Changed in unity8 (Ubuntu): | |
importance: | Undecided → Critical |
Changed in unity8 (Ubuntu): | |
assignee: | nobody → Nick Dedekind (nick-dedekind) |
summary: |
- [Indicators] [design] Update indicators to match the latest design + [Indicators] Update indicators to match the latest design |
tags: | added: touch-2014-10-16 |
tags: |
added: rtm14 removed: rtm-14 |
description: | updated |
Changed in unity8 (Ubuntu): | |
status: | Confirmed → In Progress |
Changed in unity8 (Ubuntu RTM): | |
status: | New → In Progress |
importance: | Undecided → Critical |
assignee: | nobody → Nick Dedekind (nick-dedekind) |
tags: |
added: touch-2014-10-23 removed: touch-2014-10-16 |
tags: |
added: touch-2014-10-16 removed: touch-2014-10-23 |
Changed in unity8 (Ubuntu): | |
status: | In Progress → Fix Released |
Changed in unity8 (Ubuntu): | |
status: | Fix Released → In Progress |
Changed in unity8 (Ubuntu): | |
importance: | Critical → High |
Changed in ubuntu-ux: | |
status: | Fix Committed → Fix Released |
this is a critical bug