20 #include <libaudgui/libaudgui-gtk.h>
35 if (misc->about_window)
37 gtk_window_present ((GtkWindow *) misc->about_window);
41 const char *
name = header->name;
42 const char * text = header->about_text;
46 name = dgettext (header->domain, name);
47 text = dgettext (header->domain, text);
50 char * title = g_strdup_printf (
_(
"About %s"), name);
51 audgui_simple_message ((GtkWidget * *) & misc->about_window, GTK_MESSAGE_INFO, title, text);
55 static void response_cb (GtkWidget * window,
int response,
const PluginPreferences * p)
57 if (response == GTK_RESPONSE_OK && p->apply)
60 gtk_widget_destroy (window);
63 static void destroy_cb (GtkWidget * window,
const PluginPreferences * p)
73 const PluginPreferences * p = header->prefs;
75 if (misc->config_window)
77 gtk_window_present ((GtkWindow *) misc->config_window);
84 const char *
name = header->name;
86 name = dgettext (header->domain, header->name);
88 char * title = g_strdup_printf (
_(
"%s Settings"), name);
90 GtkWidget * window = p->apply ? gtk_dialog_new_with_buttons (title,
NULL, 0,
91 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK,
NULL)
92 : gtk_dialog_new_with_buttons (title,
NULL, 0, GTK_STOCK_CLOSE,
93 GTK_RESPONSE_CLOSE,
NULL);
97 GtkWidget * content = gtk_dialog_get_content_area ((GtkDialog *) window);
98 GtkWidget *
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
100 gtk_box_pack_start ((GtkBox *) content, box,
TRUE,
TRUE, 0);
102 g_signal_connect (window,
"response", (GCallback)
response_cb, (
void *) p);
103 g_signal_connect (window,
"destroy", (GCallback)
destroy_cb, (
void *) p);
105 misc->config_window = window;
106 g_signal_connect (window,
"destroy", (GCallback) gtk_widget_destroyed, & misc->config_window);
108 gtk_widget_show_all (window);
115 if (misc->about_window)
116 gtk_widget_destroy (misc->about_window);
117 if (misc->config_window)
118 gtk_widget_destroy (misc->config_window);