removed mpris related stuff from MainWindow

This commit is contained in:
Martin Wagner 2020-09-11 18:15:27 +02:00
parent 12da5321b8
commit 20566566cd

View File

@ -39,6 +39,7 @@ import re
import dbus
import dbus.service
from dbus.mainloop.glib import DBusGMainLoop
DBusGMainLoop(set_as_default=True)
VERSION='0.9.0-dev' # sync with setup.py
COVER_REGEX="^\.?(album|cover|folder|front).*\.(gif|jpeg|jpg|png)$"
@ -100,6 +101,8 @@ class MPRISInterface(dbus.service.Object): # TODO emit Seeked if needed
self._client.emitter.connect("repeat", self._on_loop_changed)
self._client.emitter.connect("single", self._on_loop_changed)
self._client.emitter.connect("random", self._on_random_changed)
self._client.emitter.connect("disconnected", self._on_disconnected)
self._client.emitter.connect("reconnected", self._on_reconnected)
def acquire_name(self):
self._bus_name=dbus.service.BusName(self._name, bus=self._bus, allow_replacement=True, replace_existing=True)
@ -430,6 +433,13 @@ class MPRISInterface(dbus.service.Object): # TODO emit Seeked if needed
def _on_random_changed(self, *args):
self.update_property('org.mpris.MediaPlayer2.Player', 'Shuffle')
def _on_reconnected(self, *args):
self.acquire_name()
def _on_disconnected(self, *args):
self.release_name()
self._metadata={}
def _name_owner_changed_callback(self, name, old_owner, new_owner):
if name == self._name and old_owner == self._uname and new_owner != "":
try:
@ -3406,8 +3416,7 @@ class MainWindow(Gtk.ApplicationWindow):
self._icon_size=self._settings.get_int("icon-size")
# MPRIS
DBusGMainLoop(set_as_default=True)
self._dbus_service=MPRISInterface(self, self._client, self._settings)
dbus_service=MPRISInterface(self, self._client, self._settings)
# actions
save_action=Gio.SimpleAction.new("save", None)
@ -3546,17 +3555,14 @@ class MainWindow(Gtk.ApplicationWindow):
notify.show()
def _on_reconnected(self, *args):
self._dbus_service.acquire_name()
self._playback_control.set_sensitive(True)
self._update_action.set_enabled(True)
self._stats_action.set_enabled(True)
def _on_disconnected(self, *args):
self._dbus_service.release_name()
self.set_title("mpdevil")
if self._use_csd:
self._header_bar.set_subtitle("")
self.songid_playing=None
self._playback_control.set_sensitive(False)
self._update_action.set_enabled(False)
self._stats_action.set_enabled(False)