When a floating Dock window is closed, the dock is now returned to its original DockArea
This commit is contained in:
parent
b421cc2790
commit
dc95f76332
@ -46,6 +46,10 @@ class DockArea(Container, QtGui.QWidget, DockDrop):
|
|||||||
"""
|
"""
|
||||||
if dock is None:
|
if dock is None:
|
||||||
dock = Dock(**kwds)
|
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.
|
## Determine the container to insert this dock into.
|
||||||
@ -371,5 +375,11 @@ class TempAreaWindow(QtGui.QWidget):
|
|||||||
self.layout.addWidget(area)
|
self.layout.addWidget(area)
|
||||||
|
|
||||||
def closeEvent(self, *args):
|
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()
|
self.dockarea.clear()
|
||||||
QtGui.QWidget.closeEvent(self, *args)
|
QtGui.QWidget.closeEvent(self, *args)
|
||||||
|
Loading…
Reference in New Issue
Block a user