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
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
3bf99b12eb
gui/playlist: Respond to right-clicking the main treeview
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-04-14 13:58:05 -04:00
3ae5e0f535
gui/playlist: Handle key press events on the main treeview
...
Setting up a unit test for this is almost impossible, so we don't do
that here.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-04-14 13:58:05 -04:00
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
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
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
3e17b7bc1f
Rename gui/collection.c -> gui/playlists/library.c
...
This is to match how files are named and organized in core/
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-04-03 10:33:19 -04:00
b3efd9d84d
gui/sidebar: Respond to the Delete key
...
Gtk doesn't have a simple way to manually trigger this, so I didn't
write a unit test for this feature.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-03-31 13:45:55 -04:00
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
3562e164b0
gui/sidebar: Implement selection-changed handlers
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2017-03-31 13:45:55 -04:00
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
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
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
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
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
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
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
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
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
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
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
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
27a1e2e12a
gui/model: Add a function for accessing the runtime label
...
And rename the widget from "o_runtime" to just "runtime"
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-11-01 08:51:23 -04:00
453f176d63
gui/idle: Rename widget to "progress_bar"
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-10-31 07:56:38 -04:00
90b80fc8a7
gui/window: Rename widget to "window"
...
Drop the "o_" prefix since it doesn't really add anything.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-10-31 07:44:34 -04:00
e25b8407b0
gui: Widget spacing tweaks
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-09-28 09:12:17 -04:00
d7709fd5fb
gui: Replace "Add New ..." button with a single GtkButton
...
I find that I usually create playlists through either a right click
action or through a keyboard shortcut, so we don't need an extra option
hidden inside a MenuButton. Let's remove the button and show the "Add
Library Path" option directly instead.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-09-27 14:12:21 -04:00
21a47ec3b8
gui: Rename ocarina6.glade -> ocarina.ui
...
The convention is for gtk builder files named with a ".ui" extension.
Let's rename our file to match, and drop the 6 while we're at it.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-09-26 08:07:35 -04:00
0cb44aaf3a
gui/queue: Remove Repeat button
...
Most playlists don't allow changing this, and now that we have user
playlists it doesn't make sense to support repeating queued tracks.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-09-26 08:07:35 -04:00
4a4ec3fa36
gui/audio: Add GtkVolumeButton for changing volume
...
Implements #38 : Add volume slider
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-09-26 08:07:35 -04:00
ddb564ed82
gui/view: Create a menu item for adding tracks to user playlists
...
This has to be created programmatically due to the dynamic nature of
user playlists. The easiest way to do that is to list user playlists in
a submenu and switch them out as needed.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-09-26 08:07:35 -04:00
e2d4dd61fb
gui/view: Add "New Playlist" menu options
...
And pop up a dialog mox to ask the user for the name of the new
playlist.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-09-26 08:07:35 -04:00
1b9101cf26
gui/collection: Replace Add Library Path GtkButton with a GtkMenuButton
...
This lets me add new options without needing to clutter the gui with
lots of rarely-used buttons.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-09-26 08:07:35 -04:00
278a54f7ec
gui/playlist: Add a GtkTreeFilter to the playlist treeview
...
I intend to use this to hide empty playlists, but it could potentially
also be used to search for a specific playlist.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-09-26 08:07:34 -04:00
c6e9c176d8
gui/playlist: Select playlists by double clicking
...
I make the current playlist bold so the user has an easier time finding
it.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-09-26 08:07:34 -04:00
Anna Schumaker
69e628f505
gui/tempq: Remove tempq.c
...
Temporary queues are being replaced by the Queued Tracks playlist.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2016-09-26 08:07:34 -04:00
Anna Schumaker
69b39ea717
gui/sidebar: Remove unused sidebar liststore
...
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2016-09-26 08:07:34 -04:00
Anna Schumaker
d7322c1f07
gui/queue: Add a selector for filtering by different fields
...
Implements #63 : Add field selector for filtering
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2016-08-29 07:33:00 -04:00
73b33e9718
gui: UI spacing improvements
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-08-13 09:49:21 -04:00
Anna Schumaker
bddbd04ef5
gui: Remove stack widget
...
It isn't needed now that we pop up a file choose dialog for selecting
library paths.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2016-08-13 08:31:30 -04:00
Anna Schumaker
b3476e15e9
gui/collection: Remove unused collection code
...
And the now unused sidebar widget.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2016-08-13 08:31:30 -04:00
Anna Schumaker
73c70678bb
gui/collection: add button for adding library paths
...
This is easier than responding to events from the treeview. Let's just
pop up a dialog and let the user select from there, rather than doing
something complicated with a stack.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2016-08-13 08:31:30 -04:00
Anna Schumaker
62e1b27b6c
gui/playlist: Add support for deleting playlists
...
System playlists cannot be deleted, but library playlists can. Deleting
a library playlist removes the library and associated tracks from the database.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2016-08-13 08:31:30 -04:00
Anna Schumaker
382ee79c2e
gui/playlist: Add artist playlists to the playlist sidebar
...
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2016-08-13 08:31:30 -04:00
Anna Schumaker
8abc45b1ae
gui/playlist: Store the playlist type in the sidebar treemodel
...
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2016-08-13 08:31:30 -04:00
Anna Schumaker
dc07d637f6
gui/history: Remove unused gui queue code
...
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2016-07-29 17:06:06 -04:00
Anna Schumaker
64fc5a9a0d
gui/collection: Remove unused gui queue code
...
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2016-07-29 17:06:06 -04:00
83724c5f6f
gui/artwork: Split out album art functions into a new file
...
I think this is cleaner, and it should make it easier to maintain this
code.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-07-22 09:40:03 -04:00
Anna Schumaker
00dd72d46e
core/playlist: Remove unused playlist_t enum
...
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2016-07-19 16:03:11 -04:00