Example #1
0
    def init_search_pane(self):
        self.btn_refresh.setIcon(
            QIcon.fromTheme('view-refresh', self.style().standardIcon(QStyle.SP_BrowserReload)))

        self.btn_connect.setIcon(
            QIcon.fromTheme('multimedia-player', self.style().standardIcon(QStyle.SP_ComputerIcon)))

        self.edit_artist.returnPressed.connect(self.btn_search.click)
        self.edit_title.returnPressed.connect(self.btn_search.click)

        self.edit_player_model = (PlayerListModel())
        self.edit_player.setModel(self.edit_player_model)
Example #2
0
    def init_search_pane(self):
        self.btn_refresh.setIcon(
            QIcon.fromTheme('view-refresh',
                            self.style().standardIcon(
                                QStyle.SP_BrowserReload)))

        self.btn_connect.setIcon(
            QIcon.fromTheme('multimedia-player',
                            self.style().standardIcon(QStyle.SP_ComputerIcon)))

        self.edit_artist.returnPressed.connect(self.btn_search.click)
        self.edit_title.returnPressed.connect(self.btn_search.click)

        self.edit_player_model = (PlayerListModel())
        self.edit_player.setModel(self.edit_player_model)
Example #3
0
    def __init__(self):
        super().__init__()
        path = os.path.dirname(os.path.abspath(__file__))
        self.setIcon(QIcon(os.path.join(path, 'pixmaps', 'prismriver.png')))

        self.right_menu = QMenu()
        self.setContextMenu(self.right_menu)
Example #4
0
    def data(self, index, role=None):
        row = index.row()

        if role == Qt.DisplayRole:
            if self.players[row]:
                return '{} [{}]'.format(self.players[row].identity,
                                        self.players[row].name)

        elif role == Qt.DecorationRole:
            if self.players[row]:
                return QIcon(
                    os.path.join(
                        path, 'pixmaps', 'player',
                        mpris.get_player_icon_name(self.players[row].name)))

        elif role == self.DataRole:
            return self.players[row]
Example #5
0
    def init_layout(self, state):
        try:
            self.main_window.btn_search.clicked.disconnect()
        except TypeError:
            pass

        try:
            self.main_window.btn_connect.clicked.disconnect()
        except TypeError:
            pass

        if state == State.waiting:
            self.main_window.btn_search.setIcon(
                QIcon.fromTheme('edit-find', self.main_window.style().standardIcon(QStyle.SP_DialogApplyButton)))
            self.main_window.btn_search.setText('Search...')
            self.main_window.btn_search.clicked.connect(self.start_search)

            self.main_window.btn_connect.setText('Connect...')
            self.main_window.btn_connect.clicked.connect(self.start_mpris)

            self.main_window.btn_search.setEnabled(True)
            self.main_window.btn_connect.setEnabled(True)
            self.main_window.btn_refresh.setEnabled(True)

            self.main_window.edit_artist.setReadOnly(False)
            self.main_window.edit_title.setReadOnly(False)
            self.main_window.edit_player.setEnabled(True)

        elif state == State.searching:
            self.main_window.btn_search.setIcon(
                QIcon.fromTheme('process-stop', self.main_window.style().standardIcon(QStyle.SP_DialogDiscardButton)))
            self.main_window.btn_search.setText('Stop')
            self.main_window.btn_search.clicked.connect(self.interrupt_search)

            self.main_window.btn_connect.setText('Connect...')
            self.main_window.btn_connect.clicked.connect(self.start_mpris)

            self.main_window.btn_search.setEnabled(True)
            self.main_window.btn_connect.setEnabled(False)
            self.main_window.btn_refresh.setEnabled(False)

            self.main_window.edit_artist.setReadOnly(True)
            self.main_window.edit_title.setReadOnly(True)
            self.main_window.edit_player.setEnabled(False)

        elif state == State.listening:
            self.main_window.btn_search.setIcon(
                QIcon.fromTheme('edit-find', self.main_window.style().standardIcon(QStyle.SP_DialogApplyButton)))
            self.main_window.btn_search.setText('Search...')
            self.main_window.btn_search.clicked.connect(self.start_search)

            self.main_window.btn_connect.setText('Disconnect')
            self.main_window.btn_connect.clicked.connect(self.stop_mpris)

            self.main_window.btn_search.setEnabled(False)
            self.main_window.btn_connect.setEnabled(True)
            self.main_window.btn_refresh.setEnabled(False)

            self.main_window.edit_artist.setReadOnly(True)
            self.main_window.edit_title.setReadOnly(True)
            self.main_window.edit_player.setEnabled(False)

        else:
            return