Drag and drop ordering was not paying attention to the requested order. Now it is

This commit is contained in:
Chris Jones 2010-02-27 11:26:30 +01:00
parent bdac9e620a
commit 94a568ee1c
2 changed files with 15 additions and 4 deletions

View File

@ -40,8 +40,12 @@ class Paned(Container):
self.cnxids.remove_signal(self, 'expose-event')
# pylint: disable-msg=W0613
def split_axis(self, widget, vertical=True, sibling=None):
def split_axis(self, widget, vertical=True, sibling=None,
siblinglast=False):
"""Default axis splitter. This should be implemented by subclasses"""
first = None
second = None
maker = Factory()
self.remove(widget)
@ -57,8 +61,15 @@ class Paned(Container):
self.add(container)
self.show_all()
container.add(widget)
container.add(sibling)
if siblinglast is True:
first = widget
second = sibling
else:
first = sibling
second = widget
container.add(first)
container.add(second)
self.show_all()

View File

@ -884,7 +884,7 @@ for %s (%s)' % (name, urlplugin.__class__.__name__))
pos = self.get_location(widget, x, y)
srcpaned.remove(widgetsrc)
dstpaned.split_axis(dsthbox, pos in ['top', 'bottom'], widgetsrc)
dstpaned.split_axis(dsthbox, pos in ['top', 'bottom'], widgetsrc, pos in ['bottom', 'right'])
srcpaned.hoover()
def get_location(self, term, x, y):