[tracker] tracker-preferences: Added 'control' tab giving more control of what is indexed
- From: Martyn James Russell <mr src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker] tracker-preferences: Added 'control' tab giving more control of what is indexed
- Date: Fri, 9 May 2014 12:11:00 +0000 (UTC)
commit a95c503dad76f7e67d9a543eb08bd6fca58b041a
Author: Martyn Russell <martyn lanedo com>
Date: Fri May 9 12:57:09 2014 +0100
tracker-preferences: Added 'control' tab giving more control of what is indexed
Specifically:
- allowing people to disable indexing file content
- allowing indexing of numbers
src/tracker-preferences/tracker-preferences.ui | 69 +---------------------
src/tracker-preferences/tracker-preferences.vala | 35 +++++++++++
2 files changed, 38 insertions(+), 66 deletions(-)
---
diff --git a/src/tracker-preferences/tracker-preferences.ui b/src/tracker-preferences/tracker-preferences.ui
index 637c8d7..2310721 100644
--- a/src/tracker-preferences/tracker-preferences.ui
+++ b/src/tracker-preferences/tracker-preferences.ui
@@ -1489,6 +1489,7 @@ Most commonly this is used to ignore directories like *~, *.o, *.la, etc</proper
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
+ <signal name="toggled"
handler="tracker_preferences_checkbutton_index_file_content_toggled_cb" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
@@ -1505,6 +1506,7 @@ Most commonly this is used to ignore directories like *~, *.o, *.la, etc</proper
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
+ <signal name="toggled"
handler="tracker_preferences_checkbutton_index_numbers_toggled_cb" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
@@ -1541,72 +1543,7 @@ Most commonly this is used to ignore directories like *~, *.o, *.la, etc</proper
</packing>
</child>
<child>
- <object class="GtkFrame" id="frame_control">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="resize_mode">queue</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">none</property>
- <child>
- <object class="GtkAlignment" id="alignment10">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="top_padding">6</property>
- <property name="left_padding">12</property>
- <child>
- <object class="GtkBox" id="vbox15">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="orientation">vertical</property>
- <property name="spacing">18</property>
- <child>
- <object class="GtkBox" id="vbox16">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="orientation">vertical</property>
- <child>
- <object class="GtkCheckButton" id="checkbutton_start_on_login">
- <property name="label" translatable="yes">_Start monitoring and updating
index on login</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="xalign">0</property>
- <property name="draw_indicator">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child type="label">
- <object class="GtkLabel" id="label18">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">When is indexer running?</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
+ <placeholder/>
</child>
</object>
<packing>
diff --git a/src/tracker-preferences/tracker-preferences.vala
b/src/tracker-preferences/tracker-preferences.vala
index 3f072cc..f0e9c4f 100644
--- a/src/tracker-preferences/tracker-preferences.vala
+++ b/src/tracker-preferences/tracker-preferences.vala
@@ -29,6 +29,7 @@ extern static const string UIDIR;
extern static const string SRCDIR;
public class Tracker.Preferences {
+ private GLib.Settings settings_fts = null;
private GLib.Settings settings_miner_fs = null;
private GLib.Settings settings_extract = null;
@@ -67,6 +68,8 @@ public class Tracker.Preferences {
private ToggleButton togglebutton_pictures;
private ToggleButton togglebutton_videos;
private ToggleButton togglebutton_download;
+ private CheckButton checkbutton_index_file_content;
+ private CheckButton checkbutton_index_numbers;
private Box hbox_duplicate_warning;
private Button button_reindex;
private Notebook notebook;
@@ -76,10 +79,20 @@ public class Tracker.Preferences {
HOME_STRING_EVALUATED = dir_from_config (HOME_STRING);
+ settings_fts = new GLib.Settings ("org.freedesktop.Tracker.FTS");
+ /* settings_fts.delay(); */
+
settings_miner_fs = new GLib.Settings ("org.freedesktop.Tracker.Miner.Files");
+ /* settings_miner_fs.delay(); */
+
settings_extract = new GLib.Settings ("org.freedesktop.Tracker.Extract");
+ /* settings_extract.delay(); */
// Change notification for any key in the schema
+ settings_fts.changed.connect ((key) => {
+ print ("tracker-fts: Key '%s' changed\n", key);
+ });
+
settings_miner_fs.changed.connect ((key) => {
print ("tracker-miner-fs: Key '%s' changed\n", key);
});
@@ -135,6 +148,8 @@ public class Tracker.Preferences {
togglebutton_pictures = builder.get_object ("togglebutton_pictures") as ToggleButton;
togglebutton_videos = builder.get_object ("togglebutton_videos") as ToggleButton;
togglebutton_download = builder.get_object ("togglebutton_download") as ToggleButton;
+ checkbutton_index_file_content = builder.get_object ("checkbutton_index_file_content") as
CheckButton;
+ checkbutton_index_numbers = builder.get_object ("checkbutton_index_numbers") as CheckButton;
hbox_duplicate_warning = builder.get_object ("hbox_duplicate_warning") as Box;
button_reindex = builder.get_object ("button_reindex") as Button;
@@ -211,6 +226,9 @@ public class Tracker.Preferences {
togglebutton_videos.active = model_contains (liststore_index, "&VIDEOS");
togglebutton_download.active = model_contains (liststore_index, "&DOWNLOAD");
+ checkbutton_index_file_content.active = settings_fts.get_int ("max-words-to-index") > 0;
+ checkbutton_index_numbers.active = settings_fts.get_boolean ("ignore-numbers") != true;
+
// Connect signals
// builder.connect_signals (null);
builder.connect_signals_full (connect_signals);
@@ -276,6 +294,8 @@ public class Tracker.Preferences {
settings_extract.set_enum ("sched-idle", sched_idle);
debug ("Saving settings...");
+ settings_fts.apply ();
+ debug (" tracker-fts: Done");
settings_miner_fs.apply ();
debug (" tracker-miner-fs: Done");
settings_extract.apply ();
@@ -459,6 +479,21 @@ public class Tracker.Preferences {
}
[CCode (instance_pos = -1)]
+ public void checkbutton_index_file_content_toggled_cb (CheckButton source) {
+ // FIXME: Should make number configurable, 10000 is the default.
+ if (source.active) {
+ settings_fts.reset ("max-words-to-index");
+ } else {
+ settings_fts.set_int ("max-words-to-index", 0);
+ }
+ }
+
+ [CCode (instance_pos = -1)]
+ public void checkbutton_index_numbers_toggled_cb (CheckButton source) {
+ settings_fts.set_boolean ("ignore-numbers", !source.active);
+ }
+
+ [CCode (instance_pos = -1)]
public void button_reindex_clicked_cb (Button source) {
stdout.printf ("Reindexing...\n");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]