Now that we push row_added notifications into the main thread, we can
enable this optimization that makes the treeview more efficient.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
And change the GtkPaned widget to have a small handle. This sets the
division between the playlist manager and the playlist to a single line,
which I think looks really slick
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This is a small detail, but I like the idea of having an indicator when
tracks are loaded or not.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
The common setup and tear down code helps keep everything in sync.
Additionally, we no longer need to wait for duration changes, which have
always been unreliable.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This helps us prepare for the about-to-finish signal by setting this
information when gstreamer starts playing the next track.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
I put a smaller progress bar into the header area that users can use for
seeking or checking the current position. I also add two labels to show
time played and time remaining in the current track.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
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>
I switch around the sidebar icons again, and also make the header bar
icons larger to make them easier to press with touchscreens
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This is a special tree model that translates our Playlist object into a
format that GTK understands.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>