6 static gboolean log_message_box(gpointer data, gint type, gchar *msg)
8 static gboolean active = FALSE;
16 parent = GTK_WINDOW(gtk_grab_get_current());
17 if(parent == NULL) parent = mainwnd_get_wnd();
19 dialog = gtk_message_dialog_new(parent, GTK_DIALOG_DESTROY_WITH_PARENT, type, GTK_BUTTONS_OK, "%s", msg);
20 gtk_dialog_run(GTK_DIALOG(dialog));
21 gtk_widget_destroy(dialog);
27 gboolean log_show_message(gpointer data)
29 return log_message_box(data, GTK_MESSAGE_INFO, (gchar*)data);
32 gboolean log_show_warning(gpointer data)
34 return log_message_box(data, GTK_MESSAGE_WARNING, (gchar*)data);
37 gboolean log_show_error(gpointer data)
39 return log_message_box(data, GTK_MESSAGE_ERROR, (gchar*)data);
42 void log_message(char *message)
44 g_idle_add(log_show_message, (gpointer)g_strdup(message));
47 void log_warning(char *message)
49 g_idle_add(log_show_warning, (gpointer)g_strdup(message));
52 void log_error(char *message)
54 g_idle_add(log_show_error, (gpointer)g_strdup(message));
57 void log_func(const gchar *file, gint line, LOG_LEVEL level, const gchar *message, ...)
66 sprintf(format, "%s:%d ERROR : ", file, line);
69 sprintf(format, "%s:%d CRITICAL : ", file, line);
72 sprintf(format, "%s:%d WARNING : ", file, line);
75 sprintf(format, "%s:%d MESSAGE : ", file, line);
78 sprintf(format, "%s:%d INFO : ", file, line);
82 va_start(ap, message);
83 vsprintf(str, message, ap);
87 g_printf("%s\n", str);
91 if(level <= LOG_MESSAGE)