diff --git a/gramps/gen/filters/rules/place/__init__.py b/gramps/gen/filters/rules/place/__init__.py index f769926a5..be2978157 100644 --- a/gramps/gen/filters/rules/place/__init__.py +++ b/gramps/gen/filters/rules/place/__init__.py @@ -40,6 +40,7 @@ from ._hasplace import HasPlace from ._hasdata import HasData from ._hasnolatorlon import HasNoLatOrLon from ._inlatlonneighborhood import InLatLonNeighborhood +from ._isenclosedby import IsEnclosedBy from ._matcheseventfilter import MatchesEventFilter from ._matchessourceconfidence import MatchesSourceConfidence from ._changedsince import ChangedSince @@ -66,5 +67,6 @@ editor_rule_list = [ MatchesEventFilter, ChangedSince, HasTag, - HasTitle + HasTitle, + IsEnclosedBy ] diff --git a/gramps/gen/filters/rules/place/_isenclosedby.py b/gramps/gen/filters/rules/place/_isenclosedby.py new file mode 100644 index 000000000..5fb8e6d9d --- /dev/null +++ b/gramps/gen/filters/rules/place/_isenclosedby.py @@ -0,0 +1,59 @@ +# +# Gramps - a GTK+/GNOME based genealogy program +# +# Copyright (C) 2002-2006 Donald N. Allingham +# Copyright (C) 2015 Nick Hall +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# + +#------------------------------------------------------------------------- +# +# Standard Python modules +# +#------------------------------------------------------------------------- +from ....const import GRAMPS_LOCALE as glocale +_ = glocale.translation.sgettext + +#------------------------------------------------------------------------- +# +# Gramps modules +# +#------------------------------------------------------------------------- +from .. import Rule +from ....utils.location import located_in + +#------------------------------------------------------------------------- +# +# IsEnclosedBy +# +#------------------------------------------------------------------------- +class IsEnclosedBy(Rule): + """ + Rule that checks for a place enclosed by another place + """ + + labels = [_('ID:')] + name = _('Places enclosed by another place') + description = _('Matches a place enclosed by a particular place') + category = _('General filters') + + def prepare(self, db): + self.handle = db.get_place_from_gramps_id(self.list[0]).handle + + def apply(self, db, place): + if located_in(db, place.handle, self.handle): + return True + return False diff --git a/gramps/gui/configure.py b/gramps/gui/configure.py index ec3b7b2d4..88bd09884 100644 --- a/gramps/gui/configure.py +++ b/gramps/gui/configure.py @@ -823,7 +823,6 @@ class GrampsPreferences(ConfigureDialog): format_tree.append_column(example_column) format_tree.get_selection().connect('changed', self.cb_format_tree_select) - format_tree.set_rules_hint(True) # ... and put it into a scrolled win format_sw = Gtk.ScrolledWindow() diff --git a/gramps/gui/dbman.py b/gramps/gui/dbman.py index d32e86ebb..8054b41b8 100644 --- a/gramps/gui/dbman.py +++ b/gramps/gui/dbman.py @@ -158,7 +158,6 @@ class DbManager(CLIDbManager): self.data_to_delete = None self.selection = self.dblist.get_selection() - self.dblist.set_rules_hint(True) self.__connect_signals() self.__build_interface() @@ -317,9 +316,6 @@ class DbManager(CLIDbManager): column.set_sort_column_id(DSORT_COL) self.dblist.append_column(column) - # set the rules hit - self.dblist.set_rules_hint(True) - def __populate(self): """ Builds the data and the display model. diff --git a/gramps/gui/editors/displaytabs/embeddedlist.py b/gramps/gui/editors/displaytabs/embeddedlist.py index 79188e7bc..a9e2466bc 100644 --- a/gramps/gui/editors/displaytabs/embeddedlist.py +++ b/gramps/gui/editors/displaytabs/embeddedlist.py @@ -404,7 +404,6 @@ class EmbeddedList(ButtonTab): self.tree = Gtk.TreeView() self.tree.set_reorderable(True) - self.tree.set_rules_hint(True) self.tree.connect('button_press_event', self.double_click) self.tree.connect('key_press_event', self.key_pressed) self.track_ref_for_deletion("tree") diff --git a/gramps/gui/glade/baseselector.glade b/gramps/gui/glade/baseselector.glade index 5bcc829d1..77bf2e7aa 100644 --- a/gramps/gui/glade/baseselector.glade +++ b/gramps/gui/glade/baseselector.glade @@ -86,7 +86,6 @@ True True - True True diff --git a/gramps/gui/listmodel.py b/gramps/gui/listmodel.py index f5fffd959..e993bd7de 100644 --- a/gramps/gui/listmodel.py +++ b/gramps/gui/listmodel.py @@ -113,7 +113,6 @@ class ListModel(object): self.mylist.append(object) self.function = {} - self.tree.set_rules_hint(True) self.model = None self.selection = None self.mode = mode diff --git a/gramps/gui/plug/_windows.py b/gramps/gui/plug/_windows.py index 280eafd9f..154e07d38 100644 --- a/gramps/gui/plug/_windows.py +++ b/gramps/gui/plug/_windows.py @@ -116,7 +116,6 @@ class PluginStatus(ManagedWindow): GObject.TYPE_STRING, GObject.TYPE_STRING, GObject.TYPE_STRING) self.selection_reg = self.list_reg.get_selection() self.list_reg.set_model(self.model_reg) - self.list_reg.set_rules_hint(True) self.list_reg.connect('button-press-event', self.button_press_reg) col0_reg = Gtk.TreeViewColumn(_('Type'), Gtk.CellRendererText(), text=0) col0_reg.set_sort_column_id(0) @@ -167,7 +166,6 @@ class PluginStatus(ManagedWindow): GObject.TYPE_STRING, GObject.TYPE_STRING) self.selection = self.list.get_selection() self.list.set_model(self.model) - self.list.set_rules_hint(True) self.list.connect('button-press-event', self.button_press) self.list.connect('cursor-changed', self.cursor_changed) col = Gtk.TreeViewColumn(_('Loaded'), Gtk.CellRendererText(), @@ -230,7 +228,6 @@ class PluginStatus(ManagedWindow): GObject.TYPE_STRING, GObject.TYPE_STRING) self.addon_list.set_model(self.addon_model) - self.addon_list.set_rules_hint(True) #self.addon_list.connect('button-press-event', self.button_press) col = Gtk.TreeViewColumn(_('Addon Name'), Gtk.CellRendererText(), text=1) diff --git a/gramps/gui/undohistory.py b/gramps/gui/undohistory.py index c50b1a41c..a553914cd 100644 --- a/gramps/gui/undohistory.py +++ b/gramps/gui/undohistory.py @@ -92,7 +92,6 @@ class UndoHistory(ManagedWindow): self.renderer = Gtk.CellRendererText() self.tree.set_model(self.model) - self.tree.set_rules_hint(True) #self.tree.append_column( #Gtk.TreeViewColumn(_('Original time'), self.renderer, #text=0, foreground=2, background=3)) diff --git a/gramps/gui/views/listview.py b/gramps/gui/views/listview.py index d39921c1d..c825ad723 100644 --- a/gramps/gui/views/listview.py +++ b/gramps/gui/views/listview.py @@ -148,7 +148,6 @@ class ListView(NavigationView): filter_box = self.search_bar.build() self.list = Gtk.TreeView() - self.list.set_rules_hint(True) self.list.set_headers_visible(True) self.list.set_headers_clickable(True) self.list.set_fixed_height_mode(True) diff --git a/gramps/plugins/tool/eventcmp.glade b/gramps/plugins/tool/eventcmp.glade index 0c99bd58c..00ffacbd6 100644 --- a/gramps/plugins/tool/eventcmp.glade +++ b/gramps/plugins/tool/eventcmp.glade @@ -105,7 +105,6 @@ True True - True diff --git a/gramps/plugins/tool/finddupes.glade b/gramps/plugins/tool/finddupes.glade index 6d27af667..4971c1cbb 100644 --- a/gramps/plugins/tool/finddupes.glade +++ b/gramps/plugins/tool/finddupes.glade @@ -307,7 +307,6 @@ True True - True diff --git a/gramps/plugins/tool/relcalc.glade b/gramps/plugins/tool/relcalc.glade index e2d4dbe83..d593fa9e1 100644 --- a/gramps/plugins/tool/relcalc.glade +++ b/gramps/plugins/tool/relcalc.glade @@ -75,7 +75,6 @@ True True Select a person to determine the relationship - True diff --git a/gramps/plugins/tool/removeunused.glade b/gramps/plugins/tool/removeunused.glade index 825e70988..364bd9ee6 100644 --- a/gramps/plugins/tool/removeunused.glade +++ b/gramps/plugins/tool/removeunused.glade @@ -244,7 +244,6 @@ True True - True diff --git a/gramps/plugins/tool/verify.glade b/gramps/plugins/tool/verify.glade index 243e3fc49..d96937c39 100644 --- a/gramps/plugins/tool/verify.glade +++ b/gramps/plugins/tool/verify.glade @@ -842,7 +842,6 @@ True True - True