on xenial help sign in
Unfocus the search text field in the dash page header when requested (LP: #1590820)
c698d80Andrea Cimitan
qml/Dash/DashPageHeader.qml+2−2
@@ -81,7 +81,8 @@ Item {
81 function closePopup(keepFocus, keepSearch) {
81 function closePopup(keepFocus, keepSearch) {
82 if (extraPanel.visible) {
82 if (extraPanel.visible) {
83 extraPanel.visible = false;
83 extraPanel.visible = false;
84+ }
84− } else if (!keepFocus) {
85+ if (!keepFocus) {
85 unfocus(keepSearch);
86 unfocus(keepSearch);
86 }
87 }
87 if (!keepSearch && !searchTextField.text && !root.navigationTag && searchHistory.count == 0) {
88 if (!keepSearch && !searchTextField.text && !root.navigationTag && searchHistory.count == 0) {
@@ -131,7 +132,6 @@ Item {
131 anchors { fill: parent; margins: units.gu(1); bottomMargin: units.gu(3) + (extraPanel ? extraPanel.height : 0) }
132 anchors { fill: parent; margins: units.gu(1); bottomMargin: units.gu(3) + (extraPanel ? extraPanel.height : 0) }
132 visible: headerContainer.showSearch
133 visible: headerContainer.showSearch
133 onPressed: {
134 onPressed: {
134− extraPanel.visible = false;
135 closePopup(/* keepFocus */false);
135 closePopup(/* keepFocus */false);
136 mouse.accepted = false;
136 mouse.accepted = false;
137 }
137 }
tests/qmltests/Dash/tst_DashContent.qml+22
@@ -690,5 +690,27 @@ Item {
690 tryCompare(pageHeader.extraPanel, "visible", false);
690 tryCompare(pageHeader.extraPanel, "visible", false);
691 compare(searchTextField.focus, false);
691 compare(searchTextField.focus, false);
692 }
692 }
693+
694+ function test_cancelSearch() {
695+ var dashContentList = findChild(dashContent, "dashContentList");
696+ var pageHeader = findChild(dashContentList.currentItem, "scopePageHeader")
697+ pageHeader.searchEntryEnabled = true;
698+ pageHeader.searchHistory.clear();
699+
700+ pageHeader.searchHistory.addQuery("Search1");
701+ pageHeader.searchHistory.addQuery("Search2");
702+
703+ pageHeader.triggerSearch();
704+ tryCompare(pageHeader.extraPanel, "visible", true);
705+
706+ var searchTextField = findChild(pageHeader, "searchTextField");
707+ compare(searchTextField.focus, true);
708+
709+ var cancelButton = findChild(dashContentList.currentItem, "cancelButton")
710+
711+ mouseClick(cancelButton);
712+ tryCompare(pageHeader.extraPanel, "visible", false);
713+ compare(searchTextField.focus, false);
714+ }
693 }
715 }
694}
716}