added maximize/restore to MDISubWindow, changed frame_on/frame_off from FramelessWindowHint to custom hint
This commit is contained in:
@ -67,6 +67,7 @@ class MDIArea(QMdiArea):
|
||||
self.menu.checkboxes["Multiple windows"].setChecked(True)
|
||||
self.enable_subwindow_view()
|
||||
for sub in self.subWindowList():
|
||||
sub.restore()
|
||||
sub.frame_on()
|
||||
|
||||
def enable_single_window_mode(self):
|
||||
@ -75,7 +76,7 @@ class MDIArea(QMdiArea):
|
||||
self.closeInactiveSubWindows()
|
||||
active = self.activeSubWindow()
|
||||
if active:
|
||||
active.showMaximized()
|
||||
active.maximize()
|
||||
active.frame_off()
|
||||
|
||||
def enable_tabbed_mode(self):
|
||||
@ -104,7 +105,7 @@ class MDIArea(QMdiArea):
|
||||
def add_single(self, sub):
|
||||
self.closeAllSubWindows()
|
||||
self.addSubWindow(sub)
|
||||
sub.showMaximized()
|
||||
sub.maximize()
|
||||
sub.frame_off()
|
||||
|
||||
|
||||
|
@ -14,12 +14,27 @@ class MDISubWindow(QMdiSubWindow):
|
||||
# without this, the SubWindow is not removed from the subWindowList
|
||||
self.setAttribute(Qt.WA_DeleteOnClose)
|
||||
|
||||
self._previous_state = None
|
||||
|
||||
|
||||
def maximize(self):
|
||||
self._previous_state = state = self.windowState()
|
||||
self.setWindowState(state | Qt.WindowMaximized)
|
||||
|
||||
def restore(self):
|
||||
if self._previous_state:
|
||||
self.setWindowState(self._previous_state)
|
||||
|
||||
|
||||
def frame_on(self):
|
||||
self.setWindowFlag(Qt.FramelessWindowHint, False)
|
||||
self.hide()
|
||||
self.setWindowFlags(Qt.SubWindow)
|
||||
self.show()
|
||||
|
||||
def frame_off(self):
|
||||
self.setWindowFlag(Qt.FramelessWindowHint, True)
|
||||
self.hide()
|
||||
self.setWindowFlags(Qt.CustomizeWindowHint | Qt.WindowTitleHint)
|
||||
self.show()
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user