X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fui%2Fgui%2Fmessage-dialog.c;h=ffdd491ee2d780bdb8ebdbe3e9edc4fa48e44816;hb=d908f52b818f4fdf2ab23797756812ec2986bd2b;hp=61847de789ced8c9434d5620e37c2e22ac743ab0;hpb=cf63d499efd5e6ca3a7dcc6386b3b87bd31bfda9;p=pspp-builds.git diff --git a/src/ui/gui/message-dialog.c b/src/ui/gui/message-dialog.c index 61847de7..ffdd491e 100644 --- a/src/ui/gui/message-dialog.c +++ b/src/ui/gui/message-dialog.c @@ -48,19 +48,19 @@ static GQueue *message_queue; void message_dialog_init (struct source_stream *ss) { - message_queue = g_queue_new(); + message_queue = g_queue_new (); msg_init (ss, enqueue_msg); } void message_dialog_done (void) { - msg_done(); - g_queue_free(message_queue); + msg_done (); + g_queue_free (message_queue); } static gboolean -dequeue_message(gpointer data) +dequeue_message (gpointer data) { struct msg * m ; @@ -68,15 +68,15 @@ dequeue_message(gpointer data) a modal dialog box, will cause an impossible situation. So don't pop it up just yet. */ - if ( gdk_pointer_is_grabbed()) + if ( gdk_pointer_is_grabbed ()) return TRUE; - m = g_queue_pop_tail(message_queue); + m = g_queue_pop_tail (message_queue); if ( m ) { - popup_message(m); - msg_destroy(m); + popup_message (m); + msg_destroy (m); return TRUE; } @@ -84,21 +84,21 @@ dequeue_message(gpointer data) } static void -enqueue_msg(const struct msg *msg) +enqueue_msg (const struct msg *msg) { - struct msg *m = msg_dup(msg); + struct msg *m = msg_dup (msg); - g_queue_push_head(message_queue, m); + g_queue_push_head (message_queue, m); - g_idle_add(dequeue_message, 0); + g_idle_add (dequeue_message, 0); } void -popup_message(const struct msg *m) +popup_message (const struct msg *m) { - GtkWindow *parent; GtkWidget *dialog; + gchar *location = NULL; gint message_type; const char *msg; @@ -138,16 +138,26 @@ popup_message(const struct msg *m) message_type, GTK_BUTTONS_CLOSE, msg); + if ( m->where.line_number != -1) + { + location = g_strdup_printf (_("%s (line %d)"), + m->where.file_name ? m->where.file_name : "", + m->where.line_number); + } + else + { + location = g_strdup_printf (_("%s"), + m->where.file_name ? m->where.file_name : ""); } - gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog), - _("%s (line %d) %s"), - m->where.file_name, - m->where.line_number, - m->text); + gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), + _("%s %s"), + location, + m->text); + g_free (location); - gtk_window_set_keep_above (GTK_WINDOW(dialog), TRUE); + gtk_window_set_keep_above (GTK_WINDOW (dialog), TRUE); - gtk_dialog_run(GTK_DIALOG(dialog)); + gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); }