fixed metadata popover

This commit is contained in:
Martin Wagner 2020-02-08 16:27:52 +01:00
parent d9e518c687
commit 596bcec194

View File

@ -1331,6 +1331,7 @@ class AudioType(Gtk.EventBox):
self.label.set_xalign(1)
self.label.set_ellipsize(Pango.EllipsizeMode.END)
self.popover=Gtk.Popover()
self.popover.set_relative_to(self)
#Store
#(tag, value)
@ -1346,19 +1347,21 @@ class AudioType(Gtk.EventBox):
renderer_text = Gtk.CellRendererText()
self.column_tag = Gtk.TreeViewColumn(_("MPD-Tag"), renderer_text, text=0)
self.column_tag.set_property("resizable", False)
self.treeview.append_column(self.column_tag)
self.column_value = Gtk.TreeViewColumn(_("Value"), renderer_text, text=1)
self.column_value.set_property("resizable", False)
self.treeview.append_column(self.column_value)
self.popover.add(self.treeview)
#timeouts
GLib.timeout_add(1000, self.update)
#connect
self.connect("button-press-event", self.on_button_press_event)
#packing
self.popover.add(self.treeview)
self.add(self.label)
def update(self):
@ -1379,10 +1382,8 @@ class AudioType(Gtk.EventBox):
def on_button_press_event(self, widget, event):
if event.button == 1 or event.button == 2 or event.button == 3:
self.popover.remove(self.treeview) #workaround
self.store.clear()
self.popover.add(self.treeview) #workaround
try:
self.store.clear()
song=self.client.status()["song"]
tags=self.client.playlistinfo(song)[0]
for key in tags:
@ -1390,9 +1391,8 @@ class AudioType(Gtk.EventBox):
self.store.append([key, str(datetime.timedelta(seconds=int(tags[key])))])
else:
self.store.append([key, tags[key]])
self.popover.set_relative_to(self)
self.popover.show_all()
self.popover.popup()
self.treeview.queue_resize()
except:
pass