Exemple #1
0
    def __init__(self, main_win, zoom_ctrl_mngr, listplayer, media_player):
        super().__init__(parent=main_win)
        self.main_win = main_win
        self.zoom_ctrl_mngr = zoom_ctrl_mngr
        self.listplayer = listplayer
        self.mp = media_player

        self.setTitle("Zoom")
        self.setIcon(icons.get("zoom_menu_button"))

        self.quarter = QAction("1:4 Quarter", self)
        self.quarter.triggered.connect(
            lambda: self.zoom_ctrl_mngr.set_scale(0.25))
        self.quarter.setCheckable(True)

        self.half = QAction("1:2 Half", self)
        self.half.triggered.connect(lambda: self.zoom_ctrl_mngr.set_scale(0.5))
        self.half.setCheckable(True)

        self.original = QAction("1:1 Original", self)
        self.original.triggered.connect(
            lambda: self.zoom_ctrl_mngr.set_scale(1))
        self.original.setCheckable(True)

        self.double = QAction("1:2 Double", self)
        self.double.triggered.connect(lambda: self.zoom_ctrl_mngr.set_scale(2))
        self.double.setCheckable(True)

        self.explicit_zooms = QActionGroup(self)
        self.explicit_zooms.addAction(self.quarter)
        self.explicit_zooms.addAction(self.half)
        self.explicit_zooms.addAction(self.original)
        self.explicit_zooms.addAction(self.double)

        self.addActions(self.explicit_zooms.actions())

        self.option_action_map = {
            0.25: self.quarter,
            0.5: self.half,
            1: self.original,
            2: self.double,
        }

        self.zoom_in = ZoomInAction(self, zoom_ctrl_mngr=self.zoom_ctrl_mngr)
        self.zoom_in.setIcon(icons.get("zoom_in_menu_item"))
        self.addAction(self.zoom_in)

        self.zoom_out = ZoomOutAction(self, zoom_ctrl_mngr=self.zoom_ctrl_mngr)
        self.zoom_out.setIcon(icons.get("zoom_out_menu_item"))
        self.addAction(self.zoom_out)

        self.addSeparator()
        self.addAction(AutoResizeAction(self))

        self.conform_to_media()

        self.zoom_ctrl_mngr.zoomchanged.connect(self.on_zoomchanged)
        self.listplayer.mediachanged.connect(self.on_mediachanged)
Exemple #2
0
 def __init__(self, parent, fullscreen_mngr):
     super().__init__(parent=parent)
     self.setText("Cancel Fullscreen")
     self.fullscreen_mngr = fullscreen_mngr
     self.triggered.connect(self.fullscreen_mngr.stop)
     self.setIcon(icons.get("fullscreen_exit"))
     self.setEnabled(False)
Exemple #3
0
    def __init__(self, parent, listplayer):
        super().__init__(parent=parent)
        self.setToolTip("Next Media")
        self.setIcon(icons.get("next_media"))
        self.listplayer = listplayer

        self.triggered.connect(self.on_triggered)
Exemple #4
0
    def refresh_items(self):
        # Clear action group
        for action in self.action_group.actions():
            self.action_group.removeAction(action)
            del action

        # Add qscreen actions to group
        this_qscreen = get_qscreen_at(self.main_win)
        primary_qscreen = self.qguiapp.primaryScreen()
        sorted_qscreens = sorted(self.qguiapp.screens(), key=lambda s: s.name())
        for qscreen in sorted_qscreens:
            is_primary = qscreen == primary_qscreen
            is_this_screen = qscreen == this_qscreen
            action = StartFullscreenAction(
                qscreen=qscreen,
                fullscreen_mngr=self.fullscreen_mngr,
                is_primary=is_primary,
                is_this_screen=is_this_screen,
                main_win=self.main_win,
            )
            action.setCheckable(True)
            action.setIcon(icons.get("display_screen"))
            self.action_group.addAction(action)

        self.action_group.addAction(self.stop_fs_action)
        self.addActions(self.action_group.actions())
