Anna Schumaker
f13983269b
playlist: Switch over to using the emmental-favorites icon
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-31 19:18:17 -04:00
Anna Schumaker
d3c66d7c31
playlist: Add a button for scrolling to the current track
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-31 13:15:49 -04:00
Anna Schumaker
1d45ce9beb
playlist: Use the ColumnView's vadjustment for scrolling
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-31 13:15:49 -04:00
Anna Schumaker
f78402f258
Rename trackdb -> tagdb
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-26 11:15:15 -04:00
Anna Schumaker
7a41c3b1a1
Move module tests out of the toplevel directory
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-26 11:03:32 -04:00
Anna Schumaker
e248fd3658
playlist: Scroll to the current track when tracks change
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:35 -04:00
Anna Schumaker
dece303a09
playlist: Make the currently playing track bold
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:35 -04:00
Anna Schumaker
146777119c
playlist: Move the Runtime and Visible widgets into the Playlist pane
...
Rather than being in a fixed position at the bottom of the window
they'll now align themselves based on the position of the Gtk.Paned
divider.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:34 -04:00
Anna Schumaker
171e8a1829
lib: Give tags a track_selected() function
...
For use when tracks are manually selected. I use this to wire up a
response to double-clicking the playlist view.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:17 -04:00
Anna Schumaker
d834ce3a34
playlist: Allow selecting multiple tracks
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker
f91334dab1
playlist: Add a "Add to Playlist" button to the Controls
...
And display the new popover when pressed
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker
7b53536b27
playlist: Create a popover for adding tracks to playlists
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker
d2362368f3
playlist: Add a Controls instance above the ColumnView
...
And set up a FilterListModel so we can filter tracks
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker
315312615e
playlist: Add a Filter to the controls
...
And respond when text is typed in the search bar
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker
e8fc15dc6c
playlist: Create a custom filter for matching tracks
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker
0952eeccde
playlist: Configure playlist random and loop buttons
...
Sometimes the user is able to change them, but sometimes not. We also
need to set to the current state when changing the current playlist.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker
e61adceafb
playlist: Add a class for playlist controls
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker
c5a4db041c
playlist: Update the visible and runtime labels
...
I do this whenever items_changed() is called so it updates whenever we
update the model.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker
9dd017dc43
playlist: Use a bus for TrackAdded and TrackRemoved
...
This helps keep us from sending the items_changed() signal too soon,
before the track finishes initializing.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker
e21eca37ae
playlist: Create a function for changing the current tag
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker
eac9bde353
playlist: Bind columns to a ListItemFactory
...
Gtk doesn't seem to provide a way to create a ListItem for testing, so I
skip testing this for now.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker
9d2efcfedd
playlist: Create a Model and have it shown by the Selection
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker
91ef91a5f0
playlist: Create a way to switch tags in the TagModel
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker
035fcd3398
playlist: Allow creating models without a Tag
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker
1fb4c25fc6
playlist: Create a TagModel as a custom GListModel
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker
6e1da0f7b4
playlist: Have the last column expand to fill any remaining space
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker
fc9b734e38
playlist: Initialize column widths to some reasonable values
...
And save / restore through the settings file.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker
849503eaf2
playlist: Create a custom columns class for the playlist ColumnView
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker
fa088ae8ea
playlist: Begin playlist widgets
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker
5275feecf3
runtime: Handle changing the runtime label
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:51:54 -04:00
Anna Schumaker
f40d72c05b
runtime: Handle changing the visible count label
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:51:54 -04:00
Anna Schumaker
b10851496c
runtime: Add widgets for runtime and visible tracks
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:51:54 -04:00