From d022d6443c6b7564ae05a3af70035822bccd0b19 Mon Sep 17 00:00:00 2001 From: Alex Bennee Date: Wed, 14 Jul 2010 16:00:32 +0100 Subject: EasyTag 2.1.3 --- src/log.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) mode change 100755 => 100644 src/log.c (limited to 'src/log.c') diff --git a/src/log.c b/src/log.c old mode 100755 new mode 100644 index 0dfc39b..155d753 --- a/src/log.c +++ b/src/log.c @@ -28,6 +28,7 @@ #include "log.h" #include "easytag.h" #include "bar.h" +#include "setting.h" #ifdef WIN32 # include "win32/win32dep.h" @@ -41,6 +42,7 @@ GtkWidget *LogList = NULL; GtkListStore *logListModel; GList *LogPrintTmpList = NULL; // Temporary list to store messages for the LogList when this control wasn't yet created +gint LogListNbrRows; enum { @@ -142,8 +144,9 @@ GtkWidget *Create_Log_Area (void) // Load pending messages in the Log list Log_Print_Tmp_List(); - //gtk_widget_show_all(ScrollWindowLogList); - gtk_widget_show_all(Frame); + if (SHOW_LOG_VIEW) + //gtk_widget_show_all(ScrollWindowLogList); + gtk_widget_show_all(Frame); //return ScrollWindowLogList; return Frame; @@ -190,7 +193,10 @@ void Log_List_Set_Row_Visible (GtkTreeModel *treeModel, GtkTreeIter *rowIter) void Log_Clean_Log_List (void) { if (logListModel) + { gtk_list_store_clear(logListModel); + LogListNbrRows = 0; + } } @@ -236,6 +242,15 @@ void Log_Print (gchar const *format, ...) if (LogList && logListModel) { gchar *time = Log_Format_Date(); + + // Remove lines that exceed the limit + if (LogListNbrRows > LOG_MAX_LINES - 1 + && gtk_tree_model_get_iter_first(GTK_TREE_MODEL(logListModel), &iter)) + { + gtk_list_store_remove(GTK_LIST_STORE(logListModel), &iter); + } + + LogListNbrRows++; gtk_list_store_append(logListModel, &iter); gtk_list_store_set(logListModel, &iter, LOG_TIME_TEXT, time, @@ -296,6 +311,7 @@ void Log_Print_Tmp_List (void) if (LogList && logListModel) { + LogListNbrRows++; gtk_list_store_append(logListModel, &iter); gtk_list_store_set(logListModel, &iter, LOG_TIME_TEXT, ((Log_Data *)LogPrintTmpList->data)->time, -- cgit v1.2.3