Mercurial > hg > forks > geeqie
changeset 2505:d01e5b8e80d9
Eliminate FIXME: Log window line limit
Set log window line limit in Preferences/Behavior
author | Colin Clark <colin.clark@cclark.uk> |
---|---|
date | Sun, 18 Jun 2017 11:03:09 +0100 |
parents | 130acea2daa0 |
children | 8ec296cc949c |
files | doc/docbook/GuideOptionsBehavior.xml src/logwindow.c src/options.c src/options.h src/preferences.c src/rcfile.c |
diffstat | 6 files changed, 22 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/doc/docbook/GuideOptionsBehavior.xml Sat Jun 17 09:14:58 2017 +0100 +++ b/doc/docbook/GuideOptionsBehavior.xml Sun Jun 18 11:03:09 2017 +0100 @@ -196,6 +196,14 @@ <para>Displayed when compiled with the option --enable-debug-log. This defines the verbosity of debug info sent to console and log window (0 disables the debug output).</para> </listitem> </varlistentry> + <varlistentry> + <term> + <guilabel>Log Window max. lines</guilabel> + </term> + <listitem> + <para>The maximum number of data lines to be displayed. The window will show the most recent data.</para> + </listitem> + </varlistentry> </variablelist> </section> </section>
--- a/src/logwindow.c Sat Jun 17 09:14:58 2017 +0100 +++ b/src/logwindow.c Sun Jun 18 11:03:09 2017 +0100 @@ -220,7 +220,6 @@ GtkTextView *text; GtkTextBuffer *buffer; GtkTextIter iter; - guint line_limit = 1000; //FIXME: option static GList *memory = NULL; if (logwindow == NULL) @@ -233,7 +232,7 @@ memory = g_list_prepend(memory, msg); - while (g_list_length(memory) >= line_limit) + while (g_list_length(memory) >= options->log_window_lines) { GList *work = g_list_last(memory); LogMsg *oldest_msg = work->data; @@ -248,13 +247,13 @@ text = GTK_TEXT_VIEW(logwindow->text); buffer = gtk_text_view_get_buffer(text); - if (line_limit > 0 && logwindow->lines >= line_limit) + if (options->log_window_lines > 0 && logwindow->lines >= options->log_window_lines) { GtkTextIter start, end; gtk_text_buffer_get_start_iter(buffer, &start); end = start; - gtk_text_iter_forward_lines(&end, logwindow->lines - line_limit); + gtk_text_iter_forward_lines(&end, logwindow->lines - options->log_window_lines); gtk_text_buffer_delete(buffer, &start, &end); }
--- a/src/options.c Sat Jun 17 09:14:58 2017 +0100 +++ b/src/options.c Sun Jun 18 11:03:09 2017 +0100 @@ -170,6 +170,8 @@ options->stereo.fixed_x2 = 0; options->stereo.fixed_y2 = 1125; + options->log_window_lines = 1000; + return options; }
--- a/src/options.h Sat Jun 17 09:14:58 2017 +0100 +++ b/src/options.h Sun Jun 18 11:03:09 2017 +0100 @@ -54,6 +54,8 @@ gboolean use_saved_window_positions_for_new_windows; gboolean tools_restore_state; + guint log_window_lines; + /* info sidebar component heights */ struct { gint height;
--- a/src/preferences.c Sat Jun 17 09:14:58 2017 +0100 +++ b/src/preferences.c Sun Jun 18 11:03:09 2017 +0100 @@ -2196,6 +2196,9 @@ pref_spin_new_int(group, _("Debug level:"), NULL, DEBUG_LEVEL_MIN, DEBUG_LEVEL_MAX, 1, get_debug_level(), &debug_c); + + pref_spin_new_int(group, _("Log Window max. lines:"), NULL, + 1, 99999, 1, options->log_window_lines, &options->log_window_lines); #endif }
--- a/src/rcfile.c Sat Jun 17 09:14:58 2017 +0100 +++ b/src/rcfile.c Sun Jun 18 11:03:09 2017 +0100 @@ -335,6 +335,8 @@ WRITE_NL(); WRITE_BOOL(*options, use_saved_window_positions_for_new_windows); WRITE_NL(); WRITE_BOOL(*options, tools_restore_state); + WRITE_NL(); WRITE_UINT(*options, log_window_lines); + /* File operations Options */ WRITE_NL(); WRITE_BOOL(*options, file_ops.enable_in_place_rename); WRITE_NL(); WRITE_BOOL(*options, file_ops.confirm_delete); @@ -629,6 +631,8 @@ if (READ_BOOL(*options, use_saved_window_positions_for_new_windows)) continue; if (READ_BOOL(*options, tools_restore_state)) continue; + if (READ_UINT(*options, log_window_lines)) continue; + /* Properties dialog options */ if (READ_CHAR(*options, properties.tabs_order)) continue;