[tracker] tracker-preferences: Do not recommend reindex/restarts



commit 0a3a14562920ce7885cbe8e80ad0bea472ba21c6
Author: Carlos Garnacho <carlosg gnome org>
Date:   Tue May 3 02:00:40 2016 +0200

    tracker-preferences: Do not recommend reindex/restarts
    
    This is an absolute antipattern, we can honor most of those settings
    at runtime (and as of the last commits, we do).
    
    The remaining configuration options are the ones affecting the tokenizer,
    and we just need a tracker-store/session restart, so just suggest that,
    instead of restarting daemons.

 src/tracker-preferences/tracker-preferences.vala |   76 +++++-----------------
 1 files changed, 16 insertions(+), 60 deletions(-)
---
diff --git a/src/tracker-preferences/tracker-preferences.vala 
b/src/tracker-preferences/tracker-preferences.vala
index d851163..159acaa 100644
--- a/src/tracker-preferences/tracker-preferences.vala
+++ b/src/tracker-preferences/tracker-preferences.vala
@@ -34,7 +34,6 @@ public class Tracker.Preferences {
        private GLib.Settings settings_miner_fs = null;
        private GLib.Settings settings_extract = null;
 
-       private bool suggest_reindex = false;
        private bool suggest_restart = false;
 
        private const string UI_FILE = "tracker-preferences.ui";
@@ -248,10 +247,6 @@ public class Tracker.Preferences {
                Posix.system ("tracker reset --hard && tracker daemon --start");
        }
 
-       void restart () {
-               Posix.system ("tracker daemon --terminate=miners --terminate=store && tracker daemon 
--start");
-       }
-
        // This function is used to fix up the parameter ordering for callbacks
        // from the .ui file which has the callback names.
        [CCode (instance_pos = -1)]
@@ -313,52 +308,16 @@ public class Tracker.Preferences {
                        settings_extract.apply ();
                        debug ("  tracker-extract: Done");
 
-                       if (suggest_reindex) {
+                       if (suggest_restart) {
                                Dialog dialog = new MessageDialog (window,
                                                                   DialogFlags.DESTROY_WITH_PARENT,
-                                                                  MessageType.QUESTION,
-                                                                  ButtonsType.NONE,
-                                                                  "%s\n\n%s\n\n%s",
-                                                                  _("The changes you have made to your 
preferences here require a reindex to ensure all your data is correctly indexed as you have requested."),
-                                                                  _("This will close this dialog!"),
-                                                                  _("Would you like to reindex now?"),
+                                                                  MessageType.INFO,
+                                                                  ButtonsType.CLOSE,
+                                                                  _("Some of the requested changes will take 
effect on the next session restart."),
                                                                   null);
-                               dialog.add_buttons (_("Reindex"), ResponseType.YES,
-                                                   _("Do nothing"), ResponseType.NO,
-                                                   null);
-
-                               dialog.set_default_response(ResponseType.NO);
-
-                               if (dialog.run () == ResponseType.YES) {
-                                       reindex ();
-                               } else {
-                                       /* Reset this suggestion */
-                                       suggest_reindex = false;
-                               }
-
-                               dialog.destroy ();
-                       } else if (suggest_restart) {
-                               Dialog dialog = new MessageDialog (window,
-                                                                  DialogFlags.DESTROY_WITH_PARENT,
-                                                                  MessageType.QUESTION,
-                                                                  ButtonsType.NONE,
-                                                                  "%s\n\n%s",
-                                                                  _("The changes you have made to your 
preferences require restarting tracker processes."),
-                                                                  _("Would you like to restart now?"),
-                                                                  null);
-                               dialog.add_buttons (_("Restart Tracker"), ResponseType.YES,
-                                                   _("Do nothing"), ResponseType.NO,
-                                                   null);
-
-                               dialog.set_default_response(ResponseType.NO);
-
-                               if (dialog.run () == ResponseType.YES) {
-                                       restart ();
-                               } else {
-                                       /* Reset this suggestion */
-                                       suggest_restart = false;
-                               }
-
+                               /* Reset this suggestion */
+                               suggest_restart = false;
+                               dialog.run ();
                                dialog.destroy ();
                        }
 
@@ -379,20 +338,17 @@ public class Tracker.Preferences {
        [CCode (instance_pos = -1)]
        public void checkbutton_enable_monitoring_toggled_cb (CheckButton source) {
                settings_miner_fs.set_boolean ("enable-monitors", source.active);
-               suggest_restart = true;
        }
 
        [CCode (instance_pos = -1)]
        public void checkbutton_enable_index_on_battery_toggled_cb (CheckButton source) {
                settings_miner_fs.set_boolean ("index-on-battery", source.active);
                checkbutton_enable_index_on_battery_first_time.set_sensitive (!source.active);
-               suggest_restart = true;
        }
 
        [CCode (instance_pos = -1)]
        public void checkbutton_enable_index_on_battery_first_time_toggled_cb (CheckButton source) {
                settings_miner_fs.set_boolean ("index-on-battery-first-time", source.active);
-               suggest_restart = true;
        }
 
        [CCode (instance_pos = -1)]
@@ -444,43 +400,36 @@ public class Tracker.Preferences {
        [CCode (instance_pos = -1)]
        public void button_ignored_directories_globs_add_clicked_cb (Button source) {
                store_add_value_dialog (liststore_ignored_directories);
-               suggest_reindex = true;
        }
 
        [CCode (instance_pos = -1)]
        public void button_ignored_directories_add_clicked_cb (Button source) {
                store_add_dir (liststore_ignored_directories);
-               suggest_reindex = true;
        }
 
        [CCode (instance_pos = -1)]
        public void button_ignored_directories_remove_clicked_cb (Button source) {
                store_del_dir (treeview_ignored_directories);
-               suggest_reindex = true;
        }
 
        [CCode (instance_pos = -1)]
        public void button_ignored_directories_with_content_add_clicked_cb (Button source) {
                store_add_value_dialog (liststore_ignored_directories_with_content);
-               suggest_reindex = true;
        }
 
        [CCode (instance_pos = -1)]
        public void button_ignored_directories_with_content_remove_clicked_cb (Button source) {
                store_del_dir (treeview_ignored_directories_with_content);
-               suggest_reindex = true;
        }
 
        [CCode (instance_pos = -1)]
        public void button_ignored_files_add_clicked_cb (Button source) {
                store_add_value_dialog (liststore_ignored_files);
-               suggest_reindex = true;
        }
 
        [CCode (instance_pos = -1)]
        public void button_ignored_files_remove_clicked_cb (Button source) {
                store_del_dir (treeview_ignored_files);
-               suggest_reindex = true;
        }
 
        private void togglebutton_directory_update_model (ToggleButton source, Gtk.ListStore store, string 
to_check) {
@@ -548,6 +497,11 @@ public class Tracker.Preferences {
                togglebutton_directory_update_model (source, liststore_index, 
Environment.get_user_special_dir (UserDirectory.DOWNLOAD));
        }
 
+       private void reset_parser () {
+               string path = Path.build_filename (Environment.get_user_cache_dir (), "tracker", 
"parser-sha1.txt", null);
+               FileUtils.unlink (path);
+       }
+
        [CCode (instance_pos = -1)]
        public void checkbutton_index_file_content_toggled_cb (CheckButton source) {
                // FIXME: Should make number configurable, 10000 is the default.
@@ -557,13 +511,15 @@ public class Tracker.Preferences {
                        settings_fts.set_int ("max-words-to-index", 0);
                }
 
-               suggest_reindex = true;
+               reset_parser ();
+               suggest_restart = true;
        }
 
        [CCode (instance_pos = -1)]
        public void checkbutton_index_numbers_toggled_cb (CheckButton source) {
                settings_fts.set_boolean ("ignore-numbers", !source.active);
-               suggest_reindex = true;
+               reset_parser ();
+               suggest_restart = true;
        }
 
        [CCode (instance_pos = -1)]


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]