Example #1
0
 def add_custom_context_actions(self):
     create_widget_action(self.list_view, separator=True)
     create_widget_action(self.list_view,
                          text=translate('OpenLP.MediaManagerItem',
                                         '&Clone'),
                          icon=UiIcons().clone,
                          triggers=self.on_clone_click)
Example #2
0
 def add_custom_context_actions(self):
     """
     Add custom actions to the context menu.
     """
     create_widget_action(self.list_view, separator=True)
     create_widget_action(self.list_view,
                          text=UiStrings().AddGroup,
                          icon=UiIcons().group,
                          triggers=self.on_add_group_click)
     create_widget_action(self.list_view,
                          text=translate('ImagePlugin', 'Add new image(s)'),
                          icon=UiIcons().open,
                          triggers=self.on_file_click)
     create_widget_action(self.list_view, separator=True)
     self.replace_action_context = create_widget_action(
         self.list_view,
         text=UiStrings().ReplaceBG,
         icon=UiIcons().theme,
         triggers=self.on_replace_click)
     self.reset_action_context = create_widget_action(
         self.list_view,
         text=UiStrings().ReplaceLiveBG,
         icon=UiIcons().close,
         visible=False,
         triggers=self.on_reset_click)
Example #3
0
 def add_custom_context_actions(self):
     create_widget_action(self.list_view, separator=True)
     create_widget_action(
         self.list_view,
         text=translate('OpenLP.MediaManagerItem', '&Clone'),
         icon=':/general/general_clone.png',
         triggers=self.on_clone_click)
Example #4
0
 def add_custom_context_actions(self):
     create_widget_action(self.list_view, separator=True)
     self.replace_action_context = create_widget_action(
         self.list_view, text=UiStrings().ReplaceBG, icon=':/slides/slide_blank.png',
         triggers=self.on_replace_click)
     self.reset_action_context = create_widget_action(
         self.list_view, text=UiStrings().ReplaceLiveBG, icon=':/system/system_close.png',
         visible=False, triggers=self.on_reset_click)
Example #5
0
 def add_custom_context_actions(self):
     create_widget_action(self.list_view, separator=True)
     self.replace_action_context = create_widget_action(
         self.list_view,
         text=UiStrings().ReplaceBG,
         icon=':/slides/slide_theme.png',
         triggers=self.on_replace_click)
     self.reset_action_context = create_widget_action(
         self.list_view,
         text=UiStrings().ReplaceLiveBG,
         icon=UiIcons().close,
         visible=False,
         triggers=self.on_reset_click)
Example #6
0
    def set_search_types(self, items):
        """
        A list of tuples to be used in the search type menu. The first item in the list will be preselected as the
        default.

         :param items:     The list of tuples to use. The tuples should contain an integer identifier, an icon (QIcon
             instance or string) and a title for the item in the menu. In short, they should look like this::

                    (<identifier>, <icon>, <title>, <place holder text>)

                For instance::

                    (1, <QIcon instance>, "Titles", "Search Song Titles...")

                Or::

                    (2, ":/songs/authors.png", "Authors", "Search Authors...")
        """
        menu = QtWidgets.QMenu(self)
        for identifier, icon, title, placeholder in items:
            action = create_widget_action(
                menu, text=title, icon=icon, data=identifier, triggers=self._on_menu_action_triggered)
            action.placeholder_text = placeholder
        if not hasattr(self, 'menu_button'):
            self.menu_button = QtWidgets.QToolButton(self)
            self.menu_button.setIcon(build_icon(':/system/clear_shortcut.png'))
            self.menu_button.setCursor(QtCore.Qt.ArrowCursor)
            self.menu_button.setPopupMode(QtWidgets.QToolButton.InstantPopup)
            self.menu_button.setStyleSheet('QToolButton { border: none; padding: 0px 10px 0px 0px; }')
            self.menu_button.resize(QtCore.QSize(28, 18))
        self.menu_button.setMenu(menu)
        self.set_current_search_type(
            Settings().value('{section}/last search type'.format(section=self.settings_section)))
        self.menu_button.show()
        self._update_style_sheet()
Example #7
0
    def set_search_types(self, items):
        """
        A list of tuples to be used in the search type menu. The first item in the list will be preselected as the
        default.

         :param items:     The list of tuples to use. The tuples should contain an integer identifier, an icon (QIcon
             instance or string) and a title for the item in the menu. In short, they should look like this::

                    (<identifier>, <icon>, <title>, <place holder text>)

                For instance::

                    (1, <QIcon instance>, "Titles", "Search Song Titles...")

                Or::

                    (2, ":/songs/authors.png", "Authors", "Search Authors...")
        """
        menu = QtWidgets.QMenu(self)
        for identifier, icon, title, placeholder in items:
            action = create_widget_action(
                menu, text=title, icon=icon, data=identifier, triggers=self._on_menu_action_triggered)
            action.placeholder_text = placeholder
        if not hasattr(self, 'menu_button'):
            self.menu_button = QtWidgets.QToolButton(self)
            self.menu_button.setIcon(UiIcons().shortcuts)
            self.menu_button.setCursor(QtCore.Qt.ArrowCursor)
            self.menu_button.setPopupMode(QtWidgets.QToolButton.InstantPopup)
            self.menu_button.setStyleSheet('QToolButton { border: none; padding: 0px 10px 0px 0px; }')
            self.menu_button.resize(QtCore.QSize(28, 18))
        self.menu_button.setMenu(menu)
        self.set_current_search_type(
            Settings().value('{section}/last used search type'.format(section=self.settings_section)))
        self.menu_button.show()
        self._update_style_sheet()
Example #8
0
 def add_toolbar_action(self, name, **kwargs):
     """
     A method to help developers easily add a button to the toolbar. A new QAction is created by calling
     ``create_action()``. The action is added to the toolbar and the toolbar is set as parent. For more details
     please look at openlp.core.lib.ui.create_action()
     """
     action = create_widget_action(self, name, **kwargs)
     self.actions[name] = action
     return action
Example #9
0
    def test_create_widget_action(self):
        """
        Test creating an action for a widget
        """
        # GIVEN: A button
        button = QtWidgets.QPushButton()

        # WHEN: We call the function
        action = create_widget_action(button, 'some action')

        # THEN: The action should be returned
        self.assertIsInstance(action, QtWidgets.QAction)
        self.assertEqual(action.objectName(), 'some action')
Example #10
0
    def test_create_widget_action(self):
        """
        Test creating an action for a widget
        """
        # GIVEN: A button
        button = QtWidgets.QPushButton()

        # WHEN: We call the function
        action = create_widget_action(button, 'some action')

        # THEN: The action should be returned
        assert isinstance(action, QtWidgets.QAction)
        assert action.objectName() == 'some action'
Example #11
0
    def create_widget_action_test(self):
        """
        Test creating an action for a widget
        """
        # GIVEN: A button
        button = QtGui.QPushButton()

        # WHEN: We call the function
        action = create_widget_action(button, 'some action')

        # THEN: The action should be returned
        self.assertIsInstance(action, QtGui.QAction)
        self.assertEqual(action.objectName(), 'some action')
Example #12
0
 def add_custom_context_actions(self):
     """
     Add custom actions to the context menu.
     """
     create_widget_action(self.list_view, separator=True)
     create_widget_action(self.list_view,
         text=UiStrings().AddGroup, icon=':/images/image_new_group.png', triggers=self.on_add_group_click)
     create_widget_action(self.list_view,
         text=self.plugin.get_string(StringContent.Load)['tooltip'],
         icon=':/general/general_open.png', triggers=self.on_file_click)
