on xenial help sign in
fix search string selection in drawer
commit7be7b3b237df9e02c2e31edd1486df2711f2f54c authorMichael Zanetti <michael.zanetti@canonical.com> dateWed 29 Mar 2017, 18:29 (10 years ago) parent46bca5f
2 files changed+17
qml/Launcher/Launcher.qml+3 tests/qmltests/Launcher/tst_Drawer.qml+14
qml/Launcher/Launcher.qml+3
@@ -368,8 +368,11 @@ FocusScope {
368368 // Remove (and put back) the focus for the searchfield in
369369 // order to hide the copy/paste popover when we move the drawer
370370 var hadFocus = drawer.searchTextField.focus;
371+ var oldSelectionStart = drawer.searchTextField.selectionStart;
372+ var oldSelectionEnd = drawer.searchTextField.selectionEnd;
371373 drawer.searchTextField.focus = false;
372374 drawer.searchTextField.focus = hadFocus;
375+ drawer.searchTextField.select(oldSelectionStart, oldSelectionEnd);
373376 }
374377 }
375378 width: Math.min(root.width, units.gu(90)) * .9
tests/qmltests/Launcher/tst_Drawer.qml+14
@@ -271,8 +271,22 @@ StyledItem {
271271
272272 var searchField = findChild(drawer, "searchField");
273273 tryCompareFunction(function() { return !!searchField }, true);
274+ tryCompare(searchField, "selectedText", searchField.displayText);
274275 typeString("cam");
275276 tryCompareFunction(function() { return searchField.displayText }, "cam");
277+
278+ // Try again to make sure it cleaned and everything
279+ keyClick(Qt.Key_Escape);
280+ waitForRendering(launcher);
281+ waitUntilTransitionsEnd(launcher);
282+ launcher.openDrawer(true);
283+ waitForRendering(launcher);
284+ waitUntilTransitionsEnd(launcher);
285+
286+ tryCompare(searchField, "selectedText", searchField.displayText);
287+ typeString("terminal");
288+ tryCompareFunction(function() { return searchField.displayText }, "terminal");
289+
276290 }
277291
278292 function test_kbdNavigation() {