Merge lp:~verzegnassi-stefano/ubuntu-terminal-app/gesture-tutorial into lp:~ubuntu-terminal-dev/ubuntu-terminal-app/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
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

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

TerminalHintsOverlay inherits StyledItem. This way we can move the blurred background to a more 'neutral' position inside the document.

Unmerged revisions

161. By Stefano Verzegnassi

TerminalHintsOverlay 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
=== added directory 'src/app/qml/TerminalHints'
=== added file 'src/app/qml/TerminalHints/Slide1.qml'
--- src/app/qml/TerminalHints/Slide1.qml 1970-01-01 00:00:00 +0000
+++ src/app/qml/TerminalHints/Slide1.qml 2016-01-28 23:49:15 +0000
@@ -0,0 +1,55 @@
1/*
2 * Copyright 2016 Canonical Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 3.
7 *
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 General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17import QtQuick 2.2
18import Ubuntu.Components 1.1
19import Qt.labs.settings 1.0
20
21Item {
22 id: terminalHint
23 width: hintsView.width
24 height: hintsView.height
25
26 Column {
27 anchors {
28 left: parent.left
29 right: parent.right
30 margins: units.gu(2)
31 verticalCenter: parent.verticalCenter
32 }
33
34 spacing: units.gu(5)
35
36 Icon {
37 anchors.horizontalCenter: parent.horizontalCenter
38 width: units.gu(8); height: width
39
40 color: "white"
41 source: "graphics/terminal-app-symbolic.svg"
42 }
43
44 Label {
45 width: parent.width
46 horizontalAlignment: Text.AlignHCenter
47 wrapMode: Text.WordWrap
48
49 fontSize: "large"
50 color: "white"
51
52 text: i18n.tr("Welcome to the Ubuntu Terminal")
53 }
54 }
55}
056
=== added file 'src/app/qml/TerminalHints/Slide2.qml'
--- src/app/qml/TerminalHints/Slide2.qml 1970-01-01 00:00:00 +0000
+++ src/app/qml/TerminalHints/Slide2.qml 2016-01-28 23:49:15 +0000
@@ -0,0 +1,56 @@
1/*
2 * Copyright 2014, 2016 Canonical Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 3.
7 *
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 General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17import QtQuick 2.2
18import Ubuntu.Components 1.1
19import Qt.labs.settings 1.0
20
21Item {
22 id: terminalHint
23 width: hintsView.width
24 height: hintsView.height
25
26 Image {
27 id: hintPictogram
28 anchors {
29 horizontalCenter: parent.horizontalCenter
30 horizontalCenterOffset: units.gu(4)
31 verticalCenter: parent.verticalCenter
32 verticalCenterOffset: -units.gu(1)
33 }
34
35 asynchronous: true
36 cache: false
37 source: "graphics/scroll_swipe@18.png"
38 }
39
40 Label {
41 id: hintLabel
42
43 anchors {
44 top: hintPictogram.bottom
45 topMargin: units.gu(5)
46 horizontalCenter: parent.horizontalCenter
47 }
48 width: parent.width - 2 * units.gu(2)
49 horizontalAlignment: Text.AlignHCenter
50 wrapMode: Text.WordWrap
51 elide: Text.ElideLeft
52 text: i18n.tr("Use a double-finger swipe for scrolling the view")
53 fontSize: "large"
54 color: "white"
55 }
56}
057
=== added file 'src/app/qml/TerminalHints/Slide3.qml'
--- src/app/qml/TerminalHints/Slide3.qml 1970-01-01 00:00:00 +0000
+++ src/app/qml/TerminalHints/Slide3.qml 2016-01-28 23:49:15 +0000
@@ -0,0 +1,55 @@
1/*
2 * Copyright 2014, 2016 Canonical Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 3.
7 *
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 General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17import QtQuick 2.2
18import Ubuntu.Components 1.1
19import Qt.labs.settings 1.0
20
21Item {
22 id: terminalHint
23 width: hintsView.width
24 height: hintsView.height
25
26 Image {
27 id: hintPictogram
28 anchors {
29 horizontalCenter: parent.horizontalCenter
30 horizontalCenterOffset: units.gu(4)
31 verticalCenter: parent.verticalCenter
32 verticalCenterOffset: -units.gu(1)
33 }
34
35 asynchronous: true
36 cache: false
37 source: "graphics/tab_tap@18.png"
38 }
39
40 Label {
41 id: hintLabel
42
43 anchors {
44 top: hintPictogram.bottom
45 topMargin: units.gu(5)
46 horizontalCenter: parent.horizontalCenter
47 }
48 width: parent.width - 2 * units.gu(2)
49 horizontalAlignment: Text.AlignHCenter
50 elide: Text.ElideLeft
51 text: i18n.tr("Tap the screen for TAB key")
52 fontSize: "large"
53 color: "white"
54 }
55}
056
=== added file 'src/app/qml/TerminalHints/TerminalHintsOverlay.qml'
--- src/app/qml/TerminalHints/TerminalHintsOverlay.qml 1970-01-01 00:00:00 +0000
+++ src/app/qml/TerminalHints/TerminalHintsOverlay.qml 2016-01-28 23:49:15 +0000
@@ -0,0 +1,219 @@
1/*
2 * Copyright 2014, 2016 Canonical Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 3.
7 *
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 General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17import QtQuick 2.4
18import Ubuntu.Components 1.3
19import Qt.labs.settings 1.0
20import QtGraphicalEffects 1.0
21import QtQml.Models 2.1
22
23StyledItem {
24 id: hintsOverlay
25 anchors.fill: parent
26
27 property color __backgroundColor: "#292929"
28 property color __foregroundColor: "white"
29
30 property list<QtObject> model: [ Slide1 {}, Slide2 {}, Slide3 {} ]
31
32 property bool necessary: true
33 property bool enabled: false
34
35 // Blurred background
36 style: hintsOverlayStyle
37
38 function enable() {
39 hintsOverlay.enabled = true;
40 }
41
42 function disable() {
43 if (hintsOverlay.enabled) {
44 //hintsOverlay.necessary = false;
45 hintsOverlay.enabled = false;
46 }
47 }
48
49 // Display the hint only once after opening the terminal the first time
50 Settings {
51 property alias terminalHintNecessary: hintsOverlay.necessary
52 }
53
54 /*** ACTIONS ***/
55 Action {
56 id: skipAction
57 text: i18n.tr("Skip")
58 visible: !hintsView.isLastHint
59 enabled: visible
60 }
61
62 Action {
63 id: goNextSlideAction
64 text: i18n.tr("Next")
65 onTriggered: ++hintsView.currentIndex
66 visible: !hintsView.isLastHint
67 enabled: visible
68 }
69
70 Action {
71 id: goPreviousSlideAction
72 text: i18n.tr("Previous")
73 onTriggered: --hintsView.currentIndex
74 visible: hintsView.currentIndex > 0
75 enabled: visible
76 }
77
78 Action {
79 id: closeOverlayAction
80 text: i18n.tr("Close")
81 visible: hintsView.isLastHint
82 enabled: visible
83 }
84
85 // Skip button
86 AbstractButton {
87 anchors {
88 right: parent.right
89 top: parent.top
90 }
91 action: skipAction
92 style: textualButtonStyle
93 }
94
95 // Slide view
96 ListView {
97 id: hintsView
98 property bool isLastHint: currentIndex == count - 1
99
100 anchors {
101 top: parent.top
102 left: parent.left
103 right: parent.right
104 bottom: bottomPanel.top
105 }
106
107 orientation: ListView.Horizontal
108 interactive: false
109
110 model: ObjectModel {
111 children: hintsOverlay.model
112 }
113 }
114
115 // Bottom panel
116 Item {
117 id: bottomPanel
118 anchors {
119 left: parent.left
120 right: parent.right
121 bottom: parent.bottom
122 }
123 height: units.gu(5)
124
125 Rectangle { // panel background
126 anchors.fill: parent
127 color: hintsOverlay.__backgroundColor
128 opacity: 0.3
129 }
130
131 // "Previous" button
132 AbstractButton {
133 anchors {
134 left: parent.left
135 top: parent.top
136 bottom: parent.bottom
137 }
138 action: goPreviousSlideAction
139 style: textualButtonStyle
140 }
141
142 // "Next" button
143 AbstractButton {
144 anchors {
145 right: parent.right
146 top: parent.top
147 bottom: parent.bottom
148 }
149 action: goNextSlideAction
150 style: textualButtonStyle
151 property int fontWeight: Font.DemiBold
152 }
153
154 AbstractButton {
155 anchors {
156 right: parent.right
157 top: parent.top
158 bottom: parent.bottom
159 }
160 action: closeOverlayAction
161 style: textualButtonStyle
162 property int fontWeight: Font.DemiBold
163 }
164
165 // Slide indicator
166 Row {
167 anchors.centerIn: parent
168 height: units.gu(1)
169 spacing: units.gu(0.25)
170 Repeater {
171 model: hintsView.count
172 delegate: Rectangle {
173 property bool isCurrentSlide: model.index == hintsView.currentIndex
174 height: parent.height; width: height
175 radius: width * 0.5
176 color: hintsOverlay.__foregroundColor
177 opacity: isCurrentSlide ? 1.0 : 0.5
178 }
179 }
180 }
181 }
182
183 Component {
184 id: textualButtonStyle
185
186 Item {
187 implicitHeight: units.gu(5)
188 implicitWidth: buttonLabel.paintedWidth + units.gu(2)
189
190 Label {
191 id: buttonLabel
192 anchors.centerIn: parent
193 text: styledItem.text
194 font.weight: styledItem.fontWeight ? styledItem.fontWeight : Font.Normal
195 color: hintsOverlay.__foregroundColor
196 }
197 }
198 }
199
200 Component {
201 id: hintsOverlayStyle
202
203 FastBlur {
204 anchors.fill: parent
205 radius: 15
206 source: ShaderEffectSource {
207 sourceItem: terminalPage
208 anchors.fill: parent
209 visible: false
210
211 Rectangle {
212 anchors.fill: parent
213 color: hintsOverlay.__backgroundColor
214 opacity: 0.5
215 }
216 }
217 }
218 }
219}
0220
=== added directory 'src/app/qml/TerminalHints/graphics'
=== added file 'src/app/qml/TerminalHints/graphics/scroll_swipe@18.png'
1Binary 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 differ221Binary 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
=== added file 'src/app/qml/TerminalHints/graphics/tab_tap@18.png'
2Binary 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 differ222Binary 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
=== added file 'src/app/qml/TerminalHints/graphics/terminal-app-symbolic.svg'
--- src/app/qml/TerminalHints/graphics/terminal-app-symbolic.svg 1970-01-01 00:00:00 +0000
+++ src/app/qml/TerminalHints/graphics/terminal-app-symbolic.svg 2016-01-28 23:49:15 +0000
@@ -0,0 +1,142 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:dc="http://purl.org/dc/elements/1.1/"
6 xmlns:cc="http://creativecommons.org/ns#"
7 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8 xmlns:svg="http://www.w3.org/2000/svg"
9 xmlns="http://www.w3.org/2000/svg"
10 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12 width="96"
13 height="96"
14 id="svg4874"
15 version="1.1"
16 inkscape:version="0.91+devel r"
17 viewBox="0 0 96 96.000001"
18 sodipodi:docname="terminal-app-symbolic.svg">
19 <defs
20 id="defs4876" />
21 <sodipodi:namedview
22 id="base"
23 pagecolor="#ffffff"
24 bordercolor="#666666"
25 borderopacity="1.0"
26 inkscape:pageopacity="0.0"
27 inkscape:pageshadow="2"
28 inkscape:zoom="17.150877"
29 inkscape:cx="24.261148"
30 inkscape:cy="46.761451"
31 inkscape:document-units="px"
32 inkscape:current-layer="layer1"
33 showgrid="true"
34 showborder="true"
35 fit-margin-top="0"
36 fit-margin-left="0"
37 fit-margin-right="0"
38 fit-margin-bottom="0"
39 inkscape:snap-bbox="true"
40 inkscape:bbox-paths="true"
41 inkscape:bbox-nodes="true"
42 inkscape:snap-bbox-edge-midpoints="true"
43 inkscape:snap-bbox-midpoints="true"
44 inkscape:object-paths="true"
45 inkscape:snap-intersection-paths="true"
46 inkscape:object-nodes="true"
47 inkscape:snap-smooth-nodes="true"
48 inkscape:snap-midpoints="true"
49 inkscape:snap-object-midpoints="true"
50 inkscape:snap-center="true"
51 showguides="true"
52 inkscape:guide-bbox="true"
53 inkscape:snap-global="true">
54 <inkscape:grid
55 type="xygrid"
56 id="grid5451"
57 empspacing="8" />
58 <sodipodi:guide
59 orientation="1,0"
60 position="8,-8.0000001"
61 id="guide4063" />
62 <sodipodi:guide
63 orientation="1,0"
64 position="4,-8.0000001"
65 id="guide4065" />
66 <sodipodi:guide
67 orientation="0,1"
68 position="-8,88.000001"
69 id="guide4067" />
70 <sodipodi:guide
71 orientation="0,1"
72 position="-8,92.000001"
73 id="guide4069" />
74 <sodipodi:guide
75 orientation="0,1"
76 position="104,4"
77 id="guide4071" />
78 <sodipodi:guide
79 orientation="0,1"
80 position="-5,8.0000001"
81 id="guide4073" />
82 <sodipodi:guide
83 orientation="1,0"
84 position="88,-8.0000001"
85 id="guide4077" />
86 <sodipodi:guide
87 orientation="0,1"
88 position="-8,84.000001"
89 id="guide4074" />
90 <sodipodi:guide
91 orientation="1,0"
92 position="12,-8.0000001"
93 id="guide4076" />
94 <sodipodi:guide
95 orientation="1,0"
96 position="84,-8.0000001"
97 id="guide4080" />
98 <sodipodi:guide
99 position="48,-8.0000001"
100 orientation="1,0"
101 id="guide4170" />
102 <sodipodi:guide
103 position="-8,48"
104 orientation="0,1"
105 id="guide4172" />
106 <sodipodi:guide
107 position="92,-8.0000001"
108 orientation="1,0"
109 id="guide4760" />
110 </sodipodi:namedview>
111 <metadata
112 id="metadata4879">
113 <rdf:RDF>
114 <cc:Work
115 rdf:about="">
116 <dc:format>image/svg+xml</dc:format>
117 <dc:type
118 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
119 <dc:title />
120 </cc:Work>
121 </rdf:RDF>
122 </metadata>
123 <g
124 inkscape:label="Layer 1"
125 inkscape:groupmode="layer"
126 id="layer1"
127 transform="translate(67.857146,-78.50504)">
128 <rect
129 transform="rotate(90)"
130 y="-28.142857"
131 x="78.505051"
132 height="96"
133 width="96"
134 id="rect4782"
135 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:4;marker:none;enable-background:accumulate" />
136 <path
137 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"
138 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 "
139 transform="translate(-67.857146,78.50504)"
140 id="path4179" />
141 </g>
142</svg>
0143
=== modified file 'src/app/qml/ubuntu-terminal-app.qml'
--- src/app/qml/ubuntu-terminal-app.qml 2016-01-22 18:29:56 +0000
+++ src/app/qml/ubuntu-terminal-app.qml 2016-01-28 23:49:15 +0000
@@ -2,6 +2,7 @@
2import QtGraphicalEffects 1.02import QtGraphicalEffects 1.0
3import Ubuntu.Components 1.33import Ubuntu.Components 1.3
4import "KeyboardRows"4import "KeyboardRows"
5import "TerminalHints"
56
6import QMLTermWidget 1.07import QMLTermWidget 1.0
78
@@ -126,6 +127,10 @@
126 }127 }
127 }128 }
128129
130 TerminalHintsOverlay {
131 z: Number.MAX_VALUE
132 }
133
129 Component.onCompleted: {134 Component.onCompleted: {
130 tabsModel.selectTab(0);135 tabsModel.selectTab(0);
131 }136 }

Subscribers

People subscribed via source and target branches