Example #13
0
 def add_custom_context_actions(self):
     """
     Add custom actions to the context menu.
     """
     create_widget_action(self.list_view, separator=True)
     create_widget_action(
         self.list_view,
         text=UiStrings().AddGroup, icon=':/images/image_new_group.png', triggers=self.on_add_group_click)
     create_widget_action(
         self.list_view,
         text=self.plugin.get_string(StringContent.Load)['tooltip'],
         icon=':/general/general_open.png', triggers=self.on_file_click)
Example #14
0
 def add_custom_context_actions(self):
     """
     Add custom actions to the context menu.
     """
     create_widget_action(self.list_view, separator=True)
     create_widget_action(self.list_view,
                          text=UiStrings().AddGroup,
                          icon=':/images/image_new_group.png',
                          triggers=self.on_add_group_click)
     create_widget_action(self.list_view,
                          text=translate('ImagePlugin', 'Add new image(s)'),
                          icon=':/general/general_open.png',
                          triggers=self.on_file_click)
Example #15
0
    def setSearchTypes(self, items):
        """
        A list of tuples to be used in the search type menu. The first item in
        the list will be preselected as the default.

        ``items``
            The list of tuples to use. The tuples should contain an integer
            identifier, an icon (QIcon instance or string) and a title for the
            item in the menu. In short, they should look like this::

                (<identifier>, <icon>, <title>, <place holder text>)

            For instance::

                (1, <QIcon instance>, "Titles", "Search Song Titles...")

            Or::

                (2, ":/songs/authors.png", "Authors", "Search Authors...")
        """
        menu = QtGui.QMenu(self)
        first = None
        for identifier, icon, title, placeholder in items:
            action = create_widget_action(menu, text=title, icon=icon,
                data=identifier, triggers=self._onMenuActionTriggered)
            action.placeholderText = placeholder
            if first is None:
                first = action
                self._currentSearchType = identifier
        if not hasattr(self, u'menuButton'):
            self.menuButton = QtGui.QToolButton(self)
            self.menuButton.setIcon(build_icon(u':/system/clear_shortcut.png'))
            self.menuButton.setCursor(QtCore.Qt.ArrowCursor)
            self.menuButton.setPopupMode(QtGui.QToolButton.InstantPopup)
            self.menuButton.setStyleSheet(
                u'QToolButton { border: none; padding: 0px 10px 0px 0px; }')
            self.menuButton.resize(QtCore.QSize(28, 18))
        self.menuButton.setMenu(menu)
        self.menuButton.setDefaultAction(first)
        self.menuButton.show()
        self._updateStyleSheet()
Example #16
0
 def setup_ui(self, widget):
     """
     Define the UI
     :param widget: The screen object the the dialog is to be attached to.
     """
     # start with the layout
     self.layout = QtWidgets.QVBoxLayout(widget)
     self.layout.setSpacing(0)
     self.layout.setContentsMargins(0, 0, 0, 0)
     self.layout.setObjectName('layout')
     self.toolbar = OpenLPToolbar(widget)
     self.toolbar.setObjectName('toolbar')
     self.toolbar.add_toolbar_action('newTheme',
                                     text=UiStrings().NewTheme, icon=':/themes/theme_new.png',
                                     tooltip=translate('OpenLP.ThemeManager', 'Create a new theme.'),
                                     triggers=self.on_add_theme)
     self.toolbar.add_toolbar_action('editTheme',
                                     text=translate('OpenLP.ThemeManager', 'Edit Theme'),
                                     icon=':/themes/theme_edit.png',
                                     tooltip=translate('OpenLP.ThemeManager', 'Edit a theme.'),
                                     triggers=self.on_edit_theme)
     self.delete_toolbar_action = self.toolbar.add_toolbar_action('delete_theme',
                                                                  text=translate('OpenLP.ThemeManager',
                                                                                 'Delete Theme'),
                                                                  icon=':/general/general_delete.png',
                                                                  tooltip=translate('OpenLP.ThemeManager',
                                                                                    'Delete a theme.'),
                                                                  triggers=self.on_delete_theme)
     self.toolbar.addSeparator()
     self.toolbar.add_toolbar_action('importTheme',
                                     text=translate('OpenLP.ThemeManager', 'Import Theme'),
                                     icon=':/general/general_import.png',
                                     tooltip=translate('OpenLP.ThemeManager', 'Import a theme.'),
                                     triggers=self.on_import_theme)
     self.toolbar.add_toolbar_action('exportTheme',
                                     text=translate('OpenLP.ThemeManager', 'Export Theme'),
                                     icon=':/general/general_export.png',
                                     tooltip=translate('OpenLP.ThemeManager', 'Export a theme.'),
                                     triggers=self.on_export_theme)
     self.layout.addWidget(self.toolbar)
     self.theme_widget = QtWidgets.QWidgetAction(self.toolbar)
     self.theme_widget.setObjectName('theme_widget')
     # create theme manager list
     self.theme_list_widget = QtWidgets.QListWidget(widget)
     self.theme_list_widget.setAlternatingRowColors(True)
     self.theme_list_widget.setIconSize(QtCore.QSize(88, 50))
     self.theme_list_widget.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
     self.theme_list_widget.setObjectName('theme_list_widget')
     self.layout.addWidget(self.theme_list_widget)
     self.theme_list_widget.customContextMenuRequested.connect(self.context_menu)
     # build the context menu
     self.menu = QtWidgets.QMenu()
     self.edit_action = create_widget_action(self.menu,
                                             text=translate('OpenLP.ThemeManager', '&Edit Theme'),
                                             icon=':/themes/theme_edit.png', triggers=self.on_edit_theme)
     self.copy_action = create_widget_action(self.menu,
                                             text=translate('OpenLP.ThemeManager', '&Copy Theme'),
                                             icon=':/themes/theme_edit.png', triggers=self.on_copy_theme)
     self.rename_action = create_widget_action(self.menu,
                                               text=translate('OpenLP.ThemeManager', '&Rename Theme'),
                                               icon=':/themes/theme_edit.png', triggers=self.on_rename_theme)
     self.delete_action = create_widget_action(self.menu,
                                               text=translate('OpenLP.ThemeManager', '&Delete Theme'),
                                               icon=':/general/general_delete.png', triggers=self.on_delete_theme)
     self.menu.addSeparator()
     self.global_action = create_widget_action(self.menu,
                                               text=translate('OpenLP.ThemeManager', 'Set As &Global Default'),
                                               icon=':/general/general_export.png',
                                               triggers=self.change_global_from_screen)
     self.export_action = create_widget_action(self.menu,
                                               text=translate('OpenLP.ThemeManager', '&Export Theme'),
                                               icon=':/general/general_export.png', triggers=self.on_export_theme)
     # Signals
     self.theme_list_widget.doubleClicked.connect(self.change_global_from_screen)
     self.theme_list_widget.currentItemChanged.connect(self.check_list_state)
