Fix the inability to drag the splitters

This commit is contained in:
Stephen Boddy 2012-06-25 19:05:43 +02:00
parent 1e68ae9107
commit b6a75be607
2 changed files with 12 additions and 0 deletions

View File

@ -275,6 +275,12 @@ class Paned(Container):
container.add(child)
def new_size(self, widget, allocation):
if self.get_toplevel().set_pos_by_ratio:
self.set_position_by_ratio()
else:
self.set_position(self.get_position())
def set_position_by_ratio(self):
self.set_pos(int(self.ratio*self.get_length()))
def set_position(self, pos):

View File

@ -37,6 +37,7 @@ class Window(Container, gtk.Window):
losefocus_time = 0
position = None
ignore_startup_show = None
set_pos_by_ratio = None
zoom_data = None
@ -479,6 +480,7 @@ class Window(Container, gtk.Window):
def rotate(self, widget, clockwise):
"""Rotate children in this window"""
self.set_pos_by_ratio = True
maker = Factory()
# collect all paned children in breadth-first order
paned = []
@ -494,6 +496,10 @@ class Window(Container, gtk.Window):
p.rotate(widget, clockwise)
self.show_all()
widget.grab_focus()
while gtk.events_pending():
gtk.main_iteration_do(False)
self.set_pos_by_ratio = False
def get_visible_terminals(self):
"""Walk down the widget tree to find all of the visible terminals.