Anna Schumaker
8fd4e4c637
gui/audio: Add a test for the volume button
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-04-14 13:58:05 -04:00
Anna Schumaker
96e5749e7f
gui/audio: Add a test for seeking
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-04-14 13:58:05 -04:00
Anna Schumaker
f8c0668e5e
gui/audio: Add an accessor function for the pause_after combo box
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-04-14 13:58:05 -04:00
Anna Schumaker
07d735eeee
gui/audio: Add accessor functions for control buttons
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-04-14 13:58:05 -04:00
Anna Schumaker
943ab02aa5
gui/audio: Add position and duration label accessor functions
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-04-14 13:58:05 -04:00
Anna Schumaker
869e83b7bd
gui/audio: Add accessor functions for audio tags
...
And begin working on new, cleaner unit test code.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-04-14 13:58:05 -04:00
Anna Schumaker
88bf71ac22
Remove gui/view.c
...
This code is obsolete now that gui/playlist.c handles keypress and
right-click events on the main treeview.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-04-14 13:58:05 -04:00
Anna Schumaker
39bc7492d4
gui/playlist: Clean up file and rewrite unit test
...
The unit test now checks how we respond to the row-activated signal.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-04-14 13:58:05 -04:00
Anna Schumaker
e7d2fa5c4d
gui/treeview: Add a function for listing selected tracks
...
This will be used by higher layers to add tracks to playlists.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-04-14 13:58:05 -04:00
Anna Schumaker
155b9c3ee6
gui/treeview: Add a test for the row-activated signal
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-04-14 13:58:05 -04:00
Anna Schumaker
dc53ae271b
gui/sidebar: Store the row expanded setting for later use
...
I want to use this to track if the user has expanded or collapsed any of
the sidebar rows.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-04-04 10:04:33 -04:00
Anna Schumaker
cebf2069cb
gui/playlists/system: Respond to favorite and hide buttons
...
I also take this opportunity to rename these widgets and add accessor
functions.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-04-03 10:33:19 -04:00
Anna Schumaker
36f399ecb7
gui/playlists/system: Split into a new file and add a unit test
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-04-03 10:33:19 -04:00
Anna Schumaker
83db8e4ae7
gui/playlists/user: Add a function for getting a list of playlists
...
This is used to build a right-click menu with the names of each
playlist.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-04-03 10:33:19 -04:00
Anna Schumaker
ad3e56250e
gui/playlists/user: Split into a new file and add a unit test
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-04-03 10:33:19 -04:00
Anna Schumaker
bb673ddb62
gui/playlists/artist: Split into a new file and add a unit test
...
Putting this code in a new file helps make gui/playlist.c less complex,
and better matches the organization of files in core/
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-04-03 10:33:19 -04:00
Anna Schumaker
ab47a7ac88
gui/playlists/library: Add new library paths to the sidebar
...
... without passing through gui/playlist.c first.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-04-03 10:33:19 -04:00
Anna Schumaker
e550638823
gui/playlists/library: Write unit test for adding file paths
...
This functionality needs to be tested better. I can't really test the
dialog, since it runs in the main thread, but I can test adding library
paths with the selected directory.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-04-03 10:33:19 -04:00
Anna Schumaker
b4e2770223
Remove gui/queue.c
...
This code is obsolete now that the sidebar handles setting the random
button when playlists are changed.
Implements #76 : Remove struct gui_queue
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-04-03 10:33:05 -04:00
Anna Schumaker
df2236db9f
gui/sidebar: Add a function for selecting the default playlist
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-03-31 13:45:55 -04:00
Anna Schumaker
828f861d9a
gui/sidebar: Handle random button clicks
...
This makes the most sense here, and lets us remove gui/queue.c at some
point in the future.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-03-31 13:45:55 -04:00
Anna Schumaker
3562e164b0
gui/sidebar: Implement selection-changed handlers
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-03-31 13:45:55 -04:00
Anna Schumaker
a2113dc378
gui/sidebar: Add a function for inserting a playlist in sorted order
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-03-31 13:45:55 -04:00
Anna Schumaker
9885c60bff
gui/sidebar: Add functions for appending child playlists
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-03-31 13:45:55 -04:00
Anna Schumaker
831a5379e5
gui/sidebar: Add a function for finding playlists
...
This function scans through the treestore at the current level, without
descending into children. This is because we frequently know what
category playlists are under when searching for a child, so it makes
sense to find that first.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-03-31 13:45:55 -04:00
Anna Schumaker
f3f8ad91c6
gui/sidebar: Add a function for adding playlists
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-03-31 13:45:55 -04:00
Anna Schumaker
4fc8c72ea8
gui/sidebar: Initialize the sidebar with default headers
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-03-31 13:45:55 -04:00
Anna Schumaker
18e76a7dca
gui/sidebar: Add useful iterator functions
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-03-31 13:45:55 -04:00
Anna Schumaker
bbac5e23be
gui/sidebar: Add a function for getting the sidebar treeview
...
And rename the treeview from "o_playlist_view" to "sidebar_treeview"
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-03-31 13:45:55 -04:00
Anna Schumaker
c1c197acb5
gui/sidebar: Add a function for getting the sidebar filter model
...
And rename the model from "o_playlist_filter" to "sidebar_filter"
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-03-31 13:45:55 -04:00
Anna Schumaker
4c3405e874
gui/sidebar: Add a function for getting the sidebar treestore
...
And rename the treestore from "o_playlist_store" to "sidebar_store"
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-03-31 13:45:55 -04:00
Anna Schumaker
b3074979f7
gui/sidebar: Add a gui_sidebar() function
...
Called to access the GtkPaned widget. I also rename the widget
"sidebar" to match the new convention.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-03-31 13:45:55 -04:00
Anna Schumaker
fd84222c2b
core/playlist: Add a function for getting the current playlist
...
This is useful to keep playlist settings variables hidden to the GUI.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-03-31 13:45:55 -04:00
Anna Schumaker
a36fd137d5
gui/audio: Disable the audio timeout function during shutdown
...
Otherwise we may try to use the gstreamer playbin after destroying it,
leading to various error messages showing up in the console.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-03-30 09:57:15 -04:00
Anna Schumaker
d3f505465c
gui/view: Initialize all libraries before running the test
...
Otherwise we'll get a message saying that either the filter or the
treeview is not a GtkTreeModel
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-03-24 11:39:21 -04:00
Anna Schumaker
1d3438932e
gui/window: Store window position
...
And restore it when restarting Ocarina.
Implements #88 : Remember window position
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-03-24 11:38:18 -04:00
Anna Schumaker
1c386809d0
gui/treeview: Respond to the notify::width signal
...
I connect this in code so I can pass the column index as data to the
function, avoding the need for a "column index" lookup function.
I restore saved column widths during startup.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-11-01 08:51:23 -04:00
Anna Schumaker
dbc1df154a
gui/treeview: Add a row-activated signal handler
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-11-01 08:51:23 -04:00
Anna Schumaker
730395aeff
gui/treeview: Add a function for scrolling the treeview
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-11-01 08:51:23 -04:00
Anna Schumaker
9e37062920
gui/treeview: Sort treeview when columns are clicked
...
I decided to manually connect signals this time so I can pass sort
information instead of needing to look up the column index.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-11-01 08:51:23 -04:00
Anna Schumaker
df43010766
gui/treeview: Add an init function
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-11-01 08:51:23 -04:00
Anna Schumaker
c49b77a24a
gui/treeview: Add a function for accessing the treeview
...
And rename the widget from "o_treeview" to just "treeview".
I wanted to rename gui/view.c to gui/treeview.c at some point. I
decided to gradually rework things into a new file to make it easier to
track progress.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-11-01 08:51:23 -04:00
Anna Schumaker
3fc19275f3
gui/filter: Add a function for loading a track from a tree path
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-11-01 08:51:23 -04:00
Anna Schumaker
ac3c316d9a
gui/filter: Add a function for getting filter treepaths from index
...
This keeps the treepath conversions contained to the filter code when
finding paths to scroll to.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-11-01 08:51:23 -04:00
Anna Schumaker
32d712c213
gui/filter: Remember search text when switching playlists
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-11-01 08:51:23 -04:00
Anna Schumaker
39d87f98f8
gui/filter: Move playlist filtering into filter.c
...
Implements #75 : Move treeview filter to a new layer
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-11-01 08:51:23 -04:00
Anna Schumaker
b9916706f1
gui/filter: Add functions for getting the SearchEntry and ComboBox
...
And take this chance to rename o_search -> filter_search.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-11-01 08:51:23 -04:00
Anna Schumaker
ad29c520d4
gui/filter: Add a function for converting filter paths to indexes
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-11-01 08:51:23 -04:00
Anna Schumaker
f550d45811
gui/filter: Add a function for converting GtkTreePaths into tracks
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-11-01 08:51:23 -04:00
Anna Schumaker
6325779062
gui/filter: Create a new file for treeview filter code
...
Right now filtering is split between queue.c and view.c, which can make
things somewhat complicated. I think this is a sign that we need a new
file to manage filtering.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-11-01 08:51:23 -04:00