Mercurial > hg > xmms-sid
diff src/xs_config.c @ 896:911401ea2145
Add message box functionality.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 09 Nov 2012 08:24:37 +0200 |
parents | 5d4677af3c8e |
children | cfc20df88401 |
line wrap: on
line diff
--- a/src/xs_config.c Fri Nov 09 08:22:41 2012 +0200 +++ b/src/xs_config.c Fri Nov 09 08:24:37 2012 +0200 @@ -950,6 +950,49 @@ } +void xs_messagebox_ok(GtkButton *button, gpointer user_data) +{ + (void) button; + gtk_widget_destroy(GTK_WIDGET(user_data)); +} + + +void xs_messagebox_const(const gchar *title, const gchar *msg) +{ + GtkWidget *win = create_xs_messagebox(); + GtkWidget *wid; + + gtk_signal_connect( + GTK_OBJECT(lookup_widget(win, "xs_messagebox_ok")), + "clicked", GTK_SIGNAL_FUNC(xs_messagebox_ok), win); + + if ((wid = lookup_widget(win, "xs_messagebox_frame")) != NULL) + { + gtk_frame_set_label(GTK_FRAME(wid), title); + } + + if ((wid = lookup_widget(win, "xs_messagebox_msg")) != NULL) + { + gtk_label_set_text(GTK_LABEL(wid), msg); + } + + gtk_widget_show(win); +} + + +void xs_messagebox(const gchar *title, const gchar *fmt, ...) +{ + va_list ap; + gchar *msg; + + va_start(ap, fmt); + msg = g_strdup_vprintf(fmt, ap); + va_end(ap); + + xs_messagebox_const(title, msg); + g_free(msg); +} + /* Confirmation window */ gboolean xs_confirmwin_delete(GtkWidget *widget, GdkEvent *event, gpointer user_data)