2 * Copyright 2013 Canonical Ltd.
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation; version 3.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU Lesser General Public License for more details.
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 * Renato Araujo Oliveira Filho <renato@canonical.com>
18 * Olivier Tilloy <olivier.tilloy@canonical.com>
22import Ubuntu.Components 0.1
23import Unity.Indicators 0.1 as Indicators
24import QMenuModel 0.1 as QMenuModel
26Indicators.BaseMenuItem {
28 property var actionsDescription: menu ? menu.ext.xCanonicalMessageActions : undefined
30 implicitHeight: contents.status == Loader.Ready ? contents.item.implicitHeight : 0
32 property var model: null
38 sourceComponent: loadMessage(actionsDescription);
40 // Binding all properties for the item, to make sure that any change in the
41 // property will be propagated to the contents.item at any time
44 property: "menuSelected"
46 when: (contents.status == Loader.Ready)
53 when: (contents.status == Loader.Ready)
57 target: contents.item ? contents.item : null
58 onSelectMenu: selectMenu()
59 onDeselectMenu: deselectMenu()
66 title: menu && menu.label ? menu.label : ""
67 time: menu ? menu.ext.xCanonicalTime : 0
68 message: menu && menu.ext.xCanonicalText ? menu.ext.xCanonicalText : ""
70 avatar: menu && menu.ext.icon !== undefined ? menu.ext.icon : "qrc:/indicators/artwork/messaging/default_contact.png"
71 appIcon: menu && menu.ext.xCanonicalAppIcon !== undefined ? menu.ext.xCanonicalAppIcon : "qrc:/indicators/artwork/messaging/default_app.svg"
74 menuItem.model.activate(modelIndex, true);
77 menuItem.model.activate(modelIndex, false);
84 property var replyAction: QMenuModel.UnityMenuAction {
87 name: menu && actionsDescription[0].name ? actionsDescription[0].name : ""
91 title: menu && menu.label ? menu.label : ""
92 time: menu ? menu.ext.xCanonicalTime : 0
93 message: menu && menu.ext.xCanonicalText ? menu.ext.xCanonicalText : ""
94 replyButtonText: actionsDescription && actionsDescription[0].label ? actionsDescription[0].label : "Send"
96 avatar: menu && menu.ext.icon !== undefined ? menu.ext.icon : "qrc:/indicators/artwork/messaging/default_contact.png"
97 appIcon: menu && menu.ext.xCanonicalAppIcon !== undefined ? menu.ext.xCanonicalAppIcon : "qrc:/indicators/artwork/messaging/default_app.svg"
99 replyEnabled: replyAction.valid && replyAction.enabled
102 menuItem.model.activate(modelIndex, true);
105 menuItem.model.activate(modelIndex, false);
108 replyAction.activate(value);
115 property var activateAction: QMenuModel.UnityMenuAction {
116 model: menuItem.model
118 name: menu && actionsDescription[0].name ? actionsDescription[0].name : ""
120 property var replyAction: QMenuModel.UnityMenuAction {
121 model: menuItem.model
123 name: menu && actionsDescription[1].name ? actionsDescription[1].name : ""
127 title: menu && menu.label ? menu.label : ""
128 time: menu ? menu.ext.xCanonicalTime : ""
129 message: menu && menu.ext.xCanonicalText ? menu.ext.xCanonicalText : ""
130 actionButtonText: actionsDescription && actionsDescription[0].label ? actionsDescription[0].label : "Call back"
131 replyButtonText: actionsDescription && actionsDescription[1].label ? actionsDescription[1].label : "Send"
132 replyMessages: actionsDescription && actionsDescription[1]["parameter-hint"] ? actionsDescription[1]["parameter-hint"] : ""
134 avatar: menu && menu.ext.icon !== undefined ? menu.ext.icon : "qrc:/indicators/artwork/messaging/default_contact.png"
135 appIcon: menu && menu.ext.xCanonicalAppIcon !== undefined ? menu.ext.xCanonicalAppIcon : "qrc:/indicators/artwork/messaging/default_app.svg"
137 activateEnabled: activateAction.valid && activateAction.enabled
138 replyEnabled: replyAction.valid && replyAction.enabled
141 menuItem.model.activate(modelIndex, true);
144 menuItem.model.activate(modelIndex, false);
147 activateAction.activate();
150 replyAction.activate(value);
156 function loadMessage(actions)
158 var parameterType = ""
159 for (var actIndex in actions) {
160 var desc = actions[actIndex];
161 if (desc["parameter-type"] !== undefined) {
162 parameterType += desc["parameter-type"];
164 parameterType += "_";
168 if (parameterType === "") {
169 return simpleTextMessage;
170 } else if (parameterType === "s") {
172 } else if (parameterType === "_s") {
175 console.debug("Unknown paramater type: " + parameterType);
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list