Merge lp:~nick-dedekind/unity8/indicator.positions into lp:unity8

Proposed by Nick Dedekind
Status: Merged
Approved by: MichaƂ Sawicz
Approved revision: 181
Merged at revision: 190
Proposed branch: lp:~nick-dedekind/unity8/indicator.positions
Merge into: lp:unity8
Diff against target: 365 lines (+68/-31)
16 files modified
Panel/IndicatorsDataModel.qml (+0/-5)
plugins/Unity/Indicators/indicator.cpp (+16/-1)
plugins/Unity/Indicators/indicator.h (+5/-0)
plugins/Unity/Indicators/indicators.h (+1/-1)
plugins/Unity/Indicators/indicatorsmodel.cpp (+10/-5)
src/Panel/Indicators/servicefiles/com.canonical.indicator.battery (+1/-0)
src/Panel/Indicators/servicefiles/com.canonical.indicator.messages (+1/-0)
src/Panel/Indicators/servicefiles/com.canonical.indicator.time (+1/-0)
src/Panel/Indicators/servicefiles/com.canonical.settings.network (+1/-0)
src/Panel/Indicators/servicefiles/com.canonical.settings.sound (+1/-0)
tests/data/unity/indicators/com.canonical.indicator.fake1 (+1/-0)
tests/data/unity/indicators/com.canonical.indicator.fake2 (+1/-0)
tests/data/unity/indicators/com.canonical.indicator.fake3 (+1/-0)
tests/data/unity/indicators/com.canonical.indicator.fake4 (+1/-0)
tests/plugins/Unity/Indicators/indicatorsmanagertest.cpp (+1/-0)
tests/plugins/Unity/Indicators/indicatorsmodeltest.cpp (+26/-19)
To merge this branch: bzr merge lp:~nick-dedekind/unity8/indicator.positions
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Approve
Albert Astals Cid (community) Approve
Review via email: mp+179505@code.launchpad.net

Commit message

Use key from indicator service file to source indicator positions.

Description of the change

Use key from indicator service file to source indicator positions.

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Albert Astals Cid (aacid) wrote :

Looks and works good

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'Panel/IndicatorsDataModel.qml'
2--- Panel/IndicatorsDataModel.qml 2013-07-08 11:02:06 +0000
3+++ Panel/IndicatorsDataModel.qml 2013-08-09 17:42:20 +0000
4@@ -30,35 +30,30 @@
5 'indicator-messaging' : {
6 'title': 'Messaging',
7 'description' : '',
8- 'priority': 10,
9 'widgetSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/MessagingIndicatorWidget.qml',
10 'pageSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/MessagingIndicatorPage.qml'
11 },
12 'indicator-sound' : {
13 'title': 'Sound',
14 'description' : '',
15- 'priority': 20,
16 'widgetSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/SoundIndicatorWidget.qml',
17 'pageSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/DefaultIndicatorPage.qml'
18 },
19 'indicator-network' : {
20 'title': 'Networks',
21 'description' : '',
22- 'priority': 30,
23 'widgetSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/NetworkIndicatorWidget.qml',
24 'pageSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/NetworkIndicatorPage.qml'
25 },
26 'indicator-battery' : {
27 'title': 'Battery',
28 'description' : '',
29- 'priority': 40,
30 'widgetSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/DefaultIndicatorWidget.qml',
31 'pageSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/DefaultIndicatorPage.qml'
32 },
33 'indicator-time' : {
34 'title': 'Date and Time',
35 'description' : '',
36- 'priority': 100,
37 'widgetSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/DatetimeIndicatorWidget.qml',
38 'pageSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/DatetimeIndicatorPage.qml'
39 }
40
41=== modified file 'plugins/Unity/Indicators/indicator.cpp'
42--- plugins/Unity/Indicators/indicator.cpp 2013-06-17 12:27:05 +0000
43+++ plugins/Unity/Indicators/indicator.cpp 2013-08-09 17:42:20 +0000
44@@ -22,7 +22,8 @@
45 #include <QStringList>
46
47 Indicator::Indicator(QObject *parent)
48- : QObject(parent)
49+ : QObject(parent),
50+ m_position(0)
51 {
52 }
53
54@@ -33,6 +34,7 @@
55 void Indicator::init(const QString& busName, const QSettings& settings)
56 {
57 setId(settings.value("Indicator Service/Name").toString());
58+ setPosition(settings.value("Indicator Service/Position", QVariant::fromValue(0)).toInt());
59
60 QString actionObjectPath = settings.value("Indicator Service/ObjectPath").toString();
61
62@@ -72,6 +74,19 @@
63 }
64 }
65
66+int Indicator::position() const
67+{
68+ return m_position;
69+}
70+
71+void Indicator::setPosition(int position)
72+{
73+ if (position != m_position) {
74+ m_position = position;
75+ Q_EMIT positionChanged(m_position);
76+ }
77+}
78+
79
80 QVariant Indicator::indicatorProperties() const
81 {
82
83=== modified file 'plugins/Unity/Indicators/indicator.h'
84--- plugins/Unity/Indicators/indicator.h 2013-07-17 08:57:57 +0000
85+++ plugins/Unity/Indicators/indicator.h 2013-08-09 17:42:20 +0000
86@@ -30,6 +30,7 @@
87 {
88 Q_OBJECT
89 Q_PROPERTY(QString identifier READ identifier NOTIFY identifierChanged)
90+ Q_PROPERTY(int position READ position NOTIFY positionChanged)
91 Q_PROPERTY(QVariant indicatorProperties READ indicatorProperties NOTIFY indicatorPropertiesChanged)
92
93 public:
94@@ -41,18 +42,22 @@
95 void init(const QString& busName, const QSettings& settings);
96
97 QString identifier() const;
98+ int position() const;
99 QVariant indicatorProperties() const;
100
101 Q_SIGNALS:
102 void identifierChanged(const QString &identifier);
103+ void positionChanged(int position);
104 void indicatorPropertiesChanged(const QVariant &properties);
105
106 protected:
107 void setId(const QString &id);
108+ void setPosition(int position);
109 void setIndicatorProperties(const QVariant &properties);
110
111 private:
112 QString m_identifier;
113+ int m_position;
114 QVariant m_properties;
115 };
116
117
118=== modified file 'plugins/Unity/Indicators/indicators.h'
119--- plugins/Unity/Indicators/indicators.h 2013-07-17 08:57:57 +0000
120+++ plugins/Unity/Indicators/indicators.h 2013-08-09 17:42:20 +0000
121@@ -73,7 +73,7 @@
122 Q_ENUMS(Roles)
123 enum Roles {
124 Identifier = 0,
125- Priority,
126+ Position,
127 Title,
128 Description,
129 WidgetSource,
130
131=== modified file 'plugins/Unity/Indicators/indicatorsmodel.cpp'
132--- plugins/Unity/Indicators/indicatorsmodel.cpp 2013-07-18 15:57:36 +0000
133+++ plugins/Unity/Indicators/indicatorsmodel.cpp 2013-08-09 17:42:20 +0000
134@@ -118,8 +118,8 @@
135 int pos = 0;
136 while (pos < count())
137 {
138- // keep going while the existing priority is less.
139- if (indicatorData(indicator, IndicatorsModelRole::Priority).toInt() < data(index(pos), IndicatorsModelRole::Priority).toInt())
140+ // keep going while the existing position is greater. (put lower position on end)
141+ if (indicator->position() >= data(index(pos), IndicatorsModelRole::Position).toInt())
142 break;
143 pos++;
144 }
145@@ -200,7 +200,7 @@
146 if (roles.isEmpty())
147 {
148 roles[IndicatorsModelRole::Identifier] = "identifier";
149- roles[IndicatorsModelRole::Priority] = "priority";
150+ roles[IndicatorsModelRole::Position] = "position";
151 roles[IndicatorsModelRole::Title] = "title";
152 roles[IndicatorsModelRole::Description] = "description";
153 roles[IndicatorsModelRole::WidgetSource] = "widgetSource";
154@@ -222,7 +222,7 @@
155 {
156 switch (role)
157 {
158- case IndicatorsModelRole::Priority:
159+ case IndicatorsModelRole::Position:
160 return 0;
161 case IndicatorsModelRole::Title:
162 return indicator ? indicator->identifier() : "Unknown";
163@@ -257,6 +257,12 @@
164 return QVariant(indicator->identifier());
165 }
166 break;
167+ case IndicatorsModelRole::Position:
168+ if (indicator)
169+ {
170+ return QVariant(indicator->position());
171+ }
172+ break;
173 case IndicatorsModelRole::IndicatorProperties:
174 if (indicator)
175 {
176@@ -265,7 +271,6 @@
177 break;
178 case IndicatorsModelRole::IsValid:
179 return (indicator ? true : false);
180- case IndicatorsModelRole::Priority:
181 case IndicatorsModelRole::Title:
182 case IndicatorsModelRole::Description:
183 case IndicatorsModelRole::WidgetSource:
184
185=== modified file 'src/Panel/Indicators/servicefiles/com.canonical.indicator.battery'
186--- src/Panel/Indicators/servicefiles/com.canonical.indicator.battery 2013-07-08 11:02:06 +0000
187+++ src/Panel/Indicators/servicefiles/com.canonical.indicator.battery 2013-08-09 17:42:20 +0000
188@@ -1,6 +1,7 @@
189 [Indicator Service]
190 Name=indicator-battery
191 ObjectPath=/com/canonical/indicator/battery
192+Position=40
193
194 [phone]
195 ObjectPath=/com/canonical/indicator/battery/phone
196
197=== modified file 'src/Panel/Indicators/servicefiles/com.canonical.indicator.messages'
198--- src/Panel/Indicators/servicefiles/com.canonical.indicator.messages 2013-06-07 12:51:16 +0000
199+++ src/Panel/Indicators/servicefiles/com.canonical.indicator.messages 2013-08-09 17:42:20 +0000
200@@ -1,6 +1,7 @@
201 [Indicator Service]
202 Name=indicator-messaging
203 ObjectPath=/com/canonical/indicator/messages
204+Position=50
205
206 [phone]
207 ObjectPath=/com/canonical/indicator/messages/phone
208
209=== modified file 'src/Panel/Indicators/servicefiles/com.canonical.indicator.time'
210--- src/Panel/Indicators/servicefiles/com.canonical.indicator.time 2013-07-08 11:02:06 +0000
211+++ src/Panel/Indicators/servicefiles/com.canonical.indicator.time 2013-08-09 17:42:20 +0000
212@@ -1,6 +1,7 @@
213 [Indicator Service]
214 Name=indicator-time
215 ObjectPath=/com/canonical/indicator/time
216+Position=20
217
218 [phone]
219 ObjectPath=/com/canonical/indicator/time/phone
220
221=== modified file 'src/Panel/Indicators/servicefiles/com.canonical.settings.network'
222--- src/Panel/Indicators/servicefiles/com.canonical.settings.network 2013-06-07 12:51:16 +0000
223+++ src/Panel/Indicators/servicefiles/com.canonical.settings.network 2013-08-09 17:42:20 +0000
224@@ -1,6 +1,7 @@
225 [Indicator Service]
226 Name=indicator-network
227 ObjectPath=/com/canonical/settings/network
228+Position=69
229
230 [phone]
231 ObjectPath=/com/canonical/settings/network/phone
232
233=== modified file 'src/Panel/Indicators/servicefiles/com.canonical.settings.sound'
234--- src/Panel/Indicators/servicefiles/com.canonical.settings.sound 2013-06-07 12:51:16 +0000
235+++ src/Panel/Indicators/servicefiles/com.canonical.settings.sound 2013-08-09 17:42:20 +0000
236@@ -1,6 +1,7 @@
237 [Indicator Service]
238 Name=indicator-sound
239 ObjectPath=/com/canonical/settings/sound
240+Position=30
241
242 [phone]
243 ObjectPath=/com/canonical/settings/sound/phone
244
245=== modified file 'tests/data/unity/indicators/com.canonical.indicator.fake1'
246--- tests/data/unity/indicators/com.canonical.indicator.fake1 2013-06-12 10:09:43 +0000
247+++ tests/data/unity/indicators/com.canonical.indicator.fake1 2013-08-09 17:42:20 +0000
248@@ -1,6 +1,7 @@
249 [Indicator Service]
250 Name=indicator-fake1
251 ObjectPath=/com/canonical/indicator/fake1
252+Position=1
253
254 [phone]
255 ObjectPath=/com/canonical/indicator/fake1/phone
256
257=== modified file 'tests/data/unity/indicators/com.canonical.indicator.fake2'
258--- tests/data/unity/indicators/com.canonical.indicator.fake2 2013-06-12 10:09:43 +0000
259+++ tests/data/unity/indicators/com.canonical.indicator.fake2 2013-08-09 17:42:20 +0000
260@@ -1,6 +1,7 @@
261 [Indicator Service]
262 Name=indicator-fake2
263 ObjectPath=/com/canonical/indicator/fake2
264+Position=0
265
266 [phone]
267 ObjectPath=/com/canonical/indicator/fake2/phone
268
269=== modified file 'tests/data/unity/indicators/com.canonical.indicator.fake3'
270--- tests/data/unity/indicators/com.canonical.indicator.fake3 2013-06-12 10:09:43 +0000
271+++ tests/data/unity/indicators/com.canonical.indicator.fake3 2013-08-09 17:42:20 +0000
272@@ -1,6 +1,7 @@
273 [Indicator Service]
274 Name=indicator-fake3
275 ObjectPath=/com/canonical/indicator/fake3
276+Position=3
277
278 [phone]
279 ObjectPath=/com/canonical/indicator/fake3/phone
280
281=== modified file 'tests/data/unity/indicators/com.canonical.indicator.fake4'
282--- tests/data/unity/indicators/com.canonical.indicator.fake4 2013-06-12 10:09:43 +0000
283+++ tests/data/unity/indicators/com.canonical.indicator.fake4 2013-08-09 17:42:20 +0000
284@@ -1,6 +1,7 @@
285 [Indicator Service]
286 Name=indicator-fake4
287 ObjectPath=/com/canonical/indicator/fake4
288+Position=2
289
290 [phone]
291 ObjectPath=/com/canonical/indicator/fake4/phone
292
293=== modified file 'tests/plugins/Unity/Indicators/indicatorsmanagertest.cpp'
294--- tests/plugins/Unity/Indicators/indicatorsmanagertest.cpp 2013-07-29 11:29:15 +0000
295+++ tests/plugins/Unity/Indicators/indicatorsmanagertest.cpp 2013-08-09 17:42:20 +0000
296@@ -72,6 +72,7 @@
297 QVERIFY(indicator ? true : false);
298
299 QCOMPARE(indicator->identifier(), QString("indicator-fake1"));
300+ QCOMPARE(indicator->position(), 1);
301
302 // Check that the initial properties have been set.
303 QVariantMap props = indicator->indicatorProperties().toMap();
304
305=== modified file 'tests/plugins/Unity/Indicators/indicatorsmodeltest.cpp'
306--- tests/plugins/Unity/Indicators/indicatorsmodeltest.cpp 2013-07-29 11:29:15 +0000
307+++ tests/plugins/Unity/Indicators/indicatorsmodeltest.cpp 2013-08-09 17:42:20 +0000
308@@ -66,10 +66,10 @@
309 {
310 // Priority order. (2, 1, 4, 3)
311 QVariantMap map;
312- QVariantMap map1; map1["priority"] = 1; map1["title"] = "fake1";
313- QVariantMap map2; map2["priority"] = 0; map2["title"] = "fake2";
314- QVariantMap map3; map3["priority"] = 3; map3["title"] = "fake3";
315- QVariantMap map4; map4["priority"] = 2; map4["title"] = "fake4";
316+ QVariantMap map1; map1["title"] = "fake1";
317+ QVariantMap map2; map2["title"] = "fake2";
318+ QVariantMap map3; map3["title"] = "fake3";
319+ QVariantMap map4; map4["title"] = "fake4";
320 map["indicator-fake1"] = map1;
321 map["indicator-fake2"] = map2;
322 map["indicator-fake3"] = map3;
323@@ -79,21 +79,28 @@
324 model.setIndicatorData(map);
325 model.load();
326
327- QCOMPARE(model.data(0, IndicatorsModelRole::Identifier).toString(), QString("indicator-fake2"));
328- QCOMPARE(model.data(0, IndicatorsModelRole::Title).toString(), QString("fake2"));
329- QCOMPARE(model.data(0, IndicatorsModelRole::IndicatorProperties).toMap()["busName"].toString(), QString("com.canonical.indicator.fake2"));
330-
331- QCOMPARE(model.data(1, IndicatorsModelRole::Identifier).toString(), QString("indicator-fake1"));
332- QCOMPARE(model.data(1, IndicatorsModelRole::Title).toString(), QString("fake1"));
333- QCOMPARE(model.data(1, IndicatorsModelRole::IndicatorProperties).toMap()["busName"].toString(), QString("com.canonical.indicator.fake1"));
334-
335- QCOMPARE(model.data(2, IndicatorsModelRole::Identifier).toString(), QString("indicator-fake4"));
336- QCOMPARE(model.data(2, IndicatorsModelRole::Title).toString(), QString("fake4"));
337- QCOMPARE(model.data(2, IndicatorsModelRole::IndicatorProperties).toMap()["busName"].toString(), QString("com.canonical.indicator.fake4"));
338-
339- QCOMPARE(model.data(3, IndicatorsModelRole::Identifier).toString(), QString("indicator-fake3"));
340- QCOMPARE(model.data(3, IndicatorsModelRole::Title).toString(), QString("fake3"));
341- QCOMPARE(model.data(3, IndicatorsModelRole::IndicatorProperties).toMap()["busName"].toString(), QString("com.canonical.indicator.fake3"));
342+ // should be in order:
343+ // fake3, fake4, fake1, fake2
344+
345+ QCOMPARE(model.data(0, IndicatorsModelRole::Identifier).toString(), QString("indicator-fake3"));
346+ QCOMPARE(model.data(0, IndicatorsModelRole::Title).toString(), QString("fake3"));
347+ QCOMPARE(model.data(0, IndicatorsModelRole::Position).toInt(), 3);
348+ QCOMPARE(model.data(0, IndicatorsModelRole::IndicatorProperties).toMap()["busName"].toString(), QString("com.canonical.indicator.fake3"));
349+
350+ QCOMPARE(model.data(1, IndicatorsModelRole::Identifier).toString(), QString("indicator-fake4"));
351+ QCOMPARE(model.data(1, IndicatorsModelRole::Title).toString(), QString("fake4"));
352+ QCOMPARE(model.data(1, IndicatorsModelRole::Position).toInt(), 2);
353+ QCOMPARE(model.data(1, IndicatorsModelRole::IndicatorProperties).toMap()["busName"].toString(), QString("com.canonical.indicator.fake4"));
354+
355+ QCOMPARE(model.data(2, IndicatorsModelRole::Identifier).toString(), QString("indicator-fake1"));
356+ QCOMPARE(model.data(2, IndicatorsModelRole::Title).toString(), QString("fake1"));
357+ QCOMPARE(model.data(2, IndicatorsModelRole::Position).toInt(), 1);
358+ QCOMPARE(model.data(2, IndicatorsModelRole::IndicatorProperties).toMap()["busName"].toString(), QString("com.canonical.indicator.fake1"));
359+
360+ QCOMPARE(model.data(3, IndicatorsModelRole::Identifier).toString(), QString("indicator-fake2"));
361+ QCOMPARE(model.data(3, IndicatorsModelRole::Title).toString(), QString("fake2"));
362+ QCOMPARE(model.data(3, IndicatorsModelRole::Position).toInt(), 0);
363+ QCOMPARE(model.data(3, IndicatorsModelRole::IndicatorProperties).toMap()["busName"].toString(), QString("com.canonical.indicator.fake2"));
364 }
365 };
366

Subscribers

People subscribed via source and target branches