@@ -23,55 +23,54 @@ ListModel {
24 function load() {}
24 function load() {}
26− ListElement {
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: {
27− identifier: "indicator-fake1";
30+ append({ "identifier": "indicator-fake1",
28− priority: 0
31+ "priority": 0,
29− title: "Menu1";
32+ "title": "Menu1",
30− description: "";
33+ "description": "",
31− widgetSource: "qrc:/tests/indciators/qml/fake_menu_widget1.qml";
34+ "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget1.qml",
32− pageSource: "qrc:/tests/indciators/qml/fake_menu_page1.qml";
35+ "pageSource": "qrc:/tests/indciators/qml/fake_menu_page1.qml",
33− indicatorProperties: "";
36+ "indicatorProperties": "",
34− isValid: "";
37+ "isVisible": true});
37− identifier: "indicator-fake2";
39+ append({ "identifier": "indicator-fake2",
38− priority: 1
40+ "priority": 1,
39− title: "Menu2";
41+ "title": "Menu2",
40− description: "";
42+ "description": "",
41− widgetSource: "qrc:/tests/indciators/qml/fake_menu_widget2.qml";
43+ "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget2.qml",
42− pageSource: "qrc:/tests/indciators/qml/fake_menu_page2.qml";
44+ "pageSource": "qrc:/tests/indciators/qml/fake_menu_page2.qml",
43− indicatorProperties: "";
45+ "indicatorProperties": "",
44− isValid: "";
46+ "isVisible": true});
47− identifier: "indicator-fake3";
48+ append({ "identifier": "indicator-fake3",
48− priority: 2
49+ "priority": 2,
49− title: "Menu3";
50+ "title": "Menu3",
50− description: "";
51+ "description": "",
51− widgetSource: "qrc:/tests/indciators/qml/fake_menu_widget3.qml";
52+ "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget3.qml",
52− pageSource: "qrc:/tests/indciators/qml/fake_menu_page3.qml";
53+ "pageSource": "qrc:/tests/indciators/qml/fake_menu_page3.qml",
53− indicatorProperties: "";
54+ "indicatorProperties": "",
54− isValid: "";
55+ "isVisible": true});
57− identifier: "indicator-fake4";
57+ append({ "identifier": "indicator-fake4",
58− priority: 3
58+ "priority": 3,
59− title: "Menu4";
59+ "title": "Menu4",
60− description: "";
60+ "description": "",
61− widgetSource: "qrc:/tests/indciators/qml/fake_menu_widget4.qml";
61+ "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget4.qml",
62− pageSource: "qrc:/tests/indciators/qml/fake_menu_page4.qml";
62+ "pageSource": "qrc:/tests/indciators/qml/fake_menu_page4.qml",
63− indicatorProperties: "";
63+ "indicatorProperties": "",
64− isValid: "";
64+ "isVisible": true});
67− identifier: "indicator-fake5";
66+ append({ "identifier": "indicator-fake5",
68− priority: 4
67+ "priority": 4,
69− title: "Menu5";
68+ "title": "Menu5",
70− description: "";
69+ "description": "",
71− widgetSource: "qrc:/tests/indciators/qml/fake_menu_widget5.qml";
70+ "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget5.qml",
72− pageSource: "qrc:/tests/indciators/qml/fake_menu_page5.qml";
71+ "pageSource": "qrc:/tests/indciators/qml/fake_menu_page5.qml",
73− indicatorProperties: "";
72+ "indicatorProperties": "",
74− isValid: "";
73+ "isVisible": true});
77 function data(row, role) {
76 function data(row, role) {
@@ -79,25 +78,52 @@ ListModel {
79 return get(row).identifier;
78 return get(row).identifier;
81 else if (role == Indicators.IndicatorsModelRole.Priority) {
80 else if (role == Indicators.IndicatorsModelRole.Priority) {
82− return get(row).priority
81+ return get(row).priority;
83+ else if (role == Indicators.IndicatorsModelRole.Title) {
84+ return get(row).title;
86+ else if (role == Indicators.IndicatorsModelRole.Description) {
87+ return get(row).description;
89+ else if (role == Indicators.IndicatorsModelRole.WidgetSource) {
90+ return get(row).widgetSource;
92+ else if (role == Indicators.IndicatorsModelRole.PageSource) {
93+ return get(row).pageSource;
95+ else if (role == Indicators.IndicatorsModelRole.IndicatorProperties) {
96+ return get(row).indicatorProperties;
98+ else if (role == Indicators.IndicatorsModelRole.IsVisible) {
99+ return get(row).isVisible;
103+ function setData(row, value, role) {
104+ if (role == Indicators.IndicatorsModelRole.Identifier) {
105+ return set(row, {"identifier": value});
107+ else if (role == Indicators.IndicatorsModelRole.Priority) {
108+ return set(row, {"priority": value});
84 else if (role == Indicators.IndicatorsModelRole.Title) {
110 else if (role == Indicators.IndicatorsModelRole.Title) {
85− return get(row).title
111+ return set(row, {"title": value});
87 else if (role == Indicators.IndicatorsModelRole.Description) {
113 else if (role == Indicators.IndicatorsModelRole.Description) {
88− return get(row).description
114+ return set(row, {"description": value});
90 else if (role == Indicators.IndicatorsModelRole.WidgetSource) {
116 else if (role == Indicators.IndicatorsModelRole.WidgetSource) {
91− return get(row).widgetSource
117+ return set(row, {"widgetSource": value});
93 else if (role == Indicators.IndicatorsModelRole.PageSource) {
119 else if (role == Indicators.IndicatorsModelRole.PageSource) {
94− return get(row).pageSource
120+ return set(row, {"pageSource": value});
96 else if (role == Indicators.IndicatorsModelRole.IndicatorProperties) {
122 else if (role == Indicators.IndicatorsModelRole.IndicatorProperties) {
97− return get(row).indicatorProperties
123+ return set(row, {"indicatorProperties": value});
99− else if (role == Indicators.IndicatorsModelRole.IsValid) {
125+ else if (role == Indicators.IndicatorsModelRole.IsVisible) {
100− return get(row).isValid
126+ return set(row, {"isVisible": value});