@@ -23,55 +23,54 @@ ListModel {
2323
2424 function load() {}
2525
26− ListElement {
27− identifier: "indicator-fake1";
28− priority: 0
29− title: "Menu1";
30− description: "";
31− widgetSource: "qrc:/tests/indciators/qml/fake_menu_widget1.qml";
32− pageSource: "qrc:/tests/indciators/qml/fake_menu_page1.qml";
33− indicatorProperties: "";
34− isValid: "";
35− }
36− ListElement {
37− identifier: "indicator-fake2";
38− priority: 1
39− title: "Menu2";
40− description: "";
41− widgetSource: "qrc:/tests/indciators/qml/fake_menu_widget2.qml";
42− pageSource: "qrc:/tests/indciators/qml/fake_menu_page2.qml";
43− indicatorProperties: "";
44− isValid: "";
45− }
46− ListElement {
47− identifier: "indicator-fake3";
48− priority: 2
49− title: "Menu3";
50− description: "";
51− widgetSource: "qrc:/tests/indciators/qml/fake_menu_widget3.qml";
52− pageSource: "qrc:/tests/indciators/qml/fake_menu_page3.qml";
53− indicatorProperties: "";
54− isValid: "";
55− }
56− ListElement {
57− identifier: "indicator-fake4";
58− priority: 3
59− title: "Menu4";
60− description: "";
61− widgetSource: "qrc:/tests/indciators/qml/fake_menu_widget4.qml";
62− pageSource: "qrc:/tests/indciators/qml/fake_menu_page4.qml";
63− indicatorProperties: "";
64− isValid: "";
65− }
66− ListElement {
67− identifier: "indicator-fake5";
68− priority: 4
69− title: "Menu5";
70− description: "";
71− widgetSource: "qrc:/tests/indciators/qml/fake_menu_widget5.qml";
72− pageSource: "qrc:/tests/indciators/qml/fake_menu_page5.qml";
73− indicatorProperties: "";
74− isValid: "";
26+ // Need to do this dynamically.
27+ // Apparently ListModels dont order roles visually when using ListElement
28+ // which throws off the filter for non-visible indicators.
29+ Component.onCompleted: {
30+ append({ "identifier": "indicator-fake1",
31+ "priority": 0,
32+ "title": "Menu1",
33+ "description": "",
34+ "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget1.qml",
35+ "pageSource": "qrc:/tests/indciators/qml/fake_menu_page1.qml",
36+ "indicatorProperties": "",
37+ "isVisible": true});
38+
39+ append({ "identifier": "indicator-fake2",
40+ "priority": 1,
41+ "title": "Menu2",
42+ "description": "",
43+ "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget2.qml",
44+ "pageSource": "qrc:/tests/indciators/qml/fake_menu_page2.qml",
45+ "indicatorProperties": "",
46+ "isVisible": true});
47+
48+ append({ "identifier": "indicator-fake3",
49+ "priority": 2,
50+ "title": "Menu3",
51+ "description": "",
52+ "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget3.qml",
53+ "pageSource": "qrc:/tests/indciators/qml/fake_menu_page3.qml",
54+ "indicatorProperties": "",
55+ "isVisible": true});
56+
57+ append({ "identifier": "indicator-fake4",
58+ "priority": 3,
59+ "title": "Menu4",
60+ "description": "",
61+ "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget4.qml",
62+ "pageSource": "qrc:/tests/indciators/qml/fake_menu_page4.qml",
63+ "indicatorProperties": "",
64+ "isVisible": true});
65+
66+ append({ "identifier": "indicator-fake5",
67+ "priority": 4,
68+ "title": "Menu5",
69+ "description": "",
70+ "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget5.qml",
71+ "pageSource": "qrc:/tests/indciators/qml/fake_menu_page5.qml",
72+ "indicatorProperties": "",
73+ "isVisible": true});
7574 }
7675
7776 function data(row, role) {
@@ -79,25 +78,52 @@ ListModel {
7978 return get(row).identifier;
8079 }
8180 else if (role == Indicators.IndicatorsModelRole.Priority) {
82− return get(row).priority
81+ return get(row).priority;
82+ }
83+ else if (role == Indicators.IndicatorsModelRole.Title) {
84+ return get(row).title;
85+ }
86+ else if (role == Indicators.IndicatorsModelRole.Description) {
87+ return get(row).description;
88+ }
89+ else if (role == Indicators.IndicatorsModelRole.WidgetSource) {
90+ return get(row).widgetSource;
91+ }
92+ else if (role == Indicators.IndicatorsModelRole.PageSource) {
93+ return get(row).pageSource;
94+ }
95+ else if (role == Indicators.IndicatorsModelRole.IndicatorProperties) {
96+ return get(row).indicatorProperties;
97+ }
98+ else if (role == Indicators.IndicatorsModelRole.IsVisible) {
99+ return get(row).isVisible;
100+ }
101+ }
102+
103+ function setData(row, value, role) {
104+ if (role == Indicators.IndicatorsModelRole.Identifier) {
105+ return set(row, {"identifier": value});
106+ }
107+ else if (role == Indicators.IndicatorsModelRole.Priority) {
108+ return set(row, {"priority": value});
83109 }
84110 else if (role == Indicators.IndicatorsModelRole.Title) {
85− return get(row).title
111+ return set(row, {"title": value});
86112 }
87113 else if (role == Indicators.IndicatorsModelRole.Description) {
88− return get(row).description
114+ return set(row, {"description": value});
89115 }
90116 else if (role == Indicators.IndicatorsModelRole.WidgetSource) {
91− return get(row).widgetSource
117+ return set(row, {"widgetSource": value});
92118 }
93119 else if (role == Indicators.IndicatorsModelRole.PageSource) {
94− return get(row).pageSource
120+ return set(row, {"pageSource": value});
95121 }
96122 else if (role == Indicators.IndicatorsModelRole.IndicatorProperties) {
97− return get(row).indicatorProperties
123+ return set(row, {"indicatorProperties": value});
98124 }
99− else if (role == Indicators.IndicatorsModelRole.IsValid) {
100− return get(row).isValid
125+ else if (role == Indicators.IndicatorsModelRole.IsVisible) {
126+ return set(row, {"isVisible": value});
101127 }
102128 }
103129