KDE 4 porting: KBabel Project configuration crashes, help needed
David Faure
faure at kde.org
Wed Oct 11 23:33:59 BST 2006
On Saturday 07 October 2006 18:51, Stephan Johach wrote:
> KDbg shows, the assertion is triggered in
>
> KTabCtrl::Private::showTab(int index)
Ah, KTabCtl, not KTabCtrl, fooled my greps for a second ;)
Indeed ktabctltest showed the same crash on start.
Crash fixed, but now all widgets appear on start; ktabctl was trying to reimplement show() which isn't virtual.
Fixed, but now I see that the API mixes tab text and object names....
Changed API to use IDs like QTabBar/QTabWidget, isTabEnabled(text) is just broken api.
...
So anyway, how is KTabCtl different from QTabWidget? It uses a QTabBar too, it doesn't use
a stack widget, but it does pretty much the same. The docu said (among some wrong or confusing things)
that the difference was that the tabSelected signal is emitted before a page is selected,
so the page can be populated or updated at that point... but one can do that with QTabWidget
too, no?
So I have to ask: how about we port the app code to QTabWidget and drop KTabCtl?
LXR says: kbabel, kbackgammon, kdeadmin/kdat, kdeadmin/lilo-config, some pykde examples,
and from playground: guidance and kbabeldebug. And I don't see any special use
of dynamic changes of contents or anything specific to KTabCtl.
(Note: ktabctltest looks crap because the large app-default font isn't taken into
account in any font metrics - but I see that the same happens with QTabWidget.
Strange; much be some unrelated bug, but probably using layouts instead of
calling adjustSize() once, would fix it.)
--
David Faure, faure at kde.org, sponsored by Trolltech to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).
More information about the kde-core-devel
mailing list