on xenial help sign in
Fixed appointment colouration
a24f43eNick Dedekind
plugins/Unity/Indicators/qml/MenuItemFactory.qml+1−1
@@ -273,7 +273,7 @@ Item {
273 text: menuData && menuData.label || ""
273 text: menuData && menuData.label || ""
274 iconSource: menuData && menuData.icon || "image://theme/calendar"
274 iconSource: menuData && menuData.icon || "image://theme/calendar"
275 time: timeFormatter.timeString
275 time: timeFormatter.timeString
276− eventColor: menu && menu.ext.hasOwnProperty("xCanonicalColor") ? menu.ext.xCanonicalColor : Qt.rgba(0.0, 0.0, 0.0, 0.0)
276+ eventColor: getExtendedProperty(extendedData, "xCanonicalColor", Qt.rgba(0.0, 0.0, 0.0, 0.0))
277 enabled: menuData && menuData.sensitive || false
277 enabled: menuData && menuData.sensitive || false
278
278
279 onMenuModelChanged: {
279 onMenuModelChanged: {
tests/qmltests/Panel/Indicators/tst_MenuItemFactory.qml+29−4
@@ -19,6 +19,7 @@ import QtTest 1.0
19import Unity.Test 0.1 as UT
19import Unity.Test 0.1 as UT
20import QMenuModel 0.1
20import QMenuModel 0.1
21import Unity.Indicators 0.1 as Indicators
21import Unity.Indicators 0.1 as Indicators
22+import Utils 0.1 as Utils
22
23
23Item {
24Item {
24 id: testView
25 id: testView
@@ -42,6 +43,10 @@ Item {
42 }
43 }
43 }
44 }
44
45
46+ Utils.GDateTimeFormatter {
47+ id: timeFormatter
48+ }
49+
45 UT.UnityTestCase {
50 UT.UnityTestCase {
46 name: "MenuItemFactory"
51 name: "MenuItemFactory"
47
52
@@ -357,8 +362,10 @@ Item {
357
362
358 function test_create_alarmMenu_data() {
363 function test_create_alarmMenu_data() {
359 return [
364 return [
360− {label: "testLabel1", enabled: true, icon: "file:///testIcon1" },
365+ {label: "testLabel1", enabled: true, icon: "file:///testIcon1", color: Qt.rgba(0, 0, 0, 0),
366+ time: new Date(2014, 04, 14).getTime()*1000, timeFormat: "%a %d %b %l:%M %p"},
361− {label: "testLabel2", enabled: false, icon: "file:///testIcon2" },
367+ {label: "testLabel2", enabled: false, icon: "file:///testIcon2", color: Qt.rgba(1, 0, 0, 0),
368+ time: new Date(2015, 12, 31).getTime()*1000, timeFormat: "%A" },
362 ];
369 ];
363 }
370 }
364
371
@@ -367,6 +374,12 @@ Item {
367 menuData.label = data.label;
374 menuData.label = data.label;
368 menuData.sensitive = data.enabled;
375 menuData.sensitive = data.enabled;
369 menuData.icon = data.icon;
376 menuData.icon = data.icon;
377+ menuData.ext = {
378+ 'xCanonicalTime': data.time,
379+ 'xCanonicalTimeFormat': data.timeFormat
380+ };
381+ timeFormatter.format = data.timeFormat;
382+ timeFormatter.time = data.time;
370
383
371 loader.data = menuData;
384 loader.data = menuData;
372 loader.sourceComponent = factory.load(menuData);
385 loader.sourceComponent = factory.load(menuData);
@@ -375,13 +388,16 @@ Item {
375
388
376 compare(loader.item.text, data.label, "Label does not match data");
389 compare(loader.item.text, data.label, "Label does not match data");
377 compare(loader.item.iconSource, data.icon, "Icon does not match data");
390 compare(loader.item.iconSource, data.icon, "Icon does not match data");
391+ compare(loader.item.time, timeFormatter.timeString, "Time does not match data");
378 compare(loader.item.enabled, data.enabled, "Enabled does not match data");
392 compare(loader.item.enabled, data.enabled, "Enabled does not match data");
379 }
393 }
380
394
381 function test_create_appointmentMenu_data() {
395 function test_create_appointmentMenu_data() {
382 return [
396 return [
383− {label: "testLabel1", enabled: true, icon: "file:///testIcon1" },
397+ {label: "testLabel1", enabled: true, icon: "file:///testIcon1", color: Qt.rgba(0, 0, 0, 0),
398+ time: new Date(2014, 04, 14).getTime()*1000, timeFormat: "%a %d %b %l:%M %p"},
384− {label: "testLabel2", enabled: false, icon: "file:///testIcon2" },
399+ {label: "testLabel2", enabled: false, icon: "file:///testIcon2", color: Qt.rgba(1, 0, 0, 0),
400+ time: new Date(2015, 12, 31).getTime()*1000, timeFormat: "%A" },
385 ];
401 ];
386 }
402 }
387
403
@@ -390,6 +406,13 @@ Item {
390 menuData.label = data.label;
406 menuData.label = data.label;
391 menuData.sensitive = data.enabled;
407 menuData.sensitive = data.enabled;
392 menuData.icon = data.icon;
408 menuData.icon = data.icon;
409+ menuData.ext = {
410+ 'xCanonicalColor': data.colour,
411+ 'xCanonicalTime': data.time,
412+ 'xCanonicalTimeFormat': data.timeFormat
413+ };
414+ timeFormatter.format = data.timeFormat;
415+ timeFormatter.time = data.time;
393
416
394 loader.data = menuData;
417 loader.data = menuData;
395 loader.sourceComponent = factory.load(menuData);
418 loader.sourceComponent = factory.load(menuData);
@@ -398,6 +421,8 @@ Item {
398
421
399 compare(loader.item.text, data.label, "Label does not match data");
422 compare(loader.item.text, data.label, "Label does not match data");
400 compare(loader.item.iconSource, data.icon, "Icon does not match data");
423 compare(loader.item.iconSource, data.icon, "Icon does not match data");
424+ compare(loader.item.time, timeFormatter.timeString, "Time does not match data");
425+ compare(loader.item.eventColor, data.color, "Colour does not match data");
401 compare(loader.item.enabled, data.enabled, "Enabled does not match data");
426 compare(loader.item.enabled, data.enabled, "Enabled does not match data");
402 }
427 }
403
428