mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-28 19:37:32 +09:00
61 lines
2.1 KiB
Python
61 lines
2.1 KiB
Python
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
||
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||
|
|
# You can obtain one at http://mozilla.org/MPL/2.0/.
|
||
|
|
|
||
|
|
from marionette_driver import By
|
||
|
|
|
||
|
|
from firefox_puppeteer.ui.pageinfo.deck import Deck
|
||
|
|
from firefox_puppeteer.ui.windows import BaseWindow, Windows
|
||
|
|
|
||
|
|
|
||
|
|
class PageInfoWindow(BaseWindow):
|
||
|
|
"""Representation of a page info window."""
|
||
|
|
|
||
|
|
window_type = 'Browser:page-info'
|
||
|
|
|
||
|
|
dtds = [
|
||
|
|
'chrome://browser/locale/pageInfo.dtd',
|
||
|
|
]
|
||
|
|
|
||
|
|
properties = [
|
||
|
|
'chrome://browser/locale/browser.properties',
|
||
|
|
'chrome://browser/locale/pageInfo.properties',
|
||
|
|
'chrome://pippki/locale/pippki.properties',
|
||
|
|
]
|
||
|
|
|
||
|
|
@property
|
||
|
|
def deck(self):
|
||
|
|
"""The :class:`Deck` instance which represents the deck.
|
||
|
|
|
||
|
|
:returns: Reference to the deck.
|
||
|
|
"""
|
||
|
|
deck = self.window_element.find_element(By.ID, 'mainDeck')
|
||
|
|
return Deck(self.marionette, self, deck)
|
||
|
|
|
||
|
|
def close(self, trigger='shortcut', force=False):
|
||
|
|
"""Closes the current page info window by using the specified trigger.
|
||
|
|
|
||
|
|
:param trigger: Optional, method to close the current window. This can
|
||
|
|
be a string with one of `menu` (OS X only) or `shortcut`, or a callback
|
||
|
|
which gets triggered with the current :class:`PageInfoWindow` as parameter.
|
||
|
|
Defaults to `shortcut`.
|
||
|
|
|
||
|
|
:param force: Optional, forces the closing of the window by using the Gecko API.
|
||
|
|
Defaults to `False`.
|
||
|
|
"""
|
||
|
|
def callback(win):
|
||
|
|
# Prepare action which triggers the opening of the browser window
|
||
|
|
if callable(trigger):
|
||
|
|
trigger(win)
|
||
|
|
elif trigger == 'menu':
|
||
|
|
self.menubar.select_by_id('file-menu', 'menu_close')
|
||
|
|
elif trigger == 'shortcut':
|
||
|
|
win.send_shortcut(win.localize_entity('closeWindow.key'),
|
||
|
|
accel=True)
|
||
|
|
else:
|
||
|
|
raise ValueError('Unknown closing method: "%s"' % trigger)
|
||
|
|
|
||
|
|
super(PageInfoWindow, self).close(callback, force)
|
||
|
|
|
||
|
|
|
||
|
|
Windows.register_window(PageInfoWindow.window_type, PageInfoWindow)
|