rind: Replace window title and subtitle with a custom widget
This lets me control size and justification of the text. Additionally, I put everything into a scrolled window just in case a track has a really long title name. Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
c636b3fd5e
commit
72a947621c
58
emmental.ui
58
emmental.ui
|
@ -63,6 +63,64 @@
|
|||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child type="title">
|
||||
<object class="GtkScrolledWindow">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="vscrollbar_policy">never</property>
|
||||
<child>
|
||||
<object class="GtkViewport">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="shadow_type">none</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="title">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes"><big>Emmental</big></property>
|
||||
<property name="use_markup">True</property>
|
||||
<property name="single_line_mode">True</property>
|
||||
<property name="xalign">0</property>
|
||||
<style>
|
||||
<class name="title"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="subtitle">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes"><big>The Cheesy Music Player</big></property>
|
||||
<property name="use_markup">True</property>
|
||||
<property name="single_line_mode">True</property>
|
||||
<property name="xalign">0</property>
|
||||
<style>
|
||||
<class name="subtitle"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
|
|
|
@ -10,6 +10,8 @@ Gst.init(sys.argv)
|
|||
NextButton = gtk.Builder.get_object("next_button")
|
||||
PauseButton = gtk.Builder.get_object("pause_button")
|
||||
PlayButton = gtk.Builder.get_object("play_button")
|
||||
Subtitle = gtk.Builder.get_object("subtitle")
|
||||
Title = gtk.Builder.get_object("title")
|
||||
|
||||
class EmmentalAudio:
|
||||
def __init__(self):
|
||||
|
@ -32,8 +34,8 @@ class EmmentalAudio:
|
|||
self.playbin.set_state(Gst.State.NULL)
|
||||
self.playbin.set_property("uri", f"file://{track.path}")
|
||||
self.playbin.set_state(Gst.State.PLAYING if play else Gst.State.PAUSED)
|
||||
gtk.Builder.get_object("header").set_title(track["title"])
|
||||
gtk.Builder.get_object("header").set_subtitle(track["artist"])
|
||||
Title.set_markup(f"<big>{track['title']}</big>")
|
||||
Subtitle.set_markup(f"<big>by {track['artist']}</big>")
|
||||
|
||||
def next(self, *args):
|
||||
track = curds.PlaylistManager.next()
|
||||
|
|
|
@ -76,8 +76,8 @@ class TestGst(unittest.TestCase):
|
|||
self.assertEqual(audio.position(), 0)
|
||||
self.assertEqual(audio.duration(), 10.0)
|
||||
self.assertEqual(audio.progress(), 0)
|
||||
self.assertEqual(gtk.Builder.get_object("header").get_title(), track["title"])
|
||||
self.assertEqual(gtk.Builder.get_object("header").get_subtitle(), track["artist"])
|
||||
self.assertEqual(gtk.Builder.get_object("title").get_text(), track['title'])
|
||||
self.assertEqual(gtk.Builder.get_object("subtitle").get_text(), "by " + track["artist"])
|
||||
|
||||
while self.state != Gst.State.PLAYING:
|
||||
self.main_loop()
|
||||
|
|
Loading…
Reference in New Issue