on xenial help sign in
Merge new-header.
03d74e2Michał Sawicz
qml/Components/PageHeader.qml+2−1
@@ -23,6 +23,7 @@ import "SearchHistoryModel"
23
23
24Item {
24Item {
25 id: root
25 id: root
26+ objectName: "pageHeader"
26 implicitHeight: headerContainer.height + units.gu(2) + bottomContainer.height
27 implicitHeight: headerContainer.height + units.gu(2) + bottomContainer.height
27
28
28 property bool showBackButton: false
29 property bool showBackButton: false
@@ -207,7 +208,7 @@ Item {
207
208
208 PageHeadStyle {
209 PageHeadStyle {
209 id: header
210 id: header
210− objectName: "pageHeader"
211+ objectName: "innerPageHeader"
211 anchors { left: parent.left; right: parent.right }
212 anchors { left: parent.left; right: parent.right }
212 height: headerContainer.height
213 height: headerContainer.height
213 contentHeight: height
214 contentHeight: height
tests/autopilot/unity8/shell/emulators/dash.py+27−24
@@ -108,44 +108,47 @@ class Dash(emulators.UnityEmulatorBase):
108 @autopilot_logging.log_action(logger.info)
108 @autopilot_logging.log_action(logger.info)
109 def _scroll_to_left_scope(self):
109 def _scroll_to_left_scope(self):
110 original_index = self.dash_content_list.currentIndex
110 original_index = self.dash_content_list.currentIndex
111− # Scroll on the border of the page header, because some scopes have
111+ dashContent = self.select_single(objectName="dashContent")
112− # contents that can be scrolled horizontally.
113− page_header = self._get_page_header()
114− border = page_header.select_single('QQuickBorderImage')
115− start_x = border.width / 3
112+ start_x = dashContent.width / 3
116− stop_x = border.width / 3 * 2
113+ stop_x = dashContent.width / 3 * 2
117− start_y = stop_y = border.globalRect.y + border.height / 2
114+ start_y = stop_y = dashContent.globalRect.y + 1
118 self.pointing_device.drag(start_x, start_y, stop_x, stop_y)
115 self.pointing_device.drag(start_x, start_y, stop_x, stop_y)
119 self.dash_content_list.currentIndex.wait_for(original_index - 1)
116 self.dash_content_list.currentIndex.wait_for(original_index - 1)
120
117
121− def _get_page_header(self):
122− return self.select_single('PageHeader', objectName='pageHeader')
123−
124 @autopilot_logging.log_action(logger.info)
118 @autopilot_logging.log_action(logger.info)
125 def _scroll_to_right_scope(self):
119 def _scroll_to_right_scope(self):
126 original_index = self.dash_content_list.currentIndex
120 original_index = self.dash_content_list.currentIndex
127− # Scroll on the border of the page header, because some scopes have
121+ dashContent = self.select_single(objectName="dashContent")
128− # contents that can be scrolled horizontally.
129− page_header = self._get_page_header()
130− border = page_header.select_single('QQuickBorderImage')
131− start_x = border.width / 3 * 2
122+ start_x = dashContent.width / 3 * 2
132− stop_x = border.width / 3
123+ stop_x = dashContent.width / 3
133− start_y = stop_y = border.globalRect.y + border.height / 2
124+ start_y = stop_y = dashContent.globalRect.y + 1
134 self.pointing_device.drag(start_x, start_y, stop_x, stop_y)
125 self.pointing_device.drag(start_x, start_y, stop_x, stop_y)
135 self.dash_content_list.currentIndex.wait_for(original_index + 1)
126 self.dash_content_list.currentIndex.wait_for(original_index + 1)
136
127
137 def enter_search_query(self, query):
128 def enter_search_query(self, query):
129+ current_header = self._get_current_page_header()
130+ self.pointing_device.move(current_header.globalRect.x +
131+ current_header.width - current_header.height / 2,
132+ current_header.globalRect.y +
133+ current_header.height / 2)
134+ self.pointing_device.click()
135+ headerContainer = current_header.select_single(objectName="headerContainer")
136+ headerContainer.contentY.wait_for(0)
138 search_text_field = self._get_search_text_field()
137 search_text_field = self._get_search_text_field()
139 search_text_field.write(query)
138 search_text_field.write(query)
140− search_text_field.state.wait_for('idle')
139+ current_header.select_single(objectName="searchIndicator").running.wait_for(False)
141
140
142 def _get_search_text_field(self):
141 def _get_search_text_field(self):
143− page_header = self._get_page_header()
142+ page_header = self._get_current_page_header()
144− search_container = page_header.select_single(
143+ return page_header.select_single(objectName='searchTextField')
145− 'QQuickItem', objectName='searchContainer')
144+
146− search_container.state.wait_for(
145+ def _get_current_page_header(self):
147− MatchesAny(Equals('narrowActive'), Equals('active')))
146+ dashContentList = self.select_single(objectName="dashContentList")
148− return search_container.select_single(toolkit_emulators.TextField)
147+ all_headers = dashContentList.select_many("QQuickLoader")
148+ for i in all_headers:
149+ if i.isCurrent:
150+ return i.select_single(objectName="pageHeader")
151+ return None
149
152
150
153
151class GenericScopeView(emulators.UnityEmulatorBase):
154class GenericScopeView(emulators.UnityEmulatorBase):
tests/autopilot/unity8/shell/emulators/main_window.py−5
@@ -133,9 +133,4 @@ class QQuickView(emulators.UnityEmulatorBase):
133
133
134 @autopilot_logging.log_action(logger.info)
134 @autopilot_logging.log_action(logger.info)
135 def search(self, query):
135 def search(self, query):
136− search_indicator = self._get_search_indicator()
137− self.pointing_device.click_object(search_indicator)
138 self.get_dash().enter_search_query(query)
136 self.get_dash().enter_search_query(query)
139−
140− def _get_search_indicator(self):
141− return self.select_single('SearchIndicator', objectName='search')
tests/autopilot/unity8/shell/tests/test_emulators.py−1
@@ -50,7 +50,6 @@ class MainWindowTestCase(tests.UnityTestCase):
50 self.main_window.search('Test')
50 self.main_window.search('Test')
51 text_field = self.main_window.get_dash()._get_search_text_field()
51 text_field = self.main_window.get_dash()._get_search_text_field()
52 self.assertEqual(text_field.text, 'Test')
52 self.assertEqual(text_field.text, 'Test')
53− self.assertEqual(text_field.state, 'idle')
54
53
55
54
56class DashBaseTestCase(tests.UnityTestCase):
55class DashBaseTestCase(tests.UnityTestCase):
tests/qmltests/Dash/tst_DashContent.qml+2−2
@@ -192,7 +192,7 @@ Item {
192 function test_scope_mapping(data) {
192 function test_scope_mapping(data) {
193 dashContent.setCurrentScopeAtIndex(data.index, true, false);
193 dashContent.setCurrentScopeAtIndex(data.index, true, false);
194 tryCompareFunction(get_current_item_object_name, data.objectName)
194 tryCompareFunction(get_current_item_object_name, data.objectName)
195− var pageHeader = findChild(dashContent, "pageHeader");
195+ var pageHeader = findChild(dashContent, "innerPageHeader");
196 compare(pageHeader.title, scopesModel.getScope(data.index).name);
196 compare(pageHeader.title, scopesModel.getScope(data.index).name);
197 }
197 }
198
198
@@ -255,7 +255,7 @@ Item {
255 }
255 }
256
256
257 function closePreview() {
257 function closePreview() {
258− var closePreviewMouseArea = findChild(dashContent, "pageHeader");
258+ var closePreviewMouseArea = findChild(dashContent, "innerPageHeader");
259 mouseClick(closePreviewMouseArea, units.gu(2), units.gu(2));
259 mouseClick(closePreviewMouseArea, units.gu(2), units.gu(2));
260
260
261 var previewListView = findChild(dashContent, "dashContentPreviewList");
261 var previewListView = findChild(dashContent, "dashContentPreviewList");