Revision: 2520 http://geany.svn.sourceforge.net/geany/?rev=2520&view=rev Author: ntrel Date: 2008-04-23 09:53:40 -0700 (Wed, 23 Apr 2008)
Log Message: ----------- Make disk check timeout configurable in the prefs dialog Files tab. Make a value of zero disable disk checks.
Modified Paths: -------------- trunk/ChangeLog trunk/geany.glade trunk/src/interface.c trunk/src/keyfile.c trunk/src/prefs.c trunk/src/prefs.h trunk/src/utils.c
Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-04-23 16:47:42 UTC (rev 2519) +++ trunk/ChangeLog 2008-04-23 16:53:40 UTC (rev 2520) @@ -4,6 +4,10 @@ src/symbols.c, src/editor.h, doc/geany.txt, doc/geany.html: Move non-general compile-time constants into their relevant source files. + * src/utils.c, src/interface.c, src/prefs.c, src/prefs.h, src/keyfile.c, + geany.glade: + Make disk check timeout configurable in the prefs dialog Files tab. + Make a value of zero disable disk checks.
2008-04-22 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
Modified: trunk/geany.glade =================================================================== --- trunk/geany.glade 2008-04-23 16:47:42 UTC (rev 2519) +++ trunk/geany.glade 2008-04-23 16:53:40 UTC (rev 2520) @@ -6845,6 +6845,57 @@ <property name="y_options"></property> </packing> </child> + + <child> + <widget class="GtkLabel" id="label208"> + <property name="visible">True</property> + <property name="label" translatable="yes">Disk check timeout:</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkSpinButton" id="spin_disk_check"> + <property name="visible">True</property> + <property name="tooltip" translatable="yes">How often to check for changes to document files on disk, in seconds. Zero disables checking.</property> + <property name="can_focus">True</property> + <property name="climb_rate">1</property> + <property name="digits">0</property> + <property name="numeric">True</property> + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">True</property> + <property name="adjustment">30 0 10000 1 10 10</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> </widget> </child> </widget>
Modified: trunk/src/interface.c =================================================================== --- trunk/src/interface.c 2008-04-23 16:47:42 UTC (rev 2519) +++ trunk/src/interface.c 2008-04-23 16:53:40 UTC (rev 2520) @@ -2680,6 +2680,9 @@ GtkWidget *label147; GtkObject *spin_mru_adj; GtkWidget *spin_mru; + GtkWidget *label208; + GtkObject *spin_disk_check_adj; + GtkWidget *spin_disk_check; GtkWidget *label198; GtkWidget *label174; GtkWidget *vbox23; @@ -3988,6 +3991,23 @@ gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spin_mru), TRUE); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spin_mru), TRUE);
+ label208 = gtk_label_new (_("Disk check timeout:")); + gtk_widget_show (label208); + gtk_table_attach (GTK_TABLE (table10), label208, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label208), 0, 0.5); + + spin_disk_check_adj = gtk_adjustment_new (30, 0, 10000, 1, 10, 10); + spin_disk_check = gtk_spin_button_new (GTK_ADJUSTMENT (spin_disk_check_adj), 1, 0); + gtk_widget_show (spin_disk_check); + gtk_table_attach (GTK_TABLE (table10), spin_disk_check, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_tooltips_set_tip (tooltips, spin_disk_check, _("How often to check for changes to document files on disk, in seconds. Zero disables checking."), NULL); + gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spin_disk_check), TRUE); + gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spin_disk_check), TRUE); + label198 = gtk_label_new (_("<b>Miscellaneous</b>")); gtk_widget_show (label198); gtk_frame_set_label_widget (GTK_FRAME (frame17), label198); @@ -4671,6 +4691,8 @@ GLADE_HOOKUP_OBJECT (prefs_dialog, table10, "table10"); GLADE_HOOKUP_OBJECT (prefs_dialog, label147, "label147"); GLADE_HOOKUP_OBJECT (prefs_dialog, spin_mru, "spin_mru"); + GLADE_HOOKUP_OBJECT (prefs_dialog, label208, "label208"); + GLADE_HOOKUP_OBJECT (prefs_dialog, spin_disk_check, "spin_disk_check"); GLADE_HOOKUP_OBJECT (prefs_dialog, label198, "label198"); GLADE_HOOKUP_OBJECT (prefs_dialog, label174, "label174"); GLADE_HOOKUP_OBJECT (prefs_dialog, vbox23, "vbox23");
Modified: trunk/src/keyfile.c =================================================================== --- trunk/src/keyfile.c 2008-04-23 16:47:42 UTC (rev 2519) +++ trunk/src/keyfile.c 2008-04-23 16:53:40 UTC (rev 2520) @@ -241,6 +241,7 @@ g_key_file_set_boolean(config, PACKAGE, "pref_editor_replace_tabs", prefs.replace_tabs); g_key_file_set_boolean(config, PACKAGE, "pref_editor_trail_space", prefs.strip_trailing_spaces); g_key_file_set_integer(config, PACKAGE, "mru_length", prefs.mru_length); + g_key_file_set_integer(config, PACKAGE, "disk_check_timeout", file_prefs.disk_check_timeout);
/* toolbar */ g_key_file_set_boolean(config, PACKAGE, "pref_toolbar_show", prefs.toolbar_visible); @@ -567,6 +568,8 @@ prefs.final_new_line = utils_get_setting_boolean(config, PACKAGE, "pref_editor_new_line", TRUE); prefs.strip_trailing_spaces = utils_get_setting_boolean(config, PACKAGE, "pref_editor_trail_space", FALSE); prefs.mru_length = utils_get_setting_integer(config, PACKAGE, "mru_length", GEANY_DEFAULT_MRU_LENGTH); + file_prefs.disk_check_timeout = utils_get_setting_integer(config, PACKAGE, + "disk_check_timeout", GEANY_DISK_CHECK_TIMEOUT);
/* toolbar */ prefs.toolbar_visible = utils_get_setting_boolean(config, PACKAGE, "pref_toolbar_show", TRUE);
Modified: trunk/src/prefs.c =================================================================== --- trunk/src/prefs.c 2008-04-23 16:47:42 UTC (rev 2519) +++ trunk/src/prefs.c 2008-04-23 16:53:40 UTC (rev 2520) @@ -61,6 +61,8 @@
GeanyPrefs prefs;
+GeanyFilePrefs file_prefs; + static gchar *dialog_key_name; static GtkTreeIter g_iter; static GtkTreeStore *store = NULL; @@ -163,9 +165,6 @@ GdkColor *color;
/* General settings */ - widget = lookup_widget(ui_widgets.prefs_dialog, "spin_mru"); - gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget), prefs.mru_length); - /* startup */ widget = lookup_widget(ui_widgets.prefs_dialog, "check_load_session"); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), prefs.load_session); @@ -332,7 +331,13 @@ widget = lookup_widget(ui_widgets.prefs_dialog, "radio_tab_left"); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), TRUE);
+ widget = lookup_widget(ui_widgets.prefs_dialog, "spin_mru"); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget), prefs.mru_length);
+ widget = lookup_widget(ui_widgets.prefs_dialog, "spin_disk_check"); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget), file_prefs.disk_check_timeout); + + /* Editor settings */ widget = lookup_widget(ui_widgets.prefs_dialog, "spin_tab_width"); gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget), editor_prefs.tab_width); @@ -568,9 +573,6 @@ guint i;
/* General settings */ - widget = lookup_widget(ui_widgets.prefs_dialog, "spin_mru"); - prefs.mru_length = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget)); - /* startup */ widget = lookup_widget(ui_widgets.prefs_dialog, "check_load_session"); prefs.load_session = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); @@ -717,7 +719,13 @@ widget = lookup_widget(ui_widgets.prefs_dialog, "radio_tab_right"); prefs.tab_order_ltr = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
+ widget = lookup_widget(ui_widgets.prefs_dialog, "spin_mru"); + prefs.mru_length = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
+ widget = lookup_widget(ui_widgets.prefs_dialog, "spin_disk_check"); + file_prefs.disk_check_timeout = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget)); + + /* Editor settings */ widget = lookup_widget(ui_widgets.prefs_dialog, "spin_tab_width"); editor_prefs.tab_width = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
Modified: trunk/src/prefs.h =================================================================== --- trunk/src/prefs.h 2008-04-23 16:47:42 UTC (rev 2519) +++ trunk/src/prefs.h 2008-04-23 16:53:40 UTC (rev 2520) @@ -100,6 +100,15 @@ extern GeanyPrefs prefs;
+typedef struct GeanyFilePrefs +{ + gint disk_check_timeout; +} +GeanyFilePrefs; + +extern GeanyFilePrefs file_prefs; + + void prefs_init_dialog(void);
void prefs_show_dialog(void);
Modified: trunk/src/utils.c =================================================================== --- trunk/src/utils.c 2008-04-23 16:47:42 UTC (rev 2519) +++ trunk/src/utils.c 2008-04-23 16:53:40 UTC (rev 2520) @@ -374,7 +374,7 @@
/* Set force to force a disk check, otherwise it is ignored if there was a check - * in the last GEANY_CHECK_FILE_DELAY seconds. + * in the last file_prefs.disk_check_timeout seconds. * @return @c TRUE if the file has changed. */ gboolean utils_check_disk_status(gint idx, gboolean force) { @@ -383,11 +383,13 @@ gchar *locale_filename; gboolean ret = FALSE;
+ if (file_prefs.disk_check_timeout == 0) return FALSE; if (idx == -1 || doc_list[idx].file_name == NULL) return FALSE;
t = time(NULL);
- if (! force && doc_list[idx].last_check > (t - GEANY_CHECK_FILE_DELAY)) return FALSE; + if (! force && doc_list[idx].last_check > (t - file_prefs.disk_check_timeout)) + return FALSE;
locale_filename = utils_get_locale_from_utf8(doc_list[idx].file_name); if (g_stat(locale_filename, &st) != 0)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.