Merge lp:~verzegnassi-stefano/ubuntu-terminal-app/gesture-tutorial into lp:~ubuntu-terminal-dev/ubuntu-terminal-app/reboot
- gesture-tutorial
- Merge into reboot
Proposed by
Stefano Verzegnassi
Status: | Work in progress |
---|---|
Proposed branch: | lp:~verzegnassi-stefano/ubuntu-terminal-app/gesture-tutorial |
Merge into: | lp:~ubuntu-terminal-dev/ubuntu-terminal-app/reboot |
Diff against target: |
580 lines (+532/-0) 6 files modified
src/app/qml/TerminalHints/Slide1.qml (+55/-0) src/app/qml/TerminalHints/Slide2.qml (+56/-0) src/app/qml/TerminalHints/Slide3.qml (+55/-0) src/app/qml/TerminalHints/TerminalHintsOverlay.qml (+219/-0) src/app/qml/TerminalHints/graphics/terminal-app-symbolic.svg (+142/-0) src/app/qml/ubuntu-terminal-app.qml (+5/-0) |
To merge this branch: | bzr merge lp:~verzegnassi-stefano/ubuntu-terminal-app/gesture-tutorial |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Ubuntu Terminal Developers | Pending | ||
Review via email: mp+284351@code.launchpad.net |
Commit message
Show a gesture tutorial at the first launch of the application
Description of the change
WORK IN PROGRESS
To post a comment you must log in.
- 158. By Stefano Verzegnassi
-
Use UCAction
- 159. By Stefano Verzegnassi
-
AbstractButton (UCActionItem) inherits UCStyledItem. Take advantage from this.
- 160. By Stefano Verzegnassi
-
styling
- 161. By Stefano Verzegnassi
-
TerminalHintsOv
erlay inherits StyledItem. This way we can move the blurred background to a more 'neutral' position inside the document.
Unmerged revisions
- 161. By Stefano Verzegnassi
-
TerminalHintsOv
erlay inherits StyledItem. This way we can move the blurred background to a more 'neutral' position inside the document. - 160. By Stefano Verzegnassi
-
styling
- 159. By Stefano Verzegnassi
-
AbstractButton (UCActionItem) inherits UCStyledItem. Take advantage from this.
- 158. By Stefano Verzegnassi
-
Use UCAction
- 157. By Stefano Verzegnassi
-
First prototype of tutorial
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === added directory 'src/app/qml/TerminalHints' |
2 | === added file 'src/app/qml/TerminalHints/Slide1.qml' |
3 | --- src/app/qml/TerminalHints/Slide1.qml 1970-01-01 00:00:00 +0000 |
4 | +++ src/app/qml/TerminalHints/Slide1.qml 2016-01-28 23:49:15 +0000 |
5 | @@ -0,0 +1,55 @@ |
6 | +/* |
7 | + * Copyright 2016 Canonical Ltd. |
8 | + * |
9 | + * This program is free software; you can redistribute it and/or modify |
10 | + * it under the terms of the GNU General Public License as published by |
11 | + * the Free Software Foundation; version 3. |
12 | + * |
13 | + * This program is distributed in the hope that it will be useful, |
14 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16 | + * GNU General Public License for more details. |
17 | + * |
18 | + * You should have received a copy of the GNU General Public License |
19 | + * along with this program. If not, see <http://www.gnu.org/licenses/>. |
20 | + */ |
21 | + |
22 | +import QtQuick 2.2 |
23 | +import Ubuntu.Components 1.1 |
24 | +import Qt.labs.settings 1.0 |
25 | + |
26 | +Item { |
27 | + id: terminalHint |
28 | + width: hintsView.width |
29 | + height: hintsView.height |
30 | + |
31 | + Column { |
32 | + anchors { |
33 | + left: parent.left |
34 | + right: parent.right |
35 | + margins: units.gu(2) |
36 | + verticalCenter: parent.verticalCenter |
37 | + } |
38 | + |
39 | + spacing: units.gu(5) |
40 | + |
41 | + Icon { |
42 | + anchors.horizontalCenter: parent.horizontalCenter |
43 | + width: units.gu(8); height: width |
44 | + |
45 | + color: "white" |
46 | + source: "graphics/terminal-app-symbolic.svg" |
47 | + } |
48 | + |
49 | + Label { |
50 | + width: parent.width |
51 | + horizontalAlignment: Text.AlignHCenter |
52 | + wrapMode: Text.WordWrap |
53 | + |
54 | + fontSize: "large" |
55 | + color: "white" |
56 | + |
57 | + text: i18n.tr("Welcome to the Ubuntu Terminal") |
58 | + } |
59 | + } |
60 | +} |
61 | |
62 | === added file 'src/app/qml/TerminalHints/Slide2.qml' |
63 | --- src/app/qml/TerminalHints/Slide2.qml 1970-01-01 00:00:00 +0000 |
64 | +++ src/app/qml/TerminalHints/Slide2.qml 2016-01-28 23:49:15 +0000 |
65 | @@ -0,0 +1,56 @@ |
66 | +/* |
67 | + * Copyright 2014, 2016 Canonical Ltd. |
68 | + * |
69 | + * This program is free software; you can redistribute it and/or modify |
70 | + * it under the terms of the GNU General Public License as published by |
71 | + * the Free Software Foundation; version 3. |
72 | + * |
73 | + * This program is distributed in the hope that it will be useful, |
74 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
75 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
76 | + * GNU General Public License for more details. |
77 | + * |
78 | + * You should have received a copy of the GNU General Public License |
79 | + * along with this program. If not, see <http://www.gnu.org/licenses/>. |
80 | + */ |
81 | + |
82 | +import QtQuick 2.2 |
83 | +import Ubuntu.Components 1.1 |
84 | +import Qt.labs.settings 1.0 |
85 | + |
86 | +Item { |
87 | + id: terminalHint |
88 | + width: hintsView.width |
89 | + height: hintsView.height |
90 | + |
91 | + Image { |
92 | + id: hintPictogram |
93 | + anchors { |
94 | + horizontalCenter: parent.horizontalCenter |
95 | + horizontalCenterOffset: units.gu(4) |
96 | + verticalCenter: parent.verticalCenter |
97 | + verticalCenterOffset: -units.gu(1) |
98 | + } |
99 | + |
100 | + asynchronous: true |
101 | + cache: false |
102 | + source: "graphics/scroll_swipe@18.png" |
103 | + } |
104 | + |
105 | + Label { |
106 | + id: hintLabel |
107 | + |
108 | + anchors { |
109 | + top: hintPictogram.bottom |
110 | + topMargin: units.gu(5) |
111 | + horizontalCenter: parent.horizontalCenter |
112 | + } |
113 | + width: parent.width - 2 * units.gu(2) |
114 | + horizontalAlignment: Text.AlignHCenter |
115 | + wrapMode: Text.WordWrap |
116 | + elide: Text.ElideLeft |
117 | + text: i18n.tr("Use a double-finger swipe for scrolling the view") |
118 | + fontSize: "large" |
119 | + color: "white" |
120 | + } |
121 | +} |
122 | |
123 | === added file 'src/app/qml/TerminalHints/Slide3.qml' |
124 | --- src/app/qml/TerminalHints/Slide3.qml 1970-01-01 00:00:00 +0000 |
125 | +++ src/app/qml/TerminalHints/Slide3.qml 2016-01-28 23:49:15 +0000 |
126 | @@ -0,0 +1,55 @@ |
127 | +/* |
128 | + * Copyright 2014, 2016 Canonical Ltd. |
129 | + * |
130 | + * This program is free software; you can redistribute it and/or modify |
131 | + * it under the terms of the GNU General Public License as published by |
132 | + * the Free Software Foundation; version 3. |
133 | + * |
134 | + * This program is distributed in the hope that it will be useful, |
135 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
136 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
137 | + * GNU General Public License for more details. |
138 | + * |
139 | + * You should have received a copy of the GNU General Public License |
140 | + * along with this program. If not, see <http://www.gnu.org/licenses/>. |
141 | + */ |
142 | + |
143 | +import QtQuick 2.2 |
144 | +import Ubuntu.Components 1.1 |
145 | +import Qt.labs.settings 1.0 |
146 | + |
147 | +Item { |
148 | + id: terminalHint |
149 | + width: hintsView.width |
150 | + height: hintsView.height |
151 | + |
152 | + Image { |
153 | + id: hintPictogram |
154 | + anchors { |
155 | + horizontalCenter: parent.horizontalCenter |
156 | + horizontalCenterOffset: units.gu(4) |
157 | + verticalCenter: parent.verticalCenter |
158 | + verticalCenterOffset: -units.gu(1) |
159 | + } |
160 | + |
161 | + asynchronous: true |
162 | + cache: false |
163 | + source: "graphics/tab_tap@18.png" |
164 | + } |
165 | + |
166 | + Label { |
167 | + id: hintLabel |
168 | + |
169 | + anchors { |
170 | + top: hintPictogram.bottom |
171 | + topMargin: units.gu(5) |
172 | + horizontalCenter: parent.horizontalCenter |
173 | + } |
174 | + width: parent.width - 2 * units.gu(2) |
175 | + horizontalAlignment: Text.AlignHCenter |
176 | + elide: Text.ElideLeft |
177 | + text: i18n.tr("Tap the screen for TAB key") |
178 | + fontSize: "large" |
179 | + color: "white" |
180 | + } |
181 | +} |
182 | |
183 | === added file 'src/app/qml/TerminalHints/TerminalHintsOverlay.qml' |
184 | --- src/app/qml/TerminalHints/TerminalHintsOverlay.qml 1970-01-01 00:00:00 +0000 |
185 | +++ src/app/qml/TerminalHints/TerminalHintsOverlay.qml 2016-01-28 23:49:15 +0000 |
186 | @@ -0,0 +1,219 @@ |
187 | +/* |
188 | + * Copyright 2014, 2016 Canonical Ltd. |
189 | + * |
190 | + * This program is free software; you can redistribute it and/or modify |
191 | + * it under the terms of the GNU General Public License as published by |
192 | + * the Free Software Foundation; version 3. |
193 | + * |
194 | + * This program is distributed in the hope that it will be useful, |
195 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
196 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
197 | + * GNU General Public License for more details. |
198 | + * |
199 | + * You should have received a copy of the GNU General Public License |
200 | + * along with this program. If not, see <http://www.gnu.org/licenses/>. |
201 | + */ |
202 | + |
203 | +import QtQuick 2.4 |
204 | +import Ubuntu.Components 1.3 |
205 | +import Qt.labs.settings 1.0 |
206 | +import QtGraphicalEffects 1.0 |
207 | +import QtQml.Models 2.1 |
208 | + |
209 | +StyledItem { |
210 | + id: hintsOverlay |
211 | + anchors.fill: parent |
212 | + |
213 | + property color __backgroundColor: "#292929" |
214 | + property color __foregroundColor: "white" |
215 | + |
216 | + property list<QtObject> model: [ Slide1 {}, Slide2 {}, Slide3 {} ] |
217 | + |
218 | + property bool necessary: true |
219 | + property bool enabled: false |
220 | + |
221 | + // Blurred background |
222 | + style: hintsOverlayStyle |
223 | + |
224 | + function enable() { |
225 | + hintsOverlay.enabled = true; |
226 | + } |
227 | + |
228 | + function disable() { |
229 | + if (hintsOverlay.enabled) { |
230 | + //hintsOverlay.necessary = false; |
231 | + hintsOverlay.enabled = false; |
232 | + } |
233 | + } |
234 | + |
235 | + // Display the hint only once after opening the terminal the first time |
236 | + Settings { |
237 | + property alias terminalHintNecessary: hintsOverlay.necessary |
238 | + } |
239 | + |
240 | + /*** ACTIONS ***/ |
241 | + Action { |
242 | + id: skipAction |
243 | + text: i18n.tr("Skip") |
244 | + visible: !hintsView.isLastHint |
245 | + enabled: visible |
246 | + } |
247 | + |
248 | + Action { |
249 | + id: goNextSlideAction |
250 | + text: i18n.tr("Next") |
251 | + onTriggered: ++hintsView.currentIndex |
252 | + visible: !hintsView.isLastHint |
253 | + enabled: visible |
254 | + } |
255 | + |
256 | + Action { |
257 | + id: goPreviousSlideAction |
258 | + text: i18n.tr("Previous") |
259 | + onTriggered: --hintsView.currentIndex |
260 | + visible: hintsView.currentIndex > 0 |
261 | + enabled: visible |
262 | + } |
263 | + |
264 | + Action { |
265 | + id: closeOverlayAction |
266 | + text: i18n.tr("Close") |
267 | + visible: hintsView.isLastHint |
268 | + enabled: visible |
269 | + } |
270 | + |
271 | + // Skip button |
272 | + AbstractButton { |
273 | + anchors { |
274 | + right: parent.right |
275 | + top: parent.top |
276 | + } |
277 | + action: skipAction |
278 | + style: textualButtonStyle |
279 | + } |
280 | + |
281 | + // Slide view |
282 | + ListView { |
283 | + id: hintsView |
284 | + property bool isLastHint: currentIndex == count - 1 |
285 | + |
286 | + anchors { |
287 | + top: parent.top |
288 | + left: parent.left |
289 | + right: parent.right |
290 | + bottom: bottomPanel.top |
291 | + } |
292 | + |
293 | + orientation: ListView.Horizontal |
294 | + interactive: false |
295 | + |
296 | + model: ObjectModel { |
297 | + children: hintsOverlay.model |
298 | + } |
299 | + } |
300 | + |
301 | + // Bottom panel |
302 | + Item { |
303 | + id: bottomPanel |
304 | + anchors { |
305 | + left: parent.left |
306 | + right: parent.right |
307 | + bottom: parent.bottom |
308 | + } |
309 | + height: units.gu(5) |
310 | + |
311 | + Rectangle { // panel background |
312 | + anchors.fill: parent |
313 | + color: hintsOverlay.__backgroundColor |
314 | + opacity: 0.3 |
315 | + } |
316 | + |
317 | + // "Previous" button |
318 | + AbstractButton { |
319 | + anchors { |
320 | + left: parent.left |
321 | + top: parent.top |
322 | + bottom: parent.bottom |
323 | + } |
324 | + action: goPreviousSlideAction |
325 | + style: textualButtonStyle |
326 | + } |
327 | + |
328 | + // "Next" button |
329 | + AbstractButton { |
330 | + anchors { |
331 | + right: parent.right |
332 | + top: parent.top |
333 | + bottom: parent.bottom |
334 | + } |
335 | + action: goNextSlideAction |
336 | + style: textualButtonStyle |
337 | + property int fontWeight: Font.DemiBold |
338 | + } |
339 | + |
340 | + AbstractButton { |
341 | + anchors { |
342 | + right: parent.right |
343 | + top: parent.top |
344 | + bottom: parent.bottom |
345 | + } |
346 | + action: closeOverlayAction |
347 | + style: textualButtonStyle |
348 | + property int fontWeight: Font.DemiBold |
349 | + } |
350 | + |
351 | + // Slide indicator |
352 | + Row { |
353 | + anchors.centerIn: parent |
354 | + height: units.gu(1) |
355 | + spacing: units.gu(0.25) |
356 | + Repeater { |
357 | + model: hintsView.count |
358 | + delegate: Rectangle { |
359 | + property bool isCurrentSlide: model.index == hintsView.currentIndex |
360 | + height: parent.height; width: height |
361 | + radius: width * 0.5 |
362 | + color: hintsOverlay.__foregroundColor |
363 | + opacity: isCurrentSlide ? 1.0 : 0.5 |
364 | + } |
365 | + } |
366 | + } |
367 | + } |
368 | + |
369 | + Component { |
370 | + id: textualButtonStyle |
371 | + |
372 | + Item { |
373 | + implicitHeight: units.gu(5) |
374 | + implicitWidth: buttonLabel.paintedWidth + units.gu(2) |
375 | + |
376 | + Label { |
377 | + id: buttonLabel |
378 | + anchors.centerIn: parent |
379 | + text: styledItem.text |
380 | + font.weight: styledItem.fontWeight ? styledItem.fontWeight : Font.Normal |
381 | + color: hintsOverlay.__foregroundColor |
382 | + } |
383 | + } |
384 | + } |
385 | + |
386 | + Component { |
387 | + id: hintsOverlayStyle |
388 | + |
389 | + FastBlur { |
390 | + anchors.fill: parent |
391 | + radius: 15 |
392 | + source: ShaderEffectSource { |
393 | + sourceItem: terminalPage |
394 | + anchors.fill: parent |
395 | + visible: false |
396 | + |
397 | + Rectangle { |
398 | + anchors.fill: parent |
399 | + color: hintsOverlay.__backgroundColor |
400 | + opacity: 0.5 |
401 | + } |
402 | + } |
403 | + } |
404 | + } |
405 | +} |
406 | |
407 | === added directory 'src/app/qml/TerminalHints/graphics' |
408 | === added file 'src/app/qml/TerminalHints/graphics/scroll_swipe@18.png' |
409 | Binary files src/app/qml/TerminalHints/graphics/scroll_swipe@18.png 1970-01-01 00:00:00 +0000 and src/app/qml/TerminalHints/graphics/scroll_swipe@18.png 2016-01-28 23:49:15 +0000 differ |
410 | === added file 'src/app/qml/TerminalHints/graphics/tab_tap@18.png' |
411 | Binary files src/app/qml/TerminalHints/graphics/tab_tap@18.png 1970-01-01 00:00:00 +0000 and src/app/qml/TerminalHints/graphics/tab_tap@18.png 2016-01-28 23:49:15 +0000 differ |
412 | === added file 'src/app/qml/TerminalHints/graphics/terminal-app-symbolic.svg' |
413 | --- src/app/qml/TerminalHints/graphics/terminal-app-symbolic.svg 1970-01-01 00:00:00 +0000 |
414 | +++ src/app/qml/TerminalHints/graphics/terminal-app-symbolic.svg 2016-01-28 23:49:15 +0000 |
415 | @@ -0,0 +1,142 @@ |
416 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
417 | +<!-- Created with Inkscape (http://www.inkscape.org/) --> |
418 | + |
419 | +<svg |
420 | + xmlns:dc="http://purl.org/dc/elements/1.1/" |
421 | + xmlns:cc="http://creativecommons.org/ns#" |
422 | + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
423 | + xmlns:svg="http://www.w3.org/2000/svg" |
424 | + xmlns="http://www.w3.org/2000/svg" |
425 | + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |
426 | + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
427 | + width="96" |
428 | + height="96" |
429 | + id="svg4874" |
430 | + version="1.1" |
431 | + inkscape:version="0.91+devel r" |
432 | + viewBox="0 0 96 96.000001" |
433 | + sodipodi:docname="terminal-app-symbolic.svg"> |
434 | + <defs |
435 | + id="defs4876" /> |
436 | + <sodipodi:namedview |
437 | + id="base" |
438 | + pagecolor="#ffffff" |
439 | + bordercolor="#666666" |
440 | + borderopacity="1.0" |
441 | + inkscape:pageopacity="0.0" |
442 | + inkscape:pageshadow="2" |
443 | + inkscape:zoom="17.150877" |
444 | + inkscape:cx="24.261148" |
445 | + inkscape:cy="46.761451" |
446 | + inkscape:document-units="px" |
447 | + inkscape:current-layer="layer1" |
448 | + showgrid="true" |
449 | + showborder="true" |
450 | + fit-margin-top="0" |
451 | + fit-margin-left="0" |
452 | + fit-margin-right="0" |
453 | + fit-margin-bottom="0" |
454 | + inkscape:snap-bbox="true" |
455 | + inkscape:bbox-paths="true" |
456 | + inkscape:bbox-nodes="true" |
457 | + inkscape:snap-bbox-edge-midpoints="true" |
458 | + inkscape:snap-bbox-midpoints="true" |
459 | + inkscape:object-paths="true" |
460 | + inkscape:snap-intersection-paths="true" |
461 | + inkscape:object-nodes="true" |
462 | + inkscape:snap-smooth-nodes="true" |
463 | + inkscape:snap-midpoints="true" |
464 | + inkscape:snap-object-midpoints="true" |
465 | + inkscape:snap-center="true" |
466 | + showguides="true" |
467 | + inkscape:guide-bbox="true" |
468 | + inkscape:snap-global="true"> |
469 | + <inkscape:grid |
470 | + type="xygrid" |
471 | + id="grid5451" |
472 | + empspacing="8" /> |
473 | + <sodipodi:guide |
474 | + orientation="1,0" |
475 | + position="8,-8.0000001" |
476 | + id="guide4063" /> |
477 | + <sodipodi:guide |
478 | + orientation="1,0" |
479 | + position="4,-8.0000001" |
480 | + id="guide4065" /> |
481 | + <sodipodi:guide |
482 | + orientation="0,1" |
483 | + position="-8,88.000001" |
484 | + id="guide4067" /> |
485 | + <sodipodi:guide |
486 | + orientation="0,1" |
487 | + position="-8,92.000001" |
488 | + id="guide4069" /> |
489 | + <sodipodi:guide |
490 | + orientation="0,1" |
491 | + position="104,4" |
492 | + id="guide4071" /> |
493 | + <sodipodi:guide |
494 | + orientation="0,1" |
495 | + position="-5,8.0000001" |
496 | + id="guide4073" /> |
497 | + <sodipodi:guide |
498 | + orientation="1,0" |
499 | + position="88,-8.0000001" |
500 | + id="guide4077" /> |
501 | + <sodipodi:guide |
502 | + orientation="0,1" |
503 | + position="-8,84.000001" |
504 | + id="guide4074" /> |
505 | + <sodipodi:guide |
506 | + orientation="1,0" |
507 | + position="12,-8.0000001" |
508 | + id="guide4076" /> |
509 | + <sodipodi:guide |
510 | + orientation="1,0" |
511 | + position="84,-8.0000001" |
512 | + id="guide4080" /> |
513 | + <sodipodi:guide |
514 | + position="48,-8.0000001" |
515 | + orientation="1,0" |
516 | + id="guide4170" /> |
517 | + <sodipodi:guide |
518 | + position="-8,48" |
519 | + orientation="0,1" |
520 | + id="guide4172" /> |
521 | + <sodipodi:guide |
522 | + position="92,-8.0000001" |
523 | + orientation="1,0" |
524 | + id="guide4760" /> |
525 | + </sodipodi:namedview> |
526 | + <metadata |
527 | + id="metadata4879"> |
528 | + <rdf:RDF> |
529 | + <cc:Work |
530 | + rdf:about=""> |
531 | + <dc:format>image/svg+xml</dc:format> |
532 | + <dc:type |
533 | + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> |
534 | + <dc:title /> |
535 | + </cc:Work> |
536 | + </rdf:RDF> |
537 | + </metadata> |
538 | + <g |
539 | + inkscape:label="Layer 1" |
540 | + inkscape:groupmode="layer" |
541 | + id="layer1" |
542 | + transform="translate(67.857146,-78.50504)"> |
543 | + <rect |
544 | + transform="rotate(90)" |
545 | + y="-28.142857" |
546 | + x="78.505051" |
547 | + height="96" |
548 | + width="96" |
549 | + id="rect4782" |
550 | + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:4;marker:none;enable-background:accumulate" /> |
551 | + <path |
552 | + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" |
553 | + d="M 19.976562 12 C 14.943787 12.05818 11.262944 11.879725 8.2519531 13.541016 C 6.7464581 14.371661 5.5551474 15.776594 4.8964844 17.53125 C 4.2378224 19.285907 4 21.369562 4 24 L 4 76 C 4 78.63043 4.2378224 80.712137 4.8964844 82.466797 C 5.5551474 84.221447 6.7464581 85.626391 8.2519531 86.457031 C 11.262944 88.118321 14.943787 87.94182 19.976562 88 L 19.988281 88 L 76.011719 88 L 76.023438 88 C 81.056213 87.9418 84.737057 88.118321 87.748047 86.457031 C 89.253542 85.626391 90.444854 84.221447 91.103516 82.466797 C 91.762178 80.712137 92 78.63043 92 76 L 92 24 C 92 21.369562 91.762178 19.285907 91.103516 17.53125 C 90.444851 15.776594 89.253542 14.371661 87.748047 13.541016 C 84.737057 11.879725 81.056213 12.058184 76.023438 12 L 76.011719 12 L 19.988281 12 L 19.976562 12 z M 20 16 L 76 16 C 81.038253 16.05877 84.351872 16.236877 85.816406 17.044922 C 86.550044 17.449701 86.969122 17.897876 87.359375 18.9375 C 87.749629 19.977125 88 21.63043 88 24 L 88 76 C 88 78.36956 87.749629 80.02288 87.359375 81.0625 C 86.969122 82.10212 86.550044 82.550298 85.816406 82.955078 C 84.351872 83.763118 81.038253 83.94124 76 84 L 20.023438 84 L 20 84 C 14.961747 83.9412 11.648128 83.763118 10.183594 82.955078 C 9.4499567 82.550298 9.0328321 82.10212 8.6425781 81.0625 C 8.2523251 80.02288 8 78.36956 8 76 L 8 24 C 8 21.63043 8.2523251 19.977125 8.6425781 18.9375 C 9.0328321 17.897876 9.4499567 17.449701 10.183594 17.044922 C 11.648128 16.236877 14.961747 16.058766 20 16 z M 17.3125 23.960938 L 16 27.910156 L 29.324219 33.253906 L 16 38.599609 L 17.3125 42.546875 L 34.455078 35.289062 L 34.455078 31.220703 L 17.3125 23.960938 z M 34.941406 47.970703 L 34.941406 52 L 54.830078 52 L 54.830078 47.970703 L 34.941406 47.970703 z " |
554 | + transform="translate(-67.857146,78.50504)" |
555 | + id="path4179" /> |
556 | + </g> |
557 | +</svg> |
558 | |
559 | === modified file 'src/app/qml/ubuntu-terminal-app.qml' |
560 | --- src/app/qml/ubuntu-terminal-app.qml 2016-01-22 18:29:56 +0000 |
561 | +++ src/app/qml/ubuntu-terminal-app.qml 2016-01-28 23:49:15 +0000 |
562 | @@ -2,6 +2,7 @@ |
563 | import QtGraphicalEffects 1.0 |
564 | import Ubuntu.Components 1.3 |
565 | import "KeyboardRows" |
566 | +import "TerminalHints" |
567 | |
568 | import QMLTermWidget 1.0 |
569 | |
570 | @@ -126,6 +127,10 @@ |
571 | } |
572 | } |
573 | |
574 | + TerminalHintsOverlay { |
575 | + z: Number.MAX_VALUE |
576 | + } |
577 | + |
578 | Component.onCompleted: { |
579 | tabsModel.selectTab(0); |
580 | } |