From kde-core-devel Wed Sep 08 10:50:02 2004 From: David Faure Date: Wed, 08 Sep 2004 10:50:02 +0000 To: kde-core-devel Subject: Re: kdelibs/win32 : kdecore patch Message-Id: <200409081250.02982.faure () kde ! org> X-MARC-Message: https://marc.info/?l=kde-core-devel&m=109464053620543 On Tuesday 07 September 2004 23:25, Holger Schroeder wrote: > hi, > > On Thursday 02 September 2004 18:44, David Faure wrote: > > On Thursday 02 September 2004 18:15, Jarosław Staniek wrote: > > > 2. http://www.iidea.pl/~js/qkw/upload/kdecore.diff.tar.gz > > > > > > kdecore/ patches (about 100 files, not all) > > > > > > Please review > > > > -#if defined Q_WS_X11 && ! defined K_WS_QTONLY > > +#if (defined Q_WS_X11 || defined Q_WS_WIN) && ! defined K_WS_QTONLY > > #include > > #endif > > > > Who introduced the K_WS_QTONLY? Ah, Holger. Holger: does it make any sense > > to keep those? As shown above, they basically break things for others, > > since e.g. kstartupinfo isn't really x11-dependent in itself.... > > js: you don't use K_WS_QTONLY, right? If nobody does, I think we should > > clean this up. > > > when kde will run under x11/windows/mac os, this K_WS_QTONLY will not be > needed any more, that is right. my intention when i introduced it was, that i > wanted to be able to have a kde that was only dependant on qt and not on x11. But that's not the case right now, and it's rather an impossible goal (see Harri's post). > this should make the porting process easier. Actually, it doesn't. The unclear semantics of QTONLY make the porting process more difficult. Example taken from kiconview.cpp: #if defined Q_WS_X11 && ! defined K_WS_QTONLY //FIXME(E): Implement for Qt Embedded uint keybstate = KApplication::keyboardModifiers(); QIconViewItem* previousItem = currentItem(); #endif 1) there's nothing X11 specific about that code. It's the current implementation of keyboardModifiers() that is x11-specific, but it's easy enough to implement it for win32. 2) there's nothing qt-only specific in that code - I don't even understand the #if. 3) the comment is confusing (qt embedded? well it needs to be implemented for all...) OK maybe it's an example where the code was changed after the #if was added, but still - the QTONLY stuff is only disabling some stuff, whereas correct win32/macos ports include actually implementing the stuff that is different from x11. > when kde will run fine under windows That's exactly what js is working on, the right way; the QTONLY defines only add to the mess. > i will be fine with removing the #if defined K_WS_QTONLY from the sources... How about allowing js to remove them as part of his win32 port? -- David Faure, faure@kde.org, sponsored by Trolltech to work on KDE, Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).