@@ -18,6 +18,7 @@ import QtQuick 2.0
18import QtTest 1.0
18import QtTest 1.0
19import ".."
19import ".."
20import "../../../qml/Dash"
20import "../../../qml/Dash"
21+import "../../../qml/Components/SearchHistoryModel"
21import Ubuntu.Components 0.1
22import Ubuntu.Components 0.1
22import Unity 0.2
23import Unity 0.2
23import Unity.Test 0.1 as UT
24import Unity.Test 0.1 as UT
@@ -25,7 +26,7 @@ import Unity.Test 0.1 as UT
27 width: units.gu(110)
28 width: units.gu(110)
28− height: units.gu(30)
29+ height: units.gu(50)
30 UT.UnityTestCase {
31 UT.UnityTestCase {
31 name: "PageHeaderLabelTest"
32 name: "PageHeaderLabelTest"
@@ -54,7 +55,7 @@ Item {
54 pageHeader.searchHistory.clear();
55 pageHeader.searchHistory.clear();
56 // Check initial state
57 // Check initial state
57− tryCompareFunction(function() { return headerContainer.popover === null; }, true);
58+ tryCompare(pageHeader.extraPanel, "visible", true);
58 compare(pageHeader.searchHistory.count, 0);
59 compare(pageHeader.searchHistory.count, 0);
@@ -146,7 +147,7 @@ Item {
146 doResetSearch();
147 doResetSearch();
149− function test_popover() {
150+ function test_extraPanel() {
150 searchEnabled = true;
151 searchEnabled = true;
151 pageHeader.searchHistory.clear();
152 pageHeader.searchHistory.clear();
@@ -155,22 +156,18 @@ Item {
156 pageHeader.triggerSearch();
157 pageHeader.triggerSearch();
158− var headerContainer = findChild(pageHeader, "headerContainer");
159− verify(headerContainer !== null, "headerContainer != null");
160− tryCompareFunction(function() { return headerContainer.popover !== null; }, true);
162− tryCompare(headerContainer.popover, "visible", true);
159+ tryCompare(pageHeader.extraPanel, "visible", true);
164 var searchTextField = findChild(pageHeader, "searchTextField");
161 var searchTextField = findChild(pageHeader, "searchTextField");
165 compare(searchTextField.focus, true);
162 compare(searchTextField.focus, true);
167− var recentSearches = findChild(headerContainer.popover, "recentSearches");
164+ var recentSearches = findChild(pageHeader.extraPanel, "recentSearchesRepeater");
168− verify(recentSearches, "Could not find recent searches in the popover");
165+ verify(recentSearches, "Could not find recent searches");
169 waitForRendering(recentSearches);
166 waitForRendering(recentSearches);
170 mouseClick(recentSearches.itemAt(0));
167 mouseClick(recentSearches.itemAt(0));
172 compare(pageHeader.searchQuery, "Search2");
169 compare(pageHeader.searchQuery, "Search2");
173− tryCompareFunction(function() { return headerContainer.popover === null; }, true);
170+ tryCompare(pageHeader.extraPanel, "visible", false);
174 compare(searchTextField.focus, false);
171 compare(searchTextField.focus, false);
@@ -212,9 +209,7 @@ Item {
212 pageHeader.triggerSearch();
209 pageHeader.triggerSearch();
214 var headerContainer = findChild(pageHeader, "headerContainer");
211 var headerContainer = findChild(pageHeader, "headerContainer");
215− verify(headerContainer !== null, "headerContainer != null");
212+ tryCompare(pageHeader.extraPanel, "visible", true);
216− tryCompareFunction(function() { return headerContainer.popover !== null; }, true);
217− compare(headerContainer.popover.visible, true);
219 pageHeader.searchQuery = data.searchText;
214 pageHeader.searchQuery = data.searchText;
@@ -225,7 +220,7 @@ Item {
227 tryCompare(headerContainer, "showSearch", !data.hideSearch);
222 tryCompare(headerContainer, "showSearch", !data.hideSearch);
228− tryCompareFunction(function() { return headerContainer.popover === null; }, true);
223+ tryCompare(pageHeader.extraPanel, "visible", false);
230 doResetSearch();
225 doResetSearch();
@@ -251,8 +246,10 @@ Item {
251 right: parent.right
246 right: parent.right
249+ searchHistory: SearchHistoryModel
254 searchEntryEnabled: true
250 searchEntryEnabled: true
255 title: "%^$%^%^&%^&%^$%GHR%"
251 title: "%^$%^%^&%^&%^$%GHR%"
252+ extraPanel: peExtraPanel
256 scopeStyle: QtObject {
253 scopeStyle: QtObject {
257 readonly property color foreground: Theme.palette.normal.baseText
254 readonly property color foreground: Theme.palette.normal.baseText
258 readonly property url headerLogo: showImageCheckBox.checked ? pageHeader.titleImageSource : ""
255 readonly property url headerLogo: showImageCheckBox.checked ? pageHeader.titleImageSource : ""
@@ -264,6 +261,18 @@ Item {
264 onBackClicked: lastBackClicked = new Date()
261 onBackClicked: lastBackClicked = new Date()
264+ PageHeaderExtraPanel {
269+ searchHistory: SearchHistoryModel
270+ onHistoryItemClicked: {
271+ SearchHistoryModel.addQuery(text);
272+ pageHeader.searchQuery = text;
268 spacing: units.gu(1)
277 spacing: units.gu(1)
269 anchors {
278 anchors {