@@ -20,45 +20,93 @@ import Unity.Indicators 0.1 as Indicators
20Indicators.FakeIndicatorsModel {
20Indicators.FakeIndicatorsModel {
23− Component.onCompleted: {
23+ property var originalModelData: [
25+ "identifier": "fake-indicator-bluetooth",
26+ "indicatorProperties": {
28+ "busName": "com.canonical.indicators.fake1",
29+ "menuObjectPath": "/com/canonical/indicators/fake1",
30+ "actionsObjectPath": "/com/canonical/indicators/fake1"
34+ "identifier": "fake-indicator-network",
35+ "indicatorProperties": {
37+ "busName": "com.canonical.indicators.fake2",
38+ "menuObjectPath": "/com/canonical/indicators/fake2",
39+ "actionsObjectPath": "/com/canonical/indicators/fake2"
43+ "identifier": "fake-indicator-messages",
44+ "indicatorProperties": {
46+ "busName": "com.canonical.indicators.fake3",
47+ "menuObjectPath": "/com/canonical/indicators/fake3",
48+ "actionsObjectPath": "/com/canonical/indicators/fake3"
52+ "identifier": "fake-indicator-sound",
53+ "indicatorProperties": {
55+ "busName": "com.canonical.indicators.fake4",
56+ "menuObjectPath": "/com/canonical/indicators/fake4",
57+ "actionsObjectPath": "/com/canonical/indicators/fake4"
61+ "identifier": "fake-indicator-power",
62+ "indicatorProperties": {
64+ "busName": "com.canonical.indicators.fake5",
65+ "menuObjectPath": "/com/canonical/indicators/fake5",
66+ "actionsObjectPath": "/com/canonical/indicators/fake5"
70+ "identifier": "fake-indicator-datetime",
71+ "indicatorProperties": {
73+ "busName": "com.canonical.indicators.fake6",
74+ "menuObjectPath": "/com/canonical/indicators/fake6",
75+ "actionsObjectPath": "/com/canonical/indicators/fake6"
80+ function load(profile) {
82+ root.modelData = originalModelData;
24− Indicators.UnityMenuModelCache.setCachedModelData("com.canonical.indicators.fake1",
84+ Indicators.UnityMenuModelCache.setCachedModelData("/com/canonical/indicators/fake1",
25− "/com/canonical/indicators/fake1",
26− "/com/canonical/indicators/fake1",
27 getUnityMenuModelData("fake-indicator-bluetooth",
85 getUnityMenuModelData("fake-indicator-bluetooth",
28 "Bluetooth (F)",
86 "Bluetooth (F)",
30 [ "image://theme/bluetooth-active" ]));
88 [ "image://theme/bluetooth-active" ]));
31− Indicators.UnityMenuModelCache.setCachedModelData("com.canonical.indicators.fake2",
89+ Indicators.UnityMenuModelCache.setCachedModelData("/com/canonical/indicators/fake2",
32− "/com/canonical/indicators/fake2",
33− "/com/canonical/indicators/fake2",
34 getUnityMenuModelData("fake-indicator-network",
90 getUnityMenuModelData("fake-indicator-network",
35 "Network (F)",
91 "Network (F)",
37 [ "image://theme/simcard-error", "image://theme/wifi-high" ]));
93 [ "image://theme/simcard-error", "image://theme/wifi-high" ]));
38− Indicators.UnityMenuModelCache.setCachedModelData("com.canonical.indicators.fake3",
94+ Indicators.UnityMenuModelCache.setCachedModelData("/com/canonical/indicators/fake3",
39− "/com/canonical/indicators/fake3",
40− "/com/canonical/indicators/fake3",
41 getUnityMenuModelData("fake-indicator-messages",
95 getUnityMenuModelData("fake-indicator-messages",
42 "Messages (F)",
96 "Messages (F)",
44 [ "image://theme/messages-new" ]));
98 [ "image://theme/messages-new" ]));
45− Indicators.UnityMenuModelCache.setCachedModelData("com.canonical.indicators.fake4",
99+ Indicators.UnityMenuModelCache.setCachedModelData("/com/canonical/indicators/fake4",
46− "/com/canonical/indicators/fake4",
47− "/com/canonical/indicators/fake4",
48 getUnityMenuModelData("fake-indicator-sound",
100 getUnityMenuModelData("fake-indicator-sound",
49 "Sound (F)",
101 "Sound (F)",
51 [ "image://theme/audio-volume-high" ]));
103 [ "image://theme/audio-volume-high" ]));
52− Indicators.UnityMenuModelCache.setCachedModelData("com.canonical.indicators.fake5",
104+ Indicators.UnityMenuModelCache.setCachedModelData("/com/canonical/indicators/fake5",
53− "/com/canonical/indicators/fake5",
54− "/com/canonical/indicators/fake5",
55 getUnityMenuModelData("fake-indicator-power",
105 getUnityMenuModelData("fake-indicator-power",
56 "Battery (F)",
106 "Battery (F)",
58 [ "image://theme/battery-020" ]));
108 [ "image://theme/battery-020" ]));
59− Indicators.UnityMenuModelCache.setCachedModelData("com.canonical.indicators.fake6",
109+ Indicators.UnityMenuModelCache.setCachedModelData("/com/canonical/indicators/fake6",
60− "/com/canonical/indicators/fake6",
61− "/com/canonical/indicators/fake6",
62 getUnityMenuModelData("fake-indicator-datetime",
110 getUnityMenuModelData("fake-indicator-datetime",
63 "Upcoming Events (F)",
111 "Upcoming Events (F)",
@@ -78,11 +126,12 @@ Indicators.FakeIndicatorsModel {
78 "actionState": {
126 "actionState": {
79 "title": title,
127 "title": title,
80 "label": label,
128 "label": label,
81− "icons": icons
129+ "icons": icons,
83 "isCheck": false,
132 "isCheck": false,
84 "isRadio": false,
133 "isRadio": false,
85− "isToggled": false,
134+ "isToggled": false
87 "submenu": []
136 "submenu": []
@@ -101,7 +150,7 @@ Indicators.FakeIndicatorsModel {
101 "actionState": {},
150 "actionState": {},
102 "isCheck": false,
151 "isCheck": false,
103 "isRadio": false,
152 "isRadio": false,
104− "isToggled": false,
153+ "isToggled": false
106 submenus.push(submenu);
155 submenus.push(submenu);
@@ -110,65 +159,20 @@ Indicators.FakeIndicatorsModel {
110 return root;
159 return root;
162+ function setIndicatorVisible(identifier, visible) {
113− property var originalModelData: [
163+ for (var i = 0; i < originalModelData.length; i++) {
114− {
164+ if (originalModelData[i]["identifier"] === identifier) {
115− "identifier": "fake-indicator-bluetooth",
165+ var data = Indicators.UnityMenuModelCache.getCachedModelData(
116− "indicatorProperties": {
166+ originalModelData[i]["indicatorProperties"]["menuObjectPath"]);
117− "enabled": true,
167+
118− "busName": "com.canonical.indicators.fake1",
168+ data[0]["rowData"]["actionState"]["visible"] = visible;
119− "menuObjectPath": "/com/canonical/indicators/fake1",
169+
120− "actionsObjectPath": "/com/canonical/indicators/fake1"
170+ Indicators.UnityMenuModelCache.setCachedModelData(
121− }
171+ originalModelData[i]["indicatorProperties"]["menuObjectPath"],
124− "identifier": "fake-indicator-network",
125− "indicatorProperties": {
127− "busName": "com.canonical.indicators.fake2",
128− "menuObjectPath": "/com/canonical/indicators/fake2",
129− "actionsObjectPath": "/com/canonical/indicators/fake2"
133− "identifier": "fake-indicator-messages",
134− "indicatorProperties": {
136− "busName": "com.canonical.indicators.fake3",
137− "menuObjectPath": "/com/canonical/indicators/fake3",
138− "actionsObjectPath": "/com/canonical/indicators/fake3"
142− "identifier": "fake-indicator-sound",
143− "indicatorProperties": {
145− "busName": "com.canonical.indicators.fake4",
146− "menuObjectPath": "/com/canonical/indicators/fake4",
147− "actionsObjectPath": "/com/canonical/indicators/fake4"
151− "identifier": "fake-indicator-power",
152− "indicatorProperties": {
154− "busName": "com.canonical.indicators.fake5",
155− "menuObjectPath": "/com/canonical/indicators/fake5",
156− "actionsObjectPath": "/com/canonical/indicators/fake5"
160− "identifier": "fake-indicator-datetime",
161− "indicatorProperties": {
163− "busName": "com.canonical.indicators.fake6",
164− "menuObjectPath": "/com/canonical/indicators/fake6",
165− "actionsObjectPath": "/com/canonical/indicators/fake6"
170− function load(profile) {
172− root.modelData = originalModelData;