1
1
# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
3
# Copyright 2013-2014 Canonical
3
# Copyright 2013-2015 Canonical
5
5
# This program is free software: you can redistribute it and/or modify it
6
6
# under the terms of the GNU General Public License version 3, as published
70
70
return self.get_parent()
72
72
def get_current_webview(self):
73
return self.select_single("WebViewImpl", current=True)
73
return self.select_single("WebViewImpl", visible=True)
75
75
def get_webviews(self):
76
76
return self.select_many("WebViewImpl")
78
def get_visible_webviews(self):
79
return self.select_many("WebViewImpl", visible=True)
81
78
def get_error_sheet(self):
82
79
return self.select_single("ErrorSheet")
95
92
objectName="selectionActions")
97
94
def get_tabs_view(self):
98
return self.wait_select_single(TabsView)
95
return self.wait_select_single(TabsList, visible=True)
97
def get_recent_view_toolbar(self):
98
return self.wait_select_single(Toolbar, objectName="recentToolbar",
100
101
def get_new_tab_view(self):
101
102
return self.wait_select_single("NewTabView", visible=True)
105
106
return self.wait_select_single("PopupBase",
106
107
objectName="contentPickerDialog")
109
def get_bottom_edge_hint(self):
110
return self.select_single("QQuickImage", objectName="bottomEdgeHint")
109
113
class Chrome(uitk.UbuntuUIToolkitCustomProxyObjectBase):
151
155
def get_drawer_action(self, actionName):
152
156
drawer = self.get_drawer()
153
return drawer.select_single("AbstractButton", objectName=actionName)
157
return drawer.select_single("AbstractButton", objectName=actionName,
156
161
class AddressBar(uitk.UbuntuUIToolkitCustomProxyObjectBase):
217
222
class TabPreview(uitk.UbuntuUIToolkitCustomProxyObjectBase):
219
def get_close_button(self):
220
return self.select_single("AbstractButton", objectName="closeButton")
223
class TabsView(uitk.UbuntuUIToolkitCustomProxyObjectBase):
224
@autopilot.logging.log_action(logger.info)
226
area = self.select_single("QQuickMouseArea", objectName="selectArea")
227
# click towards the top of the area to ensure we’re not selecting
228
# the following preview that might be overlapping
230
self.pointing_device.move(ca.x + ca.width // 2, ca.y + ca.height // 4)
231
self.pointing_device.click()
233
@autopilot.logging.log_action(logger.info)
235
button = self.select_single("AbstractButton", objectName="closeButton")
236
self.pointing_device.click_object(button)
239
class TabsList(uitk.UbuntuUIToolkitCustomProxyObjectBase):
225
241
def get_previews(self):
226
return self.select_many(TabPreview)
228
def get_ordered_previews(self):
229
previews = self.get_previews()
230
previews.sort(key=lambda tab: tab.y)
242
previews = self.select_many(TabPreview)
243
previews.sort(key=lambda tab: tab.globalRect.y)
233
def get_done_button(self):
234
return self.select_single("Button", objectName="doneButton")
236
def get_add_button(self):
237
return self.select_single("ToolbarAction", objectName="addTabButton")
247
class Toolbar(uitk.UbuntuUIToolkitCustomProxyObjectBase):
249
@autopilot.logging.log_action(logger.info)
250
def click_button(self, name):
251
self.isFullyShown.wait_for(True)
252
button = self.select_single("Button", objectName=name)
253
self.pointing_device.click_object(button)
255
@autopilot.logging.log_action(logger.info)
256
def click_action(self, name):
257
self.isFullyShown.wait_for(True)
258
action = self.select_single("ToolbarAction", objectName=name)
259
self.pointing_device.click_object(action)