Example #17
0
    def setup_ui(self, widget):
        """
        Define the UI
        :param widget: The screen object the the dialog is to be attached to.
        """
        # start with the layout
        self.layout = QtGui.QVBoxLayout(widget)
        self.layout.setSpacing(0)
        self.layout.setMargin(0)
        self.layout.setObjectName('layout')
        self.toolbar = OpenLPToolbar(widget)
        self.toolbar.setObjectName('toolbar')
        self.add_toolbar_action = self.toolbar.add_toolbar_action('add_loop',
                                                                  text=translate('OpenLP.LoopManager',
                                                                                 'Add Loop'),
                                                                  icon=':/general/general_add.png',
                                                                  tooltip=translate('OpenLP.LoopManager',
                                                                                    'Add a loop.'),
                                                                  triggers=self.on_add_loop)
        self.delete_toolbar_action = self.toolbar.add_toolbar_action('delete_loop',
                                                                     text=translate('OpenLP.LoopManager',
                                                                                    'Delete Loop'),
                                                                     icon=':/general/general_delete.png',
                                                                     tooltip=translate('OpenLP.LoopManager',
                                                                                       'Delete a loop.'),
                                                                     triggers=self.on_delete_loop)
        self.toolbar.addSeparator()
        self.play_toolbar_action = self.toolbar.add_toolbar_action('play_loop',
                                                                    text=translate('OpenLP.LoopManager',
                                                                                   'Play Loop'),
                                                                    icon=':/slides/media_playback_start.png',
                                                                    tooltip=translate('OpenLP.LoopManager',
                                                                                      'Play a loop.'),
                                                                    triggers=self.on_display_loop)
        self.stop_toolbar_action = self.toolbar.add_toolbar_action('stop_loop',
                                                                   text=translate('OpenLP.LoopManager',
                                                                                  'Stop Active Loop'),
                                                                   icon=':/slides/media_playback_stop.png',
                                                                   tooltip=translate('OpenLP.LoopManager',
                                                                                     'Stop playback of active loop.'),
                                                                   triggers=self.on_stop_loop)
        self.layout.addWidget(self.toolbar)
        self.loop_widget = QtGui.QWidgetAction(self.toolbar)
        self.loop_widget.setObjectName('loop_widget')
        # create loop manager list
        self.loop_list_widget = QtGui.QListWidget(widget)
        self.loop_list_widget.setAlternatingRowColors(True)
        self.loop_list_widget.setIconSize(QtCore.QSize(88, 50))
        self.loop_list_widget.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
        self.loop_list_widget.setObjectName('loop_list_widget')
        self.layout.addWidget(self.loop_list_widget)
        self.loop_list_widget.customContextMenuRequested.connect(self.context_menu)
        # build the context menu
        self.menu = QtGui.QMenu()
        self.rename_action = create_widget_action(self.menu,
                                                  text=translate('OpenLP.LoopManager', '&Rename Loop'),
                                                  icon=':/general/general_edit.png', triggers=self.on_rename_loop)
        self.delete_action = create_widget_action(self.menu,
                                                  text=translate('OpenLP.LoopManager', '&Delete Loop'),
                                                  icon=':/general/general_delete.png', triggers=self.on_delete_loop)
        self.menu.addSeparator()
        self.display_action = create_widget_action(self.menu,
                                                   text=translate('OpenLP.LoopManager', 'Dis&play Loop'),
                                                   icon=':/slides/media_playback_start.png', triggers=self.on_display_loop)

        # Signals
        self.loop_list_widget.doubleClicked.connect(self.on_display_loop)
Example #18
0
 def add_list_view_to_toolbar(self):
     """
     Creates the main widget for listing items the media item is tracking. This method overloads
     MediaManagerItem.add_list_view_to_toolbar.
     """
     # Add the List widget
     self.list_view = TreeWidgetWithDnD(self, self.plugin.name)
     self.list_view.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
     self.list_view.setAlternatingRowColors(True)
     self.list_view.setObjectName('%sTreeView' % self.plugin.name)
     # Add to pageLayout
     self.page_layout.addWidget(self.list_view)
     # define and add the context menu
     self.list_view.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
     if self.has_edit_icon:
         create_widget_action(
             self.list_view,
             text=self.plugin.get_string(StringContent.Edit)['title'],
             icon=':/general/general_edit.png',
             triggers=self.on_edit_click)
         create_widget_action(self.list_view, separator=True)
     if self.has_delete_icon:
         create_widget_action(
             self.list_view,
             'listView%s%sItem' % (self.plugin.name.title(), StringContent.Delete.title()),
             text=self.plugin.get_string(StringContent.Delete)['title'],
             icon=':/general/general_delete.png',
             can_shortcuts=True, triggers=self.on_delete_click)
         create_widget_action(self.list_view, separator=True)
     create_widget_action(
         self.list_view,
         'listView%s%sItem' % (self.plugin.name.title(), StringContent.Preview.title()),
         text=self.plugin.get_string(StringContent.Preview)['title'],
         icon=':/general/general_preview.png',
         can_shortcuts=True,
         triggers=self.on_preview_click)
     create_widget_action(
         self.list_view,
         'listView%s%sItem' % (self.plugin.name.title(), StringContent.Live.title()),
         text=self.plugin.get_string(StringContent.Live)['title'],
         icon=':/general/general_live.png',
         can_shortcuts=True,
         triggers=self.on_live_click)
     create_widget_action(
         self.list_view,
         'listView%s%sItem' % (self.plugin.name.title(), StringContent.Service.title()),
         can_shortcuts=True,
         text=self.plugin.get_string(StringContent.Service)['title'],
         icon=':/general/general_add.png',
         triggers=self.on_add_click)
     if self.add_to_service_item:
         create_widget_action(self.list_view, separator=True)
         create_widget_action(
             self.list_view,
             text=translate('OpenLP.MediaManagerItem', '&Add to selected Service Item'),
             icon=':/general/general_add.png',
             triggers=self.on_add_edit_click)
     self.add_custom_context_actions()
     # Create the context menu and add all actions from the list_view.
     self.menu = QtGui.QMenu()
     self.menu.addActions(self.list_view.actions())
     self.list_view.doubleClicked.connect(self.on_double_clicked)
     self.list_view.itemSelectionChanged.connect(self.on_selection_change)
     self.list_view.customContextMenuRequested.connect(self.context_menu)
     self.list_view.addAction(self.replace_action)
Example #19
0
 def add_list_view_to_toolbar(self):
     """
     Creates the main widget for listing items the media item is tracking
     """
     # Add the List widget
     self.list_view = ListWidgetWithDnD(self, self.plugin.name)
     self.list_view.setSpacing(1)
     self.list_view.setSelectionMode(
         QtWidgets.QAbstractItemView.ExtendedSelection)
     self.list_view.setAlternatingRowColors(True)
     self.list_view.setObjectName('%sListView' % self.plugin.name)
     # Add to page_layout
     self.page_layout.addWidget(self.list_view)
     # define and add the context menu
     self.list_view.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
     if self.has_edit_icon:
         create_widget_action(self.list_view,
                              text=self.plugin.get_string(
                                  StringContent.Edit)['title'],
                              icon=':/general/general_edit.png',
                              triggers=self.on_edit_click)
         create_widget_action(self.list_view, separator=True)
     create_widget_action(
         self.list_view,
         'listView%s%sItem' %
         (self.plugin.name.title(), StringContent.Preview.title()),
         text=self.plugin.get_string(StringContent.Preview)['title'],
         icon=':/general/general_preview.png',
         can_shortcuts=True,
         triggers=self.on_preview_click)
     create_widget_action(
         self.list_view,
         'listView%s%sItem' %
         (self.plugin.name.title(), StringContent.Live.title()),
         text=self.plugin.get_string(StringContent.Live)['title'],
         icon=':/general/general_live.png',
         can_shortcuts=True,
         triggers=self.on_live_click)
     create_widget_action(
         self.list_view,
         'listView%s%sItem' %
         (self.plugin.name.title(), StringContent.Service.title()),
         can_shortcuts=True,
         text=self.plugin.get_string(StringContent.Service)['title'],
         icon=':/general/general_add.png',
         triggers=self.on_add_click)
     if self.has_delete_icon:
         create_widget_action(self.list_view, separator=True)
         create_widget_action(
             self.list_view,
             'listView%s%sItem' %
             (self.plugin.name.title(), StringContent.Delete.title()),
             text=self.plugin.get_string(StringContent.Delete)['title'],
             icon=':/general/general_delete.png',
             can_shortcuts=True,
             triggers=self.on_delete_click)
     if self.add_to_service_item:
         create_widget_action(self.list_view, separator=True)
         create_widget_action(self.list_view,
                              text=translate(
                                  'OpenLP.MediaManagerItem',
                                  '&Add to selected Service Item'),
                              icon=':/general/general_add.png',
                              triggers=self.on_add_edit_click)
     self.add_custom_context_actions()
     # Create the context menu and add all actions from the list_view.
     self.menu = QtWidgets.QMenu()
     self.menu.addActions(self.list_view.actions())
     self.list_view.doubleClicked.connect(self.on_double_clicked)
     self.list_view.itemSelectionChanged.connect(self.on_selection_change)
     self.list_view.customContextMenuRequested.connect(self.context_menu)
