Anna Schumaker
5f582e639b
playqueue: Add a path_selected function
...
This is called by the GUI to tell the playqueue that a track has been
selected. This gives the PQ a chance to (possibly) remove it.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:02 -04:00
Anna Schumaker
04ffffb4e8
gui: Fix flags on playlist manager tab
...
I wasn't initializing the variable, so it was sometimes drawing buttons
next to the filter entry bar.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:02 -04:00
Anna Schumaker
48cc1f992a
gui: Add a playlist manager tab
...
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:02 -04:00
Anna Schumaker
3fb8dfa534
gui: Playqueue spacing improvements
...
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:02 -04:00
Anna Schumaker
d16ce77c0a
gui: Change justify for some tabs
...
I think justify center looks better.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:02 -04:00
Anna Schumaker
82243cfdd1
gui: Add tracks to playqueue
...
I added tab numbers to make it easier to specify what playqueue to add
tracks to.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:02 -04:00
Anna Schumaker
0929418fb7
gui: Adjust toolbar spacing
...
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:02 -04:00
Anna Schumaker
2f2b01100e
gui: Add playqueue filtering!
...
I love tis feature, and I've been missing it the last few days of
Ocarina 6.0 preview testing.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:02 -04:00
Anna Schumaker
444e48f93b
gui: Custom model fixes
...
- Initialize stamp with a random integer (this is how a Gtk::ListStore
works)
- Increment the stamp in a way that it will never be 0 (AKA: invalid)
- iter_n_root_children() does not take any arguments, so fix up my
function.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:02 -04:00
Anna Schumaker
b2b1620116
gui: Change tab close name
...
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:02 -04:00
Anna Schumaker
0e4c05350a
gui: Implement tab reordering
...
And prevent tabs from being moved into the perma-tab area.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:02 -04:00
Anna Schumaker
cefd8b865b
gui: Disable focus on click for buttons
...
Because I think this looks a bit nicer.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:02 -04:00
Anna Schumaker
946b1a1bc9
gui: Add better sorting display
...
I show the column that is currently being sorted by.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:02 -04:00
Anna Schumaker
b571018a53
gui: Spacing improvements
...
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:02 -04:00
Anna Schumaker
5df8c94ae5
gui: Add a close tab button
...
Only visible for playqueue tabs
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:02 -04:00
Anna Schumaker
07a7f3d4a7
gui: Clean up tabs
...
Create various helper functions to call during construction
Create multiple tab label classes to use for each type of tab.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:02 -04:00
Anna Schumaker
4f0b7070f9
tabs: Turn OcarinaTab into a pointer
...
And have in inherit from Gtk::HBox
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:02 -04:00
Anna Schumaker
6bd02bd46b
gui: Press "s" to create a new playqueue
...
This playqueue will have random enabled.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:02 -04:00
Anna Schumaker
86e35d4fae
gui: Add a repeat button in temporary tabs
...
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:01 -04:00
Anna Schumaker
7ce3c4268f
gui: Create new playqueue tabs
...
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:01 -04:00
Anna Schumaker
1e4faeaff0
gui: Add basic keyboard shortcuts
...
n: play the next song
N: play the previous song
spacebar: play or pause
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:01 -04:00
Anna Schumaker
e9c398f5ef
model: Don't escape all fields
...
Only the tooltip column needs to have escaped text.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:01 -04:00
Anna Schumaker
bf010f2a84
gui: re-add by / from lines to current track
...
These were accidentally removed a few days ago. Put them back!
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:01 -04:00
Anna Schumaker
92f466c310
model: Escape text before setting column values
...
Otherwise there could be gtk errors.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:01 -04:00
Anna Schumaker
30c0d97d56
gui: Use track filepath as tooltip
...
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:01 -04:00
Anna Schumaker
d240ff44bc
playqueue: Change cur when tracks are directly selected
...
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:01 -04:00
Anna Schumaker
782bcf0143
gui: Compress some of the model functions
...
This is to have a single function to set the user pointer value.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:01 -04:00
Anna Schumaker
6706a998ca
gui: Improve sorting visuals
...
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:01 -04:00
Anna Schumaker
f83f8d47fa
gui: Click columns to sort
...
I set up a 3-second timeout to decrement the count. When the count is
at 0, I reset sorting on the playlist.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:00 -04:00
Anna Schumaker
8ab973cd85
gui: Play tracks when rows are selected
...
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:00 -04:00
Anna Schumaker
cde7e5d96c
gui: Change default page
...
Start on the collection page. I eventually want to display the first
enable playqueue, though.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:00 -04:00
Anna Schumaker
1b8c55b0fc
gui: Escape text before setting labels
...
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:00 -04:00
Anna Schumaker
97be413bcf
gui: Add a second-stage init function for tabs
...
This gives them a chance to check playqueue flags after the queues are
loaded.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:00 -04:00
Anna Schumaker
018c4747a2
gui: Watch for clicks on the random button
...
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:00 -04:00
Anna Schumaker
e7ecbeacda
gui: Use the playqueue flags for displaying the random button
...
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:00 -04:00
Anna Schumaker
a4d680b00e
gui: Make OcarinaPage inherit from a vbox
...
Now we are passed the page on the switch_page() signal. This saves time
iterating and comparing.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:00 -04:00
Anna Schumaker
aa40f1dfd5
gui: Create a history tab
...
Used to show tracks that have recently played.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:00 -04:00
Anna Schumaker
7d10ebe5c3
gui: Split apart tab and tab label
...
I made a new tab label class to make it easier to have a few labels with
different layouts.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:00 -04:00
Anna Schumaker
9e68f8213b
gui: Adjust tab sizing
...
Because "year" only had 1 pixel and wasn't showing up.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:00 -04:00
Anna Schumaker
60c35219c2
gui: Implement seeking
...
You can either click + drag the slider or use the keyboard to change the
current position.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:57:00 -04:00
Anna Schumaker
00d5258902
gui: Begin playback when pressing the next() button
...
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:56:59 -04:00
Anna Schumaker
3d44d20b31
gui: Fix arguments to ocarina_init()
...
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:56:59 -04:00
Anna Schumaker
05148ba832
gui: Add UI controls for changing pause status
...
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:56:59 -04:00
Anna Schumaker
c346a5860a
gui: Implement control buttons
...
Play, pause, stop and so on. I also update labels and progress bars
during playback.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:56:59 -04:00
Anna Schumaker
a865ac36a3
gui: Respond to changing current tab
...
I display the runtime of the currently visible playqueue in the bottom
right of the screen. When the collection manager is visible, I hide
this label.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:56:59 -04:00
Anna Schumaker
0f11ba0ee6
gui: Create a new test for the Collection tab
...
This is a bit cleaner that having one giant switch-statement based test.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:56:59 -04:00
Anna Schumaker
62a1b4dcb6
gui: Change name of library tab
...
Now it says "Collection" to match "Collection Manager" it was either
this or have a "Library" tab and a "Library Manager"
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:56:59 -04:00
Anna Schumaker
3d1e8872d3
gui: Create a common ocarina_init()
...
To initialize the needed backend modules, shared by normal main() and
testing main().
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:56:58 -04:00
Anna Schumaker
2ecb37f6dc
Everything for a custom Gtk::TreeModel
...
I implemented an entire Gtk::TreeModel in this commit, plus some minor
supporting code in the library to look up playlist entries by index.
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:56:58 -04:00
Anna Schumaker
6c58f9bc2f
gui: Create a treeview and add columns
...
I haven't created the model for the treeview yet, but it's coming!
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:56:58 -04:00