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
Anna Schumaker
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
Anna Schumaker
619ea0b559
gui/model: Use queue positions instead of queue iterator
...
This helps simplify the code, since we can reuse
gui_model_iter_nth_child() here.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-11-01 08:51:23 -04:00
Anna Schumaker
010969c7b3
gui/model: Convert set_queue() -> set_playlist()
...
Ocarina is moving in a playlist oriented direction, so move away from
using the queue directly in favor of using the playlist.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-11-01 08:51:23 -04:00
Anna Schumaker
82da46365f
gui/model: Register the GuiModel type during gui_model_init()
...
This only needs to happen once, so let's do it when we initialize the
model rather than waiting for the first allocation.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-11-01 08:51:23 -04:00
Anna Schumaker
cdbe96c575
gui/model: Rename "Queue Model" to "Gui Model"
...
This is going to represent a playlist soon enough, so let's just name it
something more generic in case it ever has to change again.
Implements #87 : Rename GuiQueueModel -> GuiModel
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-11-01 08:51:07 -04:00
Anna Schumaker
453f176d63
gui/idle: Rename widget to "progress_bar"
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-10-31 07:56:38 -04:00
Anna Schumaker
3383f9e32a
gui/idle: Add a function for getting the progress bar
...
And add in various cleanups while we're at it.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-10-31 07:55:40 -04:00
Anna Schumaker
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
Anna Schumaker
133efc0515
gui/window: Add a function for getting the window
...
This is cleaner and easier than calling into the gtk builder directly.
I bumped up the window layer so other gui components can use it.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-10-31 07:44:34 -04:00
Anna Schumaker
9a216fee1e
gui/queue: Remove unused GQ_CAN_REPEAT and GQ_CAN_DISABLE flags
...
These go unused as a result of our recent playlist changes, so we can
remove them now.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-09-28 10:04:28 -04:00
Anna Schumaker
f0e9e1f1e4
gui/playlist: Add user playlists during init
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-09-26 08:07:35 -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
7e00c8ed10
core/settings: Move settings into core/
...
Implements issue #9 : Move settings into core/
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2016-09-23 16:11:08 -04:00
Anna Schumaker
1bc43a9e2c
gui/queue: Remove unused fields from struct gui_queue
...
Now that we have a single model and filter there is no need to attach
them to every gui_queue.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-09-11 10:52:29 -04:00
Anna Schumaker
336c0a01af
gui/queue: Only allocate a single GtkTreeModelFilter
...
The view is now responsible for allocating the filter, but the gui_queue
still needs to set the filter function during an init step.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-09-11 10:52:29 -04:00
Anna Schumaker
40bce8cc59
gui/model: Don't require a GuiQueueModel for public functions
...
We can get by without this now that the model is shared across all
queues.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-09-11 10:52:29 -04:00
Anna Schumaker
f58cc8da46
gui/model: Add a function for getting the current queue
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-09-11 10:52:29 -04:00
Anna Schumaker
a28b5c4ec5
gui/model: Create a static, shared GuiQueueModel
...
Now that we can switch between different queues we no longer need to
allocate multiple models.
Implements #72 : Only allocate a single GuiQueueModel for all playlists
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-09-11 10:52:29 -04:00
Anna Schumaker
a9aa3c297d
gui/model: Add support for changing the represented queue
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-09-11 10:52:27 -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
Anna Schumaker
2e753b6f52
gui/queue: Switch over to using token matches for filtering
...
This patch also adds the genre field to the list of fields that can be
searched.
Implements #62 : Replace filter layer with token matching
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2016-08-29 07:33:00 -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
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
f2597a8e6c
gui/playlist: Add library playlists to the playlist sidebar
...
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2016-08-13 08:31:30 -04:00
Anna Schumaker
871bf88b94
gui/queue: Store playlist in the gui queue
...
I'll need to know the playlist type to set artist information properly.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2016-08-13 08:31:30 -04:00
Anna Schumaker
f7e9e8b321
gui/queue: Remember search text when switching queues
...
I wasn't doing this, but I also wasn't refiltering queues when they were
changed. This resulted in showing a filtered queue, but without a way
to clear it. Remembering the text lets me simply set the text, instead
of refiltering queues whenever they are changed.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-08-10 07:31:03 -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
Anna Schumaker
15ed068e13
gui/playlist: Select Collection playlist during startup
...
This preserves the original behavior, where the collection is always
selected from the beginning. This can be improved upon later, once
queued tracks are implemented as a playlist.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2016-07-29 17:06:06 -04:00
Anna Schumaker
fda3f761a0
core/filter: Call GHashTable functions directly
...
Implements #43 : Filter code can use a GHashTable directly
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2016-07-29 17:05:54 -04:00
Anna Schumaker
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
5e9b6bc975
core/playlist: Access playlists through a string
...
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2016-07-19 16:03:11 -04:00
Anna Schumaker
151c446635
core/playlist: Use separate queues for favorite and hidden playlists
...
Implements issue #6 : Store playlists as queues
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2016-07-19 16:03:04 -04:00
Anna Schumaker
db01ed3208
core/queue: Use a GQueue directly
...
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2016-07-19 08:13:10 -04:00
Anna Schumaker
cbb9631877
gui: Add a function for determining the height of widgets
...
It's eaiser to do it in the builder code, rather than repeating this
code in several places.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2016-06-30 08:18:11 -04:00
Anna Schumaker
bc513532c1
gui/idle: Add a function to disable processing idle tasks
...
This is needed during ocarina shutdown to prevent a segfault.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
2016-06-14 17:09:39 -04:00