Exemple #5
0
 def set_ext_bttn_icon(self):
     ext_bttn = self.findChild(
         (QToolButton),
         name="qt_toolbar_ext_button",
         options=Qt.FindDirectChildrenOnly,
     )
     ext_bttn.setIcon(icons.get("toolbar_ext_bttn"))
Exemple #6
0
    def __init__(self, parent, fullscreen_mngr):
        super().__init__(parent=parent, icon=icons.get("fullscreen"))
        self.fullscreen_mngr = fullscreen_mngr

        self.set_status("Main Window", QIcon.Normal, QIcon.Off)

        self.fullscreen_mngr.fullscreenstarted.connect(self.on_fullscreenstarted)
        self.fullscreen_mngr.fullscreenstopped.connect(self.on_fullscreenstopped)
Exemple #7
0
    def __init__(self, parent, loop_mode_mngr):
        super().__init__(parent=parent)
        self.loop_mode_mngr = loop_mode_mngr

        self.icons = {
            "off": icons.get("loop_mode_off"),
            "one": icons.get("loop_mode_one"),
            "all": icons.get("loop_mode_all"),
        }
        self.setText("Toggle Playback Mode")
        self.setToolTip("Toggle Playback Mode")
        self.setIconText("Playback Mode")
        self.setCheckable(True)

        self.update()
        self.triggered.connect(self.loop_mode_mngr.rotate_mode)
        self.loop_mode_mngr.playbackmodechanged.connect(
            self.on_playbackmodechanged)
Exemple #8
0
    def __init__(self,
                 viewpoint_mngr: ViewpointManager,
                 parent: QStatusBar = None):
        super().__init__(parent=parent, icon=icons.get("virtual_reality"))
        self.viewpoint_mngr = viewpoint_mngr
        self.set_status("- - -", QIcon.Disabled, QIcon.Off)

        self.text_lbl.setFont(fonts.get_fixed_pitch_font())
        self.viewpoint_mngr.updatedviewpoint.connect(self.on_updatedviewpoint)
Exemple #9
0
 def __init__(self, playlist_widget, main_win):
     self.playlist_win = PlaylistPopupWindow(
         playlist_widget=playlist_widget, main_win=main_win
     )
     super().__init__(
         icon=icons.get("open_playlist"),
         text="Open Playlist",
         widget=self.playlist_win,
         main_win=main_win,
     )
Exemple #10
0
 def __init__(self, parent, playlist_widget):
     super().__init__(parent=parent)
     self.parent = parent
     self.playlist_widget = playlist_widget
     self.setIcon(icons.get("open_file_menu"))
     self.setTitle("Open Media")
     self.addAction(
         OpenMultipleAction(parent=self, playlist_widget=playlist_widget))
     self.addAction(
         OpenFileAction(parent=self, playlist_widget=playlist_widget))
Exemple #11
0
    def __init__(self, main_win=None):
        super().__init__(text="Always On Top", parent=main_win)
        self.main_win = main_win

        self.setIcon(icons.get("always_on_top"))
        self.setCheckable(True)

        self.triggered.connect(self.on_triggered)
        self.main_win.initialized.connect(
            lambda: self.triggered.emit(config.state.stay_on_top))
Exemple #12
0
    def __init__(self, parent, zoom_ctrl_mngr, size=None):
        super().__init__(parent=parent)
        self.zoom_ctrl_mngr = zoom_ctrl_mngr

        self.setText("Zoom Out")
        self.setToolTip("Zoom Out")
        self.setIcon(icons.get("zoom_out_button"))

        self.zoom_ctrl_mngr.zoomchanged.connect(self.on_zoomchanged)
        self.triggered.connect(self.on_triggered)
Exemple #13
0
    def __init__(self, socket, parent):
        super().__init__(parent)
        self.socket = socket
        self.button = None
        self.setCheckable(True)
        self.setIcon(icons.get("connect_to_server_status"))
        self.update(self.socket.state())

        self.socket.stateChanged.connect(self.update)
        self.triggered.connect(self.on_triggered)