Example #20
0
 def setup_ui(self, widget):
     """
     Define the UI
     :param widget: The screen object the the dialog is to be attached to.
     """
     # start with the layout
     self.layout = QtWidgets.QVBoxLayout(widget)
     self.layout.setSpacing(0)
     self.layout.setContentsMargins(0, 0, 0, 0)
     self.layout.setObjectName('layout')
     self.toolbar = OpenLPToolbar(widget)
     self.toolbar.setObjectName('toolbar')
     self.toolbar.add_toolbar_action('newTheme',
                                     text=UiStrings().NewTheme,
                                     icon=UiIcons().new,
                                     tooltip=translate(
                                         'OpenLP.ThemeManager',
                                         'Create a new theme.'),
                                     triggers=self.on_add_theme)
     self.toolbar.add_toolbar_action(
         'editTheme',
         text=translate('OpenLP.ThemeManager', 'Edit Theme'),
         icon=UiIcons().edit,
         tooltip=translate('OpenLP.ThemeManager', 'Edit a theme.'),
         triggers=self.on_edit_theme)
     self.delete_toolbar_action = self.toolbar.add_toolbar_action(
         'delete_theme',
         text=translate('OpenLP.ThemeManager', 'Delete Theme'),
         icon=UiIcons().delete,
         tooltip=translate('OpenLP.ThemeManager', 'Delete a theme.'),
         triggers=self.on_delete_theme)
     self.toolbar.addSeparator()
     self.toolbar.add_toolbar_action(
         'importTheme',
         text=translate('OpenLP.ThemeManager', 'Import Theme'),
         icon=UiIcons().download,
         tooltip=translate('OpenLP.ThemeManager', 'Import a theme.'),
         triggers=self.on_import_theme)
     self.toolbar.add_toolbar_action(
         'exportTheme',
         text=translate('OpenLP.ThemeManager', 'Export Theme'),
         icon=UiIcons().upload,
         tooltip=translate('OpenLP.ThemeManager', 'Export a theme.'),
         triggers=self.on_export_theme)
     self.layout.addWidget(self.toolbar)
     self.theme_widget = QtWidgets.QWidgetAction(self.toolbar)
     self.theme_widget.setObjectName('theme_widget')
     # create theme manager list
     self.theme_list_widget = QtWidgets.QListWidget(widget)
     self.theme_list_widget.setAlternatingRowColors(True)
     self.theme_list_widget.setIconSize(QtCore.QSize(88, 50))
     self.theme_list_widget.setContextMenuPolicy(
         QtCore.Qt.CustomContextMenu)
     self.theme_list_widget.setObjectName('theme_list_widget')
     self.layout.addWidget(self.theme_list_widget)
     self.theme_list_widget.customContextMenuRequested.connect(
         self.context_menu)
     # build the context menu
     self.menu = QtWidgets.QMenu()
     self.edit_action = create_widget_action(self.menu,
                                             text=translate(
                                                 'OpenLP.ThemeManager',
                                                 '&Edit Theme'),
                                             icon=UiIcons().edit,
                                             triggers=self.on_edit_theme)
     self.copy_action = create_widget_action(self.menu,
                                             text=translate(
                                                 'OpenLP.ThemeManager',
                                                 '&Copy Theme'),
                                             icon=UiIcons().copy,
                                             triggers=self.on_copy_theme)
     self.rename_action = create_widget_action(
         self.menu,
         text=translate('OpenLP.ThemeManager', '&Rename Theme'),
         icon=UiIcons().edit,
         triggers=self.on_rename_theme)
     self.delete_action = create_widget_action(
         self.menu,
         text=translate('OpenLP.ThemeManager', '&Delete Theme'),
         icon=UiIcons().delete,
         triggers=self.on_delete_theme)
     self.menu.addSeparator()
     self.global_action = create_widget_action(
         self.menu,
         text=translate('OpenLP.ThemeManager', 'Set As &Global Default'),
         icon=UiIcons().default,
         triggers=self.change_global_from_screen)
     self.export_action = create_widget_action(
         self.menu,
         text=translate('OpenLP.ThemeManager', '&Export Theme'),
         icon=UiIcons().upload,
         triggers=self.on_export_theme)
     # Signals
     self.theme_list_widget.doubleClicked.connect(
         self.change_global_from_screen)
     self.theme_list_widget.currentItemChanged.connect(
         self.check_list_state)
