Merge lp:~thomas-moenicke/phablet-extras/maliit-plugins-layout-context into lp:phablet-extras/maliit-plugins
- maliit-plugins-layout-context
- Merge into maliit-plugins
Status: | Merged |
---|---|
Approved by: | Bill Filler |
Approved revision: | 2148 |
Merged at revision: | 2135 |
Proposed branch: | lp:~thomas-moenicke/phablet-extras/maliit-plugins-layout-context |
Merge into: | lp:phablet-extras/maliit-plugins |
Diff against target: |
1131 lines (+702/-88) 18 files modified
debian/changelog (+1/-1) maliit-keyboard/data/languages/url.xml (+484/-0) maliit-keyboard/lib/logic/keyareaconverter.cpp (+1/-0) maliit-keyboard/lib/logic/layoutupdater.cpp (+3/-8) maliit-keyboard/lib/models/wordribbon.cpp (+2/-2) maliit-keyboard/lib/models/wordribbon.h (+1/-1) maliit-keyboard/maliit-keyboard.pro (+1/-0) maliit-keyboard/plugin/inputmethod.cpp (+31/-65) maliit-keyboard/plugin/inputmethod.h (+1/-2) maliit-keyboard/qml/Keyboard.qml (+5/-2) maliit-keyboard/tests/common/inputmethodhostprobe.cpp (+15/-0) maliit-keyboard/tests/common/inputmethodhostprobe.h (+5/-2) maliit-keyboard/tests/editor/editor.pro (+5/-4) maliit-keyboard/tests/tests.pro (+2/-1) maliit-keyboard/tests/wordengine/.bzrignore (+4/-0) maliit-keyboard/tests/wordengine/main.cpp (+114/-0) maliit-keyboard/tests/wordengine/wordengine.pro (+16/-0) unittests.sh (+11/-0) |
To merge this branch: | bzr merge lp:~thomas-moenicke/phablet-extras/maliit-plugins-layout-context |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Bill Filler (community) | Approve | ||
PS Jenkins bot | continuous-integration | Approve | |
Review via email: mp+175228@code.launchpad.net |
Commit message
support for inputmethod hints: ImhNoPredictiveText implemented
switching wordribbon on/off at runtime
Description of the change
support for inputmethod hints: ImhNoPredictiveText implemented
switching wordribbon on/off at runtime
PS Jenkins bot (ps-jenkins) wrote : | # |
- 2139. By Thomas Moenicke
-
fix merge conflict
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:2139
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 2140. By Thomas Moenicke
-
fixed a race condition that could crash the plugin when wordengine was enabled
changed debian package dependency to 0.99 (instead of 0.99+git...)
Thomas Moenicke (thomas-moenicke) wrote : | # |
tested on GN
Thomas Moenicke (thomas-moenicke) wrote : | # |
in order to not see an empty word ribbon, we should enable the word engine in the settings file:
https:/
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:2140
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Thomas Moenicke (thomas-moenicke) wrote : | # |
tested again, downloaded these jenkins packages and flashed the phone with -b
also, /etc/xdg/
pluginsettings\
Notepad shows wordribbon, while browser does not: Qt.ImhNoPredici
Bill Filler (bfiller) wrote : | # |
get rid of the changelog entry that bumps the version because we can't release this until the new maliit-framework gets released as it only works with the new maliit-framework. But we can merge it if we remove the changelog entry. Seems to work well with the new maliit-framework but incorrectly shows a blank word ribbon bar with the old framework when predictive text is disabled.
- 2141. By Thomas Moenicke
-
remove changelog bump
Thomas Moenicke (thomas-moenicke) wrote : | # |
done
it should work with both maliit-framework verions as I changed the version
check to this:
Depends: maliit-framework (>= 0.99),
Anyways I removed it
On Mon, Jul 22, 2013 at 6:47 PM, Bill Filler <email address hidden>wrote:
> Review: Needs Fixing
>
> get rid of the changelog entry that bumps the version because we can't
> release this until the new maliit-framework gets released as it only works
> with the new maliit-framework. But we can merge it if we remove the
> changelog entry. Seems to work well with the new maliit-framework but
> incorrectly shows a blank word ribbon bar with the old framework when
> predictive text is disabled.
> --
>
> https:/
> You are the owner of
> lp:~thomas-moenicke/phablet-extras/maliit-plugins-layout-context.
>
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:2141
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 2142. By Thomas Moenicke
-
fixed an issue that showed text blue even if word engine is off
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:2142
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 2143. By Thomas Moenicke
-
fixed issue of not showing wordribbon after using the browser: LayoutUpdater created a new instance of WordRibbon on every setWordRibbonVi
sible
improved Model: not resetting model when appending a wordcandidate - 2144. By Thomas Moenicke
-
merge: no change rebuild against maliit-framework in archive
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:2144
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 2145. By Thomas Moenicke
-
adding unittests for WordRibbon
- 2146. By Thomas Moenicke
-
adding unittest runner script
removed debug output from unittest
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:2146
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 2147. By Thomas Moenicke
-
enabled editor unittests
- 2148. By Thomas Moenicke
-
server.conf settings overwrite inputMethodHints
e.g. word_engine_enabled = false hides the wordribbon/engine no matter what the inputMethodFlag says
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:2147
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:2148
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Bill Filler (bfiller) wrote : | # |
tested and working pretty well. going to approve but a few things need fixing. do that in another MR
1) the url layout never gets enabled
+
722 + if (d->host-
723 + setActiveSubVie
724 +
I never see this code being executed and the layout changing with the .com key showing
2) It's nice in notepad with word prediction turned on it auto-capatilizes the first letter after typing a period. We should try and always auto-capatilize after the period even in word prediction turned off.
Preview Diff
1 | === modified file 'debian/changelog' | |||
2 | --- debian/changelog 2013-07-25 15:41:34 +0000 | |||
3 | +++ debian/changelog 2013-07-29 14:19:29 +0000 | |||
4 | @@ -8,7 +8,7 @@ | |||
5 | 8 | 8 | ||
6 | 9 | * fix reporting wrong keyboard rectangle | 9 | * fix reporting wrong keyboard rectangle |
7 | 10 | 10 | ||
9 | 11 | -- Thomas Moenicke <thomas@pachamama> Wed, 10 Jul 2013 14:10:11 +0200 | 11 | -- Thomas Moenicke <thomas@pachamama> Fri, 05 Jul 2013 11:45:27 +0200 |
10 | 12 | 12 | ||
11 | 13 | maliit-plugins (0.99.trunk.phablet0) saucy; urgency=low | 13 | maliit-plugins (0.99.trunk.phablet0) saucy; urgency=low |
12 | 14 | 14 | ||
13 | 15 | 15 | ||
14 | === added file 'maliit-keyboard/data/languages/url.xml' | |||
15 | --- maliit-keyboard/data/languages/url.xml 1970-01-01 00:00:00 +0000 | |||
16 | +++ maliit-keyboard/data/languages/url.xml 2013-07-29 14:19:29 +0000 | |||
17 | @@ -0,0 +1,484 @@ | |||
18 | 1 | <?xml version="1.0" encoding="utf-8"?> | ||
19 | 2 | <!DOCTYPE keyboard SYSTEM "VirtualKeyboardLayout.dtd"> | ||
20 | 3 | |||
21 | 4 | <keyboard catalog="en_us" language="en_us" title="English (US)" version="1.0"> | ||
22 | 5 | <layout type="general"> | ||
23 | 6 | <section id="main"> | ||
24 | 7 | <row> | ||
25 | 8 | <key> | ||
26 | 9 | <binding label="q"> | ||
27 | 10 | <modifiers keys="shift"> | ||
28 | 11 | <binding label="Q" /> | ||
29 | 12 | </modifiers> | ||
30 | 13 | </binding> | ||
31 | 14 | </key> | ||
32 | 15 | <key> | ||
33 | 16 | <binding label="w"> | ||
34 | 17 | <modifiers keys="shift"> | ||
35 | 18 | <binding label="W" /> | ||
36 | 19 | </modifiers> | ||
37 | 20 | </binding> | ||
38 | 21 | </key> | ||
39 | 22 | <key> | ||
40 | 23 | <extended> | ||
41 | 24 | <row> | ||
42 | 25 | <key> | ||
43 | 26 | <binding label="è"> | ||
44 | 27 | <modifiers keys="shift"> | ||
45 | 28 | <binding label="È" /> | ||
46 | 29 | </modifiers> | ||
47 | 30 | </binding> | ||
48 | 31 | </key> | ||
49 | 32 | <key> | ||
50 | 33 | <binding label="é"> | ||
51 | 34 | <modifiers keys="shift"> | ||
52 | 35 | <binding label="É" /> | ||
53 | 36 | </modifiers> | ||
54 | 37 | </binding> | ||
55 | 38 | </key> | ||
56 | 39 | <key> | ||
57 | 40 | <binding label="ê"> | ||
58 | 41 | <modifiers keys="shift"> | ||
59 | 42 | <binding label="Ê" /> | ||
60 | 43 | </modifiers> | ||
61 | 44 | </binding> | ||
62 | 45 | </key> | ||
63 | 46 | <key> | ||
64 | 47 | <binding label="ë"> | ||
65 | 48 | <modifiers keys="shift"> | ||
66 | 49 | <binding label="Ë" /> | ||
67 | 50 | </modifiers> | ||
68 | 51 | </binding> | ||
69 | 52 | </key> | ||
70 | 53 | <key> | ||
71 | 54 | <binding label="€"> | ||
72 | 55 | <modifiers keys="shift"> | ||
73 | 56 | <binding label="€" /> | ||
74 | 57 | </modifiers> | ||
75 | 58 | </binding> | ||
76 | 59 | </key> | ||
77 | 60 | </row> | ||
78 | 61 | </extended> | ||
79 | 62 | <binding label="e"> | ||
80 | 63 | <modifiers keys="shift"> | ||
81 | 64 | <binding label="E" /> | ||
82 | 65 | </modifiers> | ||
83 | 66 | </binding> | ||
84 | 67 | </key> | ||
85 | 68 | <key> | ||
86 | 69 | <binding label="r"> | ||
87 | 70 | <modifiers keys="shift"> | ||
88 | 71 | <binding label="R" /> | ||
89 | 72 | </modifiers> | ||
90 | 73 | </binding> | ||
91 | 74 | </key> | ||
92 | 75 | <key> | ||
93 | 76 | <extended> | ||
94 | 77 | <row> | ||
95 | 78 | <key> | ||
96 | 79 | <binding label="þ"> | ||
97 | 80 | <modifiers keys="shift"> | ||
98 | 81 | <binding label="Þ" /> | ||
99 | 82 | </modifiers> | ||
100 | 83 | </binding> | ||
101 | 84 | </key> | ||
102 | 85 | </row> | ||
103 | 86 | </extended> | ||
104 | 87 | <binding label="t"> | ||
105 | 88 | <modifiers keys="shift"> | ||
106 | 89 | <binding label="T" /> | ||
107 | 90 | </modifiers> | ||
108 | 91 | </binding> | ||
109 | 92 | </key> | ||
110 | 93 | <key> | ||
111 | 94 | <extended> | ||
112 | 95 | <row> | ||
113 | 96 | <key> | ||
114 | 97 | <binding label="ý"> | ||
115 | 98 | <modifiers keys="shift"> | ||
116 | 99 | <binding label="Ý" /> | ||
117 | 100 | </modifiers> | ||
118 | 101 | </binding> | ||
119 | 102 | </key> | ||
120 | 103 | <key> | ||
121 | 104 | <binding label="¥"> | ||
122 | 105 | <modifiers keys="shift"> | ||
123 | 106 | <binding label="¥" /> | ||
124 | 107 | </modifiers> | ||
125 | 108 | </binding> | ||
126 | 109 | </key> | ||
127 | 110 | </row> | ||
128 | 111 | </extended> | ||
129 | 112 | <binding label="y"> | ||
130 | 113 | <modifiers keys="shift"> | ||
131 | 114 | <binding label="Y" /> | ||
132 | 115 | </modifiers> | ||
133 | 116 | </binding> | ||
134 | 117 | </key> | ||
135 | 118 | <key> | ||
136 | 119 | <extended> | ||
137 | 120 | <row> | ||
138 | 121 | <key> | ||
139 | 122 | <binding label="û"> | ||
140 | 123 | <modifiers keys="shift"> | ||
141 | 124 | <binding label="Û" /> | ||
142 | 125 | </modifiers> | ||
143 | 126 | </binding> | ||
144 | 127 | </key> | ||
145 | 128 | <key> | ||
146 | 129 | <binding label="ù"> | ||
147 | 130 | <modifiers keys="shift"> | ||
148 | 131 | <binding label="Ù" /> | ||
149 | 132 | </modifiers> | ||
150 | 133 | </binding> | ||
151 | 134 | </key> | ||
152 | 135 | <key> | ||
153 | 136 | <binding label="ú"> | ||
154 | 137 | <modifiers keys="shift"> | ||
155 | 138 | <binding label="Ú" /> | ||
156 | 139 | </modifiers> | ||
157 | 140 | </binding> | ||
158 | 141 | </key> | ||
159 | 142 | <key> | ||
160 | 143 | <binding label="ü"> | ||
161 | 144 | <modifiers keys="shift"> | ||
162 | 145 | <binding label="Ü" /> | ||
163 | 146 | </modifiers> | ||
164 | 147 | </binding> | ||
165 | 148 | </key> | ||
166 | 149 | </row> | ||
167 | 150 | </extended> | ||
168 | 151 | <binding label="u"> | ||
169 | 152 | <modifiers keys="shift"> | ||
170 | 153 | <binding label="U" /> | ||
171 | 154 | </modifiers> | ||
172 | 155 | </binding> | ||
173 | 156 | </key> | ||
174 | 157 | <key> | ||
175 | 158 | <extended> | ||
176 | 159 | <row> | ||
177 | 160 | <key> | ||
178 | 161 | <binding label="î"> | ||
179 | 162 | <modifiers keys="shift"> | ||
180 | 163 | <binding label="Î" /> | ||
181 | 164 | </modifiers> | ||
182 | 165 | </binding> | ||
183 | 166 | </key> | ||
184 | 167 | <key> | ||
185 | 168 | <binding label="ï"> | ||
186 | 169 | <modifiers keys="shift"> | ||
187 | 170 | <binding label="Ï" /> | ||
188 | 171 | </modifiers> | ||
189 | 172 | </binding> | ||
190 | 173 | </key> | ||
191 | 174 | <key> | ||
192 | 175 | <binding label="ì"> | ||
193 | 176 | <modifiers keys="shift"> | ||
194 | 177 | <binding label="Ì" /> | ||
195 | 178 | </modifiers> | ||
196 | 179 | </binding> | ||
197 | 180 | </key> | ||
198 | 181 | <key> | ||
199 | 182 | <binding label="í"> | ||
200 | 183 | <modifiers keys="shift"> | ||
201 | 184 | <binding label="Í" /> | ||
202 | 185 | </modifiers> | ||
203 | 186 | </binding> | ||
204 | 187 | </key> | ||
205 | 188 | </row> | ||
206 | 189 | </extended> | ||
207 | 190 | <binding label="i"> | ||
208 | 191 | <modifiers keys="shift"> | ||
209 | 192 | <binding label="I" /> | ||
210 | 193 | </modifiers> | ||
211 | 194 | </binding> | ||
212 | 195 | </key> | ||
213 | 196 | <key> | ||
214 | 197 | <extended> | ||
215 | 198 | <row> | ||
216 | 199 | <key> | ||
217 | 200 | <binding label="ö"> | ||
218 | 201 | <modifiers keys="shift"> | ||
219 | 202 | <binding label="Ö" /> | ||
220 | 203 | </modifiers> | ||
221 | 204 | </binding> | ||
222 | 205 | </key> | ||
223 | 206 | <key> | ||
224 | 207 | <binding label="ô"> | ||
225 | 208 | <modifiers keys="shift"> | ||
226 | 209 | <binding label="Ô" /> | ||
227 | 210 | </modifiers> | ||
228 | 211 | </binding> | ||
229 | 212 | </key> | ||
230 | 213 | <key> | ||
231 | 214 | <binding label="ò"> | ||
232 | 215 | <modifiers keys="shift"> | ||
233 | 216 | <binding label="Ò" /> | ||
234 | 217 | </modifiers> | ||
235 | 218 | </binding> | ||
236 | 219 | </key> | ||
237 | 220 | <key> | ||
238 | 221 | <binding label="ó"> | ||
239 | 222 | <modifiers keys="shift"> | ||
240 | 223 | <binding label="Ó" /> | ||
241 | 224 | </modifiers> | ||
242 | 225 | </binding> | ||
243 | 226 | </key> | ||
244 | 227 | </row> | ||
245 | 228 | </extended> | ||
246 | 229 | <binding label="o"> | ||
247 | 230 | <modifiers keys="shift"> | ||
248 | 231 | <binding label="O" /> | ||
249 | 232 | </modifiers> | ||
250 | 233 | </binding> | ||
251 | 234 | </key> | ||
252 | 235 | <key> | ||
253 | 236 | <binding label="p"> | ||
254 | 237 | <modifiers keys="shift"> | ||
255 | 238 | <binding label="P" /> | ||
256 | 239 | </modifiers> | ||
257 | 240 | </binding> | ||
258 | 241 | </key> | ||
259 | 242 | </row> | ||
260 | 243 | <row> | ||
261 | 244 | <spacer /> | ||
262 | 245 | <key> | ||
263 | 246 | <extended> | ||
264 | 247 | <row> | ||
265 | 248 | <key> | ||
266 | 249 | <binding label="ä"> | ||
267 | 250 | <modifiers keys="shift"> | ||
268 | 251 | <binding label="Ä" /> | ||
269 | 252 | </modifiers> | ||
270 | 253 | </binding> | ||
271 | 254 | </key> | ||
272 | 255 | <key> | ||
273 | 256 | <binding label="à"> | ||
274 | 257 | <modifiers keys="shift"> | ||
275 | 258 | <binding label="À" /> | ||
276 | 259 | </modifiers> | ||
277 | 260 | </binding> | ||
278 | 261 | </key> | ||
279 | 262 | <key> | ||
280 | 263 | <binding label="â"> | ||
281 | 264 | <modifiers keys="shift"> | ||
282 | 265 | <binding label="Â" /> | ||
283 | 266 | </modifiers> | ||
284 | 267 | </binding> | ||
285 | 268 | </key> | ||
286 | 269 | <key> | ||
287 | 270 | <binding label="á"> | ||
288 | 271 | <modifiers keys="shift"> | ||
289 | 272 | <binding label="Á" /> | ||
290 | 273 | </modifiers> | ||
291 | 274 | </binding> | ||
292 | 275 | </key> | ||
293 | 276 | <key> | ||
294 | 277 | <binding label="ã"> | ||
295 | 278 | <modifiers keys="shift"> | ||
296 | 279 | <binding label="Ã" /> | ||
297 | 280 | </modifiers> | ||
298 | 281 | </binding> | ||
299 | 282 | </key> | ||
300 | 283 | <key> | ||
301 | 284 | <binding label="å"> | ||
302 | 285 | <modifiers keys="shift"> | ||
303 | 286 | <binding label="Å" /> | ||
304 | 287 | </modifiers> | ||
305 | 288 | </binding> | ||
306 | 289 | </key> | ||
307 | 290 | </row> | ||
308 | 291 | </extended> | ||
309 | 292 | <binding label="a"> | ||
310 | 293 | <modifiers keys="shift"> | ||
311 | 294 | <binding label="A" /> | ||
312 | 295 | </modifiers> | ||
313 | 296 | </binding> | ||
314 | 297 | </key> | ||
315 | 298 | <key> | ||
316 | 299 | <extended> | ||
317 | 300 | <row> | ||
318 | 301 | <key> | ||
319 | 302 | <binding label="ß"> | ||
320 | 303 | <modifiers keys="shift"> | ||
321 | 304 | <binding label="$" /> | ||
322 | 305 | </modifiers> | ||
323 | 306 | </binding> | ||
324 | 307 | </key> | ||
325 | 308 | <key> | ||
326 | 309 | <binding label="$" /> | ||
327 | 310 | </key> | ||
328 | 311 | </row> | ||
329 | 312 | </extended> | ||
330 | 313 | <binding label="s"> | ||
331 | 314 | <modifiers keys="shift"> | ||
332 | 315 | <binding label="S" /> | ||
333 | 316 | </modifiers> | ||
334 | 317 | </binding> | ||
335 | 318 | </key> | ||
336 | 319 | <key> | ||
337 | 320 | <extended> | ||
338 | 321 | <row> | ||
339 | 322 | <key> | ||
340 | 323 | <binding label="ð"> | ||
341 | 324 | <modifiers keys="shift"> | ||
342 | 325 | <binding label="Ð" /> | ||
343 | 326 | </modifiers> | ||
344 | 327 | </binding> | ||
345 | 328 | </key> | ||
346 | 329 | </row> | ||
347 | 330 | </extended> | ||
348 | 331 | <binding label="d"> | ||
349 | 332 | <modifiers keys="shift"> | ||
350 | 333 | <binding label="D" /> | ||
351 | 334 | </modifiers> | ||
352 | 335 | </binding> | ||
353 | 336 | </key> | ||
354 | 337 | <key> | ||
355 | 338 | <binding label="f"> | ||
356 | 339 | <modifiers keys="shift"> | ||
357 | 340 | <binding label="F" /> | ||
358 | 341 | </modifiers> | ||
359 | 342 | </binding> | ||
360 | 343 | </key> | ||
361 | 344 | <key> | ||
362 | 345 | <binding label="g"> | ||
363 | 346 | <modifiers keys="shift"> | ||
364 | 347 | <binding label="G" /> | ||
365 | 348 | </modifiers> | ||
366 | 349 | </binding> | ||
367 | 350 | </key> | ||
368 | 351 | <key> | ||
369 | 352 | <binding label="h"> | ||
370 | 353 | <modifiers keys="shift"> | ||
371 | 354 | <binding label="H" /> | ||
372 | 355 | </modifiers> | ||
373 | 356 | </binding> | ||
374 | 357 | </key> | ||
375 | 358 | <key> | ||
376 | 359 | <binding label="j"> | ||
377 | 360 | <modifiers keys="shift"> | ||
378 | 361 | <binding label="J" /> | ||
379 | 362 | </modifiers> | ||
380 | 363 | </binding> | ||
381 | 364 | </key> | ||
382 | 365 | <key> | ||
383 | 366 | <binding label="k"> | ||
384 | 367 | <modifiers keys="shift"> | ||
385 | 368 | <binding label="K" /> | ||
386 | 369 | </modifiers> | ||
387 | 370 | </binding> | ||
388 | 371 | </key> | ||
389 | 372 | <key> | ||
390 | 373 | <binding label="l"> | ||
391 | 374 | <modifiers keys="shift"> | ||
392 | 375 | <binding label="L" /> | ||
393 | 376 | </modifiers> | ||
394 | 377 | </binding> | ||
395 | 378 | </key> | ||
396 | 379 | <spacer /> | ||
397 | 380 | </row> | ||
398 | 381 | <row> | ||
399 | 382 | <key style="special" width="large"> | ||
400 | 383 | <binding action="shift" /> | ||
401 | 384 | </key> | ||
402 | 385 | <spacer /> | ||
403 | 386 | <key> | ||
404 | 387 | <binding label="z"> | ||
405 | 388 | <modifiers keys="shift"> | ||
406 | 389 | <binding label="Z" /> | ||
407 | 390 | </modifiers> | ||
408 | 391 | </binding> | ||
409 | 392 | </key> | ||
410 | 393 | <key> | ||
411 | 394 | <binding label="x"> | ||
412 | 395 | <modifiers keys="shift"> | ||
413 | 396 | <binding label="X" /> | ||
414 | 397 | </modifiers> | ||
415 | 398 | </binding> | ||
416 | 399 | </key> | ||
417 | 400 | <key> | ||
418 | 401 | <extended> | ||
419 | 402 | <row> | ||
420 | 403 | <key> | ||
421 | 404 | <binding label="ç"> | ||
422 | 405 | <modifiers keys="shift"> | ||
423 | 406 | <binding label="Ç" /> | ||
424 | 407 | </modifiers> | ||
425 | 408 | </binding> | ||
426 | 409 | </key> | ||
427 | 410 | </row> | ||
428 | 411 | </extended> | ||
429 | 412 | <binding label="c"> | ||
430 | 413 | <modifiers keys="shift"> | ||
431 | 414 | <binding label="C" /> | ||
432 | 415 | </modifiers> | ||
433 | 416 | </binding> | ||
434 | 417 | </key> | ||
435 | 418 | <key> | ||
436 | 419 | <binding label="v"> | ||
437 | 420 | <modifiers keys="shift"> | ||
438 | 421 | <binding label="V" /> | ||
439 | 422 | </modifiers> | ||
440 | 423 | </binding> | ||
441 | 424 | </key> | ||
442 | 425 | <key> | ||
443 | 426 | <binding label="b"> | ||
444 | 427 | <modifiers keys="shift"> | ||
445 | 428 | <binding label="B" /> | ||
446 | 429 | </modifiers> | ||
447 | 430 | </binding> | ||
448 | 431 | </key> | ||
449 | 432 | <key> | ||
450 | 433 | <extended> | ||
451 | 434 | <row> | ||
452 | 435 | <key> | ||
453 | 436 | <binding label="ñ"> | ||
454 | 437 | <modifiers keys="shift"> | ||
455 | 438 | <binding label="Ñ" /> | ||
456 | 439 | </modifiers> | ||
457 | 440 | </binding> | ||
458 | 441 | </key> | ||
459 | 442 | </row> | ||
460 | 443 | </extended> | ||
461 | 444 | <binding label="n"> | ||
462 | 445 | <modifiers keys="shift"> | ||
463 | 446 | <binding label="N" /> | ||
464 | 447 | </modifiers> | ||
465 | 448 | </binding> | ||
466 | 449 | </key> | ||
467 | 450 | <key> | ||
468 | 451 | <binding label="m"> | ||
469 | 452 | <modifiers keys="shift"> | ||
470 | 453 | <binding label="M" /> | ||
471 | 454 | </modifiers> | ||
472 | 455 | </binding> | ||
473 | 456 | </key> | ||
474 | 457 | <spacer /> | ||
475 | 458 | <key style="special" width="large"> | ||
476 | 459 | <binding action="backspace" /> | ||
477 | 460 | </key> | ||
478 | 461 | </row> | ||
479 | 462 | <row> | ||
480 | 463 | <key style="special" width="x-large"> | ||
481 | 464 | <binding action="sym" label="?123" /> | ||
482 | 465 | </key> | ||
483 | 466 | <spacer /> | ||
484 | 467 | <key id="emailUrlKey"> | ||
485 | 468 | <binding label=".com" /> | ||
486 | 469 | </key> | ||
487 | 470 | <key width="xx-large"> | ||
488 | 471 | <binding action="space" /> | ||
489 | 472 | </key> | ||
490 | 473 | <key> | ||
491 | 474 | <binding label="." /> | ||
492 | 475 | </key> | ||
493 | 476 | <spacer /> | ||
494 | 477 | <key id="actionKey" style="special" width="x-large"> | ||
495 | 478 | <binding action="return" /> | ||
496 | 479 | </key> | ||
497 | 480 | </row> | ||
498 | 481 | </section> | ||
499 | 482 | </layout> | ||
500 | 483 | <import file="symbols_en.xml" /> | ||
501 | 484 | </keyboard> | ||
502 | 0 | 485 | ||
503 | === modified file 'maliit-keyboard/lib/logic/keyareaconverter.cpp' | |||
504 | --- maliit-keyboard/lib/logic/keyareaconverter.cpp 2013-06-05 13:00:26 +0000 | |||
505 | +++ maliit-keyboard/lib/logic/keyareaconverter.cpp 2013-07-29 14:19:29 +0000 | |||
506 | @@ -100,6 +100,7 @@ | |||
507 | 100 | qreal consumed_width = 0; | 100 | qreal consumed_width = 0; |
508 | 101 | 101 | ||
509 | 102 | QVector<int> margins = uiConst->calculateMargins(orientation, kb); | 102 | QVector<int> margins = uiConst->calculateMargins(orientation, kb); |
510 | 103 | Q_ASSERT(margins.size() > 0); | ||
511 | 103 | qreal margin = margins[0]; | 104 | qreal margin = margins[0]; |
512 | 104 | 105 | ||
513 | 105 | int row = 0; | 106 | int row = 0; |
514 | 106 | 107 | ||
515 | === modified file 'maliit-keyboard/lib/logic/layoutupdater.cpp' | |||
516 | --- maliit-keyboard/lib/logic/layoutupdater.cpp 2013-06-14 09:55:01 +0000 | |||
517 | +++ maliit-keyboard/lib/logic/layoutupdater.cpp 2013-07-29 14:19:29 +0000 | |||
518 | @@ -34,7 +34,6 @@ | |||
519 | 34 | #include "style.h" | 34 | #include "style.h" |
520 | 35 | 35 | ||
521 | 36 | #include "models/area.h" | 36 | #include "models/area.h" |
522 | 37 | #include "models/keyboard.h" | ||
523 | 38 | #include "models/keydescription.h" | 37 | #include "models/keydescription.h" |
524 | 39 | #include "models/wordribbon.h" | 38 | #include "models/wordribbon.h" |
525 | 40 | #include "models/wordcandidate.h" | 39 | #include "models/wordcandidate.h" |
526 | @@ -333,6 +332,8 @@ | |||
527 | 333 | d->layout->setCenterPanel(d->inShiftedState() ? converter.shiftedKeyArea() | 332 | d->layout->setCenterPanel(d->inShiftedState() ? converter.shiftedKeyArea() |
528 | 334 | : converter.keyArea()); | 333 | : converter.keyArea()); |
529 | 335 | 334 | ||
530 | 335 | converter.keyArea(); | ||
531 | 336 | d->layout->setCenterPanel(converter.keyArea()); | ||
532 | 336 | if (isWordRibbonVisible()) | 337 | if (isWordRibbonVisible()) |
533 | 337 | applyStyleToWordRibbon(d->layout->wordRibbon(), d->style, orientation); | 338 | applyStyleToWordRibbon(d->layout->wordRibbon(), d->style, orientation); |
534 | 338 | 339 | ||
535 | @@ -359,13 +360,7 @@ | |||
536 | 359 | if (d->word_ribbon_visible != visible) { | 360 | if (d->word_ribbon_visible != visible) { |
537 | 360 | d->word_ribbon_visible = visible; | 361 | d->word_ribbon_visible = visible; |
538 | 361 | 362 | ||
546 | 362 | if (d->layout && d->style && d->word_ribbon_visible) { | 363 | d->layout->wordRibbon()->clearCandidates(); |
540 | 363 | WordRibbon* ribbon = new WordRibbon; | ||
541 | 364 | applyStyleToWordRibbon(ribbon, d->style, d->layout->orientation()); | ||
542 | 365 | d->layout->setWordRibbon(ribbon); | ||
543 | 366 | } else if (d->layout) { | ||
544 | 367 | d->layout->setWordRibbon(new WordRibbon); | ||
545 | 368 | } | ||
547 | 369 | 364 | ||
548 | 370 | Q_EMIT wordRibbonVisibleChanged(visible); | 365 | Q_EMIT wordRibbonVisibleChanged(visible); |
549 | 371 | } | 366 | } |
550 | 372 | 367 | ||
551 | === modified file 'maliit-keyboard/lib/models/wordribbon.cpp' | |||
552 | --- maliit-keyboard/lib/models/wordribbon.cpp 2013-05-31 16:09:14 +0000 | |||
553 | +++ maliit-keyboard/lib/models/wordribbon.cpp 2013-07-29 14:19:29 +0000 | |||
554 | @@ -65,9 +65,9 @@ | |||
555 | 65 | 65 | ||
556 | 66 | void WordRibbon::appendCandidate(const WordCandidate &candidate) | 66 | void WordRibbon::appendCandidate(const WordCandidate &candidate) |
557 | 67 | { | 67 | { |
559 | 68 | beginResetModel(); | 68 | beginInsertRows(QModelIndex(), rowCount(), rowCount()); |
560 | 69 | m_candidates.append(candidate); | 69 | m_candidates.append(candidate); |
562 | 70 | endResetModel(); | 70 | endInsertRows(); // fires signal rowsInserted() |
563 | 71 | } | 71 | } |
564 | 72 | 72 | ||
565 | 73 | QVector<WordCandidate> WordRibbon::candidates() const | 73 | QVector<WordCandidate> WordRibbon::candidates() const |
566 | 74 | 74 | ||
567 | === modified file 'maliit-keyboard/lib/models/wordribbon.h' | |||
568 | --- maliit-keyboard/lib/models/wordribbon.h 2013-05-31 16:09:14 +0000 | |||
569 | +++ maliit-keyboard/lib/models/wordribbon.h 2013-07-29 14:19:29 +0000 | |||
570 | @@ -61,7 +61,7 @@ | |||
571 | 61 | }; | 61 | }; |
572 | 62 | 62 | ||
573 | 63 | virtual QVariant data(const QModelIndex &index, int role) const; | 63 | virtual QVariant data(const QModelIndex &index, int role) const; |
575 | 64 | virtual int rowCount(const QModelIndex &parent) const; | 64 | virtual int rowCount(const QModelIndex &parent = QModelIndex()) const; |
576 | 65 | virtual QHash<int, QByteArray> roleNames() const; | 65 | virtual QHash<int, QByteArray> roleNames() const; |
577 | 66 | 66 | ||
578 | 67 | bool valid() const; | 67 | bool valid() const; |
579 | 68 | 68 | ||
580 | === modified file 'maliit-keyboard/maliit-keyboard.pro' | |||
581 | --- maliit-keyboard/maliit-keyboard.pro 2013-03-22 16:40:29 +0000 | |||
582 | +++ maliit-keyboard/maliit-keyboard.pro 2013-07-29 14:19:29 +0000 | |||
583 | @@ -6,6 +6,7 @@ | |||
584 | 6 | plugin \ | 6 | plugin \ |
585 | 7 | data \ | 7 | data \ |
586 | 8 | qml \ | 8 | qml \ |
587 | 9 | tests \ | ||
588 | 9 | benchmark \ | 10 | benchmark \ |
589 | 10 | 11 | ||
590 | 11 | 12 | ||
591 | 12 | 13 | ||
592 | === modified file 'maliit-keyboard/plugin/inputmethod.cpp' | |||
593 | --- maliit-keyboard/plugin/inputmethod.cpp 2013-07-10 14:26:09 +0000 | |||
594 | +++ maliit-keyboard/plugin/inputmethod.cpp 2013-07-29 14:19:29 +0000 | |||
595 | @@ -110,7 +110,6 @@ | |||
596 | 110 | ScopedSetting auto_correct; | 110 | ScopedSetting auto_correct; |
597 | 111 | ScopedSetting auto_caps; | 111 | ScopedSetting auto_caps; |
598 | 112 | ScopedSetting word_engine; | 112 | ScopedSetting word_engine; |
599 | 113 | ScopedSetting hide_word_ribbon_in_portrait_mode; | ||
600 | 114 | }; | 113 | }; |
601 | 115 | 114 | ||
602 | 116 | class LayoutGroup | 115 | class LayoutGroup |
603 | @@ -148,6 +147,7 @@ | |||
604 | 148 | class InputMethodPrivate | 147 | class InputMethodPrivate |
605 | 149 | { | 148 | { |
606 | 150 | public: | 149 | public: |
607 | 150 | InputMethod* q; | ||
608 | 151 | QQuickItem* qmlRootItem; | 151 | QQuickItem* qmlRootItem; |
609 | 152 | #ifdef EXTENDED_SURFACE_TEMP_DISABLED | 152 | #ifdef EXTENDED_SURFACE_TEMP_DISABLED |
610 | 153 | SharedSurface extended_surface; | 153 | SharedSurface extended_surface; |
611 | @@ -174,22 +174,23 @@ | |||
612 | 174 | MAbstractInputMethodHost *host); | 174 | MAbstractInputMethodHost *host); |
613 | 175 | void setLayoutOrientation(Logic::LayoutHelper::Orientation orientation); | 175 | void setLayoutOrientation(Logic::LayoutHelper::Orientation orientation); |
614 | 176 | void updateKeyboardOrientation(); | 176 | void updateKeyboardOrientation(); |
616 | 177 | void syncWordEngine(Logic::LayoutHelper::Orientation orientation); | 177 | void updateWordRibbon(); |
617 | 178 | 178 | ||
618 | 179 | void connectToNotifier(); | 179 | void connectToNotifier(); |
619 | 180 | void setContextProperties(QQmlContext *qml_context); | 180 | void setContextProperties(QQmlContext *qml_context); |
620 | 181 | }; | 181 | }; |
621 | 182 | 182 | ||
622 | 183 | 183 | ||
624 | 184 | InputMethodPrivate::InputMethodPrivate(InputMethod *const q, | 184 | InputMethodPrivate::InputMethodPrivate(InputMethod *const _q, |
625 | 185 | MAbstractInputMethodHost *host) | 185 | MAbstractInputMethodHost *host) |
626 | 186 | // : surface_factory(host->surfaceFactory()) | 186 | // : surface_factory(host->surfaceFactory()) |
627 | 187 | // , surface(qSharedPointerDynamicCast<Surface>(surface_factory->create(g_surface_options))) | 187 | // , surface(qSharedPointerDynamicCast<Surface>(surface_factory->create(g_surface_options))) |
628 | 188 | : q(_q) | ||
629 | 188 | #ifdef EXTENDED_SURFACE_TEMP_DISABLED | 189 | #ifdef EXTENDED_SURFACE_TEMP_DISABLED |
630 | 189 | , extended_surface(qSharedPointerDynamicCast<Surface>(surface_factory->create(g_extended_surface_options, surface))) | 190 | , extended_surface(qSharedPointerDynamicCast<Surface>(surface_factory->create(g_extended_surface_options, surface))) |
631 | 190 | , magnifier_surface(qSharedPointerDynamicCast<Surface>(surface_factory->create(g_extended_surface_options, surface))) | 191 | , magnifier_surface(qSharedPointerDynamicCast<Surface>(surface_factory->create(g_extended_surface_options, surface))) |
632 | 191 | #endif | 192 | #endif |
634 | 192 | : editor(EditorOptions(), new Model::Text, new Logic::WordEngine, new Logic::LanguageFeatures) | 193 | , editor(EditorOptions(), new Model::Text, new Logic::WordEngine, new Logic::LanguageFeatures) |
635 | 193 | , feedback() | 194 | , feedback() |
636 | 194 | , style(new Style) | 195 | , style(new Style) |
637 | 195 | , notifier() | 196 | , notifier() |
638 | @@ -238,9 +239,6 @@ | |||
639 | 238 | QObject::connect(&layout.updater, SIGNAL(languageChanged(QString)), | 239 | QObject::connect(&layout.updater, SIGNAL(languageChanged(QString)), |
640 | 239 | &editor, SLOT(onLanguageChanged(const QString&))); | 240 | &editor, SLOT(onLanguageChanged(const QString&))); |
641 | 240 | 241 | ||
642 | 241 | // just for now | ||
643 | 242 | layout.updater.setWordRibbonVisible(true); | ||
644 | 243 | |||
645 | 244 | #ifdef EXTENDED_SURFACE_TEMP_DISABLED | 242 | #ifdef EXTENDED_SURFACE_TEMP_DISABLED |
646 | 245 | QObject::connect(&layout.event_handler, SIGNAL(extendedKeysShown(Key)), | 243 | QObject::connect(&layout.event_handler, SIGNAL(extendedKeysShown(Key)), |
647 | 246 | &extended_layout.event_handler, SLOT(onExtendedKeysShown(Key))); | 244 | &extended_layout.event_handler, SLOT(onExtendedKeysShown(Key))); |
648 | @@ -303,9 +301,17 @@ | |||
649 | 303 | view->setResizeMode(QQuickView::SizeRootObjectToView); | 301 | view->setResizeMode(QQuickView::SizeRootObjectToView); |
650 | 304 | } | 302 | } |
651 | 305 | 303 | ||
652 | 304 | void InputMethodPrivate::updateWordRibbon() | ||
653 | 305 | { | ||
654 | 306 | layout.helper.wordRibbon()->setEnabled( predictionEnabled ); | ||
655 | 307 | Q_EMIT q->wordRibbonEnabledChanged( predictionEnabled ); | ||
656 | 308 | qmlRootItem->setProperty("wordribbon_visible", predictionEnabled ); | ||
657 | 309 | |||
658 | 310 | updateKeyboardOrientation(); | ||
659 | 311 | } | ||
660 | 312 | |||
661 | 306 | void InputMethodPrivate::setLayoutOrientation(Logic::LayoutHelper::Orientation orientation) | 313 | void InputMethodPrivate::setLayoutOrientation(Logic::LayoutHelper::Orientation orientation) |
662 | 307 | { | 314 | { |
663 | 308 | syncWordEngine(orientation); | ||
664 | 309 | layout.updater.setOrientation(orientation); | 315 | layout.updater.setOrientation(orientation); |
665 | 310 | extended_layout.updater.setOrientation(orientation); | 316 | extended_layout.updater.setOrientation(orientation); |
666 | 311 | 317 | ||
667 | @@ -363,23 +369,6 @@ | |||
668 | 363 | setLayoutOrientation(uiConst->screenToMaliitOrientation(QGuiApplication::primaryScreen()->orientation())); | 369 | setLayoutOrientation(uiConst->screenToMaliitOrientation(QGuiApplication::primaryScreen()->orientation())); |
669 | 364 | } | 370 | } |
670 | 365 | 371 | ||
671 | 366 | void InputMethodPrivate::syncWordEngine(Logic::LayoutHelper::Orientation orientation) | ||
672 | 367 | { | ||
673 | 368 | // hide_word_ribbon_in_potrait_mode_setting overrides word_engine_setting: | ||
674 | 369 | #ifndef DISABLE_PREEDIT | ||
675 | 370 | const bool override_activation(settings.hide_word_ribbon_in_portrait_mode->value().toBool() | ||
676 | 371 | && orientation == Logic::LayoutHelper::Portrait); | ||
677 | 372 | #else | ||
678 | 373 | Q_UNUSED(orientation) | ||
679 | 374 | const bool override_activation = true; | ||
680 | 375 | #endif | ||
681 | 376 | |||
682 | 377 | |||
683 | 378 | editor.wordEngine()->setEnabled(override_activation | ||
684 | 379 | ? false | ||
685 | 380 | : settings.word_engine->value().toBool()); | ||
686 | 381 | } | ||
687 | 382 | |||
688 | 383 | void InputMethodPrivate::connectToNotifier() | 372 | void InputMethodPrivate::connectToNotifier() |
689 | 384 | { | 373 | { |
690 | 385 | #ifdef TEMP_DISABLED | 374 | #ifdef TEMP_DISABLED |
691 | @@ -452,7 +441,7 @@ | |||
692 | 452 | connect(&d->editor, SIGNAL(rightLayoutSelected()), | 441 | connect(&d->editor, SIGNAL(rightLayoutSelected()), |
693 | 453 | this, SLOT(onRightLayoutSelected())); | 442 | this, SLOT(onRightLayoutSelected())); |
694 | 454 | 443 | ||
696 | 455 | connect(this, SIGNAL(wordEngineEnabledChanged(bool)), uiConst, SLOT(onWordEngineSettingsChanged(bool))); | 444 | connect(this, SIGNAL(wordRibbonEnabledChanged(bool)), uiConst, SLOT(onWordEngineSettingsChanged(bool))); |
697 | 456 | 445 | ||
698 | 457 | connect(this, SIGNAL(predictionEnabledChanged()), this, SLOT(updateWordEngine())); | 446 | connect(this, SIGNAL(predictionEnabledChanged()), this, SLOT(updateWordEngine())); |
699 | 458 | 447 | ||
700 | @@ -462,13 +451,11 @@ | |||
701 | 462 | registerAutoCorrectSetting(host); | 451 | registerAutoCorrectSetting(host); |
702 | 463 | registerAutoCapsSetting(host); | 452 | registerAutoCapsSetting(host); |
703 | 464 | registerWordEngineSetting(host); | 453 | registerWordEngineSetting(host); |
704 | 465 | registerHideWordRibbonInPortraitModeSetting(host); | ||
705 | 466 | 454 | ||
706 | 467 | setActiveSubView("en_us"); | 455 | setActiveSubView("en_us"); |
707 | 468 | 456 | ||
708 | 469 | // Setting layout orientation depends on word engine and hide word ribbon | 457 | // Setting layout orientation depends on word engine and hide word ribbon |
709 | 470 | // settings to be initialized first: | 458 | // settings to be initialized first: |
710 | 471 | |||
711 | 472 | d->updateKeyboardOrientation(); | 459 | d->updateKeyboardOrientation(); |
712 | 473 | } | 460 | } |
713 | 474 | 461 | ||
714 | @@ -478,8 +465,13 @@ | |||
715 | 478 | void InputMethod::show() | 465 | void InputMethod::show() |
716 | 479 | { | 466 | { |
717 | 480 | Q_D(InputMethod); | 467 | Q_D(InputMethod); |
718 | 468 | bool valid = true; | ||
719 | 481 | 469 | ||
720 | 482 | d->view->setVisible(true); | 470 | d->view->setVisible(true); |
721 | 471 | |||
722 | 472 | if (d->host->contentType(valid) == Maliit::UrlContentType) | ||
723 | 473 | setActiveSubView("url"); | ||
724 | 474 | |||
725 | 483 | #ifdef EXTENDED_SURFACE_TEMP_DISABLED | 475 | #ifdef EXTENDED_SURFACE_TEMP_DISABLED |
726 | 484 | d->surface->show(); | 476 | d->surface->show(); |
727 | 485 | d->extended_surface->show(); | 477 | d->extended_surface->show(); |
728 | @@ -706,35 +698,17 @@ | |||
729 | 706 | attributes)); | 698 | attributes)); |
730 | 707 | 699 | ||
731 | 708 | connect(d->settings.word_engine.data(), SIGNAL(valueChanged()), | 700 | connect(d->settings.word_engine.data(), SIGNAL(valueChanged()), |
733 | 709 | this, SLOT(onWordEngineSettingChanged())); | 701 | this, SLOT(updateWordEngine())); |
734 | 710 | 702 | ||
735 | 711 | Q_EMIT wordEngineEnabledChanged( d->settings.word_engine.data()->value().toBool() ); | 703 | Q_EMIT wordEngineEnabledChanged( d->settings.word_engine.data()->value().toBool() ); |
736 | 712 | 704 | ||
737 | 713 | #ifndef DISABLE_PREEDIT | 705 | #ifndef DISABLE_PREEDIT |
738 | 714 | d->layout.helper.wordRibbon()->setEnabled(d->settings.word_engine->value().toBool()); | ||
739 | 715 | d->editor.wordEngine()->setEnabled(d->settings.word_engine->value().toBool()); | 706 | d->editor.wordEngine()->setEnabled(d->settings.word_engine->value().toBool()); |
740 | 716 | #else | 707 | #else |
741 | 717 | d->editor.wordEngine()->setEnabled(false); | 708 | d->editor.wordEngine()->setEnabled(false); |
742 | 718 | #endif | 709 | #endif |
743 | 719 | } | 710 | } |
744 | 720 | 711 | ||
745 | 721 | void InputMethod::registerHideWordRibbonInPortraitModeSetting(MAbstractInputMethodHost *host) | ||
746 | 722 | { | ||
747 | 723 | Q_D(InputMethod); | ||
748 | 724 | |||
749 | 725 | QVariantMap attributes; | ||
750 | 726 | attributes[Maliit::SettingEntryAttributes::defaultValue] = false; | ||
751 | 727 | |||
752 | 728 | d->settings.hide_word_ribbon_in_portrait_mode.reset( | ||
753 | 729 | host->registerPluginSetting("hide_word_ribbon_in_potrait_mode", | ||
754 | 730 | QT_TR_NOOP("Disable word engine in portrait mode"), | ||
755 | 731 | Maliit::BoolType, | ||
756 | 732 | attributes)); | ||
757 | 733 | |||
758 | 734 | connect(d->settings.hide_word_ribbon_in_portrait_mode.data(), SIGNAL(valueChanged()), | ||
759 | 735 | this, SLOT(onHideWordRibbonInPortraitModeSettingChanged())); | ||
760 | 736 | } | ||
761 | 737 | |||
762 | 738 | void InputMethod::onLeftLayoutSelected() | 712 | void InputMethod::onLeftLayoutSelected() |
763 | 739 | { | 713 | { |
764 | 740 | // This API smells real bad. | 714 | // This API smells real bad. |
765 | @@ -794,21 +768,6 @@ | |||
766 | 794 | d->editor.setAutoCapsEnabled(d->settings.auto_caps->value().toBool()); | 768 | d->editor.setAutoCapsEnabled(d->settings.auto_caps->value().toBool()); |
767 | 795 | } | 769 | } |
768 | 796 | 770 | ||
769 | 797 | void InputMethod::onWordEngineSettingChanged() | ||
770 | 798 | { | ||
771 | 799 | // FIXME: Renderer doesn't seem to update graphics properly. Word ribbon | ||
772 | 800 | // is still visible until next VKB show/hide. | ||
773 | 801 | Q_D(InputMethod); | ||
774 | 802 | Q_EMIT wordEngineEnabledChanged( d->settings.word_engine.data()->value().toBool() ); | ||
775 | 803 | d->syncWordEngine(d->layout.helper.orientation()); | ||
776 | 804 | } | ||
777 | 805 | |||
778 | 806 | void InputMethod::onHideWordRibbonInPortraitModeSettingChanged() | ||
779 | 807 | { | ||
780 | 808 | Q_D(InputMethod); | ||
781 | 809 | d->setLayoutOrientation(d->layout.helper.orientation()); | ||
782 | 810 | } | ||
783 | 811 | |||
784 | 812 | void InputMethod::setKeyOverrides(const QMap<QString, QSharedPointer<MKeyOverride> > &overrides) | 771 | void InputMethod::setKeyOverrides(const QMap<QString, QSharedPointer<MKeyOverride> > &overrides) |
785 | 813 | { | 772 | { |
786 | 814 | Q_D(InputMethod); | 773 | Q_D(InputMethod); |
787 | @@ -941,18 +900,25 @@ | |||
788 | 941 | if (!valid) | 900 | if (!valid) |
789 | 942 | newPredictionEnabled = true; | 901 | newPredictionEnabled = true; |
790 | 943 | 902 | ||
792 | 944 | if (newPredictionEnabled != d->predictionEnabled) { | 903 | if (d->predictionEnabled != newPredictionEnabled) { |
793 | 945 | d->predictionEnabled = newPredictionEnabled; | 904 | d->predictionEnabled = newPredictionEnabled; |
794 | 946 | emitPredictionEnabled = true; | 905 | emitPredictionEnabled = true; |
795 | 947 | } | 906 | } |
796 | 948 | |||
797 | 949 | if (emitPredictionEnabled) | 907 | if (emitPredictionEnabled) |
798 | 950 | Q_EMIT predictionEnabledChanged(); | 908 | Q_EMIT predictionEnabledChanged(); |
799 | 909 | |||
800 | 951 | } | 910 | } |
801 | 952 | 911 | ||
802 | 953 | void InputMethod::updateWordEngine() | 912 | void InputMethod::updateWordEngine() |
803 | 954 | { | 913 | { |
805 | 955 | // FIXME stub | 914 | Q_D(InputMethod); |
806 | 915 | |||
807 | 916 | if (!d->settings.word_engine.data()->value().toBool()) | ||
808 | 917 | d->predictionEnabled = false; | ||
809 | 918 | |||
810 | 919 | d->editor.clearPreedit(); | ||
811 | 920 | d->editor.wordEngine()->setEnabled( d->predictionEnabled ); | ||
812 | 921 | d->updateWordRibbon(); | ||
813 | 956 | } | 922 | } |
814 | 957 | 923 | ||
815 | 958 | bool InputMethod::predictionEnabled() | 924 | bool InputMethod::predictionEnabled() |
816 | 959 | 925 | ||
817 | === modified file 'maliit-keyboard/plugin/inputmethod.h' | |||
818 | --- maliit-keyboard/plugin/inputmethod.h 2013-07-04 08:33:23 +0000 | |||
819 | +++ maliit-keyboard/plugin/inputmethod.h 2013-07-29 14:19:29 +0000 | |||
820 | @@ -97,8 +97,6 @@ | |||
821 | 97 | Q_SLOT void onFeedbackSettingChanged(); | 97 | Q_SLOT void onFeedbackSettingChanged(); |
822 | 98 | Q_SLOT void onAutoCorrectSettingChanged(); | 98 | Q_SLOT void onAutoCorrectSettingChanged(); |
823 | 99 | Q_SLOT void onAutoCapsSettingChanged(); | 99 | Q_SLOT void onAutoCapsSettingChanged(); |
824 | 100 | Q_SLOT void onWordEngineSettingChanged(); | ||
825 | 101 | Q_SLOT void onHideWordRibbonInPortraitModeSettingChanged(); | ||
826 | 102 | Q_SLOT void updateKey(const QString &key_id, | 100 | Q_SLOT void updateKey(const QString &key_id, |
827 | 103 | const MKeyOverride::KeyOverrideAttributes changed_attributes); | 101 | const MKeyOverride::KeyOverrideAttributes changed_attributes); |
828 | 104 | Q_SLOT void onKeyboardClosed(); | 102 | Q_SLOT void onKeyboardClosed(); |
829 | @@ -116,6 +114,7 @@ | |||
830 | 116 | 114 | ||
831 | 117 | Q_SLOT void onHideAnimationFinished(); | 115 | Q_SLOT void onHideAnimationFinished(); |
832 | 118 | Q_SIGNAL void wordEngineEnabledChanged(bool wordEngineEnabled); | 116 | Q_SIGNAL void wordEngineEnabledChanged(bool wordEngineEnabled); |
833 | 117 | Q_SIGNAL void wordRibbonEnabledChanged(bool wordRibbonEnabled); | ||
834 | 119 | 118 | ||
835 | 120 | const QScopedPointer<InputMethodPrivate> d_ptr; | 119 | const QScopedPointer<InputMethodPrivate> d_ptr; |
836 | 121 | }; | 120 | }; |
837 | 122 | 121 | ||
838 | === modified file 'maliit-keyboard/qml/Keyboard.qml' | |||
839 | --- maliit-keyboard/qml/Keyboard.qml 2013-07-04 08:32:31 +0000 | |||
840 | +++ maliit-keyboard/qml/Keyboard.qml 2013-07-29 14:19:29 +0000 | |||
841 | @@ -41,6 +41,8 @@ | |||
842 | 41 | visible: layout.visible | 41 | visible: layout.visible |
843 | 42 | 42 | ||
844 | 43 | property bool shown: false; | 43 | property bool shown: false; |
845 | 44 | property bool wordribbon_visible: true; | ||
846 | 45 | |||
847 | 44 | property bool hideAnimationFinished: false; | 46 | property bool hideAnimationFinished: false; |
848 | 45 | property int pressedKeyIndex: -1; | 47 | property int pressedKeyIndex: -1; |
849 | 46 | property Item pressedKey; | 48 | property Item pressedKey; |
850 | @@ -77,16 +79,17 @@ | |||
851 | 77 | anchors.bottom: keypadMouseArea.top | 79 | anchors.bottom: keypadMouseArea.top |
852 | 78 | width: parent.width; | 80 | width: parent.width; |
853 | 79 | 81 | ||
855 | 80 | height: maliit_wordribbon.enabled ? layout.wordribbon_height : 0 | 82 | height: wordribbon_visible ? layout.wordribbon_height : 0 |
856 | 81 | } | 83 | } |
857 | 82 | 84 | ||
858 | 83 | MouseArea { | 85 | MouseArea { |
859 | 84 | id: keypadMouseArea | 86 | id: keypadMouseArea |
860 | 85 | preventStealing: true | 87 | preventStealing: true |
861 | 88 | |||
862 | 86 | anchors { | 89 | anchors { |
863 | 87 | top: wordRibbon.bottom | 90 | top: wordRibbon.bottom |
864 | 88 | fill: parent | 91 | fill: parent |
866 | 89 | topMargin: layout.invisible_toucharea_height + (maliit_wordribbon.enabled ? layout.wordribbon_height : 0); | 92 | topMargin: layout.invisible_toucharea_height + (wordribbon_visible ? layout.wordribbon_height : 0); |
867 | 90 | } | 93 | } |
868 | 91 | 94 | ||
869 | 92 | Item { | 95 | Item { |
870 | 93 | 96 | ||
871 | === modified file 'maliit-keyboard/tests/common/inputmethodhostprobe.cpp' | |||
872 | --- maliit-keyboard/tests/common/inputmethodhostprobe.cpp 2012-11-21 15:19:50 +0000 | |||
873 | +++ maliit-keyboard/tests/common/inputmethodhostprobe.cpp 2013-07-29 14:19:29 +0000 | |||
874 | @@ -121,3 +121,18 @@ | |||
875 | 121 | { | 121 | { |
876 | 122 | return m_last_preedit_text_format_list; | 122 | return m_last_preedit_text_format_list; |
877 | 123 | } | 123 | } |
878 | 124 | |||
879 | 125 | void InputMethodHostProbe::registerWindow(QWindow*, Maliit::Position) | ||
880 | 126 | { | ||
881 | 127 | |||
882 | 128 | } | ||
883 | 129 | |||
884 | 130 | void InputMethodHostProbe::setScreenRegion(const QRegion&, QWindow*) | ||
885 | 131 | { | ||
886 | 132 | |||
887 | 133 | } | ||
888 | 134 | |||
889 | 135 | void InputMethodHostProbe::setInputMethodArea(const QRegion&, QWindow*) | ||
890 | 136 | { | ||
891 | 137 | |||
892 | 138 | } | ||
893 | 124 | 139 | ||
894 | === modified file 'maliit-keyboard/tests/common/inputmethodhostprobe.h' | |||
895 | --- maliit-keyboard/tests/common/inputmethodhostprobe.h 2012-11-21 15:19:50 +0000 | |||
896 | +++ maliit-keyboard/tests/common/inputmethodhostprobe.h 2013-07-29 14:19:29 +0000 | |||
897 | @@ -96,7 +96,6 @@ | |||
898 | 96 | void setRedirectKeys(bool) {} | 96 | void setRedirectKeys(bool) {} |
899 | 97 | void setDetectableAutoRepeat(bool) {} | 97 | void setDetectableAutoRepeat(bool) {} |
900 | 98 | void setGlobalCorrectionEnabled(bool) {} | 98 | void setGlobalCorrectionEnabled(bool) {} |
901 | 99 | void setInputModeIndicator(Maliit::InputModeIndicator) {} | ||
902 | 100 | void switchPlugin(Maliit::SwitchDirection) {} | 99 | void switchPlugin(Maliit::SwitchDirection) {} |
903 | 101 | void switchPlugin(const QString&) {} | 100 | void switchPlugin(const QString&) {} |
904 | 102 | void setScreenRegion(const QRegion&) {} | 101 | void setScreenRegion(const QRegion&) {} |
905 | @@ -104,13 +103,17 @@ | |||
906 | 104 | void setSelection(int, int) {} | 103 | void setSelection(int, int) {} |
907 | 105 | void setOrientationAngleLocked(bool) {} | 104 | void setOrientationAngleLocked(bool) {} |
908 | 106 | QList<MImPluginDescription> pluginDescriptions(Maliit::HandlerState) const {return QList<MImPluginDescription>();} | 105 | QList<MImPluginDescription> pluginDescriptions(Maliit::HandlerState) const {return QList<MImPluginDescription>();} |
909 | 107 | Maliit::Plugins::AbstractSurfaceFactory* surfaceFactory() { return 0; } | ||
910 | 108 | Maliit::Plugins::AbstractPluginSetting* registerPluginSetting(const QString &, | 106 | Maliit::Plugins::AbstractPluginSetting* registerPluginSetting(const QString &, |
911 | 109 | const QString &, | 107 | const QString &, |
912 | 110 | Maliit::SettingEntryType , | 108 | Maliit::SettingEntryType , |
913 | 111 | const QVariantMap &) { return 0; } | 109 | const QVariantMap &) { return 0; } |
914 | 112 | void invokeAction(const QString &, | 110 | void invokeAction(const QString &, |
915 | 113 | const QKeySequence &) {} | 111 | const QKeySequence &) {} |
916 | 112 | |||
917 | 113 | virtual void registerWindow(QWindow*, Maliit::Position); | ||
918 | 114 | virtual void setScreenRegion(const QRegion&, QWindow*); | ||
919 | 115 | virtual void setInputMethodArea(const QRegion&, QWindow*); | ||
920 | 116 | |||
921 | 114 | }; | 117 | }; |
922 | 115 | 118 | ||
923 | 116 | #endif // INPUTMETHODHOSTPROBE_H | 119 | #endif // INPUTMETHODHOSTPROBE_H |
924 | 117 | 120 | ||
925 | === modified file 'maliit-keyboard/tests/editor/editor.pro' | |||
926 | --- maliit-keyboard/tests/editor/editor.pro 2012-07-25 06:52:40 +0000 | |||
927 | +++ maliit-keyboard/tests/editor/editor.pro 2013-07-29 14:19:29 +0000 | |||
928 | @@ -2,14 +2,15 @@ | |||
929 | 2 | include(../common-check.pri) | 2 | include(../common-check.pri) |
930 | 3 | include(../../config-plugin.pri) | 3 | include(../../config-plugin.pri) |
931 | 4 | 4 | ||
934 | 5 | TOP_BUILDDIR = $${OUT_PWD}/../../.. | 5 | TARGET = ut_editor |
933 | 6 | TARGET = editor | ||
935 | 7 | TEMPLATE = app | 6 | TEMPLATE = app |
936 | 8 | QT = core testlib gui | 7 | QT = core testlib gui |
937 | 9 | 8 | ||
938 | 10 | INCLUDEPATH += ../ ../../lib ../../ | 9 | INCLUDEPATH += ../ ../../lib ../../ |
941 | 11 | LIBS += $${TOP_BUILDDIR}/$${MALIIT_KEYBOARD_PLUGIN_LIB} $${TOP_BUILDDIR}/$${MALIIT_KEYBOARD_VIEW_LIB} $${TOP_BUILDDIR}/$${MALIIT_KEYBOARD_LIB} | 10 | |
942 | 12 | PRE_TARGETDEPS += $${TOP_BUILDDIR}/$${MALIIT_KEYBOARD_PLUGIN_LIB} $${TOP_BUILDDIR}/$${MALIIT_KEYBOARD_VIEW_LIB} $${TOP_BUILDDIR}/$${MALIIT_KEYBOARD_LIB} | 11 | TOP_BUILDDIR = $${OUT_PWD}/../.. |
943 | 12 | LIBS += -L$${TOP_BUILDDIR}/plugin -lmaliit-keyboard-plugin | ||
944 | 13 | |||
945 | 13 | 14 | ||
946 | 14 | HEADERS += \ | 15 | HEADERS += \ |
947 | 15 | wordengineprobe.h \ | 16 | wordengineprobe.h \ |
948 | 16 | 17 | ||
949 | === modified file 'maliit-keyboard/tests/tests.pro' | |||
950 | --- maliit-keyboard/tests/tests.pro 2013-04-18 13:33:13 +0000 | |||
951 | +++ maliit-keyboard/tests/tests.pro 2013-07-29 14:19:29 +0000 | |||
952 | @@ -3,11 +3,12 @@ | |||
953 | 3 | common \ | 3 | common \ |
954 | 4 | editor \ | 4 | editor \ |
955 | 5 | language-layout-switching \ | 5 | language-layout-switching \ |
957 | 6 | preedit-string \ | 6 | # preedit-string \ |
958 | 7 | repeat-backspace \ | 7 | repeat-backspace \ |
959 | 8 | word-candidates \ | 8 | word-candidates \ |
960 | 9 | language-layout-loading \ | 9 | language-layout-loading \ |
961 | 10 | qml-test-app \ | 10 | qml-test-app \ |
962 | 11 | wordengine \ | ||
963 | 11 | 12 | ||
964 | 12 | CONFIG += ordered | 13 | CONFIG += ordered |
965 | 13 | QMAKE_EXTRA_TARGETS += check | 14 | QMAKE_EXTRA_TARGETS += check |
966 | 14 | 15 | ||
967 | === added directory 'maliit-keyboard/tests/wordengine' | |||
968 | === added file 'maliit-keyboard/tests/wordengine/.bzrignore' | |||
969 | --- maliit-keyboard/tests/wordengine/.bzrignore 1970-01-01 00:00:00 +0000 | |||
970 | +++ maliit-keyboard/tests/wordengine/.bzrignore 2013-07-29 14:19:29 +0000 | |||
971 | @@ -0,0 +1,4 @@ | |||
972 | 1 | ut_wordengine | ||
973 | 2 | Makefile | ||
974 | 3 | *.moc | ||
975 | 4 | *.o | ||
976 | 0 | 5 | ||
977 | === added file 'maliit-keyboard/tests/wordengine/main.cpp' | |||
978 | --- maliit-keyboard/tests/wordengine/main.cpp 1970-01-01 00:00:00 +0000 | |||
979 | +++ maliit-keyboard/tests/wordengine/main.cpp 2013-07-29 14:19:29 +0000 | |||
980 | @@ -0,0 +1,114 @@ | |||
981 | 1 | |||
982 | 2 | |||
983 | 3 | #include "models/wordribbon.h" | ||
984 | 4 | #include "plugin/inputmethod.h" | ||
985 | 5 | #include "common/inputmethodhostprobe.h" | ||
986 | 6 | |||
987 | 7 | #include <maliit/plugins/abstractinputmethodhost.h> | ||
988 | 8 | |||
989 | 9 | #include <QtTest/QtTest> | ||
990 | 10 | |||
991 | 11 | using namespace MaliitKeyboard; | ||
992 | 12 | |||
993 | 13 | |||
994 | 14 | class TestWordEngine: public QObject | ||
995 | 15 | { | ||
996 | 16 | Q_OBJECT | ||
997 | 17 | private: | ||
998 | 18 | |||
999 | 19 | Q_SLOT void wordRibbon() { | ||
1000 | 20 | |||
1001 | 21 | // WordRibbon is a QAbstractListModel, exposed to QML | ||
1002 | 22 | |||
1003 | 23 | WordRibbon wr; | ||
1004 | 24 | |||
1005 | 25 | QCOMPARE(wr.candidates().size(), 0); | ||
1006 | 26 | |||
1007 | 27 | |||
1008 | 28 | QHash<int, QByteArray> roles; | ||
1009 | 29 | roles.insert(WordRibbon::WordRole, "word"); | ||
1010 | 30 | QCOMPARE( wr.roleNames(), roles ); | ||
1011 | 31 | |||
1012 | 32 | |||
1013 | 33 | WordCandidate wc1(WordCandidate::SourceUnknown, "word_1"); | ||
1014 | 34 | WordCandidate wc2(WordCandidate::SourceUnknown, "word_2"); | ||
1015 | 35 | WordCandidate wc3(WordCandidate::SourceUnknown, "word_3"); | ||
1016 | 36 | |||
1017 | 37 | wr.appendCandidate(wc1); | ||
1018 | 38 | wr.appendCandidate(wc2); | ||
1019 | 39 | wr.appendCandidate(wc3); | ||
1020 | 40 | |||
1021 | 41 | QCOMPARE( wr.data( wr.index(0,0), WordRibbon::WordRole ), QVariant("word_1")); | ||
1022 | 42 | QCOMPARE( wr.data( wr.index(1,0), WordRibbon::WordRole ), QVariant("word_2")); | ||
1023 | 43 | QCOMPARE( wr.data( wr.index(2,0), WordRibbon::WordRole ), QVariant("word_3")); | ||
1024 | 44 | |||
1025 | 45 | QCOMPARE( wr.rowCount(), 3 ); | ||
1026 | 46 | |||
1027 | 47 | |||
1028 | 48 | QVector<WordCandidate> candidates = wr.candidates(); | ||
1029 | 49 | QCOMPARE( candidates.size(), 3 ); | ||
1030 | 50 | QCOMPARE( candidates[0], wc1 ); | ||
1031 | 51 | QCOMPARE( candidates[1], wc2 ); | ||
1032 | 52 | QCOMPARE( candidates[2], wc3 ); | ||
1033 | 53 | |||
1034 | 54 | wr.clearCandidates(); | ||
1035 | 55 | QCOMPARE( wr.rowCount(), 0 ); | ||
1036 | 56 | |||
1037 | 57 | wr.appendCandidate(wc1); | ||
1038 | 58 | wr.appendCandidate(wc2); | ||
1039 | 59 | wr.appendCandidate(wc3); | ||
1040 | 60 | |||
1041 | 61 | QCOMPARE( wr.rowCount(), 3 ); | ||
1042 | 62 | |||
1043 | 63 | // initially set to false | ||
1044 | 64 | QCOMPARE( wr.enabled(), false ); | ||
1045 | 65 | |||
1046 | 66 | wr.setEnabled(true); | ||
1047 | 67 | QCOMPARE( wr.enabled(), true ); | ||
1048 | 68 | |||
1049 | 69 | wr.setEnabled(false); | ||
1050 | 70 | QCOMPARE( wr.enabled(), false ); | ||
1051 | 71 | |||
1052 | 72 | // later | ||
1053 | 73 | QCOMPARE( wr.valid(), false ); | ||
1054 | 74 | |||
1055 | 75 | WordCandidate w4(WordCandidate::SourceUnknown, "another_word"); | ||
1056 | 76 | |||
1057 | 77 | // make sure model-related signals work | ||
1058 | 78 | QSignalSpy modelAboutToBeResetSpy(&wr, SIGNAL( modelAboutToBeReset() )); | ||
1059 | 79 | QSignalSpy rowsInsertedSpy(&wr, SIGNAL( rowsInserted(QModelIndex, int, int) ) ); | ||
1060 | 80 | |||
1061 | 81 | QVERIFY(modelAboutToBeResetSpy.isValid()); | ||
1062 | 82 | QVERIFY(rowsInsertedSpy.isValid()); | ||
1063 | 83 | |||
1064 | 84 | wr.appendCandidate(w4); | ||
1065 | 85 | |||
1066 | 86 | QCOMPARE(rowsInsertedSpy.count(), 1); | ||
1067 | 87 | |||
1068 | 88 | wr.clearCandidates(); | ||
1069 | 89 | |||
1070 | 90 | QCOMPARE( modelAboutToBeResetSpy.count(), 1 ); | ||
1071 | 91 | |||
1072 | 92 | QList<QVariant> arguments = rowsInsertedSpy.takeFirst(); | ||
1073 | 93 | QVERIFY(arguments[1].toInt() == 3); | ||
1074 | 94 | QVERIFY(arguments[2].toInt() == 3); | ||
1075 | 95 | |||
1076 | 96 | /* | ||
1077 | 97 | this API should be reviewed and refactored where appropriate: | ||
1078 | 98 | |||
1079 | 99 | valid | ||
1080 | 100 | rect | ||
1081 | 101 | origin/setOrigin - currently not used | ||
1082 | 102 | rCandidates - returns reference, not copy. no const. not documented | ||
1083 | 103 | area/rArea/setArea - currently not used | ||
1084 | 104 | Q_PROPERTY enabled - currently not used | ||
1085 | 105 | operator== | ||
1086 | 106 | operator!= | ||
1087 | 107 | */ | ||
1088 | 108 | } | ||
1089 | 109 | |||
1090 | 110 | }; | ||
1091 | 111 | |||
1092 | 112 | |||
1093 | 113 | QTEST_MAIN(TestWordEngine) | ||
1094 | 114 | #include "main.moc" | ||
1095 | 0 | 115 | ||
1096 | === added file 'maliit-keyboard/tests/wordengine/wordengine.pro' | |||
1097 | --- maliit-keyboard/tests/wordengine/wordengine.pro 1970-01-01 00:00:00 +0000 | |||
1098 | +++ maliit-keyboard/tests/wordengine/wordengine.pro 2013-07-29 14:19:29 +0000 | |||
1099 | @@ -0,0 +1,16 @@ | |||
1100 | 1 | include(../../config.pri) | ||
1101 | 2 | include(../common-check.pri) | ||
1102 | 3 | include(../../config-plugin.pri) | ||
1103 | 4 | |||
1104 | 5 | CONFIG += testlib | ||
1105 | 6 | TEMPLATE = app | ||
1106 | 7 | TARGET = ut_wordengine | ||
1107 | 8 | INCLUDEPATH += . ../ ../../lib ../../ | ||
1108 | 9 | QT = core testlib gui | ||
1109 | 10 | |||
1110 | 11 | |||
1111 | 12 | TOP_BUILDDIR = $${OUT_PWD}/../.. | ||
1112 | 13 | LIBS += -L$${TOP_BUILDDIR}/plugin -lmaliit-keyboard-plugin | ||
1113 | 14 | |||
1114 | 15 | |||
1115 | 16 | SOURCES += main.cpp | ||
1116 | 0 | 17 | ||
1117 | === added file 'unittests.sh' | |||
1118 | --- unittests.sh 1970-01-01 00:00:00 +0000 | |||
1119 | +++ unittests.sh 2013-07-29 14:19:29 +0000 | |||
1120 | @@ -0,0 +1,11 @@ | |||
1121 | 1 | |||
1122 | 2 | |||
1123 | 3 | adb push maliit-keyboard/plugin/libmaliit-keyboard-plugin.so /data/ubuntu/usr/lib/maliit/plugins/libmaliit-keyboard-plugin.so | ||
1124 | 4 | adb push maliit-keyboard/tests/wordengine/ut_wordengine /data/ubuntu/usr/bin | ||
1125 | 5 | adb push maliit-keyboard/tests/editor/ut_editor /data/ubuntu/usr/bin | ||
1126 | 6 | |||
1127 | 7 | adb shell QT_QPA_PLATFORM=minimal LD_LIBRARY_PATH=/usr/lib/maliit/plugins:$_LD_LIBRARY_PATH /usr/bin/ut_editor | ||
1128 | 8 | adb shell QT_QPA_PLATFORM=minimal LD_LIBRARY_PATH=/usr/lib/maliit/plugins:$_LD_LIBRARY_PATH /usr/bin/ut_wordengine | ||
1129 | 9 | |||
1130 | 10 | |||
1131 | 11 |
FAILED: Continuous integration, rev:2138 jenkins. qa.ubuntu. com/job/ phablet- extras- maliit- plugins- ci/84/ jenkins. qa.ubuntu. com/job/ phablet- extras- maliit- plugins- saucy-armhf- ci/36/console jenkins. qa.ubuntu. com/job/ phablet- extras- maliit- plugins- saucy-i386- ci/36/console
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild: s-jenkins: 8080/job/ phablet- extras- maliit- plugins- ci/84/rebuild
http://