Merge lp:~michael-sheldon/ubuntu-keyboard/add-latvian into lp:ubuntu-keyboard
- add-latvian
- Merge into trunk
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Bill Filler | ||||
Approved revision: | 474 | ||||
Merged at revision: | 476 | ||||
Proposed branch: | lp:~michael-sheldon/ubuntu-keyboard/add-latvian | ||||
Merge into: | lp:ubuntu-keyboard | ||||
Diff against target: |
686 lines (+508/-13) 15 files modified
debian/control (+10/-0) debian/ubuntu-keyboard-latvian.install (+1/-0) plugins/lv/lv.pro (+9/-0) plugins/lv/qml/Keyboard_lv.qml (+92/-0) plugins/lv/qml/Keyboard_lv_email.qml (+93/-0) plugins/lv/qml/Keyboard_lv_url.qml (+92/-0) plugins/lv/qml/Keyboard_lv_url_search.qml (+93/-0) plugins/lv/qml/qml.pro (+20/-0) plugins/lv/src/latvianplugin.h (+25/-0) plugins/lv/src/latvianplugin.json (+7/-0) plugins/lv/src/src.pro (+46/-0) plugins/plugins.pro (+1/-0) po/ubuntu-keyboard.pot (+17/-13) qml/keys/languages.js (+1/-0) tests/autopilot/ubuntu_keyboard/tests/test_keyboard.py (+1/-0) |
||||
To merge this branch: | bzr merge lp:~michael-sheldon/ubuntu-keyboard/add-latvian | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
system-apps-ci-bot | continuous-integration | Approve | |
Ken VanDine | packaging | Approve | |
PS Jenkins bot | continuous-integration | Pending | |
Ubuntu Phablet Team | Pending | ||
Review via email: mp+296267@code.launchpad.net |
Commit message
Add support for Latvian keyboard layout
Description of the change
Add support for Latvian keyboard layout
system-apps-ci-bot (system-apps-ci-bot) wrote : | # |
- 473. By Michael Sheldon
-
Fix ifdefs for Latvian header
system-apps-ci-bot (system-apps-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:473
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
- 474. By Michael Sheldon
-
Add Latvian layout to autopilot test dependencies
Ken VanDine (ken-vandine) wrote : | # |
Packaging looks fine
system-apps-ci-bot (system-apps-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:474
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Bill Filler (bfiller) wrote : | # |
how much space will this add to the image if we include it by default?
Preview Diff
1 | === modified file 'debian/control' |
2 | --- debian/control 2016-05-06 15:34:26 +0000 |
3 | +++ debian/control 2016-06-14 16:21:39 +0000 |
4 | @@ -102,6 +102,7 @@ |
5 | ubuntu-keyboard-icelandic (>= ${source:Version}), |
6 | ubuntu-keyboard-italian (>= ${source:Version}), |
7 | ubuntu-keyboard-japanese (>= ${source:Version}), |
8 | + ubuntu-keyboard-latvian (>= ${source:Version}), |
9 | ubuntu-keyboard-norwegian-bokmal (>= ${source:Version}), |
10 | ubuntu-keyboard-polish (>= ${source:Version}), |
11 | ubuntu-keyboard-portuguese (>= ${source:Version}), |
12 | @@ -300,6 +301,15 @@ |
13 | Description: Ubuntu on-screen keyboard data files - Japanese |
14 | Data files for the Ubuntu virtual keyboard - Japanese |
15 | |
16 | +Package: ubuntu-keyboard-latvian |
17 | +Architecture: any |
18 | +Depends: ubuntu-keyboard (= ${binary:Version}), |
19 | + myspell-lv, |
20 | + ${misc:Depends}, |
21 | + ${shlibs:Depends}, |
22 | +Description: Ubuntu on-screen keyboard data files - Latvian |
23 | + Data files for the Ubuntu virtual keyboard - Latvian |
24 | + |
25 | Package: ubuntu-keyboard-norwegian-bokmal |
26 | Architecture: any |
27 | Depends: ubuntu-keyboard (= ${binary:Version}), |
28 | |
29 | === added file 'debian/ubuntu-keyboard-latvian.install' |
30 | --- debian/ubuntu-keyboard-latvian.install 1970-01-01 00:00:00 +0000 |
31 | +++ debian/ubuntu-keyboard-latvian.install 2016-06-14 16:21:39 +0000 |
32 | @@ -0,0 +1,1 @@ |
33 | +usr/share/maliit/plugins/com/ubuntu/lib/lv/ |
34 | |
35 | === added directory 'plugins/lv' |
36 | === added file 'plugins/lv/lv.pro' |
37 | --- plugins/lv/lv.pro 1970-01-01 00:00:00 +0000 |
38 | +++ plugins/lv/lv.pro 2016-06-14 16:21:39 +0000 |
39 | @@ -0,0 +1,9 @@ |
40 | +CONFIG += ordered |
41 | +TEMPLATE = subdirs |
42 | +SUBDIRS = \ |
43 | + src \ |
44 | + qml |
45 | + |
46 | +QMAKE_EXTRA_TARGETS += check |
47 | +check.target = check |
48 | +check.CONFIG = recursive |
49 | |
50 | === added directory 'plugins/lv/qml' |
51 | === added file 'plugins/lv/qml/Keyboard_lv.qml' |
52 | --- plugins/lv/qml/Keyboard_lv.qml 1970-01-01 00:00:00 +0000 |
53 | +++ plugins/lv/qml/Keyboard_lv.qml 2016-06-14 16:21:39 +0000 |
54 | @@ -0,0 +1,92 @@ |
55 | +/* |
56 | + * Copyright 2016 Canonical Ltd. |
57 | + * |
58 | + * This program is free software; you can redistribute it and/or modify |
59 | + * it under the terms of the GNU Lesser General Public License as published by |
60 | + * the Free Software Foundation; version 3. |
61 | + * |
62 | + * This program is distributed in the hope that it will be useful, |
63 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
64 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
65 | + * GNU Lesser General Public License for more details. |
66 | + * |
67 | + * You should have received a copy of the GNU Lesser General Public License |
68 | + * along with this program. If not, see <http://www.gnu.org/licenses/>. |
69 | + */ |
70 | + |
71 | +import QtQuick 2.4 |
72 | +import "../../keys" |
73 | +import "../../keys/key_constants.js" as UI |
74 | + |
75 | +KeyPad { |
76 | + anchors.fill: parent |
77 | + |
78 | + content: c1 |
79 | + symbols: "languages/Keyboard_symbols.qml" |
80 | + |
81 | + Column { |
82 | + id: c1 |
83 | + anchors.fill: parent |
84 | + spacing: 0 |
85 | + |
86 | + Row { |
87 | + anchors.horizontalCenter: parent.horizontalCenter; |
88 | + spacing: 0 |
89 | + |
90 | + CharKey { label: "q"; shifted: "Q"; extended: ["1"]; extendedShifted: ["1"]; leftSide: true; } |
91 | + CharKey { label: "w"; shifted: "W"; extended: ["2"]; extendedShifted: ["2"] } |
92 | + CharKey { label: "e"; shifted: "E"; extended: ["3", "ē", "€"]; extendedShifted: ["3", "Ē", "€"] } |
93 | + CharKey { label: "r"; shifted: "R"; extended: ["4","ŗ"]; extendedShifted: ["4", "Ŗ"] } |
94 | + CharKey { label: "t"; shifted: "T"; extended: ["5"]; extendedShifted: ["5"] } |
95 | + CharKey { label: "y"; shifted: "Y"; extended: ["6"]; extendedShifted: ["6"] } |
96 | + CharKey { label: "u"; shifted: "U"; extended: ["7", "ū"]; extendedShifted: ["7", "Ū"] } |
97 | + CharKey { label: "i"; shifted: "I"; extended: ["8", "ī"]; extendedShifted: ["8", "Ī"] } |
98 | + CharKey { label: "o"; shifted: "O"; extended: ["9", "ō"]; extendedShifted: ["9", "Ō"] } |
99 | + CharKey { label: "p"; shifted: "P"; extended: ["0"]; extendedShifted: ["0"]; rightSide: true; } |
100 | + } |
101 | + |
102 | + Row { |
103 | + anchors.horizontalCenter: parent.horizontalCenter; |
104 | + spacing: 0 |
105 | + |
106 | + CharKey { label: "a"; shifted: "A"; extended: ["ā"]; extendedShifted: ["Ā"]; leftSide: true; } |
107 | + CharKey { label: "s"; shifted: "S"; extended: ["š","$"]; extendedShifted: ["Š","$"] } |
108 | + CharKey { label: "d"; shifted: "D"; } |
109 | + CharKey { label: "f"; shifted: "F"; } |
110 | + CharKey { label: "g"; shifted: "G"; extended: ["ģ"]; extendedShifted: ["Ģ"]; } |
111 | + CharKey { label: "h"; shifted: "H"; } |
112 | + CharKey { label: "j"; shifted: "J"; } |
113 | + CharKey { label: "k"; shifted: "K"; extended: ["ķ"]; extendedShifted: ["Ķ"]; } |
114 | + CharKey { label: "l"; shifted: "L"; extended: ["ļ"]; extendedShifted: ["Ļ"]; rightSide: true; } |
115 | + } |
116 | + |
117 | + Row { |
118 | + anchors.horizontalCenter: parent.horizontalCenter; |
119 | + spacing: 0 |
120 | + |
121 | + ShiftKey { padding: 0 } |
122 | + CharKey { label: "z"; shifted: "Z"; extended: ["ž"]; extendedShifted: ["Ž"] } |
123 | + CharKey { label: "x"; shifted: "X"; } |
124 | + CharKey { label: "c"; shifted: "C"; extended: ["č", "¢"]; extendedShifted: ["Č", "¢"] } |
125 | + CharKey { label: "v"; shifted: "V"; } |
126 | + CharKey { label: "b"; shifted: "B"; } |
127 | + CharKey { label: "n"; shifted: "N"; extended: ["ņ"]; extendedShifted: ["Ņ"] } |
128 | + CharKey { label: "m"; shifted: "M"; } |
129 | + BackspaceKey { padding: 0 } |
130 | + } |
131 | + |
132 | + Item { |
133 | + anchors.left: parent.left |
134 | + anchors.right: parent.right |
135 | + |
136 | + height: panel.keyHeight + units.gu(UI.row_margin); |
137 | + |
138 | + SymbolShiftKey { id: symShiftKey; anchors.left: parent.left; height: parent.height; } |
139 | + LanguageKey { id: languageMenuButton; anchors.left: symShiftKey.right; height: parent.height; } |
140 | + CharKey { id: commaKey; label: ","; shifted: ","; extended: ["'", "\"", ";", ":", "@", "&", "(", ")"]; extendedShifted: ["'", "\"", ";", ":", "@", "&", "(", ")"]; anchors.left: languageMenuButton.right; height: parent.height; } |
141 | + SpaceKey { id: spaceKey; anchors.left: commaKey.right; anchors.right: dotKey.left; noMagnifier: true; height: parent.height; } |
142 | + CharKey { id: dotKey; label: "."; shifted: "."; extended: ["?", "-", "_", "!", "+", "%","#","/"]; extendedShifted: ["?", "-", "_", "!", "+", "%","#","/"]; anchors.right: enterKey.left; height: parent.height; } |
143 | + ReturnKey { id: enterKey; anchors.right: parent.right; height: parent.height; } |
144 | + } |
145 | + } // column |
146 | +} |
147 | |
148 | === added file 'plugins/lv/qml/Keyboard_lv_email.qml' |
149 | --- plugins/lv/qml/Keyboard_lv_email.qml 1970-01-01 00:00:00 +0000 |
150 | +++ plugins/lv/qml/Keyboard_lv_email.qml 2016-06-14 16:21:39 +0000 |
151 | @@ -0,0 +1,93 @@ |
152 | +/* |
153 | + * Copyright 2016 Canonical Ltd. |
154 | + * |
155 | + * This program is free software; you can redistribute it and/or modify |
156 | + * it under the terms of the GNU Lesser General Public License as published by |
157 | + * the Free Software Foundation; version 3. |
158 | + * |
159 | + * This program is distributed in the hope that it will be useful, |
160 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
161 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
162 | + * GNU Lesser General Public License for more details. |
163 | + * |
164 | + * You should have received a copy of the GNU Lesser General Public License |
165 | + * along with this program. If not, see <http://www.gnu.org/licenses/>. |
166 | + */ |
167 | + |
168 | +import QtQuick 2.4 |
169 | +import "../../keys" |
170 | +import "../../keys/key_constants.js" as UI |
171 | + |
172 | +KeyPad { |
173 | + anchors.fill: parent |
174 | + |
175 | + content: c1 |
176 | + symbols: "languages/Keyboard_symbols.qml" |
177 | + |
178 | + Column { |
179 | + id: c1 |
180 | + anchors.fill: parent |
181 | + spacing: 0 |
182 | + |
183 | + Row { |
184 | + anchors.horizontalCenter: parent.horizontalCenter; |
185 | + spacing: 0 |
186 | + |
187 | + CharKey { label: "q"; shifted: "Q"; extended: ["1"]; extendedShifted: ["1"]; leftSide: true; } |
188 | + CharKey { label: "w"; shifted: "W"; extended: ["2"]; extendedShifted: ["2"] } |
189 | + CharKey { label: "e"; shifted: "E"; extended: ["3", "ē", "€"]; extendedShifted: ["3", "Ē", "€"] } |
190 | + CharKey { label: "r"; shifted: "R"; extended: ["4","ŗ"]; extendedShifted: ["4", "Ŗ"] } |
191 | + CharKey { label: "t"; shifted: "T"; extended: ["5"]; extendedShifted: ["5"] } |
192 | + CharKey { label: "y"; shifted: "Y"; extended: ["6"]; extendedShifted: ["6"] } |
193 | + CharKey { label: "u"; shifted: "U"; extended: ["7", "ū"]; extendedShifted: ["7", "Ū"] } |
194 | + CharKey { label: "i"; shifted: "I"; extended: ["8", "ī"]; extendedShifted: ["8", "Ī"] } |
195 | + CharKey { label: "o"; shifted: "O"; extended: ["9", "ō"]; extendedShifted: ["9", "Ō"] } |
196 | + CharKey { label: "p"; shifted: "P"; extended: ["0"]; extendedShifted: ["0"]; rightSide: true; } |
197 | + } |
198 | + |
199 | + Row { |
200 | + anchors.horizontalCenter: parent.horizontalCenter; |
201 | + spacing: 0 |
202 | + |
203 | + CharKey { label: "a"; shifted: "A"; extended: ["ā"]; extendedShifted: ["Ā"]; leftSide: true; } |
204 | + CharKey { label: "s"; shifted: "S"; extended: ["š","$"]; extendedShifted: ["Š","$"] } |
205 | + CharKey { label: "d"; shifted: "D"; } |
206 | + CharKey { label: "f"; shifted: "F"; } |
207 | + CharKey { label: "g"; shifted: "G"; extended: ["ģ"]; extendedShifted: ["Ģ"]; } |
208 | + CharKey { label: "h"; shifted: "H"; } |
209 | + CharKey { label: "j"; shifted: "J"; } |
210 | + CharKey { label: "k"; shifted: "K"; extended: ["ķ"]; extendedShifted: ["Ķ"]; } |
211 | + CharKey { label: "l"; shifted: "L"; extended: ["ļ"]; extendedShifted: ["Ļ"]; rightSide: true; } |
212 | + } |
213 | + |
214 | + Row { |
215 | + anchors.horizontalCenter: parent.horizontalCenter; |
216 | + spacing: 0 |
217 | + |
218 | + ShiftKey { padding: 0 } |
219 | + CharKey { label: "z"; shifted: "Z"; extended: ["ž"]; extendedShifted: ["Ž"] } |
220 | + CharKey { label: "x"; shifted: "X"; } |
221 | + CharKey { label: "c"; shifted: "C"; extended: ["č", "¢"]; extendedShifted: ["Č", "¢"] } |
222 | + CharKey { label: "v"; shifted: "V"; } |
223 | + CharKey { label: "b"; shifted: "B"; } |
224 | + CharKey { label: "n"; shifted: "N"; extended: ["ņ"]; extendedShifted: ["Ņ"] } |
225 | + CharKey { label: "m"; shifted: "M"; } |
226 | + BackspaceKey { padding: 0 } |
227 | + } |
228 | + |
229 | + Item { |
230 | + anchors.left: parent.left |
231 | + anchors.right: parent.right |
232 | + |
233 | + height: panel.keyHeight + units.gu(UI.row_margin); |
234 | + |
235 | + SymbolShiftKey { id: symShiftKey; anchors.left: parent.left; height: parent.height; } |
236 | + LanguageKey { id: languageMenuButton; anchors.left: symShiftKey.right; height: parent.height; } |
237 | + CharKey { id: atKey; label: "@"; shifted: "@"; anchors.left: languageMenuButton.right; height: parent.height; } |
238 | + SpaceKey { id: spaceKey; anchors.left: atKey.right; anchors.right: urlKey.left; noMagnifier: true; height: parent.height; } |
239 | + UrlKey { id: urlKey; label: ".lv"; extended: [".gov.lv", ".com", ".net", ".org", ".edu", ".gov"]; anchors.right: dotKey.left; height: parent.height; } |
240 | + CharKey { id: dotKey; label: "."; shifted: "."; extended: ["?", "-", "_", "!", "+", "%","#","/"]; extendedShifted: ["?", "-", "_", "!", "+", "%","#","/"]; anchors.right: enterKey.left; height: parent.height; } |
241 | + ReturnKey { id: enterKey; anchors.right: parent.right; height: parent.height; } |
242 | + } |
243 | + } // column |
244 | +} |
245 | |
246 | === added file 'plugins/lv/qml/Keyboard_lv_url.qml' |
247 | --- plugins/lv/qml/Keyboard_lv_url.qml 1970-01-01 00:00:00 +0000 |
248 | +++ plugins/lv/qml/Keyboard_lv_url.qml 2016-06-14 16:21:39 +0000 |
249 | @@ -0,0 +1,92 @@ |
250 | +/* |
251 | + * Copyright 2016 Canonical Ltd. |
252 | + * |
253 | + * This program is free software; you can redistribute it and/or modify |
254 | + * it under the terms of the GNU Lesser General Public License as published by |
255 | + * the Free Software Foundation; version 3. |
256 | + * |
257 | + * This program is distributed in the hope that it will be useful, |
258 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
259 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
260 | + * GNU Lesser General Public License for more details. |
261 | + * |
262 | + * You should have received a copy of the GNU Lesser General Public License |
263 | + * along with this program. If not, see <http://www.gnu.org/licenses/>. |
264 | + */ |
265 | + |
266 | +import QtQuick 2.4 |
267 | +import "../../keys" |
268 | +import "../../keys/key_constants.js" as UI |
269 | + |
270 | +KeyPad { |
271 | + anchors.fill: parent |
272 | + |
273 | + content: c1 |
274 | + symbols: "languages/Keyboard_symbols.qml" |
275 | + |
276 | + Column { |
277 | + id: c1 |
278 | + anchors.fill: parent |
279 | + spacing: 0 |
280 | + |
281 | + Row { |
282 | + anchors.horizontalCenter: parent.horizontalCenter; |
283 | + spacing: 0 |
284 | + |
285 | + CharKey { label: "q"; shifted: "Q"; extended: ["1"]; extendedShifted: ["1"]; leftSide: true; } |
286 | + CharKey { label: "w"; shifted: "W"; extended: ["2"]; extendedShifted: ["2"] } |
287 | + CharKey { label: "e"; shifted: "E"; extended: ["3", "ē", "€"]; extendedShifted: ["3", "Ē", "€"] } |
288 | + CharKey { label: "r"; shifted: "R"; extended: ["4","ŗ"]; extendedShifted: ["4", "Ŗ"] } |
289 | + CharKey { label: "t"; shifted: "T"; extended: ["5"]; extendedShifted: ["5"] } |
290 | + CharKey { label: "y"; shifted: "Y"; extended: ["6"]; extendedShifted: ["6"] } |
291 | + CharKey { label: "u"; shifted: "U"; extended: ["7", "ū"]; extendedShifted: ["7", "Ū"] } |
292 | + CharKey { label: "i"; shifted: "I"; extended: ["8", "ī"]; extendedShifted: ["8", "Ī"] } |
293 | + CharKey { label: "o"; shifted: "O"; extended: ["9", "ō"]; extendedShifted: ["9", "Ō"] } |
294 | + CharKey { label: "p"; shifted: "P"; extended: ["0"]; extendedShifted: ["0"]; rightSide: true; } |
295 | + } |
296 | + |
297 | + Row { |
298 | + anchors.horizontalCenter: parent.horizontalCenter; |
299 | + spacing: 0 |
300 | + |
301 | + CharKey { label: "a"; shifted: "A"; extended: ["ā"]; extendedShifted: ["Ā"]; leftSide: true; } |
302 | + CharKey { label: "s"; shifted: "S"; extended: ["š","$"]; extendedShifted: ["Š","$"] } |
303 | + CharKey { label: "d"; shifted: "D"; } |
304 | + CharKey { label: "f"; shifted: "F"; } |
305 | + CharKey { label: "g"; shifted: "G"; extended: ["ģ"]; extendedShifted: ["Ģ"]; } |
306 | + CharKey { label: "h"; shifted: "H"; } |
307 | + CharKey { label: "j"; shifted: "J"; } |
308 | + CharKey { label: "k"; shifted: "K"; extended: ["ķ"]; extendedShifted: ["Ķ"]; } |
309 | + CharKey { label: "l"; shifted: "L"; extended: ["ļ"]; extendedShifted: ["Ļ"]; rightSide: true; } |
310 | + } |
311 | + |
312 | + Row { |
313 | + anchors.horizontalCenter: parent.horizontalCenter; |
314 | + spacing: 0 |
315 | + |
316 | + ShiftKey { padding: 0 } |
317 | + CharKey { label: "z"; shifted: "Z"; extended: ["ž"]; extendedShifted: ["Ž"] } |
318 | + CharKey { label: "x"; shifted: "X"; } |
319 | + CharKey { label: "c"; shifted: "C"; extended: ["č", "¢"]; extendedShifted: ["Č", "¢"] } |
320 | + CharKey { label: "v"; shifted: "V"; } |
321 | + CharKey { label: "b"; shifted: "B"; } |
322 | + CharKey { label: "n"; shifted: "N"; extended: ["ņ"]; extendedShifted: ["Ņ"] } |
323 | + CharKey { label: "m"; shifted: "M"; } |
324 | + BackspaceKey { padding: 0 } |
325 | + } |
326 | + |
327 | + Item { |
328 | + anchors.left: parent.left |
329 | + anchors.right: parent.right |
330 | + |
331 | + height: panel.keyHeight + units.gu(UI.row_margin); |
332 | + |
333 | + SymbolShiftKey { id: symShiftKey; anchors.left: parent.left; height: parent.height; } |
334 | + LanguageKey { id: languageMenuButton; anchors.left: symShiftKey.right; height: parent.height; } |
335 | + CharKey { id: slashKey; label: "/"; shifted: "/"; anchors.left: languageMenuButton.right; height: parent.height; } |
336 | + UrlKey { id: urlKey; label: ".lv"; extended: [".gov.lv", ".com", ".net", ".org", ".edu", ".gov"]; anchors.right: dotKey.left; height: parent.height; } |
337 | + CharKey { id: dotKey; label: "."; shifted: "."; extended: ["?", "-", "_", "!", "+", "%","#","/"]; extendedShifted: ["?", "-", "_", "!", "+", "%","#","/"]; anchors.right: enterKey.left; height: parent.height; } |
338 | + ReturnKey { id: enterKey; anchors.right: parent.right; height: parent.height; } |
339 | + } |
340 | + } // column |
341 | +} |
342 | |
343 | === added file 'plugins/lv/qml/Keyboard_lv_url_search.qml' |
344 | --- plugins/lv/qml/Keyboard_lv_url_search.qml 1970-01-01 00:00:00 +0000 |
345 | +++ plugins/lv/qml/Keyboard_lv_url_search.qml 2016-06-14 16:21:39 +0000 |
346 | @@ -0,0 +1,93 @@ |
347 | +/* |
348 | + * Copyright 2016 Canonical Ltd. |
349 | + * |
350 | + * This program is free software; you can redistribute it and/or modify |
351 | + * it under the terms of the GNU Lesser General Public License as published by |
352 | + * the Free Software Foundation; version 3. |
353 | + * |
354 | + * This program is distributed in the hope that it will be useful, |
355 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
356 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
357 | + * GNU Lesser General Public License for more details. |
358 | + * |
359 | + * You should have received a copy of the GNU Lesser General Public License |
360 | + * along with this program. If not, see <http://www.gnu.org/licenses/>. |
361 | + */ |
362 | + |
363 | +import QtQuick 2.4 |
364 | +import "../../keys" |
365 | +import "../../keys/key_constants.js" as UI |
366 | + |
367 | +KeyPad { |
368 | + anchors.fill: parent |
369 | + |
370 | + content: c1 |
371 | + symbols: "languages/Keyboard_symbols.qml" |
372 | + |
373 | + Column { |
374 | + id: c1 |
375 | + anchors.fill: parent |
376 | + spacing: 0 |
377 | + |
378 | + Row { |
379 | + anchors.horizontalCenter: parent.horizontalCenter; |
380 | + spacing: 0 |
381 | + |
382 | + CharKey { label: "q"; shifted: "Q"; extended: ["1"]; extendedShifted: ["1"]; leftSide: true; } |
383 | + CharKey { label: "w"; shifted: "W"; extended: ["2"]; extendedShifted: ["2"] } |
384 | + CharKey { label: "e"; shifted: "E"; extended: ["3", "ē", "€"]; extendedShifted: ["3", "Ē", "€"] } |
385 | + CharKey { label: "r"; shifted: "R"; extended: ["4","ŗ"]; extendedShifted: ["4", "Ŗ"] } |
386 | + CharKey { label: "t"; shifted: "T"; extended: ["5"]; extendedShifted: ["5"] } |
387 | + CharKey { label: "y"; shifted: "Y"; extended: ["6"]; extendedShifted: ["6"] } |
388 | + CharKey { label: "u"; shifted: "U"; extended: ["7", "ū"]; extendedShifted: ["7", "Ū"] } |
389 | + CharKey { label: "i"; shifted: "I"; extended: ["8", "ī"]; extendedShifted: ["8", "Ī"] } |
390 | + CharKey { label: "o"; shifted: "O"; extended: ["9", "ō"]; extendedShifted: ["9", "Ō"] } |
391 | + CharKey { label: "p"; shifted: "P"; extended: ["0"]; extendedShifted: ["0"]; rightSide: true; } |
392 | + } |
393 | + |
394 | + Row { |
395 | + anchors.horizontalCenter: parent.horizontalCenter; |
396 | + spacing: 0 |
397 | + |
398 | + CharKey { label: "a"; shifted: "A"; extended: ["ā"]; extendedShifted: ["Ā"]; leftSide: true; } |
399 | + CharKey { label: "s"; shifted: "S"; extended: ["š","$"]; extendedShifted: ["Š","$"] } |
400 | + CharKey { label: "d"; shifted: "D"; } |
401 | + CharKey { label: "f"; shifted: "F"; } |
402 | + CharKey { label: "g"; shifted: "G"; extended: ["ģ"]; extendedShifted: ["Ģ"]; } |
403 | + CharKey { label: "h"; shifted: "H"; } |
404 | + CharKey { label: "j"; shifted: "J"; } |
405 | + CharKey { label: "k"; shifted: "K"; extended: ["ķ"]; extendedShifted: ["Ķ"]; } |
406 | + CharKey { label: "l"; shifted: "L"; extended: ["ļ"]; extendedShifted: ["Ļ"]; rightSide: true; } |
407 | + } |
408 | + |
409 | + Row { |
410 | + anchors.horizontalCenter: parent.horizontalCenter; |
411 | + spacing: 0 |
412 | + |
413 | + ShiftKey { padding: 0 } |
414 | + CharKey { label: "z"; shifted: "Z"; extended: ["ž"]; extendedShifted: ["Ž"] } |
415 | + CharKey { label: "x"; shifted: "X"; } |
416 | + CharKey { label: "c"; shifted: "C"; extended: ["č", "¢"]; extendedShifted: ["Č", "¢"] } |
417 | + CharKey { label: "v"; shifted: "V"; } |
418 | + CharKey { label: "b"; shifted: "B"; } |
419 | + CharKey { label: "n"; shifted: "N"; extended: ["ņ"]; extendedShifted: ["Ņ"] } |
420 | + CharKey { label: "m"; shifted: "M"; } |
421 | + BackspaceKey { padding: 0 } |
422 | + } |
423 | + |
424 | + Item { |
425 | + anchors.left: parent.left |
426 | + anchors.right: parent.right |
427 | + |
428 | + height: panel.keyHeight + units.gu(UI.row_margin); |
429 | + |
430 | + SymbolShiftKey { id: symShiftKey; anchors.left: parent.left; height: parent.height; } |
431 | + LanguageKey { id: languageMenuButton; anchors.left: symShiftKey.right; height: parent.height; } |
432 | + CharKey { id: slashKey; label: "/"; shifted: "/"; anchors.left: languageMenuButton.right; height: parent.height; } |
433 | + SpaceKey { id: spaceKey; anchors.left: slashKey.right; anchors.right: urlKey.left; noMagnifier: true; height: parent.height; } |
434 | + UrlKey { id: urlKey; label: ".lv"; extended: [".gov.lv", ".com", ".net", ".org", ".edu", ".gov"]; anchors.right: dotKey.left; height: parent.height; } |
435 | + CharKey { id: dotKey; label: "."; shifted: "."; extended: ["?", "-", "_", "!", "+", "%","#","/"]; extendedShifted: ["?", "-", "_", "!", "+", "%","#","/"]; anchors.right: enterKey.left; height: parent.height; } |
436 | + ReturnKey { id: enterKey; anchors.right: parent.right; height: parent.height; } |
437 | + } |
438 | + } // column |
439 | +} |
440 | |
441 | === added file 'plugins/lv/qml/qml.pro' |
442 | --- plugins/lv/qml/qml.pro 1970-01-01 00:00:00 +0000 |
443 | +++ plugins/lv/qml/qml.pro 2016-06-14 16:21:39 +0000 |
444 | @@ -0,0 +1,20 @@ |
445 | +TOP_BUILDDIR = $$OUT_PWD/../../.. |
446 | +TOP_SRCDIR = $$PWD/../../.. |
447 | + |
448 | +include($${TOP_SRCDIR}/config.pri) |
449 | + |
450 | +TARGET = dummy |
451 | +TEMPLATE = lib |
452 | + |
453 | +lang_lv.path = "$${UBUNTU_KEYBOARD_LIB_DIR}/lv/" |
454 | +lang_lv.files = *.qml *.js |
455 | + |
456 | +INSTALLS += lang_lv |
457 | + |
458 | +# for QtCreator |
459 | +OTHER_FILES += \ |
460 | + Keyboard_lv.qml \ |
461 | + Keyboard_lv_email.qml \ |
462 | + Keyboard_lv_url.qml \ |
463 | + Keyboard_lv_url_search.qml |
464 | + |
465 | |
466 | === added directory 'plugins/lv/src' |
467 | === added file 'plugins/lv/src/database_lv.db' |
468 | Binary files plugins/lv/src/database_lv.db 1970-01-01 00:00:00 +0000 and plugins/lv/src/database_lv.db 2016-06-14 16:21:39 +0000 differ |
469 | === added file 'plugins/lv/src/free_ebook.txt' |
470 | === added file 'plugins/lv/src/latvianplugin.h' |
471 | --- plugins/lv/src/latvianplugin.h 1970-01-01 00:00:00 +0000 |
472 | +++ plugins/lv/src/latvianplugin.h 2016-06-14 16:21:39 +0000 |
473 | @@ -0,0 +1,25 @@ |
474 | +#ifndef LATVIANPLUGIN_H |
475 | +#define LATVIANPLUGIN_H |
476 | + |
477 | +#include <QObject> |
478 | +#include "languageplugininterface.h" |
479 | +#include "westernlanguagesplugin.h" |
480 | + |
481 | +class LatvianPlugin : public WesternLanguagesPlugin |
482 | +{ |
483 | + Q_OBJECT |
484 | + Q_INTERFACES(LanguagePluginInterface) |
485 | + Q_PLUGIN_METADATA(IID "org.qt-project.Qt.Examples.LatvianPlugin" FILE "latvianplugin.json") |
486 | + |
487 | +public: |
488 | + explicit LatvianPlugin(QObject* parent = 0) |
489 | + : WesternLanguagesPlugin(parent) |
490 | + { |
491 | + } |
492 | + |
493 | + virtual ~LatvianPlugin() |
494 | + { |
495 | + } |
496 | +}; |
497 | + |
498 | +#endif // LATVIANPLUGIN_H |
499 | |
500 | === added file 'plugins/lv/src/latvianplugin.json' |
501 | --- plugins/lv/src/latvianplugin.json 1970-01-01 00:00:00 +0000 |
502 | +++ plugins/lv/src/latvianplugin.json 2016-06-14 16:21:39 +0000 |
503 | @@ -0,0 +1,7 @@ |
504 | +{ |
505 | + "IID": "org.qt-project.Qt.Examples.LatvianPlugin", |
506 | + "MetaData": { |
507 | + }, |
508 | + "className": "LatvianPlugin", |
509 | + "debug": true |
510 | +} |
511 | |
512 | === added file 'plugins/lv/src/src.pro' |
513 | --- plugins/lv/src/src.pro 1970-01-01 00:00:00 +0000 |
514 | +++ plugins/lv/src/src.pro 2016-06-14 16:21:39 +0000 |
515 | @@ -0,0 +1,46 @@ |
516 | +TOP_BUILDDIR = $$OUT_PWD/../../.. |
517 | +TOP_SRCDIR = $$PWD/../../.. |
518 | + |
519 | +include($${TOP_SRCDIR}/config.pri) |
520 | + |
521 | +TEMPLATE = lib |
522 | +CONFIG += plugin |
523 | +QT += widgets |
524 | +INCLUDEPATH += \ |
525 | + $${TOP_SRCDIR}/src/ \ |
526 | + $${TOP_SRCDIR}/src/lib/ \ |
527 | + $${TOP_SRCDIR}/src/lib/logic/ |
528 | + $${TOP_SRCDIR}/plugins/westernsupport |
529 | + |
530 | +HEADERS = \ |
531 | + latvianplugin.h |
532 | + |
533 | +TARGET = $$qtLibraryTarget(lvplugin) |
534 | + |
535 | +EXAMPLE_FILES = latvianplugin.json |
536 | + |
537 | +# generate database for presage: |
538 | +PLUGIN_INSTALL_PATH = $${UBUNTU_KEYBOARD_LIB_DIR}/lv/ |
539 | + |
540 | +lang_db_lv.commands += \ |
541 | + rm -f $$PWD/database_lv.db && \ |
542 | + text2ngram -n 1 -l -f sqlite -o $$PWD/database_lv.db $$PWD/free_ebook.txt && \ |
543 | + text2ngram -n 2 -l -f sqlite -o $$PWD/database_lv.db $$PWD/free_ebook.txt && \ |
544 | + text2ngram -n 3 -l -f sqlite -o $$PWD/database_lv.db $$PWD/free_ebook.txt |
545 | +lang_db_lv.files += $$PWD/database_lv.db |
546 | +lang_db_lv_install.path = $$PLUGIN_INSTALL_PATH |
547 | +lang_db_lv_install.files += $$PWD/database_lv.db |
548 | + |
549 | +QMAKE_EXTRA_TARGETS += lang_db_lv lang_db_lv_install |
550 | + |
551 | +target.path = $$PLUGIN_INSTALL_PATH |
552 | +INSTALLS += target lang_db_lv_install |
553 | + |
554 | +OTHER_FILES += \ |
555 | + latvianplugin.json \ |
556 | + free_ebook.txt |
557 | + |
558 | +LIBS += $${TOP_BUILDDIR}/plugins/plugins/libwesternsupport.a -lpresage -lhunspell |
559 | + |
560 | +INCLUDEPATH += $$PWD/../../westernsupport |
561 | +DEPENDPATH += $$PWD/../../westernsupport |
562 | |
563 | === modified file 'plugins/plugins.pro' |
564 | --- plugins/plugins.pro 2016-03-29 14:19:40 +0000 |
565 | +++ plugins/plugins.pro 2016-06-14 16:21:39 +0000 |
566 | @@ -22,6 +22,7 @@ |
567 | is \ |
568 | it \ |
569 | ja \ |
570 | + lv \ |
571 | nb \ |
572 | nl \ |
573 | pl \ |
574 | |
575 | === modified file 'po/ubuntu-keyboard.pot' |
576 | --- po/ubuntu-keyboard.pot 2016-04-28 11:46:45 +0000 |
577 | +++ po/ubuntu-keyboard.pot 2016-06-14 16:21:39 +0000 |
578 | @@ -1,6 +1,6 @@ |
579 | # SOME DESCRIPTIVE TITLE. |
580 | # Copyright (C) YEAR Canonical Ltd. |
581 | -# This file is distributed under the same license as the PACKAGE package. |
582 | +# This file is distributed under the same license as the ubuntu-keyboard package. |
583 | # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
584 | # |
585 | #, fuzzy |
586 | @@ -8,7 +8,7 @@ |
587 | msgstr "" |
588 | "Project-Id-Version: ubuntu-keyboard\n" |
589 | "Report-Msgid-Bugs-To: \n" |
590 | -"POT-Creation-Date: 2016-04-28 11:45+0000\n" |
591 | +"POT-Creation-Date: 2016-06-02 00:06+0100\n" |
592 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
593 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
594 | "Language-Team: LANGUAGE <LL@li.org>\n" |
595 | @@ -102,52 +102,56 @@ |
596 | msgstr "" |
597 | |
598 | #: ../qml/keys/languages.js:39 |
599 | +msgid "Latvian" |
600 | +msgstr "" |
601 | + |
602 | +#: ../qml/keys/languages.js:40 |
603 | msgid "Dutch" |
604 | msgstr "" |
605 | |
606 | -#: ../qml/keys/languages.js:40 |
607 | +#: ../qml/keys/languages.js:41 |
608 | msgid "Norwegian" |
609 | msgstr "" |
610 | |
611 | -#: ../qml/keys/languages.js:41 |
612 | +#: ../qml/keys/languages.js:42 |
613 | msgid "Polish" |
614 | msgstr "" |
615 | |
616 | -#: ../qml/keys/languages.js:42 |
617 | +#: ../qml/keys/languages.js:43 |
618 | msgid "Portuguese" |
619 | msgstr "" |
620 | |
621 | -#: ../qml/keys/languages.js:43 |
622 | +#: ../qml/keys/languages.js:44 |
623 | msgid "Romanian" |
624 | msgstr "" |
625 | |
626 | -#: ../qml/keys/languages.js:44 |
627 | +#: ../qml/keys/languages.js:45 |
628 | msgid "Russian" |
629 | msgstr "" |
630 | |
631 | -#: ../qml/keys/languages.js:45 |
632 | +#: ../qml/keys/languages.js:46 |
633 | msgid "Slovenian" |
634 | msgstr "" |
635 | |
636 | -#: ../qml/keys/languages.js:46 |
637 | +#: ../qml/keys/languages.js:47 |
638 | msgid "Serbian" |
639 | msgstr "" |
640 | |
641 | -#: ../qml/keys/languages.js:47 |
642 | +#: ../qml/keys/languages.js:48 |
643 | msgid "Swedish" |
644 | msgstr "" |
645 | |
646 | -#: ../qml/keys/languages.js:48 |
647 | +#: ../qml/keys/languages.js:49 |
648 | msgid "Ukrainian" |
649 | msgstr "" |
650 | |
651 | -#: ../qml/keys/languages.js:49 |
652 | +#: ../qml/keys/languages.js:50 |
653 | msgid "" |
654 | "Chinese\n" |
655 | "(Pinyin)" |
656 | msgstr "" |
657 | |
658 | -#: ../qml/keys/languages.js:50 |
659 | +#: ../qml/keys/languages.js:51 |
660 | msgid "" |
661 | "Chinese\n" |
662 | "(Chewing)" |
663 | |
664 | === modified file 'qml/keys/languages.js' |
665 | --- qml/keys/languages.js 2016-04-18 15:23:00 +0000 |
666 | +++ qml/keys/languages.js 2016-06-14 16:21:39 +0000 |
667 | @@ -36,6 +36,7 @@ |
668 | if (languageId == "is") return i18n.tr("Icelandic"); |
669 | if (languageId == "it") return i18n.tr("Italian"); |
670 | if (languageId == "ja") return i18n.tr("Japanese"); |
671 | + if (languageId == "lv") return i18n.tr("Latvian"); |
672 | if (languageId == "nl") return i18n.tr("Dutch"); |
673 | if (languageId == "nb") return i18n.tr("Norwegian"); |
674 | if (languageId == "pl") return i18n.tr("Polish"); |
675 | |
676 | === modified file 'tests/autopilot/ubuntu_keyboard/tests/test_keyboard.py' |
677 | --- tests/autopilot/ubuntu_keyboard/tests/test_keyboard.py 2016-04-28 00:42:26 +0000 |
678 | +++ tests/autopilot/ubuntu_keyboard/tests/test_keyboard.py 2016-06-14 16:21:39 +0000 |
679 | @@ -1424,6 +1424,7 @@ |
680 | ("hu", ".hu", "test"), |
681 | ("is", ".is", "tæst"), |
682 | ("it", ".it", "test"), |
683 | + ("lv", ".lv", "test"), |
684 | ("nb", ".no", "bokmål"), |
685 | ("nl", ".nl", "test"), |
686 | ("pl", ".pl", "tęst"), |
FAILED: Continuous integration, rev:472 /jenkins. canonical. com/system- apps/job/ lp-ubuntu- keyboard- ci/1/ /jenkins. canonical. com/system- apps/job/ build/533 /jenkins. canonical. com/system- apps/job/ test-0- autopkgtest/ label=phone- armhf,release= vivid+overlay, testname= default/ 51/console /jenkins. canonical. com/system- apps/job/ build-0- fetch/533 /jenkins. canonical. com/system- apps/job/ build-1- sourcepkg/ release= vivid+overlay/ 524 /jenkins. canonical. com/system- apps/job/ build-1- sourcepkg/ release= xenial/ 524 /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=amd64, release= vivid+overlay/ 520 /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=amd64, release= vivid+overlay/ 520/artifact/ output/ *zip*/output. zip /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=amd64, release= xenial/ 520 /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=amd64, release= xenial/ 520/artifact/ output/ *zip*/output. zip /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=armhf, release= vivid+overlay/ 520 /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=armhf, release= vivid+overlay/ 520/artifact/ output/ *zip*/output. zip /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=armhf, release= xenial/ 520 /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=armhf, release= xenial/ 520/artifact/ output/ *zip*/output. zip /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=i386, release= vivid+overlay/ 520 /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=i386, release= vivid+overlay/ 520/artifact/ output/ *zip*/output. zip /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=i386, release= xenial/ 520 /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=i386, release= xenial/ 520/artifact/ output/ *zip*/output. zip
https:/
Executed test runs:
SUCCESS: https:/
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild: /jenkins. canonical. com/system- apps/job/ lp-ubuntu- keyboard- ci/1/rebuild
https:/