Example #21
0
    def setup_ui(self, widget):
        """
        Define the UI

        :param widget: The screen object the dialog is to be attached to.
        """
        log.debug('setup_ui()')
        # Create ProjectorManager box
        self.layout = QtGui.QVBoxLayout(widget)
        self.layout.setSpacing(0)
        self.layout.setMargin(0)
        self.layout.setObjectName('layout')
        # Add one selection toolbar
        self.one_toolbar = OpenLPToolbar(widget)
        self.one_toolbar.add_toolbar_action(
            'new_projector',
            text=translate('OpenLP.ProjectorManager', 'Add Projector'),
            icon=':/projector/projector_new.png',
            tooltip=translate('OpenLP.ProjectorManager',
                              'Add a new projector'),
            triggers=self.on_add_projector)
        # Show edit/delete when projector not connected
        self.one_toolbar.add_toolbar_action(
            'edit_projector',
            text=translate('OpenLP.ProjectorManager', 'Edit Projector'),
            icon=':/general/general_edit.png',
            tooltip=translate('OpenLP.ProjectorManager',
                              'Edit selected projector'),
            triggers=self.on_edit_projector)
        self.one_toolbar.add_toolbar_action(
            'delete_projector',
            text=translate('OpenLP.ProjectorManager', 'Delete Projector'),
            icon=':/general/general_delete.png',
            tooltip=translate('OpenLP.ProjectorManager',
                              'Delete selected projector'),
            triggers=self.on_delete_projector)
        # Show source/view when projector connected
        self.one_toolbar.add_toolbar_action(
            'source_view_projector',
            text=translate('OpenLP.ProjectorManager', 'Select Input Source'),
            icon=':/projector/projector_hdmi.png',
            tooltip=translate('OpenLP.ProjectorManager',
                              'Choose input source on selected projector'),
            triggers=self.on_select_input)
        self.one_toolbar.add_toolbar_action(
            'view_projector',
            text=translate('OpenLP.ProjectorManager', 'View Projector'),
            icon=':/system/system_about.png',
            tooltip=translate('OpenLP.ProjectorManager',
                              'View selected projector information'),
            triggers=self.on_status_projector)
        self.one_toolbar.addSeparator()
        self.one_toolbar.add_toolbar_action(
            'connect_projector',
            text=translate('OpenLP.ProjectorManager',
                           'Connect to selected projector'),
            icon=':/projector/projector_connect.png',
            tooltip=translate('OpenLP.ProjectorManager',
                              'Connect to selected projector'),
            triggers=self.on_connect_projector)
        self.one_toolbar.add_toolbar_action(
            'connect_projector_multiple',
            text=translate('OpenLP.ProjectorManager',
                           'Connect to selected projectors'),
            icon=':/projector/projector_connect_tiled.png',
            tooltip=translate('OpenLP.ProjectorManager',
                              'Connect to selected projector'),
            triggers=self.on_connect_projector)
        self.one_toolbar.add_toolbar_action(
            'disconnect_projector',
            text=translate('OpenLP.ProjectorManager',
                           'Disconnect from selected projectors'),
            icon=':/projector/projector_disconnect.png',
            tooltip=translate('OpenLP.ProjectorManager',
                              'Disconnect from selected projector'),
            triggers=self.on_disconnect_projector)
        self.one_toolbar.add_toolbar_action(
            'disconnect_projector_multiple',
            text=translate('OpenLP.ProjectorManager',
                           'Disconnect from selected projector'),
            icon=':/projector/projector_disconnect_tiled.png',
            tooltip=translate('OpenLP.ProjectorManager',
                              'Disconnect from selected projector'),
            triggers=self.on_disconnect_projector)
        self.one_toolbar.addSeparator()
        self.one_toolbar.add_toolbar_action(
            'poweron_projector',
            text=translate('OpenLP.ProjectorManager',
                           'Power on selected projector'),
            icon=':/projector/projector_power_on.png',
            tooltip=translate('OpenLP.ProjectorManager',
                              'Power on selected projector'),
            triggers=self.on_poweron_projector)
        self.one_toolbar.add_toolbar_action(
            'poweron_projector_multiple',
            text=translate('OpenLP.ProjectorManager',
                           'Power on selected projector'),
            icon=':/projector/projector_power_on_tiled.png',
            tooltip=translate('OpenLP.ProjectorManager',
                              'Power on selected projector'),
            triggers=self.on_poweron_projector)
        self.one_toolbar.add_toolbar_action(
            'poweroff_projector',
            text=translate('OpenLP.ProjectorManager',
                           'Standby selected projector'),
            icon=':/projector/projector_power_off.png',
            tooltip=translate('OpenLP.ProjectorManager',
                              'Put selected projector in standby'),
            triggers=self.on_poweroff_projector)
        self.one_toolbar.add_toolbar_action(
            'poweroff_projector_multiple',
            text=translate('OpenLP.ProjectorManager',
                           'Standby selected projector'),
            icon=':/projector/projector_power_off_tiled.png',
            tooltip=translate('OpenLP.ProjectorManager',
                              'Put selected projector in standby'),
            triggers=self.on_poweroff_projector)
        self.one_toolbar.addSeparator()
        self.one_toolbar.add_toolbar_action(
            'blank_projector',
            text=translate('OpenLP.ProjectorManager',
                           'Blank selected projector screen'),
            icon=':/projector/projector_blank.png',
            tooltip=translate('OpenLP.ProjectorManager',
                              'Blank selected projector screen'),
            triggers=self.on_blank_projector)
        self.one_toolbar.add_toolbar_action(
            'blank_projector_multiple',
            text=translate('OpenLP.ProjectorManager',
                           'Blank selected projector screen'),
            icon=':/projector/projector_blank_tiled.png',
            tooltip=translate('OpenLP.ProjectorManager',
                              'Blank selected projector screen'),
            triggers=self.on_blank_projector)
        self.one_toolbar.add_toolbar_action(
            'show_projector',
            text=translate('OpenLP.ProjectorManager',
                           'Show selected projector screen'),
            icon=':/projector/projector_show.png',
            tooltip=translate('OpenLP.ProjectorManager',
                              'Show selected projector screen'),
            triggers=self.on_show_projector)
        self.one_toolbar.add_toolbar_action(
            'show_projector_multiple',
            text=translate('OpenLP.ProjectorManager',
                           'Show selected projector screen'),
            icon=':/projector/projector_show_tiled.png',
            tooltip=translate('OpenLP.ProjectorManager',
                              'Show selected projector screen'),
            triggers=self.on_show_projector)
        self.layout.addWidget(self.one_toolbar)
        self.projector_one_widget = QtGui.QWidgetAction(self.one_toolbar)
        self.projector_one_widget.setObjectName('projector_one_toolbar_widget')
        # Create projector manager list
        self.projector_list_widget = QtGui.QListWidget(widget)
        self.projector_list_widget.setSelectionMode(
            QtGui.QAbstractItemView.ExtendedSelection)
        self.projector_list_widget.setAlternatingRowColors(True)
        self.projector_list_widget.setIconSize(QtCore.QSize(90, 50))
        self.projector_list_widget.setContextMenuPolicy(
            QtCore.Qt.CustomContextMenu)
        self.projector_list_widget.setObjectName('projector_list_widget')
        self.layout.addWidget(self.projector_list_widget)
        self.projector_list_widget.customContextMenuRequested.connect(
            self.context_menu)
        self.projector_list_widget.itemDoubleClicked.connect(
            self.on_doubleclick_item)
        # Build the context menu
        self.menu = QtGui.QMenu()
        self.status_action = create_widget_action(
            self.menu,
            text=translate('OpenLP.ProjectorManager',
                           '&View Projector Information'),
            icon=':/system/system_about.png',
            triggers=self.on_status_projector)
        self.edit_action = create_widget_action(
            self.menu,
            text=translate('OpenLP.ProjectorManager', '&Edit Projector'),
            icon=':/projector/projector_edit.png',
            triggers=self.on_edit_projector)
        self.menu.addSeparator()
        self.connect_action = create_widget_action(
            self.menu,
            text=translate('OpenLP.ProjectorManager', '&Connect Projector'),
            icon=':/projector/projector_connect.png',
            triggers=self.on_connect_projector)
        self.disconnect_action = create_widget_action(
            self.menu,
            text=translate('OpenLP.ProjectorManager', 'D&isconnect Projector'),
            icon=':/projector/projector_disconnect.png',
            triggers=self.on_disconnect_projector)
        self.menu.addSeparator()
        self.poweron_action = create_widget_action(
            self.menu,
            text=translate('OpenLP.ProjectorManager', 'Power &On Projector'),
            icon=':/projector/projector_power_on.png',
            triggers=self.on_poweron_projector)
        self.poweroff_action = create_widget_action(
            self.menu,
            text=translate('OpenLP.ProjectorManager', 'Power O&ff Projector'),
            icon=':/projector/projector_power_off.png',
            triggers=self.on_poweroff_projector)
        self.menu.addSeparator()
        self.select_input_action = create_widget_action(
            self.menu,
            text=translate('OpenLP.ProjectorManager', 'Select &Input'),
            icon=':/projector/projector_hdmi.png',
            triggers=self.on_select_input)
        self.edit_input_action = create_widget_action(
            self.menu,
            text=translate('OpenLP.ProjectorManager', 'Edit Input Source'),
            icon=':/general/general_edit.png',
            triggers=self.on_edit_input)
        self.blank_action = create_widget_action(
            self.menu,
            text=translate('OpenLP.ProjectorManager',
                           '&Blank Projector Screen'),
            icon=':/projector/projector_blank.png',
            triggers=self.on_blank_projector)
        self.show_action = create_widget_action(
            self.menu,
            text=translate('OpenLP.ProjectorManager',
                           '&Show Projector Screen'),
            icon=':/projector/projector_show.png',
            triggers=self.on_show_projector)
        self.menu.addSeparator()
        self.delete_action = create_widget_action(
            self.menu,
            text=translate('OpenLP.ProjectorManager', '&Delete Projector'),
            icon=':/general/general_delete.png',
            triggers=self.on_delete_projector)
        self.update_icons()
