예제 #1
0
 def add_toolbar(self):
     """
     A method to help developers easily add a toolbar to the media manager item.
     """
     if self.toolbar is None:
         self.toolbar = OpenLPToolbar(self)
         self.page_layout.addWidget(self.toolbar)
예제 #2
0
    def setup_generic_controls(self, controller):
        """
        Set up controls on the control_panel for a given controller

        :param controller:  First element is the controller which should be used
        """
        controller.media_info = MediaInfo()
        # Build a Media ToolBar
        controller.mediabar = OpenLPToolbar(controller)
        controller.mediabar.add_toolbar_action(
            'playbackPlay',
            text='media_playback_play',
            icon=':/slides/media_playback_start.png',
            tooltip=translate('OpenLP.SlideController',
                              'Start playing media.'),
            triggers=controller.send_to_plugins)
        controller.mediabar.add_toolbar_action(
            'playbackPause',
            text='media_playback_pause',
            icon=':/slides/media_playback_pause.png',
            tooltip=translate('OpenLP.SlideController',
                              'Pause playing media.'),
            triggers=controller.send_to_plugins)
        controller.mediabar.add_toolbar_action(
            'playbackStop',
            text='media_playback_stop',
            icon=':/slides/media_playback_stop.png',
            tooltip=translate('OpenLP.SlideController', 'Stop playing media.'),
            triggers=controller.send_to_plugins)
        # Build the seek_slider.
        controller.seek_slider = MediaSlider(QtCore.Qt.Horizontal, self,
                                             controller)
        controller.seek_slider.setMaximum(1000)
        controller.seek_slider.setTracking(True)
        controller.seek_slider.setMouseTracking(True)
        controller.seek_slider.setToolTip(
            translate('OpenLP.SlideController', 'Video position.'))
        controller.seek_slider.setGeometry(QtCore.QRect(90, 260, 221, 24))
        controller.seek_slider.setObjectName('seek_slider')
        controller.mediabar.add_toolbar_widget(controller.seek_slider)
        # Build the volume_slider.
        controller.volume_slider = QtGui.QSlider(QtCore.Qt.Horizontal)
        controller.volume_slider.setTickInterval(10)
        controller.volume_slider.setTickPosition(QtGui.QSlider.TicksAbove)
        controller.volume_slider.setMinimum(0)
        controller.volume_slider.setMaximum(100)
        controller.volume_slider.setTracking(True)
        controller.volume_slider.setToolTip(
            translate('OpenLP.SlideController', 'Audio Volume.'))
        controller.volume_slider.setValue(controller.media_info.volume)
        controller.volume_slider.setGeometry(QtCore.QRect(90, 160, 221, 24))
        controller.volume_slider.setObjectName('volume_slider')
        controller.mediabar.add_toolbar_widget(controller.volume_slider)
        controller.controller_layout.addWidget(controller.mediabar)
        controller.mediabar.setVisible(False)
        # Signals
        controller.seek_slider.valueChanged.connect(controller.send_to_plugins)
        controller.volume_slider.valueChanged.connect(
            controller.send_to_plugins)
예제 #3
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)
예제 #4
0
파일: manager.py 프로젝트: jkunle/paul
    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()
예제 #5
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)