Luigi Toscano wrote:
The sidebar is gone. The porting was not trivial (it needed a
still using the non-MVC architecture pre-Qt4) and it was probably "wait
forever until it's ported, or release Konqueror without".
That is a really lame excuse. The non-MVC Q*Widget (QListWidget,
QTreeWidget) are still available in Qt 5. They may not fit some developer's
ideals of "cleanliness", but they just work. And even if the code was still
using the old Q3* stuff, porting that to Q*Widget is rather straightforward,
there is no need to port to MVC at all.
Even if the code was using advanced Q3ListViewItem features such as custom
painting code, it is possible to get that to work in non-Qt3Support Qt 4 and
in Qt 5 without porting to MVC. I have done it in Kompare. Hint: The
QItemDelegate, while documented to work only with the MVC views, actually
works perfectly fine with Q*Widget, because Q*Widgets ARE Q*Views
internally. So just set a QItemDelegate on your Q*Widget that calls a
virtual paint method of your abstract Q*WidgetItem subclass, and then the
concrete subclasses of that class can provide custom paint methods just as
in Qt 3 days. There is no need to refactor the code at all.
Just see my Kompare porting commits, in particular:
Fake technical arguments may work with users who are not familiar with Qt,
but you cannot fool me.