diff --git a/gui/gladish.ui b/gui/gladish.ui index b6a16d80..c427e1c7 100644 --- a/gui/gladish.ui +++ b/gui/gladish.ui @@ -244,6 +244,14 @@ True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + True + clear_xruns_and_max_dsp_load_action + True + True + + _Configure JACK @@ -386,9 +394,9 @@ True - False + clear_xruns_and_max_dsp_load_action + True Clear XRuns - gtk-clear False @@ -1142,4 +1150,10 @@ along with LADI Session Handler; if not, write to the Free Software Foundation, button2 + + Clear XRuns and Max DSP Load + Clear + gtk-clear + True + diff --git a/gui/gtk_builder.c b/gui/gtk_builder.c index 53495100..3b7781cb 100644 --- a/gui/gtk_builder.c +++ b/gui/gtk_builder.c @@ -80,11 +80,11 @@ void uninit_gtk_builder(void) g_object_unref(g_builder); } -GtkWidget * get_gtk_builder_widget(const char * name) +GObject * get_gtk_builder_object(const char * name) { - GtkWidget * ptr; + GObject * ptr; - ptr = GTK_WIDGET(gtk_builder_get_object(g_builder, name)); + ptr = gtk_builder_get_object(g_builder, name); if (ptr == NULL) { @@ -94,3 +94,8 @@ GtkWidget * get_gtk_builder_widget(const char * name) return ptr; } + +GtkWidget * get_gtk_builder_widget(const char * name) +{ + return GTK_WIDGET(get_gtk_builder_object(name)); +} diff --git a/gui/gtk_builder.h b/gui/gtk_builder.h index f11e0a20..ccafafcf 100644 --- a/gui/gtk_builder.h +++ b/gui/gtk_builder.h @@ -30,5 +30,6 @@ bool init_gtk_builder(void); void uninit_gtk_builder(void); GtkWidget * get_gtk_builder_widget(const char * name); +GObject * get_gtk_builder_object(const char * name); #endif /* #ifndef GTK_BUILDER_H__E2BF7CFC_1B04_4160_9165_A1B433C6B3C2__INCLUDED */ diff --git a/gui/main.c b/gui/main.c index 169f68e1..762d2f53 100644 --- a/gui/main.c +++ b/gui/main.c @@ -52,7 +52,7 @@ GtkWidget * g_main_win; -GtkWidget * g_clear_load_button; +GtkAction * g_clear_load_and_max_dsp_action; GtkStatusbar * g_statusbar; GtkWidget * g_menu_item_new_studio; @@ -345,7 +345,7 @@ static void update_load(void) } } -static void clear_load(void) +static void clear_load_and_max_dsp(void) { jack_proxy_reset_xruns(); g_jack_max_dsp_load = 0.0; @@ -989,7 +989,7 @@ void jack_started(void) set_latency_items_sensivity(true); update_buffer_size(true); - gtk_widget_set_sensitive(g_clear_load_button, true); + gtk_action_set_sensitive(g_clear_load_and_max_dsp_action, true); g_jack_poll_source_tag = g_timeout_add(100, poll_jack, NULL); } @@ -1008,7 +1008,7 @@ void jack_stopped(void) set_latency_items_sensivity(false); buffer_size_clear(); - gtk_widget_set_sensitive(g_clear_load_button, false); + gtk_action_set_sensitive(g_clear_load_and_max_dsp_action, false); } void jack_appeared(void) @@ -1209,7 +1209,7 @@ int main(int argc, char** argv) } g_main_win = get_gtk_builder_widget("main_win"); - g_clear_load_button = get_gtk_builder_widget("clear_load_button"); + g_clear_load_and_max_dsp_action = GTK_ACTION(get_gtk_builder_object("clear_xruns_and_max_dsp_load_action")); g_menu_item_new_studio = get_gtk_builder_widget("menu_item_new_studio"); g_menu_item_start_app = get_gtk_builder_widget("menu_item_start_app"); g_menu_item_start_studio = get_gtk_builder_widget("menu_item_start_studio"); @@ -1301,7 +1301,6 @@ int main(int argc, char** argv) g_signal_connect(G_OBJECT(g_main_win), "destroy", G_CALLBACK(gtk_main_quit), NULL); g_signal_connect(G_OBJECT(get_gtk_builder_widget("menu_item_quit")), "activate", G_CALLBACK(gtk_main_quit), NULL); - g_signal_connect(G_OBJECT(g_clear_load_button), "clicked", G_CALLBACK(clear_load), NULL); g_signal_connect(G_OBJECT(get_gtk_builder_widget("menu_item_view_arrange")), "activate", G_CALLBACK(arrange), NULL); g_signal_connect(G_OBJECT(g_menu_item_view_toolbar), "activate", G_CALLBACK(toggle_toolbar), NULL); g_signal_connect(G_OBJECT(g_menu_item_new_studio), "activate", G_CALLBACK(new_studio), NULL); @@ -1326,6 +1325,8 @@ int main(int argc, char** argv) g_signal_connect(G_OBJECT(g_menu_item_jack_latency_4096), "toggled", G_CALLBACK(buffer_size_change_request), (gpointer)4096); g_signal_connect(G_OBJECT(g_menu_item_jack_latency_8192), "toggled", G_CALLBACK(buffer_size_change_request), (gpointer)8192); + g_signal_connect(G_OBJECT(g_clear_load_and_max_dsp_action), "activate", G_CALLBACK(clear_load_and_max_dsp), NULL); + gtk_widget_show(g_main_win); //_about_win->set_transient_for(*_main_win);