Esempio n. 1
0
    def __init__(self, name, parent=None):
        super().__init__(name, parent)
        self.ui = plexdesktop.ui.browser_ui.Ui_Browser()
        self.ui.setupUi(self)

        self.session_manager = plexdesktop.sessionmanager.SessionManager()
        self.sm_thread = QtCore.QThread(self)
        self.session_manager.moveToThread(self.sm_thread)
        self.session_manager.working.connect(self.ui.indicator.show)
        self.sm_thread.start()

        self.ui.tabs.currentChanged.connect(self.tab_changed)

        self.photo_viewer = None

        # Register actions with style, assign their icon name.
        style = plexdesktop.style.Style.Instance()
        style.widget.register(self.ui.actionBack, 'glyphicons-chevron-left')
        style.widget.register(self.ui.actionForward,
                              'glyphicons-chevron-right')
        style.widget.register(self.ui.actionRefresh, 'glyphicons-refresh')
        style.widget.register(self.ui.actionFind, 'glyphicons-search')
        style.widget.register(self.ui.actionHome, 'glyphicons-home')
        style.widget.register(self.ui.actionOn_Deck, 'glyphicons-play')
        style.widget.register(self.ui.actionRecently_Added,
                              'glyphicons-folder-new')
        style.widget.register(self.ui.actionChannels, 'channels')
        style.widget.register(self.ui.actionMetadata, 'glyphicons-list')
        style.widget.register(self.ui.actionAdd_Shortcut, 'glyphicons-plus',
                              'glyphicons-minus')
        style.refresh()

        # Sort combobox
        self.ui.sort.addItem('Default sort', None)
        self.ui.sort.addItem('Added (new)', 'addedAt:desc')
        self.ui.sort.addItem('Added (old)', 'addedAt:asc')
        self.ui.sort.addItem('Release (new)', 'originallyAvailableAt:desc')
        self.ui.sort.addItem('Release (old)', 'originallyAvailableAt:asc')
        self.ui.sort.addItem('A-Z', 'titleSort:asc')
        self.ui.sort.addItem('Z-A', 'titleSort:desc')
        self.ui.sort.addItem('Rating (high)', 'rating:desc')
        self.ui.sort.addItem('Rating (low)', 'rating:asc')
        self.ui.sort.addItem('Resolution (low)', 'mediaHeight:asc')
        self.ui.sort.addItem('Resolution (high)', 'mediaHeight:desc')
        self.ui.sort.addItem('Duration (long)', 'duration:desc')
        self.ui.sort.addItem('Duration (short)', 'duration:asc')

        # Hide things
        self.ui.hub_dock.hide()
        self.ui.hub_search.hide()
        self.ui.indicator.hide()
        self.ui.metadata_panel.hide()

        # Make connections
        self._connections()

        # Initialize
        self.initial_load()
Esempio n. 2
0
    def __init__(self, name, parent=None):
        super().__init__(name, parent)
        self.ui = plexdesktop.ui.browser_ui.Ui_Browser()
        self.ui.setupUi(self)

        self.session_manager = plexdesktop.sessionmanager.SessionManager()
        self.sm_thread = QtCore.QThread(self)
        self.session_manager.moveToThread(self.sm_thread)
        self.session_manager.working.connect(self.ui.indicator.show)
        self.sm_thread.start()

        self.ui.tabs.currentChanged.connect(self.tab_changed)

        self.photo_viewer = None

        # Register actions with style, assign their icon name.
        style = plexdesktop.style.Style.Instance()
        style.widget.register(self.ui.actionBack, "glyphicons-chevron-left")
        style.widget.register(self.ui.actionForward, "glyphicons-chevron-right")
        style.widget.register(self.ui.actionRefresh, "glyphicons-refresh")
        style.widget.register(self.ui.actionFind, "glyphicons-search")
        style.widget.register(self.ui.actionHome, "glyphicons-home")
        style.widget.register(self.ui.actionOn_Deck, "glyphicons-play")
        style.widget.register(self.ui.actionRecently_Added, "glyphicons-folder-new")
        style.widget.register(self.ui.actionChannels, "channels")
        style.widget.register(self.ui.actionMetadata, "glyphicons-list")
        style.widget.register(self.ui.actionAdd_Shortcut, "glyphicons-plus", "glyphicons-minus")
        style.refresh()

        # Sort combobox
        self.ui.sort.addItem("Default sort", None)
        self.ui.sort.addItem("Added (new)", "addedAt:desc")
        self.ui.sort.addItem("Added (old)", "addedAt:asc")
        self.ui.sort.addItem("Release (new)", "originallyAvailableAt:desc")
        self.ui.sort.addItem("Release (old)", "originallyAvailableAt:asc")
        self.ui.sort.addItem("A-Z", "titleSort:asc")
        self.ui.sort.addItem("Z-A", "titleSort:desc")
        self.ui.sort.addItem("Rating (high)", "rating:desc")
        self.ui.sort.addItem("Rating (low)", "rating:asc")
        self.ui.sort.addItem("Resolution (low)", "mediaHeight:asc")
        self.ui.sort.addItem("Resolution (high)", "mediaHeight:desc")
        self.ui.sort.addItem("Duration (long)", "duration:desc")
        self.ui.sort.addItem("Duration (short)", "duration:asc")

        # Hide things
        self.ui.hub_dock.hide()
        self.ui.hub_search.hide()
        self.ui.indicator.hide()
        self.ui.metadata_panel.hide()

        # Make connections
        self._connections()

        # Initialize
        self.initial_load()
