forked from openlp/openlp
Merge all QAction creation methods in openlp.core.lib.ui
This commit is contained in:
parent
9dadcb9217
commit
44a5784315
@ -280,102 +280,105 @@ def create_up_down_push_button_set(parent):
|
|||||||
QtCore.SIGNAL(u'clicked()'), parent.onDownButtonClicked)
|
QtCore.SIGNAL(u'clicked()'), parent.onDownButtonClicked)
|
||||||
return up_button, down_button
|
return up_button, down_button
|
||||||
|
|
||||||
def base_action(parent, name, category=None):
|
def create_action(parent, name, text=u'', icon=None, tooltip=u'', statustip=u'',
|
||||||
|
checked=None, enabled=True, visible=True, shortcuts=None,
|
||||||
|
context=QtCore.Qt.WindowShortcut, category=None, trigger=None):
|
||||||
"""
|
"""
|
||||||
Return the most basic action with the object name set.
|
Return an action with the object name set and the given parameters.
|
||||||
|
Parameters with default values are not set in case they stay unchanged.
|
||||||
|
|
||||||
|
``parent``
|
||||||
|
A QtCore.QObject or ``None`` for the actions parent.
|
||||||
|
|
||||||
|
``name``
|
||||||
|
A string which is set as object name.
|
||||||
|
|
||||||
|
``text``
|
||||||
|
A string for the action text.
|
||||||
|
|
||||||
|
``icon``
|
||||||
|
Either a QIcon, a resource string, or a file location string for the
|
||||||
|
action icon.
|
||||||
|
|
||||||
|
``tooltip``
|
||||||
|
A string for the action tool tip.
|
||||||
|
|
||||||
|
``statustip``
|
||||||
|
A string for the action status tip.
|
||||||
|
|
||||||
|
``checked``
|
||||||
|
Either ``None`` for a not checkable action or bool for the state.
|
||||||
|
|
||||||
|
``enabled``
|
||||||
|
False in case the action should be disabled.
|
||||||
|
|
||||||
|
``visible``
|
||||||
|
False in case the action should be hidden.
|
||||||
|
|
||||||
|
``shortcuts``
|
||||||
|
A QList<QKeySequence> (or a list of strings) which are set as shortcuts.
|
||||||
|
|
||||||
|
``context``
|
||||||
|
A context for the shortcut execution (only will be set if ``shortcuts``
|
||||||
|
is not None)
|
||||||
|
|
||||||
``category``
|
``category``
|
||||||
The category the action should be listed in the shortcut dialog. If you
|
The category the action should be listed in the shortcut dialog. If you
|
||||||
not wish, that this action is added to the shortcut dialog, then do not
|
not wish, that this action is added to the shortcut dialog, then do not
|
||||||
state any.
|
state any.
|
||||||
|
|
||||||
|
``trigger``
|
||||||
|
A slot which is connected to the actions ``triggered()`` slot.
|
||||||
"""
|
"""
|
||||||
action = QtGui.QAction(parent)
|
action = QtGui.QAction(parent)
|
||||||
action.setObjectName(name)
|
action.setObjectName(name)
|
||||||
if category is not None:
|
if text:
|
||||||
action_list = ActionList.get_instance()
|
action.setText(text)
|
||||||
action_list.add_action(action, category)
|
|
||||||
return action
|
|
||||||
|
|
||||||
def checkable_action(parent, name, checked=None, category=None):
|
|
||||||
"""
|
|
||||||
Return a standard action with the checkable attribute set.
|
|
||||||
"""
|
|
||||||
action = base_action(parent, name, category)
|
|
||||||
action.setCheckable(True)
|
|
||||||
if checked is not None:
|
|
||||||
action.setChecked(checked)
|
|
||||||
return action
|
|
||||||
|
|
||||||
def icon_action(parent, name, icon, checked=None, category=None):
|
|
||||||
"""
|
|
||||||
Return a standard action with an icon.
|
|
||||||
"""
|
|
||||||
if checked is not None:
|
|
||||||
action = checkable_action(parent, name, checked, category)
|
|
||||||
else:
|
|
||||||
action = base_action(parent, name, category)
|
|
||||||
action.setIcon(build_icon(icon))
|
|
||||||
return action
|
|
||||||
|
|
||||||
def shortcut_action(parent, name, shortcuts, function, icon=None, checked=None,
|
|
||||||
category=None, context=QtCore.Qt.WindowShortcut):
|
|
||||||
"""
|
|
||||||
Return a shortcut enabled action.
|
|
||||||
"""
|
|
||||||
action = QtGui.QAction(parent)
|
|
||||||
action.setObjectName(name)
|
|
||||||
if icon is not None:
|
if icon is not None:
|
||||||
action.setIcon(build_icon(icon))
|
action.setIcon(build_icon(icon))
|
||||||
|
if tooltip:
|
||||||
|
action.setToolTip(tooltip)
|
||||||
|
if statustip:
|
||||||
|
action.setStatusTip(statustip)
|
||||||
if checked is not None:
|
if checked is not None:
|
||||||
action.setCheckable(True)
|
action.setCheckable(True)
|
||||||
action.setChecked(checked)
|
action.setChecked(checked)
|
||||||
if shortcuts:
|
if not enabled:
|
||||||
action.setShortcuts(shortcuts)
|
action.setEnabled(enabled)
|
||||||
action.setShortcutContext(context)
|
if not visible:
|
||||||
action_list = ActionList.get_instance()
|
action.setVisible(visible)
|
||||||
action_list.add_action(action, category)
|
|
||||||
QtCore.QObject.connect(action, QtCore.SIGNAL(u'triggered(bool)'), function)
|
|
||||||
return action
|
|
||||||
|
|
||||||
def context_menu_action(base, icon, text, slot, shortcuts=None, category=None,
|
|
||||||
context=QtCore.Qt.WidgetShortcut):
|
|
||||||
"""
|
|
||||||
Utility method to help build context menus.
|
|
||||||
|
|
||||||
``base``
|
|
||||||
The parent menu to add this menu item to
|
|
||||||
|
|
||||||
``icon``
|
|
||||||
An icon for this action
|
|
||||||
|
|
||||||
``text``
|
|
||||||
The text to display for this action
|
|
||||||
|
|
||||||
``slot``
|
|
||||||
The code to run when this action is triggered
|
|
||||||
|
|
||||||
``shortcuts``
|
|
||||||
The action's shortcuts.
|
|
||||||
|
|
||||||
``category``
|
|
||||||
The category the shortcut should be listed in the shortcut dialog. If
|
|
||||||
left to ``None``, then the action will be hidden in the shortcut dialog.
|
|
||||||
|
|
||||||
``context``
|
|
||||||
The context the shortcut is valid.
|
|
||||||
"""
|
|
||||||
action = QtGui.QAction(text, base)
|
|
||||||
if icon:
|
|
||||||
action.setIcon(build_icon(icon))
|
|
||||||
QtCore.QObject.connect(action, QtCore.SIGNAL(u'triggered(bool)'), slot)
|
|
||||||
if shortcuts is not None:
|
if shortcuts is not None:
|
||||||
action.setShortcuts(shortcuts)
|
action.setShortcuts(shortcuts)
|
||||||
action.setShortcutContext(context)
|
action.setShortcutContext(context)
|
||||||
|
if category is not None:
|
||||||
action_list = ActionList.get_instance()
|
action_list = ActionList.get_instance()
|
||||||
action_list.add_action(action)
|
action_list.add_action(action, category)
|
||||||
base.addAction(action)
|
if trigger is not None:
|
||||||
|
QtCore.QObject.connect(action, QtCore.SIGNAL(u'triggered(bool)'),
|
||||||
|
trigger)
|
||||||
return action
|
return action
|
||||||
|
|
||||||
|
def base_action(parent, name, category=None):
|
||||||
|
return create_action(parent, name, category=category)
|
||||||
|
|
||||||
|
def checkable_action(parent, name, checked=None, category=None):
|
||||||
|
return create_action(parent, name, checked=bool(checked), category=category)
|
||||||
|
|
||||||
|
def icon_action(parent, name, icon, checked=None, category=None):
|
||||||
|
return create_action(parent, name, icon=icon, checked=checked,
|
||||||
|
category=category)
|
||||||
|
|
||||||
|
def shortcut_action(parent, name, shortcuts, function, icon=None, checked=None,
|
||||||
|
category=None, context=QtCore.Qt.WindowShortcut):
|
||||||
|
return create_action(parent, name, icon=icon, checked=checked,
|
||||||
|
shortcuts=shortcuts, context=context, category=category,
|
||||||
|
trigger=function)
|
||||||
|
|
||||||
|
def context_menu_action(base, icon, text, slot, shortcuts=None, category=None,
|
||||||
|
context=QtCore.Qt.WidgetShortcut):
|
||||||
|
return create_action(parent=base, name=u'', icon=icon, text=text,
|
||||||
|
trigger=slot, shortcuts=shortcuts, category=category, context=context)
|
||||||
|
|
||||||
def context_menu(base, icon, text):
|
def context_menu(base, icon, text):
|
||||||
"""
|
"""
|
||||||
Utility method to help build context menus.
|
Utility method to help build context menus.
|
||||||
|
Loading…
Reference in New Issue
Block a user