diff --git a/src/gui/views/listview.py b/src/gui/views/listview.py index f5fcfb3d2..9b616797d 100644 --- a/src/gui/views/listview.py +++ b/src/gui/views/listview.py @@ -220,8 +220,7 @@ class ListView(NavigationView): column = gtk.TreeViewColumn(name, self.renderer) if self.model and self.model.color_column() is not None: - fg_col = self.model.color_column() - column.add_attribute(self.renderer, 'foreground', fg_col) + column.set_cell_data_func(self.renderer, self.foreground_color) if pair[1] in self.markup_columns: column.add_attribute(self.renderer, 'markup', pair[1]) @@ -237,6 +236,14 @@ class ListView(NavigationView): self.list.append_column(column) index += 1 + def foreground_color(self, column, renderer, model, iter_): + ''' + Set the foreground color of the cell renderer. We use a cell data + function because we don't want to set the color of untagged rows. + ''' + fg_color = model.get_value(iter_, model.color_column()) + renderer.set_property('foreground', fg_color) + def set_active(self): NavigationView.set_active(self) self.uistate.show_filter_results(self.dbstate, diff --git a/src/gui/views/treemodels/familymodel.py b/src/gui/views/treemodels/familymodel.py index b4393c805..1b884341a 100644 --- a/src/gui/views/treemodels/familymodel.py +++ b/src/gui/views/treemodels/familymodel.py @@ -199,7 +199,7 @@ class FamilyModel(FlatBaseModel): """ Return the tag color. """ - tag_color = '#000000000000' + tag_color = None tag_priority = None for handle in data[13]: tag = self.db.get_tag_from_handle(handle) diff --git a/src/gui/views/treemodels/mediamodel.py b/src/gui/views/treemodels/mediamodel.py index 7ba1fcaae..eba60e098 100644 --- a/src/gui/views/treemodels/mediamodel.py +++ b/src/gui/views/treemodels/mediamodel.py @@ -176,7 +176,7 @@ class MediaModel(FlatBaseModel): """ Return the tag color. """ - tag_color = '#000000000000' + tag_color = None tag_priority = None for handle in data[10]: tag = self.db.get_tag_from_handle(handle) diff --git a/src/gui/views/treemodels/notemodel.py b/src/gui/views/treemodels/notemodel.py index d3ecc400a..8575d3138 100644 --- a/src/gui/views/treemodels/notemodel.py +++ b/src/gui/views/treemodels/notemodel.py @@ -141,7 +141,7 @@ class NoteModel(FlatBaseModel): """ Return the tag color. """ - tag_color = '#000000000000' + tag_color = None tag_priority = None for handle in data[Note.POS_TAGS]: tag = self.db.get_tag_from_handle(handle) diff --git a/src/gui/views/treemodels/peoplemodel.py b/src/gui/views/treemodels/peoplemodel.py index 21f682fd5..de7686efb 100644 --- a/src/gui/views/treemodels/peoplemodel.py +++ b/src/gui/views/treemodels/peoplemodel.py @@ -449,7 +449,7 @@ class PeopleBaseModel(object): """ Return the tag color. """ - tag_color = '#000000000000' + tag_color = None tag_priority = None for handle in data[COLUMN_TAGS]: tag = self.db.get_tag_from_handle(handle)