Example #22
0
    def setup_ui(self, widget):
        """
        Define the UI

        :param widget: The screen object the dialog is to be attached to.
        """
        log.debug('setup_ui()')
        # Create ProjectorManager box
        self.layout = QtGui.QVBoxLayout(widget)
        self.layout.setSpacing(0)
        self.layout.setMargin(0)
        self.layout.setObjectName('layout')
        # Add one selection toolbar
        self.one_toolbar = OpenLPToolbar(widget)
        self.one_toolbar.add_toolbar_action('new_projector',
                                            text=translate('OpenLP.ProjectorManager', 'Add Projector'),
                                            icon=':/projector/projector_new.png',
                                            tooltip=translate('OpenLP.ProjectorManager', 'Add a new projector'),
                                            triggers=self.on_add_projector)
        # Show edit/delete when projector not connected
        self.one_toolbar.add_toolbar_action('edit_projector',
                                            text=translate('OpenLP.ProjectorManager', 'Edit Projector'),
                                            icon=':/general/general_edit.png',
                                            tooltip=translate('OpenLP.ProjectorManager', 'Edit selected projector'),
                                            triggers=self.on_edit_projector)
        self.one_toolbar.add_toolbar_action('delete_projector',
                                            text=translate('OpenLP.ProjectorManager', 'Delete Projector'),
                                            icon=':/general/general_delete.png',
                                            tooltip=translate('OpenLP.ProjectorManager', 'Delete selected projector'),
                                            triggers=self.on_delete_projector)
        # Show source/view when projector connected
        self.one_toolbar.add_toolbar_action('source_view_projector',
                                            text=translate('OpenLP.ProjectorManager', 'Select Input Source'),
                                            icon=':/projector/projector_hdmi.png',
                                            tooltip=translate('OpenLP.ProjectorManager',
                                                              'Choose input source on selected projector'),
                                            triggers=self.on_select_input)
        self.one_toolbar.add_toolbar_action('view_projector',
                                            text=translate('OpenLP.ProjectorManager', 'View Projector'),
                                            icon=':/system/system_about.png',
                                            tooltip=translate('OpenLP.ProjectorManager',
                                                              'View selected projector information'),
                                            triggers=self.on_status_projector)
        self.one_toolbar.addSeparator()
        self.one_toolbar.add_toolbar_action('connect_projector',
                                            text=translate('OpenLP.ProjectorManager',
                                                           'Connect to selected projector'),
                                            icon=':/projector/projector_connect.png',
                                            tooltip=translate('OpenLP.ProjectorManager',
                                                              'Connect to selected projector'),
                                            triggers=self.on_connect_projector)
        self.one_toolbar.add_toolbar_action('connect_projector_multiple',
                                            text=translate('OpenLP.ProjectorManager',
                                                           'Connect to selected projectors'),
                                            icon=':/projector/projector_connect_tiled.png',
                                            tooltip=translate('OpenLP.ProjectorManager',
                                                              'Connect to selected projector'),
                                            triggers=self.on_connect_projector)
        self.one_toolbar.add_toolbar_action('disconnect_projector',
                                            text=translate('OpenLP.ProjectorManager',
                                                           'Disconnect from selected projectors'),
                                            icon=':/projector/projector_disconnect.png',
                                            tooltip=translate('OpenLP.ProjectorManager',
                                                              'Disconnect from selected projector'),
                                            triggers=self.on_disconnect_projector)
        self.one_toolbar.add_toolbar_action('disconnect_projector_multiple',
                                            text=translate('OpenLP.ProjectorManager',
                                                           'Disconnect from selected projector'),
                                            icon=':/projector/projector_disconnect_tiled.png',
                                            tooltip=translate('OpenLP.ProjectorManager',
                                                              'Disconnect from selected projector'),
                                            triggers=self.on_disconnect_projector)
        self.one_toolbar.addSeparator()
        self.one_toolbar.add_toolbar_action('poweron_projector',
                                            text=translate('OpenLP.ProjectorManager',
                                                           'Power on selected projector'),
                                            icon=':/projector/projector_power_on.png',
                                            tooltip=translate('OpenLP.ProjectorManager',
                                                              'Power on selected projector'),
                                            triggers=self.on_poweron_projector)
        self.one_toolbar.add_toolbar_action('poweron_projector_multiple',
                                            text=translate('OpenLP.ProjectorManager',
                                                           'Power on selected projector'),
                                            icon=':/projector/projector_power_on_tiled.png',
                                            tooltip=translate('OpenLP.ProjectorManager',
                                                              'Power on selected projector'),
                                            triggers=self.on_poweron_projector)
        self.one_toolbar.add_toolbar_action('poweroff_projector',
                                            text=translate('OpenLP.ProjectorManager', 'Standby selected projector'),
                                            icon=':/projector/projector_power_off.png',
                                            tooltip=translate('OpenLP.ProjectorManager',
                                                              'Put selected projector in standby'),
                                            triggers=self.on_poweroff_projector)
        self.one_toolbar.add_toolbar_action('poweroff_projector_multiple',
                                            text=translate('OpenLP.ProjectorManager', 'Standby selected projector'),
                                            icon=':/projector/projector_power_off_tiled.png',
                                            tooltip=translate('OpenLP.ProjectorManager',
                                                              'Put selected projector in standby'),
                                            triggers=self.on_poweroff_projector)
        self.one_toolbar.addSeparator()
        self.one_toolbar.add_toolbar_action('blank_projector',
                                            text=translate('OpenLP.ProjectorManager',
                                                           'Blank selected projector screen'),
                                            icon=':/projector/projector_blank.png',
                                            tooltip=translate('OpenLP.ProjectorManager',
                                                              'Blank selected projector screen'),
                                            triggers=self.on_blank_projector)
        self.one_toolbar.add_toolbar_action('blank_projector_multiple',
                                            text=translate('OpenLP.ProjectorManager',
                                                           'Blank selected projector screen'),
                                            icon=':/projector/projector_blank_tiled.png',
                                            tooltip=translate('OpenLP.ProjectorManager',
                                                              'Blank selected projector screen'),
                                            triggers=self.on_blank_projector)
        self.one_toolbar.add_toolbar_action('show_projector',
                                            text=translate('OpenLP.ProjectorManager',
                                                           'Show selected projector screen'),
                                            icon=':/projector/projector_show.png',
                                            tooltip=translate('OpenLP.ProjectorManager',
                                                              'Show selected projector screen'),
                                            triggers=self.on_show_projector)
        self.one_toolbar.add_toolbar_action('show_projector_multiple',
                                            text=translate('OpenLP.ProjectorManager',
                                                           'Show selected projector screen'),
                                            icon=':/projector/projector_show_tiled.png',
                                            tooltip=translate('OpenLP.ProjectorManager',
                                                              'Show selected projector screen'),
                                            triggers=self.on_show_projector)
        self.layout.addWidget(self.one_toolbar)
        self.projector_one_widget = QtGui.QWidgetAction(self.one_toolbar)
        self.projector_one_widget.setObjectName('projector_one_toolbar_widget')
        # Create projector manager list
        self.projector_list_widget = QtGui.QListWidget(widget)
        self.projector_list_widget.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
        self.projector_list_widget.setAlternatingRowColors(True)
        self.projector_list_widget.setIconSize(QtCore.QSize(90, 50))
        self.projector_list_widget.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
        self.projector_list_widget.setObjectName('projector_list_widget')
        self.layout.addWidget(self.projector_list_widget)
        self.projector_list_widget.customContextMenuRequested.connect(self.context_menu)
        self.projector_list_widget.itemDoubleClicked.connect(self.on_doubleclick_item)
        # Build the context menu
        self.menu = QtGui.QMenu()
        self.status_action = create_widget_action(self.menu,
                                                  text=translate('OpenLP.ProjectorManager',
                                                                 '&View Projector Information'),
                                                  icon=':/system/system_about.png',
                                                  triggers=self.on_status_projector)
        self.edit_action = create_widget_action(self.menu,
                                                text=translate('OpenLP.ProjectorManager',
                                                               '&Edit Projector'),
                                                icon=':/projector/projector_edit.png',
                                                triggers=self.on_edit_projector)
        self.menu.addSeparator()
        self.connect_action = create_widget_action(self.menu,
                                                   text=translate('OpenLP.ProjectorManager',
                                                                  '&Connect Projector'),
                                                   icon=':/projector/projector_connect.png',
                                                   triggers=self.on_connect_projector)
        self.disconnect_action = create_widget_action(self.menu,
                                                      text=translate('OpenLP.ProjectorManager',
                                                                     'D&isconnect Projector'),
                                                      icon=':/projector/projector_disconnect.png',
                                                      triggers=self.on_disconnect_projector)
        self.menu.addSeparator()
        self.poweron_action = create_widget_action(self.menu,
                                                   text=translate('OpenLP.ProjectorManager',
                                                                  'Power &On Projector'),
                                                   icon=':/projector/projector_power_on.png',
                                                   triggers=self.on_poweron_projector)
        self.poweroff_action = create_widget_action(self.menu,
                                                    text=translate('OpenLP.ProjectorManager',
                                                                   'Power O&ff Projector'),
                                                    icon=':/projector/projector_power_off.png',
                                                    triggers=self.on_poweroff_projector)
        self.menu.addSeparator()
        self.select_input_action = create_widget_action(self.menu,
                                                        text=translate('OpenLP.ProjectorManager',
                                                                       'Select &Input'),
                                                        icon=':/projector/projector_hdmi.png',
                                                        triggers=self.on_select_input)
        self.edit_input_action = create_widget_action(self.menu,
                                                      text=translate('OpenLP.ProjectorManager',
                                                                     'Edit Input Source'),
                                                      icon=':/general/general_edit.png',
                                                      triggers=self.on_edit_input)
        self.blank_action = create_widget_action(self.menu,
                                                 text=translate('OpenLP.ProjectorManager',
                                                                '&Blank Projector Screen'),
                                                 icon=':/projector/projector_blank.png',
                                                 triggers=self.on_blank_projector)
        self.show_action = create_widget_action(self.menu,
                                                text=translate('OpenLP.ProjectorManager',
                                                               '&Show Projector Screen'),
                                                icon=':/projector/projector_show.png',
                                                triggers=self.on_show_projector)
        self.menu.addSeparator()
        self.delete_action = create_widget_action(self.menu,
                                                  text=translate('OpenLP.ProjectorManager',
                                                                 '&Delete Projector'),
                                                  icon=':/general/general_delete.png',
                                                  triggers=self.on_delete_projector)
        self.update_icons()
