Cleaning up kdelibs

Next to the other efforts for kdelibs modularization, there's also some cleanup tasks which needs to be done accross the whole kdelibs codebase. Tasks in here are probably more suitable for short term, bite sized involvement.

Note: For most of those tasks we try to put an estimation of the difficulty can be: easy, normal, hard (somewhat like in video games). ;-)

Status

Description

Contact

DONE

remove kglobal.h include from staging/kwidgets/src/icons/kiconloader.h, fix compilation by adding the header where necessary (easy)

Christoph Cullmann

DONE

move ktypelist.h from kdecore/util to kde4support (easy)

Christoph Cullmann

DONE

move kentrymaptest from kdecore/tests to kconfig/autotests (easy)

Christoph Cullmann

DONE

move kascii and kasciitest to kde4support (easy)

Christoph Cullmann

DONE

Port away from KGlobalSettings::singleClick() (easy)

Dominik Haumann

DONE

#cmakedefine -> #cmakedefine01, #ifdef -> #if, in order to catch missing includes (easy)

Nicolas Lécureuil

DONE

Port from KCmdLineArgs+KApp to QApp+setApplicationName in all unittests that don't use args (easy)

Jeremy Whiting

TO DO

kio/netaccess.h: there are some "TODOs" about deprecating most methods in favour of job+exec (TODO: compare with synchronousRun) (normal)

Move to kcoreaddons the tests in kdecore/tests that are actually tests for classes in kcoreaddons, except kurltest (easy)

Anne-Marie Mahfouf

DONE

"cp kurlmimetest.cpp kurlmimedatatest.cpp" and port the second one to KUrlMimeData (in order to test both the deprecated API and the new API). After that, move the old one (kurlmimetest) to kde4support. (normal)

Lambert Clara

DONE

Port kcmdlineargs from KUrl to QUrl, then move KUrl out of kcoreaddons, and into kdecore for now, final destination will be kde4support. (easy)

extract KProtocolInfo out of ksycoca, making it simply read from installed files on demand. (normal)

David Faure

DONE

move KProtocolInfo to KIO, requires to split out its unittests from kmimetypetest, and to somehow sort out the call to KProtocolInfo inside kmimetype (normal)

David Faure

DONE

when gpgmepp is not found, make plasma only skip the Signature class, rather than skipping all of plasma (easy)

David Faure

DONE

One of the things we need to remove is all of the use of the Q_WS_* defines. (easy)

git grep Q_WS_

Some of them should be ported to a Q_OS_ define (eg, some of Q_WS_WIN should
be ported to Q_OS_WIN), but *not all of them*, so this can't just be changed
with a script. It should be done manually. Some of them need to be ported to
QPA (lighthouse) in some way.

Another thing that should be done is using Find packages from ECM or CMake. (normal)

For example, run 'git grep find_package' in tier1/solid. Some of the results are provided by CMake, and some come from the local kdelibs/cmake/modules folder. The kdelibs/cmake/modules folder should not need to be used. For example find_package(Flex) in solid should be replaced with find_package(FLEX) which is provided by CMake.

The goal is to be able to run

cd tier1/solid && mkdir build && cd build && cmake .. && make

for each framework.

This is already possible with the itemmodels framework.

It also works with solid, because the packages it searches for are optional
and the FindFoo.cmake files are not found.

George Goldberg (grundleborg)

TO DO

Find out what should be part of the link interface and what should not be. (normal but long), details...

used (simplifying the task of creating a framework for the people who
don't realize that that needs to be done, and reducing the build fixes
that are required because they don't do a clean build after moving stuff
around and changing include_directories)