[gnome-music/wip/jfelder/player-core-small-cleanups: 32/33] player: Stop the player if the playlist becomes empty



commit 5774ce991ec7b7799c026a118cf7adbb9889134b
Author: Jean Felder <jfelder src gnome org>
Date:   Wed Jul 17 22:48:47 2019 +0200

    player: Stop the player if the playlist becomes empty

 gnomemusic/player.py | 9 +++++++++
 1 file changed, 9 insertions(+)
---
diff --git a/gnomemusic/player.py b/gnomemusic/player.py
index 6b90307c..ac698d0f 100644
--- a/gnomemusic/player.py
+++ b/gnomemusic/player.py
@@ -395,6 +395,10 @@ class Player(GObject.GObject):
 
         self._playlist = PlayerPlaylist(self._app)
 
+        self._playlist_model = self._app.props.coremodel.props.playlist_sort
+        self._playlist_model.connect(
+            "items-changed", self._on_playlist_model_items_changed)
+
         self._settings = application.props.settings
         self._settings.connect(
             'changed::repeat', self._on_repeat_setting_changed)
@@ -450,6 +454,11 @@ class Player(GObject.GObject):
         """
         return self.props.state == Playback.PLAYING
 
+    def _on_playlist_model_items_changed(self, model, pos, removed, added):
+        if (removed > 0
+                and model.get_n_items() == 0):
+            self.stop()
+
     @log
     def _on_about_to_finish(self, klass):
         if self.props.has_next:


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]