diff --git a/common/GPodderCore.qml b/common/GPodderCore.qml index 805e32e..7fcb7e5 100644 --- a/common/GPodderCore.qml +++ b/common/GPodderCore.qml @@ -31,6 +31,7 @@ Python { signal downloaded(int episode_id) signal deleted(int episode_id) signal isNewChanged(int episode_id, bool is_new) + signal stateChanged(int episode_id, int state) Component.onCompleted: { setHandler('hello', function (version, copyright) { @@ -43,6 +44,7 @@ Python { setHandler('downloaded', py.downloaded); setHandler('deleted', py.deleted); setHandler('is-new-changed', py.isNewChanged); + setHandler('state-changed', py.stateChanged); var path = Qt.resolvedUrl('../..').substr('file://'.length); addImportPath(path); diff --git a/common/GPodderPlayback.qml b/common/GPodderPlayback.qml index e5a8a85..f082c6a 100644 --- a/common/GPodderPlayback.qml +++ b/common/GPodderPlayback.qml @@ -26,6 +26,7 @@ MediaPlayer { property int episode property var queue: ([]) + property bool isPlaying: playbackState == MediaPlayer.PlayingState function playbackEpisode(episode_id) { player.episode = episode_id; diff --git a/main.py b/main.py index 9edc98f..a0fa741 100644 --- a/main.py +++ b/main.py @@ -215,9 +215,12 @@ class gPotherSide: def toggle_new(self, episode_id): episode = self._get_episode_by_id(episode_id) episode.is_new = not episode.is_new + if episode.is_new and episode.state == gpodder.STATE_DELETED: + episode.state = gpodder.STATE_NORMAL episode.save() self.core.save() pyotherside.send('is-new-changed', episode_id, episode.is_new) + pyotherside.send('state-changed', episode_id, episode.state) @run_in_background_thread def check_for_episodes(self):