Lomiri
Loading...
Searching...
No Matches
launcher.py
1# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
2#
3# Lomiri Autopilot Test Suite
4# Copyright (C) 2012, 2013, 2014, 2015 Canonical Ltd.
5#
6# This program is free software: you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation, either version 3 of the License, or
9# (at your option) any later version.
10#
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.
15#
16# You should have received a copy of the GNU General Public License
17# along with this program. If not, see <http://www.gnu.org/licenses/>.
18#
19
20import logging
21
22import autopilot.logging
23import lomiriuitoolkit
24
25import lomiri
26
27
28logger = logging.getLogger(__name__)
29
30
31class Launcher(lomiriuitoolkit.LomiriUIToolkitCustomProxyObjectBase):
32
33 """A helper that understands the Launcher."""
34
35 @autopilot.logging.log_action(logger.debug)
36 def show(self):
37 """Show the launcher swiping it to the right."""
38 if not self.shown:
40 self.shown.wait_for(True)
41 else:
42 logger.debug('The launcher is already opened.')
43
44 def _swipe_to_show_launcher(self):
45 view = self.get_root_instance().select_single('ShellView')
46 start_y = stop_y = view.y + view.height // 2
47
48 start_x = view.x + 1
49 stop_x = start_x + self.panelWidth - 1
50
51 self.pointing_device.drag(start_x, start_y, stop_x, stop_y)
52
53 @autopilot.logging.log_action(logger.debug)
54 def click_dash_icon(self):
55 if self.shown:
56 dash_icon = self.select_single(
57 'QQuickImage', objectName='dashItem')
58 self.pointing_device.click_object(dash_icon)
59 else:
60 raise lomiri.LomiriException('The launcher is closed.')
61
62 @autopilot.logging.log_action(logger.debug)
63 def click_application_launcher_icon(self, application_name):
64 launcher_delegate = self.select_single(
65 'LauncherDelegate', appId=application_name)
66 self.pointing_device.click_object(launcher_delegate)