Window partitioning should be dynamic
We should use QSplitter to manage splitting of the window space as a user's preference. Last state should be saved into QSettings, as in https://doc.qt.io/qt-6/qsplitter.html#saveState . Just have to set unique name for each splitter.