2 * Copyright 2013-2016 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/>.
18import Ubuntu.Components 1.3
25 property QtObject menuModel: null
26 property QtObject menuData: null
27 property int menuIndex : -1
28 property int maxHeight
29 readonly property bool fullscreen: menuData.type === "com.canonical.snapdecision.pinlock"
30 property url background: ""
35 "com.canonical.snapdecision.textfield": textfield,
36 "com.canonical.snapdecision.pinlock" : pinLock,
40 if (menuData.type !== undefined) {
41 var component = _map[menuData.type];
42 if (component !== undefined) {
43 if (component === pinLock && shell.hasLockedApp) {
44 // In case we are in emergency mode, just skip this unlock.
45 // Happens with two locked SIMs but the user clicks
46 // Emergency Call on the first unlock dialog.
47 // TODO: if we ever allow showing the indicators in
48 // emergency mode, we'll need to differentiate between
49 // user-initiated ones which we *do* want to show and the
50 // dialogs that appear on boot, which we don't. But for
51 // now we can get away with skipping all such dialogs.
52 menuModel.activate(menuIndex, false);
60 function getExtendedProperty(object, propertyName, defaultValue) {
61 if (object && object.hasOwnProperty(propertyName)) {
62 return object[propertyName];
71 spacing: notification.margins
79 Component.onCompleted: {
80 menuModel.loadExtendedAttributes(menuIndex, {"x-echo-mode-password": "bool"});
81 checkBox.checked = menuData.ext.xEchoModePassword ? false : true
82 checkBoxRow.visible = menuData.ext.xEchoModePassword
87 color: theme.palette.normal.backgroundSecondaryText
91 // TODO using Qt.ImhNoPredictiveText here until lp #1291575 is fixed for ubuntu-ui-toolkit
92 inputMethodHints: Qt.ImhNoAutoUppercase | Qt.ImhNoPredictiveText
97 echoMode: checkBox.checked ? TextInput.Normal : TextInput.Password
99 Component.onCompleted: {
100 print("forcing active focus on notification!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!11111")
104 menuModel.changeState(menuIndex, text);
107 menuFactory.accepted()
114 spacing: notification.margins
120 activeFocusOnPress: false
124 anchors.verticalCenter: checkBox.verticalCenter
125 text: i18n.tr("Show password")
126 color: theme.palette.normal.backgroundSecondaryText
130 onClicked: { checkBox.checked = !checkBox.checked }
145 height: menuFactory.maxHeight
146 infoText: notification.summary
147 errorText: errorAction.valid ? errorAction.state : ""
148 retryText: notification.body
149 background: menuFactory.background
150 darkenBackground: 0.4
153 menuModel.changeState(menuIndex, passphrase);
158 menuModel.activate(menuIndex, false);
162 shell.startLockedApp("dialer-app");
163 menuModel.activate(menuIndex, false);
166 property var extendedData: menuData && menuData.ext || undefined
168 property var pinMinMaxAction : UnityMenuAction {
171 name: getExtendedProperty(extendedData, "xCanonicalPinMinMax", "")
174 var min = pinMinMaxAction.state[0];
175 var max = pinMinMaxAction.state[1];
177 if (min === 0) min = -1;
178 if (max === 0) max = -1;
185 property var popupAction: UnityMenuAction {
188 name: getExtendedProperty(extendedData, "xCanonicalPinPopup", "")
191 showInfoPopup("", state);
194 onInfoPopupConfirmed: {
195 popupAction.activate();
204 errorAction.activate();
207 property var errorAction: UnityMenuAction {
210 name: getExtendedProperty(extendedData, "xCanonicalPinError", "")
215 errorTimer.running = true;
220 function loadAttributes() {
221 if (!menuModel || menuIndex == -1) return;
222 menuModel.loadExtendedAttributes(menuIndex, {'x-canonical-pin-min-max': 'string',
223 'x-canonical-pin-popup': 'string',
224 'x-canonical-pin-error': 'string'});
226 Component.onCompleted: {
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