diff --git a/gui/audio.c b/gui/audio.c index 34216593..f25756a6 100644 --- a/gui/audio.c +++ b/gui/audio.c @@ -2,6 +2,7 @@ * Copyright 2014 (c) Anna Schumaker. */ #include +#include #include #include #include @@ -67,6 +68,23 @@ void __audio_seek(GtkRange *range, GtkScrollType type, double value, gpointer da audio_seek(value * GST_SECOND); } +void __audio_favorite(GtkToggleButton *toggle, gpointer data) +{ + if (gtk_toggle_button_get_active(toggle)) + playlist_add(PL_FAVORITED, audio_cur_track()); + else + playlist_remove(PL_FAVORITED, audio_cur_track()); +} + +void __audio_hide(GtkToggleButton *toggle, gpointer data) +{ + if (gtk_toggle_button_get_active(toggle)) { + if (collection_ban(audio_cur_track())) + audio_next(); + } else + collection_unban(audio_cur_track()); +} + static int __audio_timeout(gpointer data) { GtkAdjustment *progress = data; diff --git a/gui/playlist_tab.cpp b/gui/playlist_tab.cpp index d93af405..c0ddd97e 100644 --- a/gui/playlist_tab.cpp +++ b/gui/playlist_tab.cpp @@ -13,11 +13,6 @@ extern "C" { #include -static Gtk::ToggleButton *o_ban; -static Gtk::ToggleButton *o_fav; - - - static class PlaylistTab : public Tab { private: PlaylistLabel *playlist_label; @@ -45,25 +40,6 @@ public: -static void on_ban() -{ - struct track *track = audio_cur_track(); - if (o_ban->get_active()) { - if (collection_ban(track)) - audio_next(); - } else - collection_unban(track); -} - -static void on_favorite() -{ - struct track *track = audio_cur_track(); - if (o_fav->get_active()) - playlist_add(PL_FAVORITED, track); - else - playlist_remove(PL_FAVORITED, track); -} - static void *playlist_init(struct queue *queue) { return gui_queue_alloc(queue, "Playlist", 0); @@ -106,10 +82,4 @@ struct queue_ops playlist_ops = { void plist :: init() { p_tab = new PlaylistTab; - - o_ban = Glib :: wrap(GTK_TOGGLE_BUTTON(gui_builder_widget("o_hide")), false); - o_fav = Glib :: wrap(GTK_TOGGLE_BUTTON(gui_builder_widget("o_favorite")), false); - - o_ban->signal_toggled().connect(sigc::ptr_fun(on_ban)); - o_fav->signal_toggled().connect(sigc::ptr_fun(on_favorite)); } diff --git a/include/tests/gui.h b/include/tests/gui.h index 6b2115c5..07a343fc 100644 --- a/include/tests/gui.h +++ b/include/tests/gui.h @@ -6,6 +6,8 @@ #ifdef TEST_NEED_AUDIO void __audio_can_accel() {} +void __audio_favorite() {} +void __audio_hide() {} void __audio_pause_changed() {} void __audio_seek() {} #endif diff --git a/share/ocarina/ocarina6.glade b/share/ocarina/ocarina6.glade index 9eebcb33..a7399313 100644 --- a/share/ocarina/ocarina6.glade +++ b/share/ocarina/ocarina6.glade @@ -838,6 +838,7 @@ True Add this track to Favorites playlist True + True @@ -859,6 +860,7 @@ False True Hide this track from the Collection + True