X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=inline;f=src%2Fui%2Fgui%2Fmessage-dialog.c;h=fca13956b1f600fb8ea141ed54df6a02e1979c8f;hb=fdcc4b6875ccdbf7bd01bc401e87afbeb71c2bfd;hp=61847de789ced8c9434d5620e37c2e22ac743ab0;hpb=cf63d499efd5e6ca3a7dcc6386b3b87bd31bfda9;p=pspp
diff --git a/src/ui/gui/message-dialog.c b/src/ui/gui/message-dialog.c
index 61847de789..fca13956b1 100644
--- a/src/ui/gui/message-dialog.c
+++ b/src/ui/gui/message-dialog.c
@@ -1,10 +1,9 @@
-/*
- PSPPIRE --- A Graphical User Interface for PSPP
- Copyright (C) 2004,2005 Free Software Foundation
+/* PSPPIRE - a graphical user interface for PSPP.
+ Copyright (C) 2004, 2005 Free Software Foundation, Inc.
- This program is free software; you can redistribute it and/or modify
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
+ the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -13,10 +12,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301, USA.
-*/
+ along with this program. If not, see . */
#include
@@ -48,19 +44,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 +64,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 +80,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 +134,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);
}