bug 6812: pedigree view is broken in RTL locales
Make the table widget in the view forced LTR. Everything else (person box widget and the top window) is LTR or RTL, depending on the locale. Unfortunately, due to current broken pango logic, for RTL locales the person boxes will still be left-aligned :-( svn: r22521
This commit is contained in:
parent
59c820902e
commit
78bd5a0256
@ -771,6 +771,9 @@ class PedigreeView(NavigationView):
|
|||||||
self.scrolledwindow.add_with_viewport(event_box)
|
self.scrolledwindow.add_with_viewport(event_box)
|
||||||
|
|
||||||
self.table = gtk.Table(1, 1, False)
|
self.table = gtk.Table(1, 1, False)
|
||||||
|
# force LTR layout of the tree, even though the text might be RTL!
|
||||||
|
# this way the horizontal scroll preferences will be correct always
|
||||||
|
self.table.set_direction(gtk.TEXT_DIR_LTR)
|
||||||
event_box.add(self.table)
|
event_box.add(self.table)
|
||||||
event_box.get_parent().set_shadow_type(gtk.SHADOW_NONE)
|
event_box.get_parent().set_shadow_type(gtk.SHADOW_NONE)
|
||||||
self.table.set_row_spacings(1)
|
self.table.set_row_spacings(1)
|
||||||
@ -1275,6 +1278,10 @@ class PedigreeView(NavigationView):
|
|||||||
elif self.tree_direction == 3:
|
elif self.tree_direction == 3:
|
||||||
child_arrow = gtk.ARROW_RIGHT
|
child_arrow = gtk.ARROW_RIGHT
|
||||||
parent_arrow = gtk.ARROW_LEFT
|
parent_arrow = gtk.ARROW_LEFT
|
||||||
|
# GTK will reverse the icons for RTL locales, but we force LTR layout of the table,
|
||||||
|
# so reverse the arrows back...
|
||||||
|
if self.tree_direction in [2,3] and self.scrolledwindow.get_direction() == gtk.TEXT_DIR_RTL:
|
||||||
|
child_arrow, parent_arrow = parent_arrow, child_arrow
|
||||||
|
|
||||||
button = gtk.Button()
|
button = gtk.Button()
|
||||||
button.add(gtk.Arrow(child_arrow, gtk.SHADOW_IN))
|
button.add(gtk.Arrow(child_arrow, gtk.SHADOW_IN))
|
||||||
|
Loading…
Reference in New Issue
Block a user