static void destroy_cb (GtkWidget * widget) { g_return_if_fail (area); ui_infoarea_show_vis (FALSE); hook_dissociate ("playlist update", (HookFunction) ui_infoarea_set_title); hook_dissociate ("playback begin", (HookFunction) ui_infoarea_playback_start); hook_dissociate ("playback stop", (HookFunction) ui_infoarea_playback_stop); hook_dissociate ("current art ready", (HookFunction) album_art_ready); if (area->fade_timeout) { g_source_remove (area->fade_timeout); area->fade_timeout = 0; } str_unref (area->title); str_unref (area->artist); str_unref (area->album); str_unref (area->last_title); str_unref (area->last_artist); str_unref (area->last_album); if (area->pb) g_object_unref (area->pb); if (area->last_pb) g_object_unref (area->last_pb); g_slice_free (UIInfoArea, area); area = NULL; }
static void ui_show (gboolean show) { if (show) { if (! ui_is_shown ()) restore_window_size (); gtk_window_present ((GtkWindow *) window); /* turn visualization back on if necessary */ ui_infoarea_show_vis (aud_get_bool ("gtkui", "infoarea_show_vis")); } else { if (ui_is_shown ()) save_window_size (); gtk_widget_hide (window); /* turn visualization off to reduce CPU usage */ ui_infoarea_show_vis (FALSE); } }
void show_infoarea (gboolean show) { aud_set_bool ("gtkui", "infoarea_visible", show); if (show && ! infoarea) { infoarea = ui_infoarea_new (); g_signal_connect (infoarea, "destroy", (GCallback) gtk_widget_destroyed, & infoarea); gtk_box_pack_end ((GtkBox *) vbox, infoarea, FALSE, FALSE, 0); gtk_widget_show_all (infoarea); /* only turn on visualization if interface is shown */ if (ui_is_shown ()) ui_infoarea_show_vis (aud_get_bool ("gtkui", "infoarea_show_vis")); } if (! show && infoarea) { gtk_widget_destroy (infoarea); infoarea = NULL; } }
void show_infoarea_vis (gboolean show) { aud_set_bool ("gtkui", "infoarea_show_vis", show); ui_infoarea_show_vis (show); }