Hello,
In my MDI application I have the ability to enter a fullscreen mode, whereby all toolbars, dock widgets etc are hidden, then both the main window and the active subwindow are maximized.
If there are other non-active QMdiSubWindows open and already maximized then these are resized when the active subwindow is put into fullscreen mode. This is because hiding the toolbars etc triggers a resize in the maximized non-active subwindows (but not non-active normal size subwindows).
I wish to find a way to prevent the implicit resizing of the maximized non-active subwindows when entering the fullscreen mode for the active subwindow.
I have a boolean in the main window (fullscreenTransition) which I set when entering / exiting fullscreen mode. I check this and whether the subwindow widget is the active one in the resize event of the subwindow widget and skip the resize under the appropriate condition:
if(mainWindow->activeMdiWidget() != qobject_cast<MdiWidget*>(this) && mainWindow->isFullScreenTransition())
{
return;
}
if(mainWindow->activeMdiWidget() != qobject_cast<MdiWidget*>(this) && mainWindow->isFullScreenTransition())
{
return;
}
To copy to clipboard, switch view to plain text mode
Unfortunately, it doesn't work because the fullScreenTransition boolean is set back to false before the resize of the non-active subwindows is triggered / completed.
I guess I need to override or intercept the event / signal that resizes the non-active subwindows and set my fullScreenTransition boolean back to false in there. Does anybody know how to do this or where it might give me a clue in the documentation?
Any help greatly appreciated, thanks!
Bookmarks