I filed a bug report on QMdiArea & QListView (QTBUG-17234) could use some feedback.
When you subclass QListView and set QMdiArea::setViewPort to use the new Subclassed QLisView
if you set aether QListView::setFrameShape or QListView::setViewMode the QMdiArea::viewport
never fits to the QMdiArea. I also tried the samething without Subclassing QListView and everything then works fine.
What I am trying to do is use the QMdiArea widget as a temporary window manager, Using a combination of QMdiArea, QMdiSubWindow, QListView & QX11EmbedContainer
The idea is to use QMdiArea as the Window Manager then set it's viewport to a QX11EmbedContainer. You would then create a Desktop using QLisView and have the Desktop
embed it's self into QMdiAreas->QX11EmbedContainer, So now we have a Window Manager and a Desktop. Finally you would subclass QMdiSubWindow and set its primary widget to a QX11EmbedContainer, Now when you create a program like a File-Manager you would use QX11EmbedWidget as the primary widget. Clicking on a desktop icon that is generated via QFileSystemModel the desktop knows to create a new QMdiSubWindow and execute a command tied to that particular icon. The end result is that the File-Manager is embedded into the QMdiSubWindow.
Might look something like this.
Here is some example code demonstrating the bug.
I do realize the problem's that this method presents (Will probably only work with Qt and or Custom Programs), The point is a Desktop environment that is nothing but Qt. An all or nothing approach.
So now to my question:
- Is this bug genuine or is my code the problem?
- Do you like the idea presented?
- Do you have any suggestions/opinions/ideas of your own?