on xenial help sign in
Close menus on indicator item activate
commite6e131f5d376e03793a44fa3ac2aecf6a6aeb4a6 authorNick Dedekind <nicholas.dedekind@gmail.com> dateMon 28 Oct 2013, 15:09 (13 years ago) parenta8b869d
4 files changed+37
Panel/Panel.qml+24 Shell.qml+4 plugins/Unity/Indicators/Messaging/qml/MessageMenuItemFactory.qml+3 plugins/Unity/Indicators/qml/MenuItemFactory.qml+6
Panel/Panel.qml+24
@@ -31,6 +31,30 @@ Item {
3131
3232 signal searchClicked
3333
34+ function hideIndicatorMenu(delay) {
35+ if (delay !== undefined) {
36+ hideTimer.interval = delay;
37+ hideTimer.start();
38+ } else if (indicatorsMenu.shown){
39+ indicatorsMenu.hide();
40+ }
41+ }
42+
43+ Timer {
44+ id: hideTimer
45+ running: false
46+ onTriggered: {
47+ if (indicatorsMenu.shown) {
48+ indicatorsMenu.hide();
49+ }
50+ }
51+ }
52+
53+ Connections {
54+ target: indicatorsMenu
55+ onShown: hideTimer.stop()
56+ }
57+
3458 PanelBackground {
3559 id: panelBackground
3660 anchors {
Shell.qml+4
@@ -564,6 +564,10 @@ FocusScope {
564564 stages.hide()
565565 }
566566
567+ function hideIndicatorMenu(delay) {
568+ panel.hideIndicatorMenu(delay);
569+ }
570+
567571 Item {
568572 id: overlay
569573
plugins/Unity/Indicators/Messaging/qml/MessageMenuItemFactory.qml+3
@@ -73,6 +73,7 @@ Indicators.BaseMenuItem {
7373
7474 onActivateApp: {
7575 menuItem.model.activate(modelIndex, true);
76+ shell.hideIndicatorMenu(UbuntuAnimation.FastDuration);
7677 }
7778 onDismiss: {
7879 menuItem.model.activate(modelIndex, false);
@@ -101,6 +102,7 @@ Indicators.BaseMenuItem {
101102
102103 onActivateApp: {
103104 menuItem.model.activate(modelIndex, true);
105+ shell.hideIndicatorMenu(UbuntuAnimation.FastDuration);
104106 }
105107 onDismiss: {
106108 menuItem.model.activate(modelIndex, false);
@@ -140,6 +142,7 @@ Indicators.BaseMenuItem {
140142
141143 onActivateApp: {
142144 menuItem.model.activate(modelIndex, true);
145+ shell.hideIndicatorMenu(UbuntuAnimation.FastDuration);
143146 }
144147 onDismiss: {
145148 menuItem.model.activate(modelIndex, false);
plugins/Unity/Indicators/qml/MenuItemFactory.qml+6
@@ -22,6 +22,7 @@ import Unity.Indicators 0.1 as Indicators
2222import Unity.Indicators.Network 0.1 as ICNetwork
2323import Unity.Indicators.Messaging 0.1 as ICMessaging
2424import QMenuModel 0.1 as QMenuModel
25+import Ubuntu.Components 0.1
2526
2627Item {
2728 id: menuFactory
@@ -95,6 +96,7 @@ Item {
9596
9697 onActivate: {
9798 model.activate(modelIndex);
99+ shell.hideIndicatorMenu(UbuntuAnimation.FastDuration);
98100 }
99101 }
100102 }
@@ -132,6 +134,7 @@ Item {
132134
133135 onActivate: {
134136 model.activate(modelIndex);
137+ shell.hideIndicatorMenu(UbuntuAnimation.BriskDuration);
135138 }
136139 }
137140 }
@@ -148,6 +151,7 @@ Item {
148151
149152 onActivate: {
150153 model.activate(modelIndex);
154+ shell.hideIndicatorMenu(UbuntuAnimation.BriskDuration);
151155 }
152156 }
153157 }
@@ -190,6 +194,7 @@ Item {
190194 }
191195 onActivate: {
192196 model.activate(modelIndex);
197+ shell.hideIndicatorMenu(UbuntuAnimation.BriskDuration);
193198 }
194199 }
195200 }
@@ -225,6 +230,7 @@ Item {
225230 }
226231 onActivateApp: {
227232 model.activate(modelIndex, true);
233+ shell.hideIndicatorMenu(UbuntuAnimation.FastDuration);
228234 }
229235 onDismiss: {
230236 model.activate(modelIndex, false);