gnome-utils r8251 - trunk/logview
- From: cosimoc svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-utils r8251 - trunk/logview
- Date: Tue, 23 Dec 2008 13:26:11 +0000 (UTC)
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", ©, &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]