gnome-utils r8251 - trunk/logview



Author: cosimoc
Date: Tue Dec 23 13:26:10 2008
New Revision: 8251
URL: http://svn.gnome.org/viewvc/gnome-utils?rev=8251&view=rev

Log:
Historic landmark! UI works and log changes!

Modified:
   trunk/logview/logview-log.c
   trunk/logview/logview.c

Modified: trunk/logview/logview-log.c
==============================================================================
--- trunk/logview/logview-log.c	(original)
+++ trunk/logview/logview-log.c	Tue Dec 23 13:26:10 2008
@@ -134,8 +134,7 @@
 {
   self->priv = GET_PRIVATE (self);
 
-  self->priv->lines = g_ptr_array_new ();
-  g_ptr_array_add (self->priv->lines, NULL);
+  self->priv->lines = NULL;
   self->priv->lines_no = 0;
   self->priv->days = NULL;
   self->priv->file = NULL;
@@ -193,6 +192,12 @@
    * one with the new we got.
    */
   last_cached = g_slist_last (log->priv->days);
+
+  if (!last_cached) {
+    log->priv->days = new_days;
+    return;
+  }
+
   for (l = new_days; l; l = l->next) {
     if (days_compare (l->data, last_cached->data) > 0) {
       /* this day in the list is newer than the last one, append to
@@ -243,11 +248,18 @@
   LogviewLog *log = job->log;
   char *line;
   GError *err = NULL;
-  GPtrArray *lines = log->priv->lines;
+  GPtrArray *lines;
 
   g_assert (LOGVIEW_IS_LOG (log));
   g_assert (log->priv->stream != NULL);
 
+  if (!log->priv->lines) {
+    log->priv->lines = g_ptr_array_new ();
+    g_ptr_array_add (log->priv->lines, NULL);
+  }
+
+  lines = log->priv->lines;
+
   /* remove the NULL-terminator */
   g_ptr_array_remove_index (lines, lines->len - 1);
 

Modified: trunk/logview/logview.c
==============================================================================
--- trunk/logview/logview.c	(original)
+++ trunk/logview/logview.c	Tue Dec 23 13:26:10 2008
@@ -599,7 +599,10 @@
   GtkTextBuffer *buffer;
   gboolean boldify = FALSE;
   int i;
-  GtkTextIter iter, copy;
+  GtkTextIter iter, start;
+  GtkTextMark *mark;
+
+  g_debug ("read new lines cb %p", lines);
 
   buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (window->priv->text_view));
 
@@ -610,7 +613,7 @@
   gtk_text_buffer_get_end_iter (buffer, &iter);
 
   if (boldify) {
-    copy = iter;
+    mark = gtk_text_buffer_create_mark (buffer, NULL, &iter, FALSE);
   }
 
   for (i = 0; lines[i]; i++) {
@@ -621,7 +624,8 @@
   }
 
   if (boldify) {
-    gtk_text_buffer_apply_tag_by_name (buffer, "bold", &copy, &iter);
+    gtk_text_buffer_get_iter_at_mark (buffer, &start, mark);
+    gtk_text_buffer_apply_tag_by_name (buffer, "bold", &start, &iter);
   }
 
   if (window->priv->monitor_id == 0) {
@@ -646,6 +650,7 @@
   }
 
   lines = logview_log_get_cached_lines (log);
+  g_debug ("active log changed cb, lines %p", lines);
   buffer = gtk_text_buffer_new (window->priv->tag_table);
 
   if (lines != NULL) {
@@ -671,6 +676,8 @@
   gtk_text_view_set_buffer (GTK_TEXT_VIEW (window->priv->text_view), buffer);
   g_object_unref (buffer);
 
+  g_debug ("before if: lines %p, has new lines %d", lines, logview_log_has_new_lines (log));
+
   if (lines == NULL || logview_log_has_new_lines (log)) {
     /* read the new lines */
     logview_log_read_new_lines (log, (LogviewNewLinesCallback) read_new_lines_cb, window);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]