Example #23
0
 def addCustomContextActions(self):
     create_widget_action(self.listView, separator=True)
     create_widget_action(self.listView,
         text=translate('OpenLP.MediaManagerItem', '&Clone'), icon=u':/general/general_clone.png',
         triggers=self.onCloneClick)
Example #24
0
    def setup_ui(self, widget):
        """
        Define the UI
        :param widget: The screen object the the dialog is to be attached to.
        """
        # start with the layout
        self.layout = QtGui.QVBoxLayout(widget)
        self.layout.setSpacing(0)
        self.layout.setMargin(0)
        self.layout.setObjectName('layout')
        self.toolbar = OpenLPToolbar(widget)
        self.toolbar.setObjectName('toolbar')
        self.add_toolbar_action = self.toolbar.add_toolbar_action('add_loop',
                                                                  text=translate('OpenLP.LoopManager',
                                                                                 'Add Loop'),
                                                                  icon=':/general/general_add.png',
                                                                  tooltip=translate('OpenLP.LoopManager',
                                                                                    'Add a loop.'),
                                                                  triggers=self.on_add_loop)
        self.delete_toolbar_action = self.toolbar.add_toolbar_action('delete_loop',
                                                                     text=translate('OpenLP.LoopManager',
                                                                                    'Delete Loop'),
                                                                     icon=':/general/general_delete.png',
                                                                     tooltip=translate('OpenLP.LoopManager',
                                                                                       'Delete a loop.'),
                                                                     triggers=self.on_delete_loop)
        self.toolbar.addSeparator()
        self.play_toolbar_action = self.toolbar.add_toolbar_action('play_loop',
                                                                    text=translate('OpenLP.LoopManager',
                                                                                   'Play Loop'),
                                                                    icon=':/slides/media_playback_start.png',
                                                                    tooltip=translate('OpenLP.LoopManager',
                                                                                      'Play a loop.'),
                                                                    triggers=self.on_display_loop)
        self.stop_toolbar_action = self.toolbar.add_toolbar_action('stop_loop',
                                                                   text=translate('OpenLP.LoopManager',
                                                                                  'Stop Active Loop'),
                                                                   icon=':/slides/media_playback_stop.png',
                                                                   tooltip=translate('OpenLP.LoopManager',
                                                                                     'Stop playback of active loop.'),
                                                                   triggers=self.on_stop_loop)
        self.layout.addWidget(self.toolbar)
        self.loop_widget = QtGui.QWidgetAction(self.toolbar)
        self.loop_widget.setObjectName('loop_widget')
        # create loop manager list
        self.loop_list_widget = QtGui.QListWidget(widget)
        self.loop_list_widget.setAlternatingRowColors(True)
        self.loop_list_widget.setIconSize(QtCore.QSize(88, 50))
        self.loop_list_widget.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
        self.loop_list_widget.setObjectName('loop_list_widget')
        self.layout.addWidget(self.loop_list_widget)
        self.loop_list_widget.customContextMenuRequested.connect(self.context_menu)
        # build the context menu
        self.menu = QtGui.QMenu()
        self.rename_action = create_widget_action(self.menu,
                                                  text=translate('OpenLP.LoopManager', '&Rename Loop'),
                                                  icon=':/general/general_edit.png', triggers=self.on_rename_loop)
        self.delete_action = create_widget_action(self.menu,
                                                  text=translate('OpenLP.LoopManager', '&Delete Loop'),
                                                  icon=':/general/general_delete.png', triggers=self.on_delete_loop)
        self.menu.addSeparator()
        self.display_action = create_widget_action(self.menu,
                                                   text=translate('OpenLP.LoopManager', 'Dis&play Loop'),
                                                   icon=':/slides/media_playback_start.png', triggers=self.on_display_loop)

        # Signals
        self.loop_list_widget.doubleClicked.connect(self.on_display_loop)
