mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
InterfaceAction documentation
This commit is contained in:
parent
7eac6b2697
commit
359c89417c
@ -13,14 +13,49 @@ from calibre.gui2 import Dispatcher
|
|||||||
|
|
||||||
class InterfaceAction(QObject):
|
class InterfaceAction(QObject):
|
||||||
|
|
||||||
|
'''
|
||||||
|
A plugin representing an "action" that can be taken in the graphical user
|
||||||
|
interface. All the items in the toolbar and context menus are implemented
|
||||||
|
by these plugins.
|
||||||
|
|
||||||
|
Note that this class is the base class for these plugins, however, to
|
||||||
|
integrate the plugin with calibre's plugin system, you have to make a
|
||||||
|
wrapper class that references the actual plugin. See the
|
||||||
|
:mod:`calibre.customize.builtins` module for examples.
|
||||||
|
|
||||||
|
If two :class:`InterfaceAction` objects have the same name, the one with higher
|
||||||
|
priority takes precedence.
|
||||||
|
|
||||||
|
Sub-classes should implement the :meth:`genesis` and
|
||||||
|
:meth:`location_selected` methods.
|
||||||
|
|
||||||
|
Once initialized, this plugin has access to the main calibre GUI via the
|
||||||
|
:attr:`gui` member. You can access other plugins by name, for example::
|
||||||
|
|
||||||
|
self.gui.iactions['Save To Disk']
|
||||||
|
|
||||||
|
The QAction specified by :attr:`action_spec` is automatically create and
|
||||||
|
made available as ``self.qaction``.
|
||||||
|
|
||||||
|
'''
|
||||||
|
|
||||||
|
#: The plugin name. If two plugins with the same name are present, the one
|
||||||
|
#: with higher priority takes precedence.
|
||||||
name = 'Implement me'
|
name = 'Implement me'
|
||||||
|
|
||||||
|
#: The plugin priority. If two plugins with the same name are present, the one
|
||||||
|
#: with higher priority takes precedence.
|
||||||
priority = 1
|
priority = 1
|
||||||
positions = frozenset([])
|
|
||||||
|
#: The menu popup type for when this plugin is added to a toolbar
|
||||||
popup_type = QToolButton.MenuButtonPopup
|
popup_type = QToolButton.MenuButtonPopup
|
||||||
|
|
||||||
|
#: Whether this action should be auto repeated when its shortcut
|
||||||
|
#: key is held down.
|
||||||
auto_repeat = False
|
auto_repeat = False
|
||||||
|
|
||||||
#: Of the form: (text, icon_path, tooltip, keyboard shortcut)
|
#: Of the form: (text, icon_path, tooltip, keyboard shortcut)
|
||||||
#: icon, tooltip and keybard shortcut can be None
|
#: icon, tooltip and keyboard shortcut can be None
|
||||||
#: shortcut must be a translated string if not None
|
#: shortcut must be a translated string if not None
|
||||||
action_spec = ('text', 'icon', None, None)
|
action_spec = ('text', 'icon', None, None)
|
||||||
|
|
||||||
@ -56,8 +91,20 @@ class InterfaceAction(QObject):
|
|||||||
return action
|
return action
|
||||||
|
|
||||||
def genesis(self):
|
def genesis(self):
|
||||||
|
'''
|
||||||
|
Setup this plugin. Only called once during initialization. self.gui is
|
||||||
|
available. The action secified by :attr:`action_spec` is available as
|
||||||
|
``self.qaction``.
|
||||||
|
'''
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def location_selected(self, loc):
|
def location_selected(self, loc):
|
||||||
|
'''
|
||||||
|
Called whenever the book list being displayed in calibre changes.
|
||||||
|
Currently values for loc are: ``library, main, card and cardb``.
|
||||||
|
|
||||||
|
This method should enable/disable this action and its sub actions as
|
||||||
|
appropriate for the location.
|
||||||
|
'''
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user