Merge pull request #657 from edbarnard/floating-dock-close
When a floating Dock window is closed, the dock is now returned home
This commit is contained in:
commit
a38d2282cc
@ -47,6 +47,10 @@ class DockArea(Container, QtGui.QWidget, DockDrop):
|
||||
if dock is None:
|
||||
dock = Dock(**kwds)
|
||||
|
||||
# store original area that the dock will return to when un-floated
|
||||
if not self.temporary:
|
||||
dock.orig_area = self
|
||||
|
||||
|
||||
## Determine the container to insert this dock into.
|
||||
## If there is no neighbor, then the container is the top.
|
||||
@ -371,5 +375,11 @@ class TempAreaWindow(QtGui.QWidget):
|
||||
self.layout.addWidget(area)
|
||||
|
||||
def closeEvent(self, *args):
|
||||
# restore docks to their original area
|
||||
docks = self.dockarea.findAll()[1]
|
||||
for dock in docks.values():
|
||||
if hasattr(dock, 'orig_area'):
|
||||
dock.orig_area.addDock(dock, )
|
||||
# clear dock area, and close remaining docks
|
||||
self.dockarea.clear()
|
||||
QtGui.QWidget.closeEvent(self, *args)
|
||||
|
Loading…
Reference in New Issue
Block a user