SF.net SVN: geany:[2931] trunk
eht16 at users.sourceforge.net
eht16 at xxxxx
Wed Sep 10 11:24:47 UTC 2008
Revision: 2931
http://geany.svn.sourceforge.net/geany/?rev=2931&view=rev
Author: eht16
Date: 2008-09-10 11:24:47 +0000 (Wed, 10 Sep 2008)
Log Message:
-----------
Update the debug messages automatically in the debug messages window if it is open.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/log.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2008-09-08 14:28:59 UTC (rev 2930)
+++ trunk/ChangeLog 2008-09-10 11:24:47 UTC (rev 2931)
@@ -6,6 +6,9 @@
* src/plugindata.h, src/plugins.c, src/ui_utils.c, src/ui_utils.h:
Add ui_get_toolbar_insert_position() for plugins to get a position to
insert new toolbar items.
+ * src/log.c:
+ Update the debug messages automatically in the debug messages window
+ if it is open.
2008-09-07 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
Modified: trunk/src/log.c
===================================================================
--- trunk/src/log.c 2008-09-08 14:28:59 UTC (rev 2930)
+++ trunk/src/log.c 2008-09-10 11:24:47 UTC (rev 2931)
@@ -38,6 +38,7 @@
static GString *log_buffer = NULL;
+static GtkTextBuffer *dialog_textbuffer = NULL;
enum
{
@@ -45,6 +46,15 @@
};
+static void update_dialog(void)
+{
+ if (dialog_textbuffer != NULL)
+ {
+ gtk_text_buffer_set_text(dialog_textbuffer, log_buffer->str, log_buffer->len);
+ }
+}
+
+
/* Geany's main debug/log function, declared in geany.h */
void geany_debug(gchar const *format, ...)
{
@@ -59,6 +69,8 @@
{
printf("%s\n", msg);
g_string_append_printf(log_buffer, "%s\n", msg);
+
+ update_dialog();
}
@@ -66,6 +78,8 @@
{
fprintf(stderr, "%s\n", msg);
g_string_append_printf(log_buffer, "%s\n", msg);
+
+ update_dialog();
}
@@ -115,6 +129,8 @@
g_string_append_printf(log_buffer, "%s: %s: %s\n", time_str, get_log_prefix(level), msg);
g_free(time_str);
+
+ update_dialog();
}
@@ -133,16 +149,18 @@
if (response == DIALOG_RESPONSE_CLEAR)
{
GtkTextIter start_iter, end_iter;
- GtkTextBuffer *tb = gtk_text_view_get_buffer(GTK_TEXT_VIEW(user_data));
- gtk_text_buffer_get_start_iter(tb, &start_iter);
- gtk_text_buffer_get_end_iter(tb, &end_iter);
- gtk_text_buffer_delete(tb, &start_iter, &end_iter);
+ gtk_text_buffer_get_start_iter(dialog_textbuffer, &start_iter);
+ gtk_text_buffer_get_end_iter(dialog_textbuffer, &end_iter);
+ gtk_text_buffer_delete(dialog_textbuffer, &start_iter, &end_iter);
g_string_erase(log_buffer, 0, -1);
}
else
+ {
gtk_widget_destroy(dialog);
+ dialog_textbuffer = NULL;
+ }
}
@@ -162,10 +180,10 @@
gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_CANCEL);
textview = gtk_text_view_new();
+ dialog_textbuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview));
gtk_text_view_set_editable(GTK_TEXT_VIEW(textview), FALSE);
gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(textview), FALSE);
- gtk_text_buffer_set_text(gtk_text_view_get_buffer(
- GTK_TEXT_VIEW(textview)), log_buffer->str, log_buffer->len);
+ gtk_text_buffer_set_text(dialog_textbuffer, log_buffer->str, log_buffer->len);
swin = gtk_scrolled_window_new(NULL, NULL);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(swin),
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list