diff options
author | Alex Bennee <alex@bennee.com> | 2010-07-14 16:00:32 +0100 |
---|---|---|
committer | Alex Bennee <alex@bennee.com> | 2010-07-14 16:00:32 +0100 |
commit | d022d6443c6b7564ae05a3af70035822bccd0b19 (patch) | |
tree | 57706bd83b146d8754f2a8d1f9abb55e050bb44d /src/log.c | |
parent | 56302086c9c0d6af537d7603a7c63fb3606945f5 (diff) |
EasyTag 2.1.3
Diffstat (limited to 'src/log.c')
-rw-r--r--[-rwxr-xr-x] | src/log.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/log.c b/src/log.c index 0dfc39b..155d753 100755..100644 --- 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, |