Merge lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/hideInputHandlersWhileTyping into lp:ubuntu-ui-toolkit/staging

Proposed by Cris Dywan
Status: Merged
Approved by: Cris Dywan
Approved revision: 1196
Merged at revision: 1257
Proposed branch: lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/hideInputHandlersWhileTyping
Merge into: lp:ubuntu-ui-toolkit/staging
Diff against target: 469 lines (+275/-35)
11 files modified
modules/Ubuntu/Components/InputHandler.qml (+12/-1)
modules/Ubuntu/Components/TextCursor.qml (+10/-0)
modules/Ubuntu/Components/Themes/Ambiance/TextCursorStyle.qml (+1/-0)
modules/Ubuntu/Components/Themes/Ambiance/TextSelectionEndCursorStyle.qml (+1/-0)
tests/autopilot/ubuntuuitoolkit/base.py (+25/-1)
tests/autopilot/ubuntuuitoolkit/tests/__init__.py (+10/-4)
tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.py (+98/-0)
tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textarea.qml (+36/-0)
tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textfield.qml (+35/-0)
tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textfield_custom.qml (+43/-0)
tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_flickable.py (+4/-29)
To merge this branch: bzr merge lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/hideInputHandlersWhileTyping
Reviewer Review Type Date Requested Status
PS Jenkins bot continuous-integration Approve
Zsombor Egri Approve
Review via email: mp+230318@code.launchpad.net

Commit message

Hide text input handlers while typing

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:1184
http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-ci/773/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-utopic-touch/3322
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-utopic/2600
    FAILURE: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-amd64-ci/605/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-armhf-ci/605
        deb: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-armhf-ci/605/artifact/work/output/*zip*/output.zip
    FAILURE: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-i386-ci/605/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-runner-mako/3263
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-armhf/4568
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-armhf/4568/artifact/work/output/*zip*/output.zip
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/11252
    SUCCESS: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-utopic/2108
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-amd64/2874
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-amd64/2874/artifact/work/output/*zip*/output.zip

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-ci/773/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Zsombor Egri (zsombi) wrote :

Tested on the device with Contacts app. The caret is hidden when typing is started, but does appear only after few taps-cursor position changes later. Even if the focus is taken away from the input and then given back it won't appear.

review: Needs Fixing
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:1187
http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-ci/794/
Executed test runs:
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-utopic-touch/3429
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-utopic/2690
    SUCCESS: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-amd64-ci/626
    SUCCESS: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-armhf-ci/626
        deb: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-armhf-ci/626/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-i386-ci/626
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-runner-mako/3346
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-armhf/4676
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-armhf/4676/artifact/work/output/*zip*/output.zip
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/11352
    SUCCESS: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-utopic/2178
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-amd64/2967
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-amd64/2967/artifact/work/output/*zip*/output.zip

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-ci/794/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Unstable tests, or failing?
    ubuntuuitoolkit.tests.gallery.test_textinput.CaretTextInputTestCase.test_caret_visible_after_tapping(textarea)
    ubuntuuitoolkit.tests.gallery.test_textinput.CaretTextInputTestCase.test_caret_visible_after_selecting(textfield)
    ubuntuuitoolkit.tests.gallery.test_textinput.CaretTextInputTestCase.test_caret_visible_after_selecting(textarea)

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Zsombor Egri (zsombi) wrote :

