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)
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)
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)
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()
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)