@@ -0,0 +1,334 @@
1+/*
2+ * Copyright (C) 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+
17+import QtQuick 2.4
18+import QtQuick.Layouts 1.1
19+import Ubuntu.Components 1.3
20+
21+Rectangle {
22+ id: root
23+ width: topLayout.childrenRect.width + topLayout.anchors.leftMargin + topLayout.anchors.rightMargin
24+ height: topLayout.childrenRect.height + topLayout.anchors.topMargin + topLayout.anchors.bottomMargin
25+ color: theme.palette.normal.background
26+ radius: units.gu(.5)
27+
28+ readonly property int maxTextSize: (root.parent.width / 4) - padding
29+ readonly property int padding: units.gu(4)
30+
31+ Item { // dummy container to break binding loops *and* keep the margins in topLayout working
32+ GridLayout {
33+ id: topLayout
34+ anchors.fill: parent
35+ anchors.margins: padding
36+ columns: 2
37+ columnSpacing: padding
38+
39+ Label {
40+ Layout.columnSpan: 2
41+ text: i18n.tr("Keyboard Shortcuts")
42+ fontSize: "large"
43+ font.weight: Font.Light
44+ lineHeight: 1.6
45+ }
46+
47+ GridLayout {
48+ columns: 2
49+ columnSpacing: units.gu(4)
50+ Layout.alignment: Qt.AlignTop
51+
52+ // Unity 8 section
53+ Label {
54+ Layout.columnSpan: 2
55+ text: i18n.tr("Unity 8")
56+ font.weight: Font.Light
57+ color: theme.palette.normal.baseText
58+ lineHeight: 1.3
59+ }
60+
61+ Label {
62+ text: i18n.tr("PrtScr")
63+ fontSize: "small"
64+ font.weight: Font.Medium
65+ }
66+ Label {
67+ text: i18n.tr("Takes a screenshot.")
68+ fontSize: "small"
69+ font.weight: Font.Light
70+ wrapMode: Text.Wrap
71+ Layout.maximumWidth: maxTextSize
72+ }
73+
74+ Label {
75+ text: i18n.tr("Alt + PrtScr")
76+ fontSize: "small"
77+ font.weight: Font.Medium
78+ }
79+ Label {
80+ text: i18n.tr("Takes a screenshot of a window.")
81+ fontSize: "small"
82+ font.weight: Font.Light
83+ wrapMode: Text.Wrap
84+ Layout.maximumWidth: maxTextSize
85+ }
86+
87+ Label {
88+ text: i18n.tr("Super + Space")
89+ fontSize: "small"
90+ font.weight: Font.Medium
91+ }
92+ Label {
93+ text: i18n.tr("Switches to next keyboard layout.")
94+ fontSize: "small"
95+ font.weight: Font.Light
96+ wrapMode: Text.Wrap
97+ Layout.maximumWidth: maxTextSize
98+ }
99+
100+ Label {
101+ text: i18n.tr("Super + Shift + Space")
102+ fontSize: "small"
103+ font.weight: Font.Medium
104+ }
105+ Label {
106+ text: i18n.tr("Switches to previous keyboard layout.")
107+ fontSize: "small"
108+ font.weight: Font.Light
109+ wrapMode: Text.Wrap
110+ Layout.maximumWidth: maxTextSize
111+ }
112+
113+
114+ // Launcher section
115+ Item { Layout.columnSpan: 2; height: units.gu(2) }
116+ Label {
117+ Layout.columnSpan: 2
118+ text: i18n.tr("Launcher")
119+ font.weight: Font.Light
120+ color: theme.palette.normal.baseText
121+ lineHeight: 1.3
122+ }
123+
124+ Label {
125+ text: i18n.tr("Super (Hold)")
126+ fontSize: "small"
127+ font.weight: Font.Medium
128+ }
129+ Label {
130+ text: i18n.tr("Opens the launcher, displays shortcuts.")
131+ fontSize: "small"
132+ font.weight: Font.Light
133+ wrapMode: Text.Wrap
134+ Layout.maximumWidth: maxTextSize
135+ }
136+
137+ Label {
138+ text: i18n.tr("Alt + F1")
139+ fontSize: "small"
140+ font.weight: Font.Medium
141+ }
142+ Label {
143+ text: i18n.tr("Opens launcher keyboard navigation mode.")
144+ fontSize: "small"
145+ font.weight: Font.Light
146+ wrapMode: Text.Wrap
147+ Layout.maximumWidth: maxTextSize
148+ }
149+
150+ Label {
151+ text: i18n.tr("Super + Tab")
152+ fontSize: "small"
153+ font.weight: Font.Medium
154+ }
155+ Label {
156+ text: i18n.tr("Switches applications via the launcher.")
157+ fontSize: "small"
158+ font.weight: Font.Light
159+ wrapMode: Text.Wrap
160+ Layout.maximumWidth: maxTextSize
161+ }
162+
163+ Label {
164+ text: i18n.tr("Super + 0 to 9")
165+ fontSize: "small"
166+ font.weight: Font.Medium
167+ }
168+ Label {
169+ text: i18n.tr("Same as clicking on a launcher icon.")
170+ fontSize: "small"
171+ font.weight: Font.Light
172+ wrapMode: Text.Wrap
173+ Layout.maximumWidth: maxTextSize
174+ }
175+
176+
177+ // Scopes section
178+ Item { Layout.columnSpan: 2; height: units.gu(2) }
179+ Label {
180+ Layout.columnSpan: 2
181+ text: i18n.tr("Scopes")
182+ font.weight: Font.Light
183+ color: theme.palette.normal.baseText
184+ lineHeight: 1.3
185+ }
186+
187+ Label {
188+ text: i18n.tr("Super (Tap)")
189+ fontSize: "small"
190+ font.weight: Font.Medium
191+ }
192+ Label {
193+ text: i18n.tr("Opens the Scopes home.")
194+ fontSize: "small"
195+ font.weight: Font.Light
196+ wrapMode: Text.Wrap
197+ Layout.maximumWidth: maxTextSize
198+ }
199+ }
200+
201+ GridLayout {
202+ columns: 2
203+ columnSpacing: padding
204+ Layout.alignment: Qt.AlignTop
205+
206+ // Switching section
207+ Label {
208+ Layout.columnSpan: 2
209+ text: i18n.tr("Switching")
210+ font.weight: Font.Light
211+ color: theme.palette.normal.baseText
212+ lineHeight: 1.3
213+ }
214+
215+ Label {
216+ text: i18n.tr("Alt + Tab")
217+ fontSize: "small"
218+ font.weight: Font.Medium
219+ }
220+ Label {
221+ text: i18n.tr("Switches between applications.")
222+ fontSize: "small"
223+ font.weight: Font.Light
224+ wrapMode: Text.Wrap
225+ Layout.maximumWidth: maxTextSize
226+ }
227+
228+ Label {
229+ text: i18n.tr("Super + W")
230+ fontSize: "small"
231+ font.weight: Font.Medium
232+ }
233+ Label {
234+ text: i18n.tr("Opens the desktop spread.")
235+ fontSize: "small"
236+ font.weight: Font.Light
237+ wrapMode: Text.Wrap
238+ Layout.maximumWidth: maxTextSize
239+ }
240+
241+ Label {
242+ text: i18n.tr("Cursor Left or Right")
243+ fontSize: "small"
244+ font.weight: Font.Medium
245+ }
246+ Label {
247+ text: i18n.tr("Moves the focus.")
248+ fontSize: "small"
249+ font.weight: Font.Light
250+ wrapMode: Text.Wrap
251+ Layout.maximumWidth: maxTextSize
252+ }
253+
254+
255+ // Windows section
256+ Item { Layout.columnSpan: 2; height: units.gu(2) }
257+ Label {
258+ Layout.columnSpan: 2
259+ text: i18n.tr("Windows")
260+ font.weight: Font.Light
261+ color: theme.palette.normal.baseText
262+ lineHeight: 1.3
263+ }
264+
265+ Label {
266+ text: i18n.tr("Ctrl + Super + D")
267+ fontSize: "small"
268+ font.weight: Font.Medium
269+ }
270+ Label {
271+ text: i18n.tr("Minimizes all windows.")
272+ fontSize: "small"
273+ font.weight: Font.Light
274+ wrapMode: Text.Wrap
275+ Layout.maximumWidth: maxTextSize
276+ }
277+
278+ Label {
279+ text: i18n.tr("Ctrl + Super + Up")
280+ fontSize: "small"
281+ font.weight: Font.Medium
282+ }
283+ Label {
284+ text: i18n.tr("Maximizes the current window.")
285+ fontSize: "small"
286+ font.weight: Font.Light
287+ wrapMode: Text.Wrap
288+ Layout.maximumWidth: maxTextSize
289+ }
290+
291+ Label {
292+ text: i18n.tr("Ctrl + Super + Down")
293+ fontSize: "small"
294+ font.weight: Font.Medium
295+ }
296+ Label {
297+ text: i18n.tr("Minimizes or restores the current window.")
298+ fontSize: "small"
299+ font.weight: Font.Light
300+ wrapMode: Text.Wrap
301+ Layout.maximumWidth: maxTextSize
302+ }
303+
304+ Label {
305+ text: i18n.tr("Ctrl + Super + Left or Right")
306+ fontSize: "small"
307+ font.weight: Font.Medium
308+ }
309+ Label {
310+ text: i18n.tr("Semi-maximizes the current window.")
311+ fontSize: "small"
312+ font.weight: Font.Light
313+ wrapMode: Text.Wrap
314+ Layout.maximumWidth: maxTextSize
315+ }
316+
317+ Label {
318+ text: i18n.tr("Alt + F4")
319+ fontSize: "small"
320+ font.weight: Font.Medium
321+ }
322+ Label {
323+ text: i18n.tr("Closes the current window.")
324+ fontSize: "small"
325+ font.weight: Font.Light
326+ wrapMode: Text.Wrap
327+ Layout.maximumWidth: maxTextSize
328+ }
329+ }
330+
331+ Item { Layout.fillHeight: true; Layout.columnSpan: 2 } // spacer
332+ }
333+ }
334+}