Example #25
0
 def add_list_view_to_toolbar(self):
     """
     Creates the main widget for listing items the media item is tracking
     """
     # Add the List widget
     self.list_view = ListWidgetWithDnD(self, self.plugin.name)
     self.list_view.setObjectName('{name}ListView'.format(name=self.plugin.name))
     # Add to page_layout
     self.page_layout.addWidget(self.list_view)
     if self.has_edit_icon:
         create_widget_action(self.list_view,
                              text=self.plugin.get_string(StringContent.Edit)['title'],
                              icon=':/general/general_edit.png',
                              triggers=self.on_edit_click)
         create_widget_action(self.list_view, separator=True)
     create_widget_action(self.list_view,
                          'listView{plugin}{preview}Item'.format(plugin=self.plugin.name.title(),
                                                                 preview=StringContent.Preview.title()),
                          text=self.plugin.get_string(StringContent.Preview)['title'],
                          icon=':/general/general_preview.png',
                          can_shortcuts=True,
                          triggers=self.on_preview_click)
     create_widget_action(self.list_view,
                          'listView{plugin}{live}Item'.format(plugin=self.plugin.name.title(),
                                                              live=StringContent.Live.title()),
                          text=self.plugin.get_string(StringContent.Live)['title'],
                          icon=':/general/general_live.png',
                          can_shortcuts=True,
                          triggers=self.on_live_click)
     create_widget_action(self.list_view,
                          'listView{plugin}{service}Item'.format(plugin=self.plugin.name.title(),
                                                                 service=StringContent.Service.title()),
                          can_shortcuts=True,
                          text=self.plugin.get_string(StringContent.Service)['title'],
                          icon=':/general/general_add.png',
                          triggers=self.on_add_click)
     if self.has_delete_icon:
         create_widget_action(self.list_view, separator=True)
         create_widget_action(self.list_view,
                              'listView{plugin}{delete}Item'.format(plugin=self.plugin.name.title(),
                                                                    delete=StringContent.Delete.title()),
                              text=self.plugin.get_string(StringContent.Delete)['title'],
                              icon=':/general/general_delete.png',
                              can_shortcuts=True, triggers=self.on_delete_click)
     if self.add_to_service_item:
         create_widget_action(self.list_view, separator=True)
         create_widget_action(self.list_view,
                              text=translate('OpenLP.MediaManagerItem', '&Add to selected Service Item'),
                              icon=':/general/general_add.png',
                              triggers=self.on_add_edit_click)
     self.add_custom_context_actions()
     # Create the context menu and add all actions from the list_view.
     self.menu = QtWidgets.QMenu()
     self.menu.addActions(self.list_view.actions())
     self.list_view.doubleClicked.connect(self.on_double_clicked)
     self.list_view.itemSelectionChanged.connect(self.on_selection_change)
     self.list_view.customContextMenuRequested.connect(self.context_menu)
Example #26
0
 def addListViewToToolBar(self):
     """
     Creates the main widget for listing items the media item is tracking
     """
     # Add the List widget
     self.listView = ListWidgetWithDnD(self, self.plugin.name)
     self.listView.setSpacing(1)
     self.listView.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
     self.listView.setAlternatingRowColors(True)
     self.listView.setObjectName(u'%sListView' % self.plugin.name)
     # Add to pageLayout
     self.pageLayout.addWidget(self.listView)
     # define and add the context menu
     self.listView.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
     if self.hasEditIcon:
         create_widget_action(self.listView,
             text=self.plugin.getString(StringContent.Edit)[u'title'],
             icon=u':/general/general_edit.png',
             triggers=self.onEditClick)
         create_widget_action(self.listView, separator=True)
     if self.hasDeleteIcon:
         create_widget_action(self.listView,
             text=self.plugin.getString(StringContent.Delete)[u'title'],
             icon=u':/general/general_delete.png',
             shortcuts=[QtCore.Qt.Key_Delete], triggers=self.onDeleteClick)
         create_widget_action(self.listView, separator=True)
     create_widget_action(self.listView,
         text=self.plugin.getString(StringContent.Preview)[u'title'],
         icon=u':/general/general_preview.png',
         shortcuts=[QtCore.Qt.Key_Enter, QtCore.Qt.Key_Return],
         triggers=self.onPreviewClick)
     create_widget_action(self.listView,
         text=self.plugin.getString(StringContent.Live)[u'title'],
         icon=u':/general/general_live.png',
         shortcuts=[QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Enter,
         QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Return],
         triggers=self.onLiveClick)
     create_widget_action(self.listView,
         text=self.plugin.getString(StringContent.Service)[u'title'],
         icon=u':/general/general_add.png',
         shortcuts=[QtCore.Qt.Key_Plus, QtCore.Qt.Key_Equal],
         triggers=self.onAddClick)
     if self.addToServiceItem:
         create_widget_action(self.listView, separator=True)
         create_widget_action(self.listView,
             text=translate('OpenLP.MediaManagerItem', '&Add to selected Service Item'),
             icon=u':/general/general_add.png',
             triggers=self.onAddEditClick)
     self.addCustomContextActions()
     # Create the context menu and add all actions from the listView.
     self.menu = QtGui.QMenu()
     self.menu.addActions(self.listView.actions())
     QtCore.QObject.connect(self.listView, QtCore.SIGNAL(u'doubleClicked(QModelIndex)'),
         self.onDoubleClicked)
     QtCore.QObject.connect(self.listView, QtCore.SIGNAL(u'itemSelectionChanged()'),
         self.onSelectionChange)
     QtCore.QObject.connect(self.listView, QtCore.SIGNAL(u'customContextMenuRequested(QPoint)'),
         self.contextMenu)
Example #27
0
 def add_list_view_to_toolbar(self):
     """
     Creates the main widget for listing items the media item is tracking. This method overloads
     MediaManagerItem.add_list_view_to_toolbar.
     """
     # Add the List widget
     self.list_view = TreeWidgetWithDnD(self, self.plugin.name)
     self.list_view.setSelectionMode(
         QtWidgets.QAbstractItemView.ExtendedSelection)
     self.list_view.setAlternatingRowColors(True)
     self.list_view.setObjectName(
         '{name}TreeView'.format(name=self.plugin.name))
     # Add to pageLayout
     self.page_layout.addWidget(self.list_view)
     # define and add the context menu
     self.list_view.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
     if self.has_edit_icon:
         create_widget_action(self.list_view,
                              text=self.plugin.get_string(
                                  StringContent.Edit)['title'],
                              icon=UiIcons().edit,
                              triggers=self.on_edit_click)
         create_widget_action(self.list_view, separator=True)
     create_widget_action(self.list_view,
                          'listView{name}{preview}Item'.format(
                              name=self.plugin.name.title(),
                              preview=StringContent.Preview.title()),
                          text=self.plugin.get_string(
                              StringContent.Preview)['title'],
                          icon=UiIcons().preview,
                          can_shortcuts=True,
                          triggers=self.on_preview_click)
     create_widget_action(
         self.list_view,
         'listView{name}{live}Item'.format(name=self.plugin.name.title(),
                                           live=StringContent.Live.title()),
         text=self.plugin.get_string(StringContent.Live)['title'],
         icon=UiIcons().live,
         can_shortcuts=True,
         triggers=self.on_live_click)
     create_widget_action(self.list_view,
                          'listView{name}{service}Item'.format(
                              name=self.plugin.name.title(),
                              service=StringContent.Service.title()),
                          can_shortcuts=True,
                          text=self.plugin.get_string(
                              StringContent.Service)['title'],
                          icon=UiIcons().add,
                          triggers=self.on_add_click)
     if self.add_to_service_item:
         create_widget_action(self.list_view, separator=True)
         create_widget_action(self.list_view,
                              text=translate(
                                  'OpenLP.MediaManagerItem',
                                  '&Add to selected Service Item'),
                              icon=UiIcons().add,
                              triggers=self.on_add_edit_click)
         create_widget_action(self.list_view, separator=True)
     if self.has_delete_icon:
         create_widget_action(self.list_view,
                              'listView{name}{delete}Item'.format(
                                  name=self.plugin.name.title(),
                                  delete=StringContent.Delete.title()),
                              text=self.plugin.get_string(
                                  StringContent.Delete)['title'],
                              icon=UiIcons().delete,
                              can_shortcuts=True,
                              triggers=self.on_delete_click)
     self.add_custom_context_actions()
     # Create the context menu and add all actions from the list_view.
     self.menu = QtWidgets.QMenu()
     self.menu.addActions(self.list_view.actions())
     self.list_view.doubleClicked.connect(self.on_double_clicked)
     self.list_view.itemSelectionChanged.connect(self.on_selection_change)
     self.list_view.customContextMenuRequested.connect(self.context_menu)
     self.list_view.addAction(self.replace_action)