class PlaymodeSwitchLabel(QLabel): def __init__(self, parent=None): super().__init__(parent) self._player = Player() self.resize(15, 15) self._current_mode = self._player.playlist().playbackMode() self._set_mode() def _set_mode(self): if self._current_mode == 1: self.setPixmap(QPixmap(ICON_PATH + "single_repeat.png").scaled(self.size())) elif self._current_mode == 3: self.setPixmap(QPixmap(ICON_PATH + "repeat.png").scaled(self.size())) elif self._current_mode == 4: self.setPixmap(QPixmap(ICON_PATH + "random.png").scaled(self.size())) def _switch_mode(self): if self._current_mode == 4: self._current_mode = 1 elif self._current_mode == 1: self._current_mode = 3 elif self._current_mode == 3: self._current_mode = 4 self._set_mode() self._player.set_play_mode(self._current_mode) @pyqtSlot(QMediaPlaylist.PlaybackMode) def on_mode_changed(self, mode): if mode != self._current_mode: self._current_mode = mode self._switch_mode() def mousePressEvent(self, event): self._switch_mode()
class PlaymodeSwitchLabel(QLabel): def __init__(self, parent=None): super().__init__(parent) self.player = Player() self.resize(15, 15) self._current_mode = self.player.playback_mode self._set_mode() def _set_mode(self): if self._current_mode == 1: self.setPixmap( QPixmap(ICON_PATH + "single_repeat.png").scaled(self.size())) elif self._current_mode == 3: self.setPixmap( QPixmap(ICON_PATH + "repeat.png").scaled(self.size())) elif self._current_mode == 4: self.setPixmap( QPixmap(ICON_PATH + "random.png").scaled(self.size())) def _switch_mode(self): if self._current_mode == 4: self._current_mode = 1 elif self._current_mode == 1: self._current_mode = 3 elif self._current_mode == 3: self._current_mode = 4 self._set_mode() self.player.set_play_mode(self._current_mode) @pyqtSlot(int) def on_mode_changed(self, mode): if mode != self._current_mode: self._current_mode = mode self._switch_mode() def mousePressEvent(self, event): self._switch_mode()