Anna Schumaker
b4daf0e48c
db: Set check_same_thread=False
...
Apparently, the about-to-finish signal is called in a different thread
than the main thread. SQLite complains about the connection getting used
from a different thread, so we need to set this check to False so the
code skips it.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:15 -05:00
Anna Schumaker
688bd1aa29
playlist: Remove old playlist code
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
7d5b9b8ba1
ui: Switch over to the new playlist.Panel class
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
dbad19ad46
playlist: Create a new Panel class
...
Containing the ControlBox, PlaylistWindow, and FooterBox
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
50bf64faf3
playlist: Create a Footer box
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
289a980390
playlist: Create a Runtime label
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
0ed71f8792
playlist: Create a VisibleTracks label
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
44370b265b
playlist: Create a Header box
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
b09baf3d99
playlist: Add a ControlBox box
...
Containing the RandomToggle, LoopToggle, and SortButton
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
c5aff410b4
playlist: Create a SortButton menu button
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
94cb57dbfc
playlist: Create RandomToggle and LoopToggle toggles
...
These both inherit from a PropertyToggle that does most of the work for
us
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
c136b8660a
playlist: Create a FilterEntry entry
...
This derives from the lib.filter.Entry to set the playlist filter and
increase the margins.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
3b15318f7c
playlist: Create a SortOrderPopover
...
For use by a Gtk.MenuButton to show the SortOrderView
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
d0049e4951
playlist: Create a SortOrderView
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
fd728a7a99
playlist: Create a PlaylistWindow scrolled window
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
2311a3a697
playlist: Add a LastPlayed column to the PlaylistView
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
67d0ba4e44
playlist: Add a PlayCount column to the PlaylistView
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
36893317c2
playlist: Add a Year column to the PlaylistView
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
81dc5f1b76
playlist: Add a Subtitle column to the PlaylistView
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
7c009655ed
playlist: Add an Album column to the PlaylistView
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
d7f1f64506
playlist: Add an Artist column to the PlaylistView
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
2ac2ce04aa
playlist: Add a Length column to the PlaylistView
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
0cdc83c21e
playlist: Add a Title column to the PlaylistView
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
8e7db2c472
playlist: Add a Track Number column to the PlaylistView
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
4e24124755
playlist: Create a PlaylistView column view
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
296f0c53b4
playlist: Create a new Column class
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
df4074f1de
playlist: Create a new LabelFactory
...
For creating the labels used by the ColumnView columns
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
979071cd14
playlist: Create a sort Factory
...
For creating SortRows and handling their signals
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
8adfb51082
playlist: Create a SortRow
...
To collect all the widgets used for a single row of sorting and emit
signals when they are interacted with.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
5d4ad35131
playlist: Create a FieldLabel label
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
768a3388d7
playlist: Create a DirectionButton button
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
9cfbf2acc9
playlist: Create an UpDownBox
...
Containing Up and Down arrow buttons that are intended to be used to
rearrange the sort order.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
c4954c5bbc
playlist: Create a FlatSortModel
...
To concatenate items from the SortPlaylistModel and the
DisabledOptionsModel with extra functions for enabling and disabling
sort order fields
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
0966950d86
playlist: Create a SortModelsModel
...
Containing SortPlaylistModel and FilterSortOptionsModel instances
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
8d901afae7
playlist: Create a DisabledOptionsModel
...
And a DisabledOptionsFilter for filtering out options that have been
enabled on the playlist.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
e646b12f65
playlist: Create a SortOptionsModel
...
Containing all the valid sort options that could be set
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
35e3085c6a
playlist: Create a SortPlaylistModel
...
This is a Gio.ListModel for the current playlist's sort order that has
extra functions for rearranging or reversing the sort fields.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:08 -05:00
Anna Schumaker
fc83b66fbe
playlist: Create a PlaylistSelection list model
...
This is a multi-selection model so we can do operations on multiple
tracks at once.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-20 10:05:01 -05:00
Anna Schumaker
f2402cdb44
playlist: Create a FilterPlaylistModel list model
...
With a custom Regex filter that checks if the track title, artist,
album, or disc subtitle match the given pattern.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-20 10:05:01 -05:00
Anna Schumaker
f8dbb71581
playlist: Create a PlaylistModel list model
...
This will be used to display the tracks in a playlist
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-20 10:05:01 -05:00
Anna Schumaker
281fda1933
sidebar: Remove old Sidebar code
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-20 10:04:54 -05:00
Anna Schumaker
35e31d0553
ui: Switch over to the new sidebar.Sidebar class
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-20 10:04:54 -05:00
Anna Schumaker
20b84fa019
sidebar: Create a new Sidebar class
...
Containing both the Stack Switcher and Stack Box
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-20 10:04:54 -05:00
Anna Schumaker
6ac08eb2bd
sidebar: Create a Stack Box
...
Containing our Stack and other widgets that get displayed along with it
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-20 10:04:54 -05:00
Anna Schumaker
34350d5700
sidebar: Create an AddUpdateBox
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-20 10:04:54 -05:00
Anna Schumaker
7be89be250
sidebar: Create an AddPlaylistButton
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-20 10:04:54 -05:00
Anna Schumaker
5b5d166db3
sidebar: Create an AddPlaylistPopover
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-20 10:04:54 -05:00
Anna Schumaker
5d18c336d5
sidebar: Create an AddPlaylistEntry
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-20 10:04:54 -05:00
Anna Schumaker
0152ba1431
sidebar: Create a custom ProgressBar
...
This takes the ProgressBar from the scanner widgets and puts in in a Box
with Labels on either side to reserve its space at all times.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-20 10:04:54 -05:00
Anna Schumaker
7beebbc7d1
sidebar: Create a Stack Switcher
...
This allocates a Stack during __init__(), which can then be displayed to
the user.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-20 10:04:54 -05:00