on xenial help sign in
Prettied up with property abstraction
commit406e6148b8fc9fc6f9187e7429165a9be157f015 authorNick Dedekind <nicholas.dedekind@gmail.com> dateThu 12 Dec 2013, 12:18 (13 years ago) parent68322e6
2 files changed+72−58
plugins/Unity/Indicators/Messaging/qml/MessageMenuItemFactory.qml+31−24 plugins/Unity/Indicators/qml/MenuItemFactory.qml+41−34
plugins/Unity/Indicators/Messaging/qml/MessageMenuItemFactory.qml+31−24
@@ -29,8 +29,8 @@ Indicators.BaseMenuItem {
2929 property QtObject menuData: null
3030 property var menuIndex: undefined
3131
32− property var extendedData: menuData && menuData.ext ? menuData.ext : undefined
33− property var actionsDescription: extendedData && extendedData.hasOwnProperty("xCanonicalMessageActions") ? extendedData.xCanonicalMessageActions : undefined
32+ property var extendedData: getProperty(menuData, "ext", undefined)
33+ property var actionsDescription: getProperty(extendedData, "xCanonicalMessageActions", undefined)
3434
3535 onMenuModelChanged: {
3636 loadAttributes();
@@ -49,6 +49,13 @@ Indicators.BaseMenuItem {
4949 'x-canonical-app-icon': 'icon'});
5050 }
5151
52+ function getProperty(object, propertyName, defaultValue) {
53+ if (object && object.hasOwnProperty(propertyName)) {
54+ return object[propertyName];
55+ }
56+ return defaultValue;
57+ }
58+
5259 implicitHeight: contents.status == Loader.Ready ? contents.item.implicitHeight : 0
5360
5461 Loader {
@@ -61,12 +68,12 @@ Indicators.BaseMenuItem {
6168 id: simpleTextMessage
6269 SimpleTextMessage {
6370 // text
64− title: menuData && menuData.label ? menuData.label : ""
65− time: extendedData && extendedData.hasOwnProperty("xCanonicalTime") ? extendedData.xCanonicalTime : 0
66− message: extendedData && extendedData.hasOwnProperty("xCanonicalText") ? extendedData.xCanonicalText : ""
71+ title: getProperty(menuData, "label", "")
72+ time: getProperty(extendedData, "xCanonicalTime", 0)
73+ message: getProperty(extendedData, "xCanonicalText", "")
6774 // icons
68− avatar: extendedData && extendedData.hasOwnProperty("icon") ? extendedData.icon : "qrc:/indicators/artwork/messaging/default_contact.png"
69− appIcon: extendedData && extendedData.hasOwnProperty("xCanonicalAppIcon") ? extendedData.xCanonicalAppIcon : "qrc:/indicators/artwork/messaging/default_app.svg"
75+ avatar: getProperty(extendedData, "icon", "qrc:/indicators/artwork/messaging/default_contact.png")
76+ appIcon: getProperty(extendedData, "xCanonicalAppIcon", "qrc:/indicators/artwork/messaging/default_app.svg")
7077
7178 onActivateApp: {
7279 menuModel.activate(menuIndex, true);
@@ -89,17 +96,17 @@ Indicators.BaseMenuItem {
8996 property var replyAction: QMenuModel.UnityMenuAction {
9097 model: menuModel
9198 index: menuIndex
92− name: replyActionDescription !== undefined ? replyActionDescription.name : ""
99+ name: getProperty(replyActionDescription, "name", "")
93100 }
94101
95102 // text
96− title: menuData && menuData.label ? menuData.label : ""
97− time: extendedData && extendedData.hasOwnProperty("xCanonicalTime") ? extendedData.xCanonicalTime : 0
98− message: extendedData && extendedData.hasOwnProperty("xCanonicalText") ? extendedData.xCanonicalText : ""
99− replyButtonText: replyActionDescription !== undefined && replyActionDescription.hasOwnProperty("label") ? replyActionDescription.label : "Send"
103+ title: getProperty(menuData, "label", "")
104+ time: getProperty(extendedData, "xCanonicalTime", 0)
105+ message: getProperty(extendedData, "xCanonicalText", "")
106+ replyButtonText: getProperty(replyActionDescription, "label", "Send")
100107 // icons
101− avatar: extendedData && extendedData.hasOwnProperty("icon") ? extendedData.icon : "qrc:/indicators/artwork/messaging/default_contact.png"
102− appIcon: extendedData && extendedData.hasOwnProperty("xCanonicalAppIcon") ? extendedData.xCanonicalAppIcon : "qrc:/indicators/artwork/messaging/default_app.svg"
108+ avatar: getProperty(extendedData, "icon", "qrc:/indicators/artwork/messaging/default_contact.png")
109+ appIcon: getProperty(extendedData, "xCanonicalAppIcon", "qrc:/indicators/artwork/messaging/default_app.svg")
103110 // actions
104111 replyEnabled: replyAction.valid && replyAction.enabled
105112
@@ -128,24 +135,24 @@ Indicators.BaseMenuItem {
128135 property var activateAction: QMenuModel.UnityMenuAction {
129136 model: menuModel
130137 index: menuIndex
131− name: activateActionDescription !== undefined ? activateActionDescription.name : ""
138+ name: getProperty(activateActionDescription, "name", "")
132139 }
133140 property var replyAction: QMenuModel.UnityMenuAction {
134141 model: menuModel
135142 index: menuIndex
136− name: replyActionDescription !== undefined ? replyActionDescription.name : ""
143+ name: getProperty(replyActionDescription, "name", "")
137144 }
138145
139146 // text
140− title: menuData && menuData.label ? menuData.label : ""
141− time: extendedData && extendedData.hasOwnProperty("xCanonicalTime") ? extendedData.xCanonicalTime : ""
142− message: extendedData && extendedData.hasOwnProperty("xCanonicalText") ? extendedData.xCanonicalText : ""
143− actionButtonText: activateActionDescription !== undefined && activateActionDescription.hasOwnProperty("label") ? activateActionDescription.label : "Call back"
144− replyButtonText: replyActionDescription !== undefined && replyActionDescription.hasOwnProperty("label") ? replyActionDescription.label : "Send"
145− replyMessages: replyActionDescription !== undefined && replyActionDescription.hasOwnProperty("parameter-hint") ? replyActionDescription["parameter-hint"] : ""
147+ title: getProperty(menuData, "label", "")
148+ time: getProperty(extendedData, "xCanonicalTime", 0)
149+ message: getProperty(extendedData, "xCanonicalText", "")
150+ actionButtonText: getProperty(activateActionDescription, "label", "Call back")
151+ replyButtonText: getProperty(replyActionDescription, "label", "Send")
152+ replyMessages: getProperty(replyActionDescription, "parameter-hint", "")
146153 // icons
147− avatar: extendedData && extendedData.hasOwnProperty("icon") ? extendedData.icon : "qrc:/indicators/artwork/messaging/default_contact.png"
148− appIcon: extendedData && extendedData.hasOwnProperty("xCanonicalAppIcon") ? extendedData.xCanonicalAppIcon : "qrc:/indicators/artwork/messaging/default_app.svg"
154+ avatar: getProperty(extendedData, "icon", "qrc:/indicators/artwork/messaging/default_contact.png")
155+ appIcon: getProperty(extendedData, "xCanonicalAppIcon", "qrc:/indicators/artwork/messaging/default_app.svg")
149156 // actions
150157 activateEnabled: activateAction.valid && activateAction.enabled
151158 replyEnabled: replyAction.valid && replyAction.enabled
plugins/Unity/Indicators/qml/MenuItemFactory.qml+41−34
@@ -50,6 +50,13 @@ Item {
5050 "unity.widgets.systemsettings.tablet.accesspoint" : accessPoint,
5151 }
5252
53+ function getProperty(object, propertyName, defaultValue) {
54+ if (object && object.hasOwnProperty(propertyName)) {
55+ return object[propertyName];
56+ }
57+ return defaultValue;
58+ }
59+
5360 Component { id: divMenu; Indicators.DivMenuItem {} }
5461
5562 Component {
@@ -58,23 +65,23 @@ Item {
5865 property QtObject menuData: null
5966 property var menuModel: menuFactory.menuModel
6067 property var menuIndex: undefined
61− property var extendedData: menuData && menuData.ext ? menuData.ext : undefined
68+ property var extendedData: getProperty(menuData, "ext", undefined)
6269
63− text: menuData && menuData.label ? menuData.label : ""
64− icon: menuData && menuData.icon ? menuData.icon : ""
65− minIcon: extendedData && extendedData.hasOwnProperty("minIcon") ? extendedData.minIcon : ""
66− maxIcon: extendedData && extendedData.hasOwnProperty("maxIcon") ? extendedData.maxIcon : ""
70+ text: getProperty(menuData, "label", "")
71+ icon: getProperty(menuData, "icon", "")
72+ minIcon: getProperty(extendedData, "minIcon", "")
73+ maxIcon: getProperty(extendedData, "minIcon", "")
6774
68− minimumValue: extendedData && extendedData.hasOwnProperty("minValue") ? extendedData.minValue : 0.0
75+ minimumValue: getProperty(extendedData, "minValue", 0.0)
6976 maximumValue: {
70− var maximum = extendedData && extendedData.hasOwnProperty("maxValue") ? extendedData.maxValue : 1.0
77+ var maximum = getProperty(extendedData, "maxValue", 1.0);
7178 if (maximum <= minimumValue) {
7279 return minimumValue + 1;
7380 }
7481 return maximum;
7582 }
76− value: menuData ? menuData.actionState : 0.0
77− enabled: menuData ? menuData.sensitive : false
83+ value: getProperty(menuData, "actionState", 0.0)
84+ enabled: getProperty(menuData, "sensitive", false)
7885
7986 onMenuModelChanged: {
8087 loadAttributes();
@@ -103,8 +110,8 @@ Item {
103110 property var menuModel: menuFactory.menuModel
104111 property var menuIndex: undefined
105112
106− text: menuData && menuData.label ? menuData.label : ""
107− enabled: menuData ? menuData.sensitive : false
113+ text: getProperty(menuData, "label", "")
114+ enabled: getProperty(menuData, "sensitive", false)
108115
109116 onActivate: {
110117 menuModel.activate(menuIndex);
@@ -118,7 +125,7 @@ Item {
118125 property QtObject menuData: null
119126 property var menuIndex: undefined
120127
121− text: menuData && menuData.label ? menuData.label : ""
128+ text: getProperty(menuData, "label", "")
122129 }
123130 }
124131
@@ -128,10 +135,10 @@ Item {
128135 property QtObject menuData: null
129136 property var menuIndex: undefined
130137
131− text: menuData && menuData.label ? menuData.label : ""
132− icon: menuData ? menuData.icon : ""
133− value : menuData ? menuData.actionState : 0.0
134− enabled: menuData ? menuData.sensitive : false
138+ text: getProperty(menuData, "label", "")
139+ icon: getProperty(menuData, "icon", "")
140+ value : getProperty(menuData, "actionState", 0.0)
141+ enabled: getProperty(menuData, "sensitive", false)
135142 }
136143 }
137144
@@ -141,11 +148,11 @@ Item {
141148 property QtObject menuData: null
142149 property var menuIndex: undefined
143150
144− text: menuData && menuData.label ? menuData.label : ""
145− icon: menuData && menuData.icon ? menuData.icon : ""
151+ text: getProperty(menuData, "label", "")
152+ icon: getProperty(menuData, "icon", "")
153+ enabled: getProperty(menuData, "sensitive", false)
146154 checkable: menuData ? (menuData.isCheck || menuData.isRadio) : false
147155 checked: checkable ? menuData.isToggled : false
148− enabled: menuData ? menuData.sensitive : false
149156
150157 onActivate: {
151158 menuModel.activate(menuIndex);
@@ -160,10 +167,10 @@ Item {
160167 property QtObject menuData: null
161168 property var menuIndex: undefined
162169
163− text: menuData && menuData.label ? menuData.label : ""
164− icon: menuData && menuData.icon ? menuData.icon : ""
170+ text: getProperty(menuData, "label", "")
171+ icon: getProperty(menuData, "icon", "")
172+ enabled: getProperty(menuData, "sensitive", false)
165173 checked: menuData ? menuData.isToggled : false
166− enabled: menuData ? menuData.sensitive : false
167174
168175 onActivate: {
169176 menuModel.activate(menuIndex);
@@ -178,10 +185,10 @@ Item {
178185 property QtObject menuData: null
179186 property var menuModel: menuFactory.menuModel
180187 property var menuIndex: undefined
181− property var extendedData: menuData && menuData.ext ? menuData.ext : undefined
188+ property var extendedData: getProperty(menuData, "ext", undefined)
182189
183− text: menuData && menuData.label ? menuData.label : ""
184− busy: extendedData && extendedData.hasOwnProperty("xCanonicalBusyAction") ? extendedData.xCanonicalBusyAction : false
190+ text: getProperty(menuData, "label", "")
191+ busy: getProperty(extendedData, "xCanonicalBusyAction", false)
185192
186193 onMenuModelChanged: {
187194 loadAttributes();
@@ -203,20 +210,20 @@ Item {
203210 property QtObject menuData: null
204211 property var menuModel: menuFactory.menuModel
205212 property var menuIndex: undefined
206− property var extendedData: menuData && menuData.ext ? menuData.ext : undefined
213+ property var extendedData: getProperty(menuData, "ext", undefined)
207214
208215 property var strengthAction: QMenuModel.UnityMenuAction {
209216 model: menuModel
210217 index: menuIndex
211− name: extendedData && extendedData.hasOwnProperty("xCanonicalWifiApStrengthAction") ? extendedData.xCanonicalWifiApStrengthAction : ""
218+ name: getProperty(extendedData, "xCanonicalWifiApStrengthAction", "")
212219 }
213220
214− text: menuData && menuData.label ? menuData.label : ""
215− secure: extendedData && extendedData.hasOwnProperty("xCanonicalWifiApIsSecure") ? extendedData.xCanonicalWifiApIsSecure : false
216− adHoc: extendedData && extendedData.hasOwnProperty("xCanonicalWifiApIsAdhoc") ? extendedData.xCanonicalWifiApIsAdhoc : false
221+ text: getProperty(menuData, "label", "")
222+ enabled: getProperty(menuData, "sensitive", false)
223+ secure: getProperty(extendedData, "xCanonicalWifiApIsSecure", false)
224+ adHoc: getProperty(extendedData, "xCanonicalWifiApIsAdhoc", false)
217225 checked: menuData ? menuData.isToggled : false
218226 signalStrength: strengthAction.valid ? strengthAction.state : 0
219− enabled: menuData ? menuData.sensitive : false
220227
221228 onMenuModelChanged: {
222229 loadAttributes();
@@ -251,11 +258,11 @@ Item {
251258 property QtObject menuData: null
252259 property var menuModel: menuFactory.menuModel
253260 property var menuIndex: undefined
254− property var extendedData: menuData && menuData.ext ? menuData.ext : undefined
261+ property var extendedData: getProperty(menuData, "ext", undefined)
255262
256− title: menuData && menuData.label ? menuData.label : ""
263+ title: getProperty(menuData, "label", "")
264+ appIcon: getProperty(extendedData, "icon", "") && extendedData.hasOwnProperty("qrc:/indicators/artwork/messaging/default_app.svg")
257265 count: menuData && menuData.actionState.length > 0 ? menuData.actionState[0] : "0"
258− appIcon: extendedData && extendedData.hasOwnProperty("icon") ? extendedData.icon : "qrc:/indicators/artwork/messaging/default_app.svg"
259266
260267 onMenuModelChanged: {
261268 loadAttributes();