on xenial help sign in
merged with parent
commit2633478c3c3d71092561e1faa0abe422b93bdb57 authorNick Dedekind <nicholas.dedekind@gmail.com> dateThu 12 Dec 2013, 14:27 (13 years ago) parent78ee59a5607719
2 files changed+81−67
plugins/Unity/Indicators/Messaging/qml/MessageMenuItemFactory.qml+35−28 plugins/Unity/Indicators/qml/MenuItemFactory.qml+46−39
plugins/Unity/Indicators/Messaging/qml/MessageMenuItemFactory.qml+35−28
@@ -29,8 +29,8 @@ Indicators.BaseMenuItem {
2929 property QtObject menuData: null
3030 property var menuIndex: undefined
3131
32− property var extAttrib: menuData && menuData.ext ? menuData.ext : undefined
33− property var actionsDescription: extAttrib && extAttrib.hasOwnProperty("xCanonicalMessageActions") ? extAttrib.xCanonicalMessageActions : undefined
32+ property var extendedData: menuData && menuData.ext || undefined
33+ property var actionsDescription: getExtendedProperty(extendedData, "xCanonicalMessageActions", undefined)
3434
3535 onMenuModelChanged: {
3636 loadAttributes();
@@ -43,10 +43,17 @@ Indicators.BaseMenuItem {
4343 if (!menuModel || menuIndex == undefined) return;
4444
4545 menuModel.loadExtendedAttributes(menuIndex, {'x-canonical-time': 'int64',
46− 'x-canonical-text': 'string',
47− 'x-canonical-message-actions': 'variant',
48− 'icon': 'icon',
49− 'x-canonical-app-icon': 'icon'});
46+ 'x-canonical-text': 'string',
47+ 'x-canonical-message-actions': 'variant',
48+ 'icon': 'icon',
49+ 'x-canonical-app-icon': 'icon'});
50+ }
51+
52+ function getExtendedProperty(object, propertyName, defaultValue) {
53+ if (object && object.hasOwnProperty(propertyName)) {
54+ return object[propertyName];
55+ }
56+ return defaultValue;
5057 }
5158
5259 implicitHeight: contents.status == Loader.Ready ? contents.item.implicitHeight : 0
@@ -61,12 +68,12 @@ Indicators.BaseMenuItem {
6168 id: simpleTextMessage
6269 SimpleTextMessage {
6370 // text
64− title: menuData && menuData.label ? menuData.label : ""
65− time: extAttrib && extAttrib.hasOwnProperty("xCanonicalTime") ? extAttrib.xCanonicalTime : 0
66− message: extAttrib && extAttrib.hasOwnProperty("xCanonicalText") ? extAttrib.xCanonicalText : ""
71+ title: menuData && menuData.label || ""
72+ time: getExtendedProperty(extendedData, "xCanonicalTime", 0)
73+ message: getExtendedProperty(extendedData, "xCanonicalText", "")
6774 // icons
68− avatar: extAttrib && extAttrib.hasOwnProperty("icon") ? extAttrib.icon : "qrc:/indicators/artwork/messaging/default_contact.png"
69− appIcon: extAttrib && extAttrib.hasOwnProperty("xCanonicalAppIcon") ? extAttrib.xCanonicalAppIcon : "qrc:/indicators/artwork/messaging/default_app.svg"
75+ avatar: getExtendedProperty(extendedData, "icon", "qrc:/indicators/artwork/messaging/default_contact.png")
76+ appIcon: getExtendedProperty(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: getExtendedProperty(replyActionDescription, "name", "")
93100 }
94101
95102 // text
96− title: menuData && menuData.label ? menuData.label : ""
97− time: extAttrib && extAttrib.hasOwnProperty("xCanonicalTime") ? extAttrib.xCanonicalTime : 0
98− message: extAttrib && extAttrib.hasOwnProperty("xCanonicalText") ? extAttrib.xCanonicalText : ""
99− replyButtonText: replyActionDescription !== undefined && replyActionDescription.hasOwnProperty("label") ? replyActionDescription.label : "Send"
103+ title: menuData && menuData.label || ""
104+ time: getExtendedProperty(extendedData, "xCanonicalTime", 0)
105+ message: getExtendedProperty(extendedData, "xCanonicalText", "")
106+ replyButtonText: getExtendedProperty(replyActionDescription, "label", "Send")
100107 // icons
101− avatar: extAttrib && extAttrib.hasOwnProperty("icon") ? extAttrib.icon : "qrc:/indicators/artwork/messaging/default_contact.png"
102− appIcon: extAttrib && extAttrib.hasOwnProperty("xCanonicalAppIcon") ? extAttrib.xCanonicalAppIcon : "qrc:/indicators/artwork/messaging/default_app.svg"
108+ avatar: getExtendedProperty(extendedData, "icon", "qrc:/indicators/artwork/messaging/default_contact.png")
109+ appIcon: getExtendedProperty(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: getExtendedProperty(activateActionDescription, "name", "")
132139 }
133140 property var replyAction: QMenuModel.UnityMenuAction {
134141 model: menuModel
135142 index: menuIndex
136− name: replyActionDescription !== undefined ? replyActionDescription.name : ""
143+ name: getExtendedProperty(replyActionDescription, "name", "")
137144 }
138145
139146 // text
140− title: menuData && menuData.label ? menuData.label : ""
141− time: extAttrib && extAttrib.hasOwnProperty("xCanonicalTime") ? extAttrib.xCanonicalTime : ""
142− message: extAttrib && extAttrib.hasOwnProperty("xCanonicalText") ? extAttrib.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: menuData && menuData.label || ""
148+ time: getExtendedProperty(extendedData, "xCanonicalTime", 0)
149+ message: getExtendedProperty(extendedData, "xCanonicalText", "")
150+ actionButtonText: getExtendedProperty(activateActionDescription, "label", "Call back")
151+ replyButtonText: getExtendedProperty(replyActionDescription, "label", "Send")
152+ replyMessages: getExtendedProperty(replyActionDescription, "parameter-hint", "")
146153 // icons
147− avatar: extAttrib && extAttrib.hasOwnProperty("icon") ? extAttrib.icon : "qrc:/indicators/artwork/messaging/default_contact.png"
148− appIcon: extAttrib && extAttrib.hasOwnProperty("xCanonicalAppIcon") ? extAttrib.xCanonicalAppIcon : "qrc:/indicators/artwork/messaging/default_app.svg"
154+ avatar: getExtendedProperty(extendedData, "icon", "qrc:/indicators/artwork/messaging/default_contact.png")
155+ appIcon: getExtendedProperty(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+46−39
@@ -50,6 +50,13 @@ Item {
5050 "unity.widgets.systemsettings.tablet.accesspoint" : accessPoint,
5151 }
5252
53+ function getExtendedProperty(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 extAttrib: menuData && menuData.ext ? menuData.ext : undefined
68+ property var extendedData: menuData && menuData.ext || undefined
6269
63− text: menuData && menuData.label ? menuData.label : ""
64− icon: menuData && menuData.icon ? menuData.icon : ""
65− minIcon: extAttrib && extAttrib.hasOwnProperty("minIcon") ? extAttrib.minIcon : ""
66− maxIcon: extAttrib && extAttrib.hasOwnProperty("maxIcon") ? extAttrib.maxIcon : ""
70+ text: menuData && menuData.label || ""
71+ iconSource: menuData && menuData.icon || ""
72+ minIcon: getExtendedProperty(extendedData, "minIcon", "")
73+ maxIcon: getExtendedProperty(extendedData, "minIcon", "")
6774
68− minimumValue: extAttrib && extAttrib.hasOwnProperty("minValue") ? extAttrib.minValue : 0.0
75+ minimumValue: getExtendedProperty(extendedData, "minValue", 0.0)
6976 maximumValue: {
70− var maximum = extAttrib && extAttrib.hasOwnProperty("maxValue") ? extAttrib.maxValue : 1.0
77+ var maximum = getExtendedProperty(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: menuData && menuData.actionState || 0.0
84+ enabled: menuData && menuData.sensitive || false
7885
7986 onMenuModelChanged: {
8087 loadAttributes();
@@ -89,9 +96,9 @@ Item {
8996 function loadAttributes() {
9097 if (!menuModel || menuIndex == undefined) return;
9198 menuModel.loadExtendedAttributes(menuIndex, {'min-value': 'double',
92− 'max-value': 'double',
93− 'min-icon': 'icon',
94− 'max-icon': 'icon'});
99+ 'max-value': 'double',
100+ 'min-icon': 'icon',
101+ 'max-icon': 'icon'});
95102 }
96103 }
97104 }
@@ -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: menuData && menuData.label || ""
114+ enabled: menuData && 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: menuData && 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: menuData && menuData.label || ""
139+ iconSource: menuData && menuData.icon || ""
140+ value : menuData && menuData.actionState || 0.0
141+ enabled: menuData && 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: menuData && menuData.label || ""
152+ iconSource: menuData && menuData.icon || ""
153+ enabled: menuData && 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: menuData && menuData.label || ""
171+ iconSource: menuData && menuData.icon || ""
172+ enabled: menuData && 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 extAttrib: menuData && menuData.ext ? menuData.ext : undefined
188+ property var extendedData: menuData && menuData.ext || undefined
182189
183− text: menuData && menuData.label ? menuData.label : ""
184− busy: extAttrib && extAttrib.hasOwnProperty("xCanonicalBusyAction") ? extAttrib.xCanonicalBusyAction : false
190+ text: menuData && menuData.label || ""
191+ busy: getExtendedProperty(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 extAttrib: menuData && menuData.ext ? menuData.ext : undefined
213+ property var extendedData: menuData && menuData.ext || undefined
207214
208215 property var strengthAction: QMenuModel.UnityMenuAction {
209216 model: menuModel
210217 index: menuIndex
211− name: extAttrib && extAttrib.hasOwnProperty("xCanonicalWifiApStrengthAction") ? extAttrib.xCanonicalWifiApStrengthAction : ""
218+ name: getExtendedProperty(extendedData, "xCanonicalWifiApStrengthAction", "")
212219 }
213220
214− text: menuData && menuData.label ? menuData.label : ""
215− secure: extAttrib && extAttrib.hasOwnProperty("xCanonicalWifiApIsSecure") ? extAttrib.xCanonicalWifiApIsSecure : false
216− adHoc: extAttrib && extAttrib.hasOwnProperty("xCanonicalWifiApIsAdhoc") ? extAttrib.xCanonicalWifiApIsAdhoc : false
221+ text: menuData && menuData.label || ""
222+ enabled: menuData && menuData.sensitive || false
223+ secure: getExtendedProperty(extendedData, "xCanonicalWifiApIsSecure", false)
224+ adHoc: getExtendedProperty(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();
@@ -232,8 +239,8 @@ Item {
232239 function loadAttributes() {
233240 if (!menuModel || menuIndex == undefined) return;
234241 menuModel.loadExtendedAttributes(menuIndex, {'x-canonical-wifi-ap-is-adhoc': 'bool',
235− 'x-canonical-wifi-ap-is-secure': 'bool',
236− 'x-canonical-wifi-ap-strength-action': 'string'});
242+ 'x-canonical-wifi-ap-is-secure': 'bool',
243+ 'x-canonical-wifi-ap-strength-action': 'string'});
237244 }
238245 }
239246 }
@@ -251,11 +258,11 @@ Item {
251258 property QtObject menuData: null
252259 property var menuModel: menuFactory.menuModel
253260 property var menuIndex: undefined
254− property var extAttrib: menuData && menuData.ext ? menuData.ext : undefined
261+ property var extendedData: menuData && menuData.ext || undefined
255262
256− title: menuData && menuData.label ? menuData.label : ""
263+ title: menuData && menuData.label || ""
264+ appIcon: getExtendedProperty(extendedData, "icon", "qrc:/indicators/artwork/messaging/default_app.svg")
257265 count: menuData && menuData.actionState.length > 0 ? menuData.actionState[0] : "0"
258− appIcon: extAttrib && extAttrib.hasOwnProperty("icon") ? extAttrib.icon : "qrc:/indicators/artwork/messaging/default_app.svg"
259266
260267 onMenuModelChanged: {
261268 loadAttributes();