diff --git a/src/plugins/RemoveUnused.py b/src/plugins/RemoveUnused.py
index 7d6046c8a..372f6a2cb 100644
--- a/src/plugins/RemoveUnused.py
+++ b/src/plugins/RemoveUnused.py
@@ -46,6 +46,7 @@ log = logging.getLogger(".RemoveUnused")
import gtk
from gtk import glade
import gobject
+from gen.lib import StyledText
#-------------------------------------------------------------------------
#
@@ -109,6 +110,11 @@ class RemoveUnused(Tool.Tool,ManagedWindow.ManagedWindow,UpdateCallback):
'editor' : 'EditRepository',
'stock' : 'gramps-repository',
'name_ix' : 3},
+ 'notes' : {'get_func': self.db.get_note_from_handle,
+ 'remove' : self.db.remove_note,
+ 'editor' : 'EditNote',
+ 'stock' : 'gramps-notes',
+ 'name_ix' : 2},
}
self.init_gui()
@@ -126,6 +132,7 @@ class RemoveUnused(Tool.Tool,ManagedWindow.ManagedWindow,UpdateCallback):
self.places_box = self.top.get_widget('places_box')
self.media_box = self.top.get_widget('media_box')
self.repos_box = self.top.get_widget('repos_box')
+ self.notes_box = self.top.get_widget('notes_box')
self.find_button = self.top.get_widget('find_button')
self.remove_button = self.top.get_widget('remove_button')
@@ -136,6 +143,7 @@ class RemoveUnused(Tool.Tool,ManagedWindow.ManagedWindow,UpdateCallback):
self.options.handler.options_dict['places'])
self.media_box.set_active(self.options.handler.options_dict['media'])
self.repos_box.set_active(self.options.handler.options_dict['repos'])
+ self.notes_box.set_active(self.options.handler.options_dict['notes'])
self.warn_tree = self.top.get_widget('warn_tree')
self.warn_tree.connect('button_press_event', self.double_click)
@@ -218,6 +226,8 @@ class RemoveUnused(Tool.Tool,ManagedWindow.ManagedWindow,UpdateCallback):
int(self.media_box.get_active())
self.options.handler.options_dict['repos'] = \
int(self.repos_box.get_active())
+ self.options.handler.options_dict['notes'] = \
+ int(self.notes_box.get_active())
for item in self.sensitive_list:
item.set_sensitive(True)
@@ -252,6 +262,8 @@ class RemoveUnused(Tool.Tool,ManagedWindow.ManagedWindow,UpdateCallback):
'total_func' : self.db.get_number_of_media_objects},
'repos' : {'cursor_func': self.db.get_repository_cursor,
'total_func' : self.db.get_number_of_repositories},
+ 'notes' : {'cursor_func': self.db.get_note_cursor,
+ 'total_func' : self.db.get_number_of_notes},
}
for the_type in tables.keys():
@@ -352,7 +364,16 @@ class RemoveUnused(Tool.Tool,ManagedWindow.ManagedWindow,UpdateCallback):
gramps_id = data[1]
name_ix = self.tables[the_type]['name_ix']
- name = data[name_ix]
+
+ if the_type == 'notes':
+ note = unicode(data[name_ix][StyledText.POS_TEXT])
+ note = " ".join(note.split())
+ if len(note) > 80:
+ name = note[:80] + "..."
+ else:
+ name = note
+ else:
+ name = data[name_ix]
self.real_model.append(row=[False,gramps_id, name,the_type, handle])
@@ -376,6 +397,7 @@ class CheckOptions(Tool.ToolOptions):
'places' : 1,
'media' : 1,
'repos' : 1,
+ 'notes' : 1,
}
self.options_help = {
'events' : ("=0/1","Whether to use check for unused events",
@@ -393,6 +415,9 @@ class CheckOptions(Tool.ToolOptions):
'repos' : ("=0/1","Whether to use check for unused repositories",
["Do not check repositories","Check repositories"],
True),
+ 'notes' : ("=0/1","Whether to use check for unused notes",
+ ["Do not check notes","Check notes"],
+ True),
}
#------------------------------------------------------------------------
diff --git a/src/plugins/unused.glade b/src/plugins/unused.glade
index 7ac785a1c..bbe2760f2 100644
--- a/src/plugins/unused.glade
+++ b/src/plugins/unused.glade
@@ -97,6 +97,19 @@
4
+
+
+ True
+ True
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+ Search for notes
+ 0
+ True
+
+
+ 5
+
+