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



commit 802030b143cbe6ecbddf1ef521c1e748a9cb2abd
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 bff70ff5..79adb27f 100644
--- a/gnomemusic/player.py
+++ b/gnomemusic/player.py
@@ -402,6 +402,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)
@@ -457,6 +461,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]