Frameworks/Epics/kdelibs cleanups
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) | ? | <{{{3}}}>
|
DONE | Fix kfileplacesmodeltest (normal) | Benjamin Port
| |
DONE | 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) | Matt Williams
| |
TO DO | Port kdelibs from KProcess to QProcess (except kpty) (easy). Warning: Need to port some functionnality to Qt 5 | Davide Bettio | <{{{3}}}>
|
DONE | Update qmimetype in kdelibs from the one soon merged to Qt5, port all of kdelibs to the API changes. (normal) | David Faure
| |
DONE | Create a staging/kconfig framework out of kdecore/config + kdecore/kernel/kauthorized*. Code should be ready (no more dependencies on the rest of kdecore). (normal) | David
| |
DONE | Port all of kdelibs from KGlobal::config() to KSharedConfig::openConfig(), adjust includes (easy) | Claus Christensen
| |
DONE | Port all of kdelibs from KMimeType to QMimeType, see KDE5PORTING.html for details (easy) | David Faure
| |
DONE | deprecate KLineEdit::clickMessage, by applying https://git.reviewboard.kde.org/r/101360/diff/#index_header and porting kdelibs (easy and quick) | Benjamin Port
| |
DONE | Move KDialog saveDialogSize+restoreDialogSize to static methods taking a QDialog. | Benjamin Port
| |
IN PROGRESS | Finish deprecating methods marked as @deprecated (add macro+ifdef, ensure kdelibs doesn't use). | Benjamin Port
| |
DONE | Move KDialogQueue into separate files. | Benjamin Port
| |
TO DO | Import QCommandLineArguments from gitorious into libkdeqt5staging | ? | <{{{3}}}>
|
TO DO | Port all of kdelibs (except kde*support and classes aimed for tier4) from KDialog to QDialog | Davide Bettio | <{{{3}}}>
|
DONE | Port from KGlobalSettings::desktopGeometry to QApplication::desktop()->screenGeometry (very easy) | Stephen Kelly
| |
DONE | 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. |
Kevin Ottens
| |
IN PROGRESS | 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... | ? | <{{{3}}}> |
DONE | Port from K_GLOBAL_STATIC to Q_GLOBAL_STATIC where the Qt4 API is sufficient | Albert Astals Cid | |
TO DO | Port from K_GLOBAL_STATIC to Q_GLOBAL_STATIC needs Qt 5.1 changes | ? | <{{{3}}}>
|
TO DO | Porting in KDE_Core/KLocale/Frameworks | ? | <{{{3}}}>
|
TO DO | After the above, removing kglobal.h from files where it is no longer
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) |
? | <{{{3}}}>
|
TO DO | Investigate to what extent our use of X11 API and KWindowSystem can be replaced with QPA (hard)
Some work started on adding the accessors required for this to the QPA classes. https://codereview.qt-project.org/#change,26714 |
? | <{{{3}}}>
|
DONE | KDEGuiAddons should be renamed and maybe repurposed | Kevin Ottens
| |
TO DO | qWarning << QUrl::errorString() rather than QMessageBox with QUrl::toString() (which is empty) to the user when the URL is invalid (grep for "Invalid URL"?) | ? | <{{{3}}}>
|
TO DO | kdeui/colors/kcolorhelpers_p.h has at least a copy in
kdeguiaddons, and perhaps another in kcolorwidgets. Resolve that. |
? | <{{{3}}}>
|
DONE | Port all of kdelibs from KIcon to QIcon / KDE:::icon(), then move KIcon out (easy) | David Faure
| |
TO DO | KGlobalSettings is initalized by KApplication. Find out if any parts of it work without that, and split it into parts that work without the initialization and parts that don't. | ? | <{{{3}}}>
|
DONE | Port away from and deprecate KHBox/KVBox | Albert Astals Cid
| |
TO DO | Find out if KGuiAddons should be deprecated or get an upstream equivalent. The real value is in KStandardGuiItem. See if it can be redesigned in the alternative | ? | <{{{3}}}>
|
TO DO | Port KStandardAction from KAction to QAction | Benjamin Port | <{{{3}}}>
|
TO DO | Move KTabBar to kde4support and port users in kdelibs to QTabbar. preferably KTabWidget should go the same way, but needs a feature in Qt (see the qt5.1 epic) | ? | <{{{3}}}>
|
IN PROGRESS | Use correct QCoreApplication::translate in all tier1+tier2+staging frameworks (except the ones which will go to tier3, they can use i18n) | George Goldberg (grundleborg)
| |
TO DO | Move KDialog to kde4support (once all other KDialog related cleanups are done) | ? | <{{{3}}}>
|
IN PROGRESS | Move KRestrictedLine to kde4support | Kevin Kin-Foo
| |
DONE | Move KDialogButtonBox to kde4support | David Faure
| |
DONE | Move KDoubleValidator to kde4support | David Faure
| |
TO DO | Move KListWidget to kde4support (replace uses with QListWidget) | ? | <{{{3}}}>
|
TO DO | Move KMenu to kde4support (once QMenu supports title items and keyboard navigation) | ? | <{{{3}}}>
|
TO DO | Move KPushButton DnD support to an event filter | ? | <{{{3}}}>
|
TO DO | Once KPushButton DnD and delayed menu support are out, move KPushButton to kde4support | ? | <{{{3}}}>
|
TO DO | Move KSplashScreen to kde4support | ? | <{{{3}}}>
|
TO DO | Replace KUndoStack with two methods in a namespace | ? | <{{{3}}}>
|
TO DO | Move KShortcut in kde4support | ? | <{{{3}}}>
|
TO DO | Move all global shortcut facilities of KAction in KGlobalAccel (which would then register QActions) | ? | <{{{3}}}>
|
TO DO | Move all gesture facilities of KAction in KGestureMap (which would then register QActions) | ? | <{{{3}}}>
|
TO DO | Move KAction::event to an event filter, see how to make it available to all QAction instances when using the consistency framework | ? | <{{{3}}}>
|
TO DO | Once KAction has no original feature left, move it to kde4support | ? | <{{{3}}}>
|
DONE | KApplication::*Timestamp methods go to a new QObject subclass in tier4/kinterprocesswindowing | Kevin Ottens
| |
DONE | KApplication::sessionConfig go to kconfig-gui, probably has a static method there | Kevin Ottens
| |
DONE | KApplication::*startupId go with KStartupInfo to kwindowsystem | Kevin Ottens
| |
DONE | Move KApplication to kde4support | Kevin Ottens
| |
DONE | Move KStatusBar to kde4support | Kevin Ottens
| |
TO DO | Move KColorDialog to kde4support | ? | <{{{3}}}>
|
TO DO | Split KStatusNotifierItem, having the pure data part on one side and the QMenu deps in a subclass | ? | <{{{3}}}>
|
DONE | Move KMenuBar to kde4support | Kevin Ottens
| |
TO DO | Move KToolBar to xmlgui | ? | <{{{3}}}>
|
TO DO | Move KMainWindow to xmlgui | ? | <{{{3}}}>
|
TO DO | Move KInputDialog to kde4support once its features are in Qt (see the 5.1 epic) | ? | <{{{3}}}>
|
TO DO | Move KDateTime to kde4support once its features are in Qt (see the 5.1 epic) | ? | <{{{3}}}>
|
IN PROGRESS | Split WId methods of KMessageBox into tier4/kinterprocesswindowing | Valentin Rusu
| |
IN PROGRESS | Split queued methods of KMessageBox into kde4support | Valentin Rusu
| |
TO DO | Implement queueing directly in KDialogJobUiDelegate | ? | <{{{3}}}>
|
IN PROGRESS | Add a KMessageBoxDontAskAgainInterface, with a QHash based private implementation in KMessageBox | David Faure
| |
TO DO | Add a setter to KMessageBox in order to change the KMessageBoxDontAskAgainInterface implementation used by KMessageBox and an implementation set in our FrameworkIntegrationPlugin which uses KConfig | ? | <{{{3}}}>
|
IN PROGRESS | Move rest of KMessageBox to kwidgets | Valentin Rusu
| |
DONE | Move KProgressDialog to kde4support | Kevin Ottens
| |
TO DO | Move KFileDialog to kde4support once the QUrl static methods are in Qt (see the 5.1 epic) | ? | <{{{3}}}>
|
TO DO | Move KTextEdit to tier4/consistency | ? | <{{{3}}}>
|
TO DO | Move KTextBrowser to kde4support once its features are in QTextBrowser (see 5.1 epic) | ? | <{{{3}}}>
|
TO DO | Have KMessageWidget look at the styleHint() flag to decide to animate or not (not existing yet, see 5.1 epic) | ? | <{{{3}}}>
|
TO DO | Have KMainWindow look at the styleHint() flag to decide to animate or not (not existing yet, see 5.1 epic) | ? | <{{{3}}}>
|
DONE | Move KFadeWidgetEffect to kde4support | Kevin Ottens
| |
TO DO | Have KIO widgets look at the styleHint() flag to decide to animate or not (not existing yet, see 5.1 epic) | ? | <{{{3}}}>
|
TO DO | Have the polish() call of KStyle force the default fonts on widgets (font are picked in the same way KGlobalSettings did) | ? | <{{{3}}}>
|
TO DO | Move KGlobalSettings to kde4support | ? | <{{{3}}}>
|
TO DO | Implement KStyle::styleHint() to support the opaqueResize and animate flags (not existing yet, see 5.1 epic) value of those flags picked like KGlobalSettings did | ? | <{{{3}}}>
|
TO DO | Move KStyle to tier4/consistency | ? | <{{{3}}}>
|
TO DO | Use qAddPreRoutine to initialize KCrash once it's in Qt 5.1 | ? | <{{{3}}}>
|
TO DO | Use qAddPreRoutine to initialize KCheckAccelerators once it's in Qt 5.1 | ? | <{{{3}}}>
|