From f6ac48219ed8a4b7abf51654f8734c21a862582d Mon Sep 17 00:00:00 2001 From: Bryan Schumaker Date: Wed, 31 Aug 2011 08:26:40 -0400 Subject: [PATCH] ocarina: Move pause button code I moved it from the generic button.cpp file to the controls.cpp file to keep everything together. I also changed the button list to use the new show / hide functions. --- gui/buttons/button.cpp | 43 ---------------------------------------- gui/buttons/controls.cpp | 26 ++++++++++++++++++++++-- gui/callback.cpp | 4 ++-- include/ocarina/button.h | 3 --- 4 files changed, 26 insertions(+), 50 deletions(-) diff --git a/gui/buttons/button.cpp b/gui/buttons/button.cpp index c568d6c4..1adf6d42 100644 --- a/gui/buttons/button.cpp +++ b/gui/buttons/button.cpp @@ -1,30 +1,9 @@ -#include -using namespace std; - #include #include -#include #include -static list play_buttons; -static list pause_buttons; - -static void show_list(list &l) -{ - list::iterator it; - for(it = l.begin(); it != l.end(); it++) - gtk_widget_show(*it); -} - -static void hide_list(list &l) -{ - list::iterator it; - for(it = l.begin(); it != l.end(); it++) - gtk_widget_hide(*it); -} - GtkWidget *make_button(const gchar *stockid, GtkIconSize size, void (* func)(GtkWidget *, GdkEvent *, gpointer), bool show) @@ -40,28 +19,6 @@ GtkWidget *make_button(const gchar *stockid, GtkIconSize size, return button; } -static void on_click_pause(GtkWidget *b, GdkEvent *e, gpointer d) -{ - libsaria_get()->pause(); -} - -GtkWidget *make_pause_button(GtkIconSize size) -{ - GtkWidget *b = make_button(GTK_STOCK_MEDIA_PAUSE, size, on_click_pause, false); - pause_buttons.push_back(b); - return b; -} - -void show_pause_buttons() -{ - show_list(pause_buttons); -} - -void hide_pause_buttons() -{ - hide_list(pause_buttons); -} - static void on_click_stop(GtkWidget *b, GdkEvent *e, gpointer d) { libsaria_get()->stop(); diff --git a/gui/buttons/controls.cpp b/gui/buttons/controls.cpp index 4f06e948..9f9d8917 100644 --- a/gui/buttons/controls.cpp +++ b/gui/buttons/controls.cpp @@ -6,10 +6,16 @@ using namespace std; #include static list play_buttons; +static list pause_buttons; static list *get_buttons(button_list_t bttn_list) { - return &play_buttons; + switch(bttn_list) { + case PLAY_BUTTON_LIST: + return &play_buttons; + default: + return &pause_buttons; + } } void show_button_list(button_list_t bttn_list) @@ -28,7 +34,6 @@ void hide_button_list(button_list_t bttn_list) gtk_widget_hide(*it); } - static void on_click_play(GtkWidget *b, GdkEvent *e, gpointer d) { libsaria_get()->play(); @@ -43,3 +48,20 @@ GtkWidget *make_play_button(GtkIconSize size) play_buttons.push_back(b); return b; } + +static void on_click_pause(GtkWidget *b, GdkEvent *e, gpointer d) +{ + libsaria_get()->pause(); +} + +GtkWidget *make_pause_button(GtkIconSize size) +{ + GtkWidget *b = make_button(GTK_STOCK_MEDIA_PAUSE, + size, + on_click_pause, + false); + pause_buttons.push_back(b); + return b; +} + + diff --git a/gui/callback.cpp b/gui/callback.cpp index e8788d4a..17a55728 100644 --- a/gui/callback.cpp +++ b/gui/callback.cpp @@ -6,13 +6,13 @@ void cb_play() { print("Ocarina PLAY callback!"); hide_button_list(PLAY_BUTTON_LIST); - show_pause_buttons(); + show_button_list(PAUSE_BUTTON_LIST); } void cb_pause() { print("Ocarina PAUSE callback!"); - hide_pause_buttons(); + hide_button_list(PAUSE_BUTTON_LIST); show_button_list(PLAY_BUTTON_LIST); } diff --git a/include/ocarina/button.h b/include/ocarina/button.h index 679bfc0c..4130bcc9 100644 --- a/include/ocarina/button.h +++ b/include/ocarina/button.h @@ -24,7 +24,4 @@ enum button_list_t { void show_button_list(button_list_t); void hide_button_list(button_list_t); -void show_pause_buttons(); -void hide_pause_buttons(); - #endif /* OCARINA_BUTTON_H */