/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2005, 2010 Free Software Foundation, Inc.
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
#define _(msgid) gettext (msgid)
#define N_(msgid) msgid
+#include <libpspp/assertion.h>
#include <libpspp/message.h>
#include <libpspp/str.h>
#include <libpspp/msg-locator.h>
msg_init (ss, enqueue_msg);
message_xml = builder_new ("message-dialog.ui");
message_dialog = get_widget_assert (message_xml, "message-dialog");
+
+ GTK_WIDGET_SET_FLAGS (get_widget_assert (message_xml, "close-button"),
+ GTK_CAN_DEFAULT);
+
}
void
switch (m->severity)
{
- case MSG_ERROR:
+ case MSG_S_ERROR:
switch (m->category)
{
- case MSG_SYNTAX:
+ case MSG_C_SYNTAX:
label = _("syntax error");
break;
- case MSG_DATA:
+ case MSG_C_DATA:
label = _("data file error");
break;
- case MSG_GENERAL:
+ case MSG_C_GENERAL:
default:
label = _("PSPP error");
break;
}
break;
- case MSG_WARNING:
+ case MSG_S_WARNING:
switch (m->category)
{
- case MSG_SYNTAX:
+ case MSG_C_SYNTAX:
label = _("syntax warning");
break;
- case MSG_DATA:
+ case MSG_C_DATA:
label = _("data file warning");
break;
- case MSG_GENERAL:
+ case MSG_C_GENERAL:
default:
label = _("PSPP warning");
break;
}
break;
- case MSG_NOTE:
+ case MSG_S_NOTE:
default:
switch (m->category)
{
- case MSG_SYNTAX:
+ case MSG_C_SYNTAX:
label = _("syntax information");
break;
- case MSG_DATA:
+ case MSG_C_DATA:
label = _("data file information");
break;
- case MSG_GENERAL:
+ case MSG_C_GENERAL:
default:
label = _("PSPP information");
break;
switch (m->severity)
{
- case MSG_ERROR:
+ case MSG_S_ERROR:
error_cnt++;
break;
- case MSG_WARNING:
+ case MSG_S_WARNING:
warning_cnt++;
break;
- case MSG_NOTE:
+ case MSG_S_NOTE:
note_cnt++;
break;
+ case MSG_N_SEVERITIES:
+ NOT_REACHED ();
}
if (g_queue_get_length (early_queue) < MAX_EARLY_MESSAGES)
struct string msg = DS_EMPTY_INITIALIZER;
int message_cnt;
+ gdk_threads_enter ();
+
/* Set up the dialog. */
if (message_xml == NULL || message_dialog == NULL)
goto use_fallback;
{
ds_destroy (&lead);
ds_destroy (&msg);
+ gdk_threads_leave ();
return TRUE;
}
goto use_fallback;
gtk_text_view_set_buffer (text_view, text_buffer);
+ gtk_widget_grab_default (get_widget_assert (message_xml, "close-button"));
gtk_widget_grab_focus (get_widget_assert (message_xml, "close-button"));
gtk_dialog_run ( GTK_DIALOG (message_dialog));
gtk_widget_hide (message_dialog);
ds_destroy (&lead);
ds_destroy (&msg);
+ gdk_threads_leave ();
return FALSE;
use_fallback:
fputs (ds_cstr (&msg), stderr);
ds_destroy (&lead);
ds_destroy (&msg);
+ gdk_threads_leave ();
return FALSE;
}