0738: Color pedigree view name boxes.
This commit is contained in:
parent
d739c5193f
commit
f1e3c9500e
@ -174,7 +174,7 @@ class _PersonWidgetBase(Gtk.DrawingArea):
|
|||||||
class PersonBoxWidgetCairo(_PersonWidgetBase):
|
class PersonBoxWidgetCairo(_PersonWidgetBase):
|
||||||
"""Draw person box using cairo library"""
|
"""Draw person box using cairo library"""
|
||||||
def __init__(self, view, format_helper, dbstate, person, alive, maxlines,
|
def __init__(self, view, format_helper, dbstate, person, alive, maxlines,
|
||||||
image=None):
|
image=None, tags=False):
|
||||||
_PersonWidgetBase.__init__(self, view, format_helper, person)
|
_PersonWidgetBase.__init__(self, view, format_helper, person)
|
||||||
self.set_size_request(120, 25)
|
self.set_size_request(120, 25)
|
||||||
# Required for tooltip and mouse-over
|
# Required for tooltip and mouse-over
|
||||||
@ -193,6 +193,13 @@ class PersonBoxWidgetCairo(_PersonWidgetBase):
|
|||||||
else:
|
else:
|
||||||
gender = None
|
gender = None
|
||||||
self.bgcolor, self.bordercolor = color_graph_box(alive, gender)
|
self.bgcolor, self.bordercolor = color_graph_box(alive, gender)
|
||||||
|
if tags and person:
|
||||||
|
for tag_handle in person.get_tag_list():
|
||||||
|
# For the complete tag, don't modify the default color
|
||||||
|
# which is black (#000000000000)
|
||||||
|
tag = dbstate.db.get_tag_from_handle(tag_handle)
|
||||||
|
if tag.get_color() != "#000000000000": # only if the color
|
||||||
|
self.bgcolor = tag.get_color() # is not black
|
||||||
self.bgcolor = hex_to_rgb_float(self.bgcolor)
|
self.bgcolor = hex_to_rgb_float(self.bgcolor)
|
||||||
self.bordercolor = hex_to_rgb_float(self.bordercolor)
|
self.bordercolor = hex_to_rgb_float(self.bordercolor)
|
||||||
|
|
||||||
@ -504,6 +511,7 @@ class PedigreeView(NavigationView):
|
|||||||
('interface.pedview-layout', 0),
|
('interface.pedview-layout', 0),
|
||||||
('interface.pedview-show-images', True),
|
('interface.pedview-show-images', True),
|
||||||
('interface.pedview-show-marriage', True),
|
('interface.pedview-show-marriage', True),
|
||||||
|
('interface.pedview-show-tags', False),
|
||||||
('interface.pedview-tree-direction', 2),
|
('interface.pedview-tree-direction', 2),
|
||||||
('interface.pedview-show-unknown-people', True),
|
('interface.pedview-show-unknown-people', True),
|
||||||
)
|
)
|
||||||
@ -549,6 +557,8 @@ class PedigreeView(NavigationView):
|
|||||||
# Hide marriage data by default
|
# Hide marriage data by default
|
||||||
self.show_marriage_data = self._config.get(
|
self.show_marriage_data = self._config.get(
|
||||||
'interface.pedview-show-marriage')
|
'interface.pedview-show-marriage')
|
||||||
|
# Show person with tag color
|
||||||
|
self.show_tag_color = self._config.get('interface.pedview-show-tags')
|
||||||
# Tree draw direction
|
# Tree draw direction
|
||||||
self.tree_direction = self._config.get('interface.pedview-tree-direction')
|
self.tree_direction = self._config.get('interface.pedview-tree-direction')
|
||||||
self.cb_change_scroll_direction(None, self.tree_direction < 2)
|
self.cb_change_scroll_direction(None, self.tree_direction < 2)
|
||||||
@ -929,7 +939,8 @@ class PedigreeView(NavigationView):
|
|||||||
# No person -> show empty box
|
# No person -> show empty box
|
||||||
#
|
#
|
||||||
pbw = PersonBoxWidgetCairo(self, self.format_helper,
|
pbw = PersonBoxWidgetCairo(self, self.format_helper,
|
||||||
self.dbstate, None, False, 0, None)
|
self.dbstate, None, False, 0, None,
|
||||||
|
tags=self.show_tag_color)
|
||||||
|
|
||||||
if i > 0 and lst[((i+1) // 2) - 1]:
|
if i > 0 and lst[((i+1) // 2) - 1]:
|
||||||
fam_h = None
|
fam_h = None
|
||||||
@ -952,7 +963,8 @@ class PedigreeView(NavigationView):
|
|||||||
image = True
|
image = True
|
||||||
|
|
||||||
pbw = PersonBoxWidgetCairo(self, self.format_helper,
|
pbw = PersonBoxWidgetCairo(self, self.format_helper,
|
||||||
self.dbstate, lst[i][0], lst[i][3], height, image)
|
self.dbstate, lst[i][0], lst[i][3], height, image,
|
||||||
|
tags=self.show_tag_color)
|
||||||
lst[i][4] = pbw
|
lst[i][4] = pbw
|
||||||
if height < 7:
|
if height < 7:
|
||||||
pbw.set_tooltip_text(self.format_helper.format_person(
|
pbw.set_tooltip_text(self.format_helper.format_person(
|
||||||
@ -1917,6 +1929,16 @@ class PedigreeView(NavigationView):
|
|||||||
self.menu.popup(None, None, None, None, 0, event.time)
|
self.menu.popup(None, None, None, None, 0, event.time)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
def cb_update_show_tags(self, client, cnxn_id, entry, data):
|
||||||
|
"""
|
||||||
|
Called when the configuration menu changes the tags setting.
|
||||||
|
"""
|
||||||
|
if entry == 'True':
|
||||||
|
self.show_tag_color = True
|
||||||
|
else:
|
||||||
|
self.show_tag_color = False
|
||||||
|
self.rebuild_trees(self.get_active())
|
||||||
|
|
||||||
def cb_update_show_images(self, client, cnxn_id, entry, data):
|
def cb_update_show_images(self, client, cnxn_id, entry, data):
|
||||||
"""
|
"""
|
||||||
Called when the configuration menu changes the images setting.
|
Called when the configuration menu changes the images setting.
|
||||||
@ -1989,6 +2011,8 @@ class PedigreeView(NavigationView):
|
|||||||
self.cb_update_show_images)
|
self.cb_update_show_images)
|
||||||
self._config.connect('interface.pedview-show-marriage',
|
self._config.connect('interface.pedview-show-marriage',
|
||||||
self.cb_update_show_marriage)
|
self.cb_update_show_marriage)
|
||||||
|
self._config.connect('interface.pedview-show-tags',
|
||||||
|
self.cb_update_show_tags)
|
||||||
self._config.connect('interface.pedview-show-unknown-people',
|
self._config.connect('interface.pedview-show-unknown-people',
|
||||||
self.cb_update_show_unknown_people)
|
self.cb_update_show_unknown_people)
|
||||||
self._config.connect('interface.pedview-tree-direction',
|
self._config.connect('interface.pedview-tree-direction',
|
||||||
@ -2023,6 +2047,9 @@ class PedigreeView(NavigationView):
|
|||||||
configdialog.add_checkbox(grid,
|
configdialog.add_checkbox(grid,
|
||||||
_('Show unknown people'),
|
_('Show unknown people'),
|
||||||
2, 'interface.pedview-show-unknown-people')
|
2, 'interface.pedview-show-unknown-people')
|
||||||
|
configdialog.add_checkbox(grid,
|
||||||
|
_('Show tags'),
|
||||||
|
3, 'interface.pedview-show-tags')
|
||||||
configdialog.add_combo(grid,
|
configdialog.add_combo(grid,
|
||||||
_('Tree style'),
|
_('Tree style'),
|
||||||
4, 'interface.pedview-layout',
|
4, 'interface.pedview-layout',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user