Esempio n. 3
0
    def __init__(self, name, parent=None):
        super().__init__(name, parent)
        self.ui = plexdesktop.ui.photo_viewer_ui.Ui_PhotoViewer()
        self.ui.setupUi(self)

        self.scene = QtWidgets.QGraphicsScene(self)
        self.ui.view.setScene(self.scene)
        self.resize(self.sizeHint())

        self.pixmap = QtGui.QPixmap()
        self.pixmap_item = QtWidgets.QGraphicsPixmapItem()
        self.draw_timer = QtCore.QTimer()
        self.draw_timer.setSingleShot(True)
        self.draw_timer.setInterval(200)
        self.draw_timer.timeout.connect(self.scale_pixmap)

        self.worker_thread = QtCore.QThread(self)
        self.worker_thread.start()
        self.worker = plexdesktop.workers.ImageWorker()
        self.worker.signal.connect(self.update_img)
        self.worker.moveToThread(self.worker_thread)
        self.operate.connect(self.worker.run)
        self.operate.connect(self.show_indicator)
        self.worker.signal.connect(self.hide_indicator)
        self.worker_thread.finished.connect(self.worker_thread.deleteLater)
        self.worker_thread.finished.connect(self.worker.deleteLater)

        self.rotation = 0
        self.drag_position = None

        self.ui.actionBack.triggered.connect(self.prev)
        self.ui.actionForward.triggered.connect(self.next)
        self.ui.actionRotateLeft.triggered.connect(self.rotate_ccw)
        self.ui.actionRotateRight.triggered.connect(self.rotate_cw)
        self.ui.actionRefresh.triggered.connect(self.rotate_default)

        style = plexdesktop.style.Style.Instance()
        style.widget.register(self.ui.actionBack, 'glyphicons-chevron-left')
        style.widget.register(self.ui.actionForward, 'glyphicons-chevron-right')
        style.widget.register(self.ui.actionRotateLeft, 'glyphicons-rotate-left')
        style.widget.register(self.ui.actionRotateRight, 'glyphicons-rotate-right')
        style.widget.register(self.ui.actionRefresh, 'glyphicons-refresh')
        style.refresh()
Esempio n. 4
0
    def __init__(self, parent=None):
        super().__init__(parent)
        self.ui = plexdesktop.ui.player_ui.Ui_Player()
        self.ui.setupUi(self)
        self.ui.player_widget.setAttribute(QtCore.Qt.WA_DontCreateNativeAncestors)
        self.ui.player_widget.setAttribute(QtCore.Qt.WA_NativeWindow)
        self.ui.player_widget.setMouseTracking(True)
        self.ui.slider_volume.setMaximum(100)
        self.ui.audio_tracks.set_type('audio')
        self.ui.sub_tracks.set_type('sub')
        self.ui.video_tracks.set_type('video')
        # for convenience
        self.controls = self.ui
        self.player = self.ui.player_widget
        self.control_bar = self.ui.control_bar

        style = plexdesktop.style.Style.Instance()
        style.widget.register(self.ui.btn_play, 'glyphicons-pause', 'glyphicons-play')
        style.widget.register(self.ui.btn_prev, 'glyphicons-chevron-left')
        style.widget.register(self.ui.btn_next, 'glyphicons-chevron-right')
        style.refresh()
Esempio n. 5
0
 def action_reload_stylesheet(self):
     style = plexdesktop.style.Style.Instance()
     style.refresh()
Esempio n. 6
0
 def action_reload_stylesheet(self):
     style = plexdesktop.style.Style.Instance()
     style.refresh()