Exemple #14
0
 def __init__(self, parent, playlist_widget):
     super().__init__(title="Playlist", parent=parent)
     self.setContentsMargins(0, 0, 0, 0)
     self.setWidget(playlist_widget)
     self.setVisible(False)
     self.toggleViewAction().setIcon(icons.get("open_playlist"))
     self.toggleViewAction().setEnabled(True)
     self.toggleViewAction().setShortcut(QtGui.QKeySequence("Ctrl+M"))
     self.toggleViewAction().setText(
         f"Open Playlist {self.toggleViewAction().shortcut().toString()}"
     )
Exemple #15
0
    def __init__(self, parent, vol_mngr: VolumeManager):
        super().__init__(text="Volume")
        self.vol_mngr = vol_mngr
        self.icons = icons.get("volume_button")
        self.vol_widget = VolumePopupWidget(parent=parent,
                                            vol_mngr=self.vol_mngr)

        self.update_icon(config.state.volume)  # type: ignore

        self.triggered.connect(self.vol_widget.popup)
        self.vol_mngr.volumechanged.connect(self.update_icon)
Exemple #16
0
    def __init__(self, parent, playlist_widget):
        super().__init__(parent=parent)
        self.parent = parent
        self.playlist_widget = playlist_widget
        self.setIcon(icons.get("open_multiple"))
        self.setText("Open Multiple Files")
        self.setShortcut("Ctrl+M")
        self.setShortcutContext(Qt.WidgetWithChildrenShortcut)
        # self.setShortcutVisibleInContextMenu(True)

        self.triggered.connect(self.on_triggered)
Exemple #17
0
    def __init__(self, parent, listplayer, media_player):
        super().__init__(parent=parent)
        self.listplayer = listplayer
        self.mp = media_player

        self.setToolTip("Play/Pause")
        self.setCheckable(True)
        self.setIcon(icons.get("play_pause"))

        self.mp.playing.connect(self.on_playing)
        self.mp.paused.connect(self.on_paused)
        self.mp.stopped.connect(self.on_paused)
        self.triggered.connect(self.on_triggered)
Exemple #18
0
 def show_context_menu(self, pos: QPoint):
     selected_items = self.selected_items()
     if len(selected_items) <= 1:
         rem_selected_text = f"Remove '{selected_items[0].data(Qt.DisplayRole)}'"
     else:
         rem_selected_text = f"Remove {len(selected_items)} items"
     menu = QMenu(self)
     menu.addAction(
         icons.get("file_remove"),
         rem_selected_text,
         self.remove_selected_items,
         self.rem_selected_items_shortcut.key(),
     )
     menu.exec_(self.mapToGlobal(pos))
Exemple #19
0
    def __init__(self, parent, frame_scale_menu, size):
        super().__init__(parent=parent)

        self.menu = frame_scale_menu
        self.setIconSize(QSize(size, size))
        self.setAutoRaise(True)
        self.setToolButtonStyle(Qt.ToolButtonIconOnly)

        self.action = PopupMenuAction(
            icon=icons.get("zoom_menu_button"),
            text=self.menu.title(),
            menu=self.menu,
            parent=self,
        )
        self.setToolTip("Zoom")
        self.setCheckable(False)
        self.setDefaultAction(self.action)
Exemple #20
0
    def __init__(self, main_win, fullscreen_mngr):
        super().__init__(parent=main_win)
        self.fullscreen_mngr = fullscreen_mngr
        self.main_win = main_win

        self.setTitle("Fullscreen")
        self.setIcon(icons.get("fullscreen_menu_bttn"))

        self.qguiapp = QApplication.instance()
        self.action_group = QActionGroup(self)
        self.stop_fs_action = StopFullscreenAction(
            parent=self, fullscreen_mngr=self.fullscreen_mngr
        )
        self.qscreens = None
        self.refresh_items()

        self.fullscreen_mngr.fullscreenstarted.connect(self.on_fullscreenstarted)
        self.fullscreen_mngr.fullscreenstopped.connect(self.on_fullscreenstopped)
Exemple #21
0
 def __init__(self, parent, socket):
     super().__init__(parent=parent,
                      icon=icons.get("connect_to_server_status"))
     self.socket = socket
     self.update_state(self.socket.state())
     self.socket.stateChanged.connect(self.update_state)