You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently we rely on instance of QMdiArea which has several drawbacks:
it tries to handle title of main window (needs workaround...);
it tries to push controls and icon of maximized subwindow into QMenuBar (needs workaround which causes other issues...);
it tries to handle some keyboard shortcuts (needs workaround..);
causes noticeable overhead on older systems (this is why we create it only on demand, when there is need for non maximized subwindows);
it tries to be "smart", mimicking some features of window manager that are unwanted in case of standard MDI;
has z-index issues in more complex cases.
What has to be done to replace it:
Window needs to learn to draw decoration when needed (should be quite easy thanks to QStyle);
we need to create algorithm for basic tiling and cascading windows;
we need to control to control location of subwindows (x, y and z).
What we can gain:
custom tiling algorithms (either special JS scripts feeded with information about list Window objects or proper extensions API in future), we could even go further and allow to create multiple algorithm accessible by different keyboard shortcuts;
smaller overhead thanks for simpler class tailored for our simple needs (well, having control over location and size of subwindows is quite simple need, isn't it?).
The text was updated successfully, but these errors were encountered:
Currently we rely on instance of
QMdiArea
which has several drawbacks:QMenuBar
(needs workaround which causes other issues...);What has to be done to replace it:
Window
needs to learn to draw decoration when needed (should be quite easy thanks toQStyle
);What we can gain:
Window
objects or proper extensions API in future), we could even go further and allow to create multiple algorithm accessible by different keyboard shortcuts;The text was updated successfully, but these errors were encountered: