diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2012-10-09 10:19:49 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2012-10-09 10:19:49 +0200 |
commit | 99aca14f3aa05f8012e039413f9f6388087b6ecc (patch) | |
tree | 8ea4e9eb70f53f6aea2417e5e413b21dbf39f4f2 /vconsole.c | |
parent | 9afddca3c27aa8aa2519ebc610d1dd59316a79ef (diff) | |
download | vconsole-99aca14f3aa05f8012e039413f9f6388087b6ecc.tar.gz |
error reporting
Diffstat (limited to 'vconsole.c')
-rw-r--r-- | vconsole.c | 33 |
1 files changed, 33 insertions, 0 deletions
@@ -44,6 +44,37 @@ void config_write(void) /* ------------------------------------------------------------------ */ +static char *gtk_msg_type_name[] = { + [ GTK_MESSAGE_INFO ] = "INFO", + [ GTK_MESSAGE_WARNING ] = "WARNING", + [ GTK_MESSAGE_QUESTION ] = "QUESTION", + [ GTK_MESSAGE_ERROR ] = "ERROR", +}; + +int gtk_message(GtkWidget *window, GtkMessageType type, char *fmt, ...) +{ + va_list args; + GtkWidget *dialog; + char msgbuf[1024]; + int rc; + + va_start(args, fmt); + rc = vsnprintf(msgbuf, sizeof(msgbuf), fmt, args); + va_end(args); + + if (debug) + fprintf(stderr, "%s: %s", gtk_msg_type_name[type], msgbuf); + dialog = gtk_message_dialog_new(GTK_WINDOW(window), + GTK_DIALOG_DESTROY_WITH_PARENT, + type, GTK_BUTTONS_CLOSE, + "%s", msgbuf); + g_signal_connect_swapped(dialog, "response", + G_CALLBACK (gtk_widget_destroy), + dialog); + gtk_widget_show_all(dialog); + return rc; +} + static int gtk_getstring(GtkWidget *window, char *title, char *message, char *dest, int dlen) { @@ -90,6 +121,8 @@ static int gtk_getstring(GtkWidget *window, char *title, char *message, return retval; } +/* ------------------------------------------------------------------ */ + static void menu_cb_connect_ask(GtkAction *action, gpointer userdata) { struct vconsole_window *win = userdata; |