[tracker/tracker-preferences-xdg-dirs] tracker-preferences: Use one list for single/recursive locations with a toggle
- From: Martyn James Russell <mr src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/tracker-preferences-xdg-dirs] tracker-preferences: Use one list for single/recursive locations with a toggle
- Date: Thu, 15 Sep 2011 12:55:37 +0000 (UTC)
commit 9ece5b422d38991e9b334301d468e3d0f388907b
Author: Martyn Russell <martyn lanedo com>
Date: Thu Sep 15 13:54:44 2011 +0100
tracker-preferences: Use one list for single/recursive locations with a toggle
Much cleaner approach now, this is not fully working yet, still some more bits
and pieces to clean up
src/tracker-preferences/tracker-preferences.ui | 1031 ++++++++--------------
src/tracker-preferences/tracker-preferences.vala | 303 ++++---
2 files changed, 515 insertions(+), 819 deletions(-)
---
diff --git a/src/tracker-preferences/tracker-preferences.ui b/src/tracker-preferences/tracker-preferences.ui
index 2972633..36ab666 100644
--- a/src/tracker-preferences/tracker-preferences.ui
+++ b/src/tracker-preferences/tracker-preferences.ui
@@ -25,13 +25,13 @@
<property name="step_increment">1</property>
<property name="page_increment">2</property>
</object>
- <object class="GtkListStore" id="liststore_gnored_directories_with_content">
+ <object class="GtkListStore" id="liststore_ignored_directories">
<columns>
<!-- column-name Directory -->
<column type="gchararray"/>
</columns>
</object>
- <object class="GtkListStore" id="liststore_ignored_directories">
+ <object class="GtkListStore" id="liststore_ignored_directories_with_content">
<columns>
<!-- column-name Directory -->
<column type="gchararray"/>
@@ -43,16 +43,12 @@
<column type="gchararray"/>
</columns>
</object>
- <object class="GtkListStore" id="liststore_index_recursively">
- <columns>
- <!-- column-name Directory -->
- <column type="gchararray"/>
- </columns>
- </object>
- <object class="GtkListStore" id="liststore_index_single">
+ <object class="GtkListStore" id="liststore_index">
<columns>
<!-- column-name Directory -->
<column type="gchararray"/>
+ <!-- column-name Recurse -->
+ <column type="gboolean"/>
</columns>
</object>
<object class="GtkDialog" id="tracker-preferences">
@@ -378,7 +374,7 @@
</child>
</object>
<packing>
- <property name="expand">True</property>
+ <property name="expand">False</property>
<property name="fill">True</property>
<property name="position">5</property>
</packing>
@@ -414,262 +410,48 @@
<object class="GtkAlignment" id="alignment7">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="top_padding">2</property>
+ <property name="top_padding">6</property>
<property name="left_padding">12</property>
<child>
- <object class="GtkVBox" id="vbox_general1">
+ <object class="GtkVBox" id="vbox11">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="spacing">18</property>
<child>
- <object class="GtkVBox" id="vbox11">
+ <object class="GtkVBox" id="vbox13">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="spacing">18</property>
<child>
- <object class="GtkVBox" id="vbox13">
+ <object class="GtkLabel" id="label_disk_space_limit">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <child>
- <object class="GtkLabel" id="label_disk_space_limit">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
- <property name="ypad">4</property>
- <property name="label" translatable="yes">Stop indexing when _disk space is below:</property>
- <property name="use_underline">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkHScale" id="hscale_disk_space_limit">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="adjustment">adjustment_disk_space_limit</property>
- <property name="round_digits">0</property>
- <property name="digits">0</property>
- <signal name="format-value" handler="tracker_preferences_hscale_disk_space_limit_format_value_cb" swapped="no"/>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <property name="ypad">4</property>
+ <property name="label" translatable="yes">Stop indexing when _disk space is below:</property>
+ <property name="use_underline">True</property>
</object>
<packing>
- <property name="expand">True</property>
+ <property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <object class="GtkVBox" id="vbox12">
+ <object class="GtkHScale" id="hscale_disk_space_limit">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkLabel" id="label_throttle">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
- <property name="ypad">4</property>
- <property name="label" translatable="yes">Indexing s_peed (faster consumes more resources):</property>
- <property name="use_underline">True</property>
- <property name="mnemonic_widget">hscale_throttle</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkTable" id="table_throttle">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="n_rows">2</property>
- <property name="n_columns">2</property>
- <property name="column_spacing">12</property>
- <property name="row_spacing">4</property>
- <child>
- <object class="GtkLabel" id="label_slower">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xalign">1</property>
- <property name="label" translatable="yes">Faster</property>
- <property name="justify">right</property>
- </object>
- <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="y_options"></property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label_faster">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Slower</property>
- </object>
- <packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <object class="GtkHScale" id="hscale_throttle">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="adjustment">adjustment_throttle</property>
- <property name="inverted">True</property>
- <property name="digits">0</property>
- <property name="draw_value">False</property>
- <signal name="format-value" handler="tracker_preferences_hscale_throttle_format_value_cb" swapped="no"/>
- </object>
- <packing>
- <property name="right_attach">2</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
+ <property name="can_focus">True</property>
+ <property name="adjustment">adjustment_disk_space_limit</property>
+ <property name="round_digits">0</property>
+ <property name="digits">0</property>
+ <signal name="format-value" handler="tracker_preferences_hscale_disk_space_limit_format_value_cb" swapped="no"/>
</object>
<packing>
- <property name="expand">True</property>
+ <property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
- <child>
- <object class="GtkVBox" id="vbox9">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkLabel" id="label_device_drop_threshold1">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
- <property name="xpad">3</property>
- <property name="ypad">4</property>
- <property name="label" translatable="yes">Days before deleting removable devices / files since last mounted:</property>
- <property name="use_underline">True</property>
- <property name="mnemonic_widget">hscale_drop_device_threshold</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkHScale" id="hscale_drop_device_threshold">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="adjustment">adjustment_drop_device_threshold</property>
- <property name="round_digits">0</property>
- <property name="digits">0</property>
- <signal name="format-value" handler="tracker_preferences_hscale_drop_device_threshold_format_value_cb" swapped="no"/>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child type="label">
- <object class="GtkLabel" id="label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Limitations</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>
- </child>
- </object>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
- <child type="tab">
- <object class="GtkLabel" id="label12">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Indexing</property>
- </object>
- <packing>
- <property name="position">1</property>
- <property name="tab_fill">False</property>
- </packing>
- </child>
- <child>
- <object class="GtkVBox" id="vbox2">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="border_width">12</property>
- <property name="spacing">18</property>
- <child>
- <object class="GtkFrame" id="frame_index_recursive_directories">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">none</property>
- <child>
- <object class="GtkAlignment" id="alignment5">
- <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="GtkVBox" id="vbox7">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkLabel" id="label_index_recursively">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Directories:</property>
</object>
<packing>
<property name="expand">False</property>
@@ -678,121 +460,107 @@
</packing>
</child>
<child>
- <object class="GtkHBox" id="hbox1">
+ <object class="GtkVBox" id="vbox12">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="spacing">6</property>
<child>
- <object class="GtkScrolledWindow" id="scrolledwindow1">
+ <object class="GtkLabel" id="label_throttle">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="shadow_type">in</property>
- <child>
- <object class="GtkTreeView" id="treeview_index_recursively">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="model">liststore_index_recursively</property>
- <property name="headers_visible">False</property>
- <property name="headers_clickable">False</property>
- <property name="rules_hint">True</property>
- <property name="search_column">0</property>
- </object>
- </child>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <property name="ypad">4</property>
+ <property name="label" translatable="yes">Indexing s_peed (faster consumes more resources):</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">hscale_throttle</property>
</object>
<packing>
- <property name="expand">True</property>
+ <property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <object class="GtkVBox" id="vbox23">
+ <object class="GtkTable" id="table_throttle">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="spacing">6</property>
+ <property name="n_rows">2</property>
+ <property name="n_columns">2</property>
+ <property name="column_spacing">12</property>
+ <property name="row_spacing">4</property>
<child>
- <object class="GtkButton" id="button_index_recursively_add">
+ <object class="GtkLabel" id="label_slower">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_action_appearance">False</property>
- <signal name="clicked" handler="tracker_preferences_button_index_recursively_add_clicked_cb" swapped="no"/>
- <child>
- <object class="GtkImage" id="image3">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="stock">gtk-add</property>
- </object>
- </child>
+ <property name="can_focus">False</property>
+ <property name="xalign">1</property>
+ <property name="label" translatable="yes">Faster</property>
+ <property name="justify">right</property>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
+ <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="y_options"></property>
</packing>
</child>
<child>
- <object class="GtkButton" id="button_index_recursively_remove">
+ <object class="GtkLabel" id="label_faster">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_action_appearance">False</property>
- <signal name="clicked" handler="tracker_preferences_button_index_recursively_remove_clicked_cb" swapped="no"/>
- <child>
- <object class="GtkImage" id="image4">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="stock">gtk-remove</property>
- </object>
- </child>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Slower</property>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="y_options"></property>
</packing>
</child>
<child>
- <placeholder/>
+ <object class="GtkHScale" id="hscale_throttle">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="adjustment">adjustment_throttle</property>
+ <property name="inverted">True</property>
+ <property name="digits">0</property>
+ <property name="draw_value">False</property>
+ <signal name="format-value" handler="tracker_preferences_hscale_throttle_format_value_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="right_attach">2</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
</child>
</object>
<packing>
<property name="expand">False</property>
- <property name="fill">False</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
- <property name="expand">True</property>
+ <property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
- <object class="GtkHBox" id="hbox7">
+ <object class="GtkVBox" id="vbox9">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="spacing">6</property>
<child>
- <object class="GtkToggleButton" id="togglebutton_recurse_home">
+ <object class="GtkLabel" id="label_device_drop_threshold1">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="tooltip_markup">Index Home Directory Recursively</property>
- <property name="use_action_appearance">False</property>
- <property name="relief">none</property>
- <signal name="toggled" handler="tracker_preferences_togglebutton_recurse_home_toggled_cb" swapped="no"/>
- <child>
- <object class="GtkImage" id="image1">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xpad">1</property>
- <property name="ypad">1</property>
- <property name="pixel_size">24</property>
- <property name="icon_name">folder-home</property>
- </object>
- </child>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <property name="xpad">3</property>
+ <property name="ypad">4</property>
+ <property name="label" translatable="yes">Days before deleting removable devices / files since last mounted:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">hscale_drop_device_threshold</property>
</object>
<packing>
<property name="expand">False</property>
@@ -801,24 +569,13 @@
</packing>
</child>
<child>
- <object class="GtkToggleButton" id="togglebutton_recurse_desktop">
+ <object class="GtkHScale" id="hscale_drop_device_threshold">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="tooltip_markup">Index Desktop Directory Recursively</property>
- <property name="use_action_appearance">False</property>
- <property name="relief">none</property>
- <signal name="toggled" handler="tracker_preferences_togglebutton_recurse_desktop_toggled_cb" swapped="no"/>
- <child>
- <object class="GtkImage" id="image">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xpad">1</property>
- <property name="ypad">1</property>
- <property name="pixel_size">24</property>
- <property name="icon_name">user-desktop</property>
- </object>
- </child>
+ <property name="adjustment">adjustment_drop_device_threshold</property>
+ <property name="round_digits">0</property>
+ <property name="digits">0</property>
+ <signal name="format-value" handler="tracker_preferences_hscale_drop_device_threshold_format_value_cb" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
@@ -826,135 +583,10 @@
<property name="position">1</property>
</packing>
</child>
- <child>
- <object class="GtkToggleButton" id="togglebutton_recurse_documents">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="tooltip_markup">Index Documents Directory Recursively</property>
- <property name="use_action_appearance">False</property>
- <property name="relief">none</property>
- <signal name="toggled" handler="tracker_preferences_togglebutton_recurse_documents_toggled_cb" swapped="no"/>
- <child>
- <object class="GtkImage" id="image11">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xpad">1</property>
- <property name="pixel_size">24</property>
- <property name="icon_name">folder-documents</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkToggleButton" id="togglebutton_recurse_music">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="tooltip_markup">Index Music Directory Recursively</property>
- <property name="use_action_appearance">False</property>
- <property name="relief">none</property>
- <signal name="toggled" handler="tracker_preferences_togglebutton_recurse_music_toggled_cb" swapped="no"/>
- <child>
- <object class="GtkImage" id="image14">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xpad">1</property>
- <property name="pixel_size">24</property>
- <property name="icon_name">folder-music</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkToggleButton" id="togglebutton_recurse_pictures">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="tooltip_markup">Index Pictures Directory Recursively</property>
- <property name="use_action_appearance">False</property>
- <property name="relief">none</property>
- <signal name="toggled" handler="tracker_preferences_togglebutton_recurse_pictures_toggled_cb" swapped="no"/>
- <child>
- <object class="GtkImage" id="image15">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xpad">1</property>
- <property name="pixel_size">24</property>
- <property name="icon_name">folder-pictures</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkToggleButton" id="togglebutton_recurse_videos">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="tooltip_markup">Index Videos Directory Recursively</property>
- <property name="use_action_appearance">False</property>
- <property name="relief">none</property>
- <signal name="toggled" handler="tracker_preferences_togglebutton_recurse_videos_toggled_cb" swapped="no"/>
- <child>
- <object class="GtkImage" id="image16">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xpad">1</property>
- <property name="pixel_size">24</property>
- <property name="icon_name">folder-videos</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">5</property>
- </packing>
- </child>
- <child>
- <object class="GtkToggleButton" id="togglebutton_recurse_download">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="tooltip_markup">Index Download Directory Recursively</property>
- <property name="use_action_appearance">False</property>
- <property name="relief">none</property>
- <signal name="toggled" handler="tracker_preferences_togglebutton_recurse_download_toggled_cb" swapped="no"/>
- <child>
- <object class="GtkImage" id="image17">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xpad">1</property>
- <property name="pixel_size">24</property>
- <property name="icon_name">folder-downloads</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">6</property>
- </packing>
- </child>
</object>
<packing>
<property name="expand">False</property>
- <property name="fill">False</property>
+ <property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
@@ -963,10 +595,10 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label1">
+ <object class="GtkLabel" id="label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Recursively Indexed</property>
+ <property name="label" translatable="yes">Limitations</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
@@ -974,86 +606,100 @@
</child>
</object>
<packing>
- <property name="expand">True</property>
+ <property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">0</property>
+ <property name="position">1</property>
</packing>
</child>
<child>
- <object class="GtkFrame" id="frame_index_single_directories">
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel" id="label12">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Indexing</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVBox" id="vbox2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">12</property>
+ <property name="spacing">18</property>
+ <child>
+ <object class="GtkFrame" id="frame1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment6">
+ <object class="GtkAlignment" id="alignment2">
<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="GtkVBox" id="vbox3">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkLabel" id="label_index_single">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Directories (no sub-directories are indexed):</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="vbox14">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">18</property>
<child>
- <object class="GtkHBox" id="hbox4">
+ <object class="GtkVBox" id="vbox5">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
- <object class="GtkScrolledWindow" id="scrolledwindow4">
+ <object class="GtkLabel" id="label8">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="shadow_type">in</property>
- <child>
- <object class="GtkTreeView" id="treeview_index_single">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="model">liststore_index_single</property>
- <property name="headers_visible">False</property>
- <property name="headers_clickable">False</property>
- <property name="rules_hint">True</property>
- <property name="search_column">0</property>
- </object>
- </child>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Special locations such as your <b>Home</b>, <b>Desktop</b> or <b>Documents</b> directory, can be easily toggled below. This will add or remove their real paths from the list underneath.
+
+You can decide if you want to index the content recursively or not using the checkbuttons in the list next to each entry.
+
+If some special directories are not available, it may be because they're not defined or duplicate another special directory.</property>
+ <property name="use_markup">True</property>
+ <property name="justify">fill</property>
+ <property name="wrap">True</property>
</object>
<packing>
- <property name="expand">True</property>
+ <property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <object class="GtkVBox" id="vbox5">
+ <object class="GtkHBox" id="hbox7">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
- <object class="GtkButton" id="button_index_single_add">
+ <object class="GtkToggleButton" id="togglebutton_home">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
+ <property name="tooltip_markup">Index Home Directory</property>
<property name="use_action_appearance">False</property>
- <signal name="clicked" handler="tracker_preferences_button_index_single_add_clicked_cb" swapped="no"/>
+ <property name="relief">none</property>
+ <signal name="toggled" handler="tracker_preferences_togglebutton_home_toggled_cb" swapped="no"/>
<child>
- <object class="GtkImage" id="image5">
+ <object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="stock">gtk-add</property>
+ <property name="xpad">1</property>
+ <property name="ypad">1</property>
+ <property name="pixel_size">24</property>
+ <property name="icon_name">folder-home</property>
</object>
</child>
</object>
@@ -1064,17 +710,22 @@
</packing>
</child>
<child>
- <object class="GtkButton" id="button_index_single_remove">
+ <object class="GtkToggleButton" id="togglebutton_desktop">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
+ <property name="tooltip_markup">Index Desktop Directory</property>
<property name="use_action_appearance">False</property>
- <signal name="clicked" handler="tracker_preferences_button_index_single_remove_clicked_cb" swapped="no"/>
+ <property name="relief">none</property>
+ <signal name="toggled" handler="tracker_preferences_togglebutton_desktop_toggled_cb" swapped="no"/>
<child>
- <object class="GtkImage" id="image10">
+ <object class="GtkImage" id="image">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="stock">gtk-remove</property>
+ <property name="xpad">1</property>
+ <property name="ypad">1</property>
+ <property name="pixel_size">24</property>
+ <property name="icon_name">user-desktop</property>
</object>
</child>
</object>
@@ -1085,208 +736,244 @@
</packing>
</child>
<child>
- <placeholder/>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkHBox" id="hbox8">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkToggleButton" id="togglebutton_single_home">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="tooltip_markup">Index Home Directory Only</property>
- <property name="use_action_appearance">False</property>
- <property name="relief">none</property>
- <signal name="toggled" handler="tracker_preferences_togglebutton_single_home_toggled_cb" swapped="no"/>
- <child>
- <object class="GtkImage" id="image18">
+ <object class="GtkToggleButton" id="togglebutton_documents">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xpad">1</property>
- <property name="pixel_size">24</property>
- <property name="icon_name">folder-home</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="tooltip_markup">Index Documents Directory</property>
+ <property name="use_action_appearance">False</property>
+ <property name="relief">none</property>
+ <signal name="toggled" handler="tracker_preferences_togglebutton_documents_toggled_cb" swapped="no"/>
+ <child>
+ <object class="GtkImage" id="image11">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xpad">1</property>
+ <property name="pixel_size">24</property>
+ <property name="icon_name">folder-documents</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkToggleButton" id="togglebutton_single_desktop">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="tooltip_markup">Index Desktop Directory Only</property>
- <property name="use_action_appearance">False</property>
- <property name="relief">none</property>
- <signal name="toggled" handler="tracker_preferences_togglebutton_single_desktop_toggled_cb" swapped="no"/>
<child>
- <object class="GtkImage" id="image19">
+ <object class="GtkToggleButton" id="togglebutton_music">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xpad">1</property>
- <property name="pixel_size">24</property>
- <property name="icon_name">user-desktop</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="tooltip_markup">Index Music Directory</property>
+ <property name="use_action_appearance">False</property>
+ <property name="relief">none</property>
+ <signal name="toggled" handler="tracker_preferences_togglebutton_music_toggled_cb" swapped="no"/>
+ <child>
+ <object class="GtkImage" id="image14">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xpad">1</property>
+ <property name="pixel_size">24</property>
+ <property name="icon_name">folder-music</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkToggleButton" id="togglebutton_single_documents">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="tooltip_markup">Index Documents Directory Only</property>
- <property name="use_action_appearance">False</property>
- <property name="relief">none</property>
- <signal name="toggled" handler="tracker_preferences_togglebutton_single_documents_toggled_cb" swapped="no"/>
<child>
- <object class="GtkImage" id="image20">
+ <object class="GtkToggleButton" id="togglebutton_pictures">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xpad">1</property>
- <property name="pixel_size">24</property>
- <property name="icon_name">folder-documents</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="tooltip_markup">Index Pictures Directory</property>
+ <property name="use_action_appearance">False</property>
+ <property name="relief">none</property>
+ <signal name="toggled" handler="tracker_preferences_togglebutton_pictures_toggled_cb" swapped="no"/>
+ <child>
+ <object class="GtkImage" id="image15">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xpad">1</property>
+ <property name="pixel_size">24</property>
+ <property name="icon_name">folder-pictures</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkToggleButton" id="togglebutton_single_music">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="tooltip_markup">Index Music Directory Only</property>
- <property name="use_action_appearance">False</property>
- <property name="relief">none</property>
- <signal name="toggled" handler="tracker_preferences_togglebutton_single_music_toggled_cb" swapped="no"/>
<child>
- <object class="GtkImage" id="image21">
+ <object class="GtkToggleButton" id="togglebutton_videos">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xpad">1</property>
- <property name="pixel_size">24</property>
- <property name="icon_name">folder-music</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="tooltip_markup">Index Videos Directory</property>
+ <property name="use_action_appearance">False</property>
+ <property name="relief">none</property>
+ <signal name="toggled" handler="tracker_preferences_togglebutton_videos_toggled_cb" swapped="no"/>
+ <child>
+ <object class="GtkImage" id="image16">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xpad">1</property>
+ <property name="pixel_size">24</property>
+ <property name="icon_name">folder-videos</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">5</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkToggleButton" id="togglebutton_single_pictures">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="tooltip_markup">Index Pictures Directory Only</property>
- <property name="use_action_appearance">False</property>
- <property name="relief">none</property>
- <signal name="toggled" handler="tracker_preferences_togglebutton_single_pictures_toggled_cb" swapped="no"/>
<child>
- <object class="GtkImage" id="image22">
+ <object class="GtkToggleButton" id="togglebutton_download">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xpad">1</property>
- <property name="pixel_size">24</property>
- <property name="icon_name">folder-pictures</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="tooltip_markup">Index Download Directory</property>
+ <property name="use_action_appearance">False</property>
+ <property name="relief">none</property>
+ <signal name="toggled" handler="tracker_preferences_togglebutton_download_toggled_cb" swapped="no"/>
+ <child>
+ <object class="GtkImage" id="image17">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xpad">1</property>
+ <property name="pixel_size">24</property>
+ <property name="icon_name">folder-downloads</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">6</property>
+ </packing>
</child>
</object>
<packing>
<property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">4</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
</packing>
</child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVBox" id="vbox3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
<child>
- <object class="GtkToggleButton" id="togglebutton_single_videos">
+ <object class="GtkHBox" id="hbox1">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="tooltip_markup">Index Videos Directory Only</property>
- <property name="use_action_appearance">False</property>
- <property name="relief">none</property>
- <signal name="toggled" handler="tracker_preferences_togglebutton_single_videos_toggled_cb" swapped="no"/>
+ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
<child>
- <object class="GtkImage" id="image23">
+ <object class="GtkScrolledWindow" id="scrolledwindow1">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xpad">1</property>
- <property name="pixel_size">24</property>
- <property name="icon_name">folder-videos</property>
+ <property name="can_focus">True</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkTreeView" id="treeview_index">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="model">liststore_index</property>
+ <property name="headers_clickable">False</property>
+ <property name="rules_hint">True</property>
+ <property name="search_column">0</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="expand">True</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">5</property>
- </packing>
- </child>
- <child>
- <object class="GtkToggleButton" id="togglebutton_single_download">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="tooltip_markup">Index Download Directory Only</property>
- <property name="use_action_appearance">False</property>
- <property name="relief">none</property>
- <signal name="toggled" handler="tracker_preferences_togglebutton_single_download_toggled_cb" swapped="no"/>
<child>
- <object class="GtkImage" id="image24">
+ <object class="GtkVBox" id="vbox23">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xpad">1</property>
- <property name="ypad">1</property>
- <property name="pixel_size">24</property>
- <property name="icon_name">folder-downloads</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkButton" id="button_index_add">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
+ <signal name="clicked" handler="tracker_preferences_button_index_add_clicked_cb" swapped="no"/>
+ <child>
+ <object class="GtkImage" id="image3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-add</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="button_index_remove">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
+ <signal name="clicked" handler="tracker_preferences_button_index_remove_clicked_cb" swapped="no"/>
+ <child>
+ <object class="GtkImage" id="image4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-remove</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
</child>
</object>
<packing>
- <property name="expand">False</property>
+ <property name="expand">True</property>
<property name="fill">True</property>
- <property name="position">6</property>
+ <property name="position">0</property>
</packing>
</child>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">2</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
</packing>
</child>
</object>
@@ -1294,20 +981,18 @@
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label7">
+ <object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Non-Recursively Indexed</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
+ <property name="label" translatable="yes"><b>Where is your content?</b></property>
+ <property name="use_markup">True</property>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
- <property name="position">1</property>
+ <property name="position">0</property>
</packing>
</child>
</object>
@@ -1518,7 +1203,7 @@
<object class="GtkTreeView" id="treeview_ignored_directories_with_content">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="model">liststore_gnored_directories_with_content</property>
+ <property name="model">liststore_ignored_directories_with_content</property>
<property name="headers_visible">False</property>
<property name="rules_hint">True</property>
<property name="search_column">0</property>
@@ -1786,7 +1471,7 @@ Most commonly this is used to ignore directories like *~, *.o, *.la, etc</proper
</child>
</object>
<packing>
- <property name="expand">False</property>
+ <property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
diff --git a/src/tracker-preferences/tracker-preferences.vala b/src/tracker-preferences/tracker-preferences.vala
index 42f6297..1417f97 100644
--- a/src/tracker-preferences/tracker-preferences.vala
+++ b/src/tracker-preferences/tracker-preferences.vala
@@ -44,30 +44,23 @@ public class Tracker.Preferences {
private Scale hscale_disk_space_limit;
private Scale hscale_throttle;
private Scale hscale_drop_device_threshold;
- private ListStore liststore_index_recursively;
- private ListStore liststore_index_single;
+ private ListStore liststore_index;
private ListStore liststore_ignored_directories;
private ListStore liststore_ignored_files;
- private ListStore liststore_gnored_directories_with_content;
- private TreeView treeview_index_recursively;
- private TreeView treeview_index_single;
+ private ListStore liststore_ignored_directories_with_content;
+ private TreeView treeview_index;
private TreeView treeview_ignored_directories;
private TreeView treeview_ignored_directories_with_content;
private TreeView treeview_ignored_files;
- private ToggleButton togglebutton_recurse_home;
- private ToggleButton togglebutton_recurse_desktop;
- private ToggleButton togglebutton_recurse_documents;
- private ToggleButton togglebutton_recurse_music;
- private ToggleButton togglebutton_recurse_pictures;
- private ToggleButton togglebutton_recurse_videos;
- private ToggleButton togglebutton_recurse_download;
- private ToggleButton togglebutton_single_home;
- private ToggleButton togglebutton_single_desktop;
- private ToggleButton togglebutton_single_documents;
- private ToggleButton togglebutton_single_music;
- private ToggleButton togglebutton_single_pictures;
- private ToggleButton togglebutton_single_videos;
- private ToggleButton togglebutton_single_download;
+ private TreeViewColumn treeviewcolumn_index1;
+ private TreeViewColumn treeviewcolumn_index2;
+ private ToggleButton togglebutton_home;
+ private ToggleButton togglebutton_desktop;
+ private ToggleButton togglebutton_documents;
+ private ToggleButton togglebutton_music;
+ private ToggleButton togglebutton_pictures;
+ private ToggleButton togglebutton_videos;
+ private ToggleButton togglebutton_download;
private Notebook notebook;
public Preferences () {
@@ -119,38 +112,31 @@ public class Tracker.Preferences {
hscale_disk_space_limit = builder.get_object ("hscale_disk_space_limit") as Scale;
hscale_throttle = builder.get_object ("hscale_throttle") as Scale;
hscale_drop_device_threshold = builder.get_object ("hscale_drop_device_threshold") as Scale;
- togglebutton_recurse_home = builder.get_object ("togglebutton_recurse_home") as ToggleButton;
- togglebutton_recurse_desktop = builder.get_object ("togglebutton_recurse_desktop") as ToggleButton;
- togglebutton_recurse_documents = builder.get_object ("togglebutton_recurse_documents") as ToggleButton;
- togglebutton_recurse_music = builder.get_object ("togglebutton_recurse_music") as ToggleButton;
- togglebutton_recurse_pictures = builder.get_object ("togglebutton_recurse_pictures") as ToggleButton;
- togglebutton_recurse_videos = builder.get_object ("togglebutton_recurse_videos") as ToggleButton;
- togglebutton_recurse_download = builder.get_object ("togglebutton_recurse_download") as ToggleButton;
- togglebutton_single_home = builder.get_object ("togglebutton_single_home") as ToggleButton;
- togglebutton_single_desktop = builder.get_object ("togglebutton_single_desktop") as ToggleButton;
- togglebutton_single_documents = builder.get_object ("togglebutton_single_documents") as ToggleButton;
- togglebutton_single_music = builder.get_object ("togglebutton_single_music") as ToggleButton;
- togglebutton_single_pictures = builder.get_object ("togglebutton_single_pictures") as ToggleButton;
- togglebutton_single_videos = builder.get_object ("togglebutton_single_videos") as ToggleButton;
- togglebutton_single_download = builder.get_object ("togglebutton_single_download") as ToggleButton;
-
- treeview_index_recursively = builder.get_object ("treeview_index_recursively") as TreeView;
- treeview_index_single = builder.get_object ("treeview_index_single") as TreeView;
+ togglebutton_home = builder.get_object ("togglebutton_home") as ToggleButton;
+ togglebutton_desktop = builder.get_object ("togglebutton_desktop") as ToggleButton;
+ togglebutton_documents = builder.get_object ("togglebutton_documents") as ToggleButton;
+ togglebutton_music = builder.get_object ("togglebutton_music") as ToggleButton;
+ 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;
+
+ treeview_index = builder.get_object ("treeview_index") as TreeView;
+ treeviewcolumn_index1 = builder.get_object ("treeviewcolumn_index1") as TreeViewColumn;
+ treeviewcolumn_index2 = builder.get_object ("treeviewcolumn_index1") as TreeViewColumn;
treeview_ignored_directories = builder.get_object ("treeview_ignored_directories") as TreeView;
treeview_ignored_directories_with_content = builder.get_object ("treeview_ignored_directories_with_content") as TreeView;
treeview_ignored_files = builder.get_object ("treeview_ignored_files") as TreeView;
- setup_standard_treeview (treeview_index_recursively, _("Directory"));
- setup_standard_treeview (treeview_index_single, _("Directory"));
- setup_standard_treeview (treeview_ignored_directories, _("Directory"));
- setup_standard_treeview (treeview_ignored_directories_with_content, _("Directory"));
- setup_standard_treeview (treeview_ignored_files, _("File"));
+ treeview_setup (treeview_index, _("Directory"), true);
+ treeview_setup (treeview_ignored_directories, _("Directory"), false);
+ treeview_setup (treeview_ignored_directories_with_content, _("Directory"), false);
+ treeview_setup (treeview_ignored_files, _("File"), false);
- liststore_index_recursively = builder.get_object ("liststore_index_recursively") as ListStore;
- liststore_index_single = builder.get_object ("liststore_index_single") as ListStore;
+ liststore_index = builder.get_object ("liststore_index") as ListStore;
+ liststore_index.set_sort_column_id (0, Gtk.SortType.ASCENDING);
liststore_ignored_directories = builder.get_object ("liststore_ignored_directories") as ListStore;
liststore_ignored_files = builder.get_object ("liststore_ignored_files") as ListStore;
- liststore_gnored_directories_with_content = builder.get_object ("liststore_gnored_directories_with_content") as ListStore;
+ liststore_ignored_directories_with_content = builder.get_object ("liststore_ignored_directories_with_content") as ListStore;
// Set initial values
checkbutton_enable_index_on_battery.active = settings.get_boolean ("index-on-battery");
@@ -165,28 +151,20 @@ public class Tracker.Preferences {
hscale_throttle.set_value ((double) settings.get_int ("throttle"));
hscale_drop_device_threshold.set_value ((double) settings.get_int ("removable-days-threshold"));
- // FIXME: Work out how to do this
- fill_in_model (liststore_index_recursively, settings.get_strv ("index-recursive-directories"));
- fill_in_model (liststore_index_single, settings.get_strv ("index-single-directories"));
- fill_in_model (liststore_ignored_directories, settings.get_strv ("ignored-directories"));
- fill_in_model (liststore_ignored_files, settings.get_strv ("ignored-files"));
- fill_in_model (liststore_gnored_directories_with_content, settings.get_strv ("ignored-directories-with-content"));
+ fill_in_model (liststore_index, settings.get_strv ("index-recursive-directories"), true, true);
+ fill_in_model (liststore_index, settings.get_strv ("index-single-directories"), true, false);
+ fill_in_model (liststore_ignored_directories, settings.get_strv ("ignored-directories"), false, false);
+ fill_in_model (liststore_ignored_files, settings.get_strv ("ignored-files"), false, false);
+ fill_in_model (liststore_ignored_directories_with_content, settings.get_strv ("ignored-directories-with-content"), false, false);
//weak string = get_user_special_dir (DESKTOP)
- togglebutton_recurse_home.active = model_contains (liststore_index_recursively, HOME_STRING);
- togglebutton_recurse_desktop.active = model_contains (liststore_index_recursively, "&DESKTOP");
- togglebutton_recurse_documents.active = model_contains (liststore_index_recursively, "&DOCUMENTS");
- togglebutton_recurse_music.active = model_contains (liststore_index_recursively, "&MUSIC");
- togglebutton_recurse_pictures.active = model_contains (liststore_index_recursively, "&PICTURES");
- togglebutton_recurse_videos.active = model_contains (liststore_index_recursively, "&VIDEOS");
- togglebutton_recurse_download.active = model_contains (liststore_index_recursively, "&DOWNLOAD");
- togglebutton_single_home.active = model_contains (liststore_index_single, HOME_STRING);
- togglebutton_single_desktop.active = model_contains (liststore_index_single, "&DESKTOP");
- togglebutton_single_documents.active = model_contains (liststore_index_single, "&DOCUMENTS");
- togglebutton_single_music.active = model_contains (liststore_index_single, "&MUSIC");
- togglebutton_single_pictures.active = model_contains (liststore_index_single, "&PICTURES");
- togglebutton_single_videos.active = model_contains (liststore_index_single, "&VIDEOS");
- togglebutton_single_download.active = model_contains (liststore_index_single, "&DOWNLOAD");
+ togglebutton_home.active = model_contains (liststore_index, HOME_STRING);
+ togglebutton_desktop.active = model_contains (liststore_index, "&DESKTOP");
+ togglebutton_documents.active = model_contains (liststore_index, "&DOCUMENTS");
+ togglebutton_music.active = model_contains (liststore_index, "&MUSIC");
+ togglebutton_pictures.active = model_contains (liststore_index, "&PICTURES");
+ togglebutton_videos.active = model_contains (liststore_index, "&VIDEOS");
+ togglebutton_download.active = model_contains (liststore_index, "&DOWNLOAD");
// We hide this page because it contains the start up
// delay which is not necessary to display for most people.
@@ -230,11 +208,11 @@ public class Tracker.Preferences {
debug ("Converting directories for storage");
// FIXME: Work out how to do this.
- settings.set_strv ("index-single-directories", model_to_strv (liststore_index_single));
- settings.set_strv ("index-recursive-directories", model_to_strv (liststore_index_recursively));
+ settings.set_strv ("index-single-directories", model_to_strv (liststore_index));
+ settings.set_strv ("index-recursive-directories", model_to_strv (liststore_index));
settings.set_strv ("ignored-directories", model_to_strv (liststore_ignored_directories));
settings.set_strv ("ignored-files", model_to_strv (liststore_ignored_files));
- settings.set_strv ("ignored-directories-with-content", model_to_strv (liststore_gnored_directories_with_content));
+ settings.set_strv ("ignored-directories-with-content", model_to_strv (liststore_ignored_directories_with_content));
settings.set_int ("low-disk-space-limit", (int) hscale_disk_space_limit.get_value ());
settings.set_int ("throttle", (int) hscale_throttle.get_value ());
@@ -310,23 +288,13 @@ public class Tracker.Preferences {
}
[CCode (instance_pos = -1)]
- public void button_index_recursively_add_clicked_cb (Button source) {
- add_dir (liststore_index_recursively);
+ public void button_index_add_clicked_cb (Button source) {
+ add_dir (liststore_index);
}
[CCode (instance_pos = -1)]
- public void button_index_recursively_remove_clicked_cb (Button source) {
- del_dir (treeview_index_recursively);
- }
-
- [CCode (instance_pos = -1)]
- public void button_index_single_remove_clicked_cb (Button source) {
- del_dir (treeview_index_single);
- }
-
- [CCode (instance_pos = -1)]
- public void button_index_single_add_clicked_cb (Button source) {
- add_dir (liststore_index_single);
+ public void button_index_remove_clicked_cb (Button source) {
+ del_dir (treeview_index);
}
[CCode (instance_pos = -1)]
@@ -346,7 +314,7 @@ public class Tracker.Preferences {
[CCode (instance_pos = -1)]
public void button_ignored_directories_with_content_add_clicked_cb (Button source) {
- add_freevalue (liststore_gnored_directories_with_content);
+ add_freevalue (liststore_ignored_directories_with_content);
}
[CCode (instance_pos = -1)]
@@ -367,10 +335,13 @@ public class Tracker.Preferences {
private void togglebutton_directory_update_model (ToggleButton source, ListStore store, string to_check) {
if (source.active && !model_contains (store, to_check)) {
TreeIter iter;
- liststore_index_recursively.append (out iter);
+ liststore_index.append (out iter);
var v = Value (typeof (string));
v.set_string (to_check);
- liststore_index_recursively.set_value (iter, 0, v);
+
+ bool recurse = to_check != HOME_STRING;
+ liststore_index.set_value (iter, 0, v);
+ liststore_index.set_value (iter, 1, recurse);
}
if (!source.active && model_contains (store, to_check)) {
@@ -392,73 +363,38 @@ public class Tracker.Preferences {
}
[CCode (instance_pos = -1)]
- public void togglebutton_recurse_home_toggled_cb (ToggleButton source) {
- togglebutton_directory_update_model (source, liststore_index_recursively, HOME_STRING);
- }
-
- [CCode (instance_pos = -1)]
- public void togglebutton_recurse_desktop_toggled_cb (ToggleButton source) {
- togglebutton_directory_update_model (source, liststore_index_recursively, Environment.get_user_special_dir (UserDirectory.DESKTOP));
- }
-
- [CCode (instance_pos = -1)]
- public void togglebutton_recurse_documents_toggled_cb (ToggleButton source) {
- togglebutton_directory_update_model (source, liststore_index_recursively, Environment.get_user_special_dir (UserDirectory.DOCUMENTS));
- }
-
- [CCode (instance_pos = -1)]
- public void togglebutton_recurse_music_toggled_cb (ToggleButton source) {
- togglebutton_directory_update_model (source, liststore_index_recursively, Environment.get_user_special_dir (UserDirectory.MUSIC));
- }
-
- [CCode (instance_pos = -1)]
- public void togglebutton_recurse_pictures_toggled_cb (ToggleButton source) {
- togglebutton_directory_update_model (source, liststore_index_recursively, Environment.get_user_special_dir (UserDirectory.PICTURES));
- }
-
- [CCode (instance_pos = -1)]
- public void togglebutton_recurse_videos_toggled_cb (ToggleButton source) {
- togglebutton_directory_update_model (source, liststore_index_recursively, Environment.get_user_special_dir (UserDirectory.VIDEOS));
- }
-
- [CCode (instance_pos = -1)]
- public void togglebutton_recurse_download_toggled_cb (ToggleButton source) {
- togglebutton_directory_update_model (source, liststore_index_recursively, Environment.get_user_special_dir (UserDirectory.DOWNLOAD));
+ public void togglebutton_home_toggled_cb (ToggleButton source) {
+ togglebutton_directory_update_model (source, liststore_index, HOME_STRING);
}
[CCode (instance_pos = -1)]
- public void togglebutton_single_home_toggled_cb (ToggleButton source) {
- togglebutton_directory_update_model (source, liststore_index_single, HOME_STRING);
+ public void togglebutton_desktop_toggled_cb (ToggleButton source) {
+ togglebutton_directory_update_model (source, liststore_index, Environment.get_user_special_dir (UserDirectory.DESKTOP));
}
[CCode (instance_pos = -1)]
- public void togglebutton_single_desktop_toggled_cb (ToggleButton source) {
- togglebutton_directory_update_model (source, liststore_index_single, Environment.get_user_special_dir (UserDirectory.DESKTOP));
+ public void togglebutton_documents_toggled_cb (ToggleButton source) {
+ togglebutton_directory_update_model (source, liststore_index, Environment.get_user_special_dir (UserDirectory.DOCUMENTS));
}
[CCode (instance_pos = -1)]
- public void togglebutton_single_documents_toggled_cb (ToggleButton source) {
- togglebutton_directory_update_model (source, liststore_index_single, Environment.get_user_special_dir (UserDirectory.DOCUMENTS));
+ public void togglebutton_music_toggled_cb (ToggleButton source) {
+ togglebutton_directory_update_model (source, liststore_index, Environment.get_user_special_dir (UserDirectory.MUSIC));
}
[CCode (instance_pos = -1)]
- public void togglebutton_single_music_toggled_cb (ToggleButton source) {
- togglebutton_directory_update_model (source, liststore_index_single, Environment.get_user_special_dir (UserDirectory.MUSIC));
+ public void togglebutton_pictures_toggled_cb (ToggleButton source) {
+ togglebutton_directory_update_model (source, liststore_index, Environment.get_user_special_dir (UserDirectory.PICTURES));
}
[CCode (instance_pos = -1)]
- public void togglebutton_single_pictures_toggled_cb (ToggleButton source) {
- togglebutton_directory_update_model (source, liststore_index_single, Environment.get_user_special_dir (UserDirectory.PICTURES));
+ public void togglebutton_videos_toggled_cb (ToggleButton source) {
+ togglebutton_directory_update_model (source, liststore_index, Environment.get_user_special_dir (UserDirectory.VIDEOS));
}
[CCode (instance_pos = -1)]
- public void togglebutton_single_videos_toggled_cb (ToggleButton source) {
- togglebutton_directory_update_model (source, liststore_index_single, Environment.get_user_special_dir (UserDirectory.VIDEOS));
- }
-
- [CCode (instance_pos = -1)]
- public void togglebutton_single_download_toggled_cb (ToggleButton source) {
- togglebutton_directory_update_model (source, liststore_index_single, Environment.get_user_special_dir (UserDirectory.DOWNLOAD));
+ public void togglebutton_download_toggled_cb (ToggleButton source) {
+ togglebutton_directory_update_model (source, liststore_index, Environment.get_user_special_dir (UserDirectory.DOWNLOAD));
}
private void add_freevalue (ListStore model) {
@@ -552,8 +488,25 @@ public class Tracker.Preferences {
public bool model_contains (TreeModel model, string needle) {
TreeIter iter;
+ string needle_evaluated;
bool valid;
+ if (needle == "&DESKTOP") {
+ needle_evaluated = Environment.get_user_special_dir (UserDirectory.DESKTOP);
+ } else if (needle == "&DOCUMENTS") {
+ needle_evaluated = Environment.get_user_special_dir (UserDirectory.DOCUMENTS);
+ } else if (needle == "&MUSIC") {
+ needle_evaluated = Environment.get_user_special_dir (UserDirectory.MUSIC);
+ } else if (needle == "&PICTURES") {
+ needle_evaluated = Environment.get_user_special_dir (UserDirectory.PICTURES);
+ } else if (needle == "&VIDEOS") {
+ needle_evaluated = Environment.get_user_special_dir (UserDirectory.VIDEOS);
+ } else if (needle == "&DOWNLOAD") {
+ needle_evaluated = Environment.get_user_special_dir (UserDirectory.DOWNLOAD);
+ } else {
+ needle_evaluated = needle;
+ }
+
for (valid = model.get_iter_first (out iter);
valid;
valid = model.iter_next (ref iter)) {
@@ -561,7 +514,7 @@ public class Tracker.Preferences {
model.get_value (iter, 0, out value);
- if (value.get_string () == needle) {
+ if (value.get_string () == needle_evaluated) {
return true;
}
}
@@ -569,29 +522,87 @@ public class Tracker.Preferences {
return false;
}
- private void fill_in_model (ListStore model, string[] list) {
+ private void fill_in_model (ListStore model, string[] list, bool have_recurse, bool recurse) {
int position = 0;
foreach (string str in list) {
+ if (str == "&DESKTOP") {
+ str = Environment.get_user_special_dir (UserDirectory.DESKTOP);
+ } else if (str == "&DOCUMENTS") {
+ str = Environment.get_user_special_dir (UserDirectory.DOCUMENTS);
+ } else if (str == "&MUSIC") {
+ str = Environment.get_user_special_dir (UserDirectory.MUSIC);
+ } else if (str == "&PICTURES") {
+ str = Environment.get_user_special_dir (UserDirectory.PICTURES);
+ } else if (str == "&VIDEOS") {
+ str = Environment.get_user_special_dir (UserDirectory.VIDEOS);
+ } else if (str == "&DOWNLOAD") {
+ str = Environment.get_user_special_dir (UserDirectory.DOWNLOAD);
+ }
+
try {
- model.insert_with_values (null,
- position++,
- 0,
- Filename.to_utf8 (str,
- -1,
- null,
- null));
+ if (have_recurse)
+ model.insert_with_values (null,
+ position++,
+ 0,
+ Filename.to_utf8 (str,
+ -1,
+ null,
+ null),
+ 1,
+ recurse,
+ -1);
+ else
+ model.insert_with_values (null,
+ position++,
+ 0,
+ Filename.to_utf8 (str,
+ -1,
+ null,
+ null),
+ -1);
} catch (GLib.ConvertError e) {
print ("Could not convert filename to UTF8: %s", e.message);
}
}
}
- private void setup_standard_treeview (TreeView view, string title) {
- TreeViewColumn column = new TreeViewColumn.with_attributes (title,
- new CellRendererText (),
- "text", 0);
+ private void treeview_setup (TreeView view, string title, bool show_recurse_column) {
+ TreeViewColumn column;
+ GLib.List<weak TreeViewColumn> columns = view.get_columns ();
+
+ // Needed to fix glade mess
+ foreach (TreeViewColumn c in columns) {
+ view.remove_column (c);
+ }
+
+ column = new TreeViewColumn.with_attributes (title,
+ new CellRendererText (),
+ "text", 0,
+ null);
+ column.set_expand (true);
view.append_column (column);
+
+ if (show_recurse_column) {
+ ListStore store = view.get_model () as ListStore;
+ CellRendererToggle cell = new CellRendererToggle ();
+
+ column = new TreeViewColumn.with_attributes ("Recurse",
+ cell,
+ "active", 1,
+ null);
+ column.set_expand (false);
+ column.set_fixed_width (50);
+ view.append_column (column);
+
+ cell.toggled.connect ((toggle, path) => {
+ var tree_path = new TreePath.from_string (path);
+ TreeIter iter;
+
+ store.get_iter (out iter, tree_path);
+ store.set (iter, 1, !toggle.active);
+ });
+ }
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]