Looks brilliant now! Thank you!

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'modules/Ubuntu/Components/InputHandler.qml'
2--- modules/Ubuntu/Components/InputHandler.qml 2014-06-28 17:26:49 +0000
3+++ modules/Ubuntu/Components/InputHandler.qml 2014-09-17 16:07:15 +0000
4@@ -50,6 +50,9 @@
5
6 // signal triggered when popup should be opened
7 signal pressAndHold(int pos)
8+ signal tap(int pos)
9+ property string oldText: ""
10+ signal textModified()
11
12 function activateInput() {
13 if (!input.activeFocus) {
14@@ -307,7 +310,13 @@
15 Connections {
16 target: input
17 onCursorRectangleChanged: ensureVisible()
18- onTextChanged: textChanged = true;
19+ onTextChanged: {
20+ textChanged = true;
21+ if (oldText != input.text) {
22+ textModified()
23+ oldText = text
24+ }
25+ }
26 // make sure we show the OSK
27 onActiveFocusChanged: showInputPanel()
28 }
29@@ -369,6 +378,8 @@
30 if (event.button === Qt.RightButton) {
31 // open the popover
32 inputHandler.pressAndHold(input.cursorPosition);
33+ } else {
34+ inputHandler.tap(input.cursorPosition);
35 }
36 }
37 function handleMove(event, touch ) {
38
39=== modified file 'modules/Ubuntu/Components/TextCursor.qml'
40--- modules/Ubuntu/Components/TextCursor.qml 2014-08-21 05:24:14 +0000
41+++ modules/Ubuntu/Components/TextCursor.qml 2014-09-17 16:07:15 +0000
42@@ -64,6 +64,8 @@
43 Connections {
44 target: inputHandler
45 onPressAndHold: openPopover()
46+ onTextModified: typing = true
47+ onTap: typing = false
48 }
49
50 function openPopover() {
51@@ -85,6 +87,8 @@
52 "target": handler.main
53 })
54 }
55+ contextMenuVisible = true;
56+ popup.onVisibleChanged.connect(contextMenuHidden.bind(undefined, popup));
57 // do not grab focus!
58 popup.__foreground.activeFocusOnPress = false;
59 }
60@@ -124,6 +128,12 @@
61 when: caret
62 property: "visible"
63 value: QuickUtils.touchScreenAvailable
64+ && (contextMenuVisible || !typing)
65+ }
66+ property bool typing: false
67+ property bool contextMenuVisible: false
68+ function contextMenuHidden(p) {
69+ contextMenuVisible = false
70 }
71 onXChanged: if (draggedItem.state === "") draggedItem.moveToCaret()
72 onYChanged: if (draggedItem.state === "") draggedItem.moveToCaret()
73
74=== modified file 'modules/Ubuntu/Components/Themes/Ambiance/TextCursorStyle.qml'
75--- modules/Ubuntu/Components/Themes/Ambiance/TextCursorStyle.qml 2014-08-12 08:09:04 +0000
76+++ modules/Ubuntu/Components/Themes/Ambiance/TextCursorStyle.qml 2014-09-17 16:07:15 +0000
77@@ -78,6 +78,7 @@
78 Image {
79 id: caretItem
80 source: "artwork/caret_noshadow.png"
81+ objectName: "text_cursor_style_caret"
82 anchors {
83 top: parent.bottom
84 horizontalCenter: parent.horizontalCenter
85
86=== modified file 'modules/Ubuntu/Components/Themes/Ambiance/TextSelectionEndCursorStyle.qml'
87--- modules/Ubuntu/Components/Themes/Ambiance/TextSelectionEndCursorStyle.qml 2014-08-12 08:09:04 +0000
88+++ modules/Ubuntu/Components/Themes/Ambiance/TextSelectionEndCursorStyle.qml 2014-09-17 16:07:15 +0000
89@@ -63,6 +63,7 @@
90 Image {
91 id: caretItem
92 source: "artwork/caret_noshadow.png"
93+ objectName: "text_cursor_style_caret_end"
94 anchors {
95 top: parent.bottom
96 horizontalCenter: parent.horizontalCenter
97
98=== modified file 'tests/autopilot/ubuntuuitoolkit/base.py'
99--- tests/autopilot/ubuntuuitoolkit/base.py 2014-07-12 03:17:23 +0000
100+++ tests/autopilot/ubuntuuitoolkit/base.py 2014-09-17 16:07:15 +0000
101@@ -16,8 +16,11 @@
102
103 """Base classes for Autopilot tests using the Ubuntu UI Toolkit."""
104
105+import logging
106+
107 import os
108 import subprocess
109+import ubuntuuitoolkit
110
111 from autopilot import (
112 input,
113@@ -26,6 +29,9 @@
114 )
115
116
117+logger = logging.getLogger(__name__)
118+
119+
120 def get_host_multiarch():
121 if 'deb_host_multiarch' not in os.environ:
122 # Discard errors: the one known message is "GCC not installed"
123@@ -36,7 +42,12 @@
124
125
126 def get_qmlscene_launch_command():
127- """Return the command to launch qmlscene for autopilot tests."""
128+ """Return the command to launch qmlscene for autopilot tests.
129+
130+ This function is deprecated. Use get_toolkit_launcher_command() instead.
131+ """
132+ logger.warn('This function is deprecated. '
133+ 'Use get_toolkit_launcher_command() instead.')
134 # We need to specify qt5 because qtchooser doesn't have a default
135 # configuration on devices and it seems the environment variable
136 # QT_SELECT=qt5 doesn't work for autopilot tests. --Mirv - 2013-10-03
137@@ -44,6 +55,19 @@
138 return '/usr/lib/{}/qt5/bin/qmlscene'.format(arch)
139
140
141+def get_toolkit_launcher_command():
142+ root = ubuntuuitoolkit.tests.get_path_to_source_root()
143+ path_to_local_launcher = os.path.join(
144+ root, 'tests', 'launcher', 'launcher')
145+ if os.path.exists(path_to_local_launcher):
146+ return path_to_local_launcher
147+ else:
148+ arch = ubuntuuitoolkit.base.get_host_multiarch()
149+ path_to_installed_launcher = os.path.join(
150+ '/', 'usr', 'lib', arch, 'ubuntu-ui-toolkit', 'launcher')
151+ return path_to_installed_launcher
152+
153+
154 class UbuntuUIToolkitAppTestCase(testcase.AutopilotTestCase):
155 """Autopilot test case for applications using the Ubuntu UI Toolkit."""
156
157
158=== modified file 'tests/autopilot/ubuntuuitoolkit/tests/__init__.py'
159--- tests/autopilot/ubuntuuitoolkit/tests/__init__.py 2014-08-28 21:34:04 +0000
160+++ tests/autopilot/ubuntuuitoolkit/tests/__init__.py 2014-09-17 16:07:15 +0000
161@@ -141,13 +141,19 @@
162 self.pointing_device = Pointer(self.input_device_class.create())
163 self.launch_application()
164
165+ def get_command_line(self, command_line):
166+ return command_line
167+
168 def launch_application(self):
169 desktop_file_path = self._get_desktop_file_path()
170+ command_line = [
171+ base.get_toolkit_launcher_command(),
172+ "-I", _get_module_include_path(),
173+ self.test_qml_file_path,
174+ '--desktop_file_hint={0}'.format(desktop_file_path)
175+ ]
176 self.app = self.launch_test_application(
177- base.get_qmlscene_launch_command(),
178- "-I" + _get_module_include_path(),
179- self.test_qml_file_path,
180- '--desktop_file_hint={0}'.format(desktop_file_path),
181+ *self.get_command_line(command_line),
182 emulator_base=ubuntuuitoolkit.UbuntuUIToolkitCustomProxyObjectBase,
183 app_type='qt')
184
185
186=== added file 'tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.py'
187--- tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.py 1970-01-01 00:00:00 +0000
188+++ tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.py 2014-09-17 16:07:15 +0000
189@@ -0,0 +1,98 @@
190+# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
191+#
192+# Copyright (C) 2014 Canonical Ltd.
193+#
194+# This program is free software; you can redistribute it and/or modify
195+# it under the terms of the GNU Lesser General Public License as published by
196+# the Free Software Foundation; version 3.
197+#
198+# This program is distributed in the hope that it will be useful,
199+# but WITHOUT ANY WARRANTY; without even the implied warranty of
200+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
201+# GNU Lesser General Public License for more details.
202+#
203+# You should have received a copy of the GNU Lesser General Public License
204+# along with this program. If not, see <http://www.gnu.org/licenses/>.
205+
206+"""Tests for the Ubuntu UI Toolkit Header component."""
207+
208+import os
209+
210+from autopilot.introspection import dbus
211+
212+from ubuntuuitoolkit import tests
213+
214+
215+class CaretTextInputTestCase(tests.QMLFileAppTestCase):
216+
217+ path = os.path.abspath(__file__)
218+ dir_path = os.path.dirname(path)
219+ textfield_qml_file_path = os.path.join(
220+ dir_path, 'test_textinput.textfield.qml')
221+ textarea_qml_file_path = os.path.join(
222+ dir_path, 'test_textinput.textarea.qml')
223+ customfield_qml_file_path = os.path.join(
224+ dir_path, 'test_textinput.textfield_custom.qml')
225+
226+ scenarios = [
227+ ('textfield',
228+ dict(test_qml_file_path=textfield_qml_file_path,
229+ objectName='textfield')),
230+ ('textarea',
231+ dict(test_qml_file_path=textarea_qml_file_path,
232+ objectName='textarea')),
233+ ('customfield',
234+ dict(test_qml_file_path=customfield_qml_file_path,
235+ objectName='textfield')),
236+ ]
237+
238+ def get_command_line(self, command_line):
239+ command_line.append('-touch')
240+ return command_line
241+
242+ def setUp(self):
243+ super(CaretTextInputTestCase, self).setUp()
244+ self.textfield = self.main_view.select_single(
245+ objectName=self.objectName)
246+ self.assertFalse(self.textfield.focus)
247+
248+ def test_caret_visible_on_focus(self):
249+ try:
250+ cursor = self.main_view.select_single(
251+ objectName='text_cursor_style_caret')
252+ # cursor.visible is always True if the select succeeds
253+ self.assertFalse(cursor.visible)
254+ except dbus.StateNotFoundError:
255+ # Caret can't be selected because it's hidden
256+ pass
257+
258+ self.pointing_device.click_object(self.textfield)
259+ self.assertTrue(self.textfield.focus)
260+ cursor = self.main_view.select_single(
261+ objectName='text_cursor_style_caret')
262+ self.assertTrue(cursor.visible)
263+
264+ def test_caret_hide_while_typing(self):
265+ self.pointing_device.click_object(self.textfield)
266+ self.assertTrue(self.textfield.focus)
267+ cursor = self.main_view.select_single(
268+ objectName='text_cursor_style_caret')
269+ self.assertTrue(cursor.visible)
270+
271+ self.textfield.keyboard.type('Lorem ipsum')
272+ self.assertFalse(cursor.visible)
273+
274+ def test_caret_visible_after_tapping(self):
275+ self.test_caret_hide_while_typing()
276+ self.pointing_device.click_object(self.textfield)
277+ cursor = self.main_view.select_single(
278+ objectName='text_cursor_style_caret')
279+ self.assertTrue(cursor.visible)
280+
281+ def test_caret_visible_after_selecting(self):
282+ self.test_caret_hide_while_typing()
283+ # Select a character
284+ self.keyboard.press_and_release('Shift+Left')
285+ cursor = self.main_view.select_single(
286+ objectName='text_cursor_style_caret_end')
287+ self.assertTrue(cursor.visible)
288
289=== added file 'tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textarea.qml'
290--- tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textarea.qml 1970-01-01 00:00:00 +0000
291+++ tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textarea.qml 2014-09-17 16:07:15 +0000
292@@ -0,0 +1,36 @@
293+/*
294+ * Copyright 2014 Canonical Ltd.
295+ *
296+ * This program is free software; you can redistribute it and/or modify
297+ * it under the terms of the GNU Lesser General Public License as published by
298+ * the Free Software Foundation; version 3.
299+ *
300+ * This program is distributed in the hope that it will be useful,
301+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
302+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
303+ * GNU Lesser General Public License for more details.
304+ *
305+ * You should have received a copy of the GNU Lesser General Public License
306+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
307+ */
308+
309+import QtQuick 2.0
310+import Ubuntu.Components 1.1
311+
312+MainView {
313+ width: units.gu(48)
314+ height: units.gu(60)
315+
316+ Page {
317+ title: "Textarea"
318+
319+ Column {
320+ TextArea {
321+ objectName: "textarea"
322+ text: "Lorem ipsum dolor sit amet."
323+ width: units.gu(25)
324+ height: units.gu(25)
325+ }
326+ }
327+ }
328+}
329
330=== added file 'tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textfield.qml'
331--- tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textfield.qml 1970-01-01 00:00:00 +0000
332+++ tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textfield.qml 2014-09-17 16:07:15 +0000
333@@ -0,0 +1,35 @@
334+/*
335+ * Copyright 2014 Canonical Ltd.
336+ *
337+ * This program is free software; you can redistribute it and/or modify
338+ * it under the terms of the GNU Lesser General Public License as published by
339+ * the Free Software Foundation; version 3.
340+ *
341+ * This program is distributed in the hope that it will be useful,
342+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
343+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
344+ * GNU Lesser General Public License for more details.
345+ *
346+ * You should have received a copy of the GNU Lesser General Public License
347+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
348+ */
349+
350+import QtQuick 2.0
351+import Ubuntu.Components 1.1
352+
353+MainView {
354+ width: units.gu(48)
355+ height: units.gu(60)
356+
357+ Page {
358+ title: "Textfield"
359+
360+ Column {
361+ TextField {
362+ objectName: "textfield"
363+ placeholderText: "Type here"
364+ width: units.gu(15)
365+ }
366+ }
367+ }
368+}
369
370=== added file 'tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textfield_custom.qml'
371--- tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textfield_custom.qml 1970-01-01 00:00:00 +0000
372+++ tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textfield_custom.qml 2014-09-17 16:07:15 +0000
373@@ -0,0 +1,43 @@
374+/*
375+ * Copyright 2014 Canonical Ltd.
376+ *
377+ * This program is free software; you can redistribute it and/or modify
378+ * it under the terms of the GNU Lesser General Public License as published by
379+ * the Free Software Foundation; version 3.
380+ *
381+ * This program is distributed in the hope that it will be useful,
382+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
383+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
384+ * GNU Lesser General Public License for more details.
385+ *
386+ * You should have received a copy of the GNU Lesser General Public License
387+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
388+ */
389+
390+import QtQuick 2.0
391+import Ubuntu.Components 1.1
392+import Ubuntu.Components.Themes.Ambiance 0.1
393+
394+MainView {
395+ width: units.gu(48)
396+ height: units.gu(60)
397+
398+ Page {
399+ title: "Textfield"
400+
401+ Column {
402+ TextField {
403+ objectName: "textfield"
404+ placeholderText: "Type here"
405+ width: units.gu(15)
406+
407+ style: TextFieldStyle {
408+ overlaySpacing: 0
409+ frameSpacing: 0
410+ background: Item {}
411+ color: UbuntuColors.lightAubergine
412+ }
413+ }
414+ }
415+ }
416+}
417
418=== modified file 'tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_flickable.py'
419--- tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_flickable.py 2014-08-04 15:29:28 +0000
420+++ tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_flickable.py 2014-09-17 16:07:15 +0000
421@@ -14,11 +14,9 @@
422 # You should have received a copy of the GNU Lesser General Public License
423 # along with this program. If not, see <http://www.gnu.org/licenses/>.
424
425-import os
426-
427 import testtools
428 import ubuntuuitoolkit
429-from ubuntuuitoolkit import fixture_setup, tests
430+from ubuntuuitoolkit import tests
431 from ubuntuuitoolkit._custom_proxy_objects import _common
432
433
434@@ -200,32 +198,9 @@
435 }
436 """)
437
438- def launch_application(self):
439- fake_application = fixture_setup.FakeApplication(
440- qml_file_contents=self.test_qml)
441- self.useFixture(fake_application)
442-
443- self.app = self.launch_test_application(
444- self.get_alternate_launch_command(),
445- '-engine',
446- '-I', tests._get_module_include_path(),
447- fake_application.qml_file_path,
448- '--desktop_file_hint={0}'.format(
449- fake_application.desktop_file_path),
450- emulator_base=ubuntuuitoolkit.UbuntuUIToolkitCustomProxyObjectBase,
451- app_type='qt')
452-
453- def get_alternate_launch_command(self):
454- root = tests.get_path_to_source_root()
455- path_to_local_launcher = os.path.join(
456- root, 'tests', 'launcher', 'launcher')
457- if os.path.exists(path_to_local_launcher):
458- return path_to_local_launcher
459- else:
460- arch = ubuntuuitoolkit.base.get_host_multiarch()
461- path_to_installed_launcher = os.path.join(
462- '/', 'usr', 'lib', arch, 'ubuntu-ui-toolkit', 'launcher')
463- return path_to_installed_launcher
464+ def get_command_line(self, command_line):
465+ command_line.append('-engine')
466+ return command_line
467
468 def test_get_unity_top_container(self):
469 """Test that we can get the top cointainer in Unity."""

Subscribers

People subscribed via source and target branches