Frameworks/Epics/Contributions to Qt5
Contributing to Qt 5 epic
Quite some effort goes into Qt 5 in order to push into Qt some of the features which should be in Qt and not in KDE Frameworks. Usually because all Qt apps would benefit from them even outside the KDE world, and because this cuts dependencies between the KDE frameworks.
Once a class is ready to be contributed into Qt, it can also be added to KDE frameworks in libkdeqt5staging/src, for immediate use in kdelibs-frameworks. When we can depend on the Qt5 version that has the class, we can remove it from libkdeqt5staging.
If the addition to Qt is a new method rather than a new class, then an intermediate solution has to be found (possibly with a different API).
Status | Description | Contact | |
---|---|---|---|
DONE | QStandardPaths | David Faure, in Qt 5.0 | |
DONE | QTemporaryFile (better defaults) | David Faure, in Qt 5.0 | |
DONE | QObject::findChildren(Qt::FindDirectChildrenOnly) | David Faure, in Qt 5.0 | |
DONE | QTemporaryDir | David Faure, in Qt 5.0 | |
DONE | QMimeData: export URLs as plain text too | David Faure, in Qt 5.0 | |
DONE | QCryptographicHash: QIODevice support, to replace KMD5 | Sune, in Qt 5.0 | |
DONE | Contact John Layt to get an update on locales/datetime | Mario Fux | |
DONE | Refcounted quit | Stephen Kelly, change 10408, in Qt 5.0 | |
DONE | QMimeType | David Faure, change 15585, in Qt 5.0 | |
DONE | KUrl/QUrl merge | David Faure and Thiago Macieira (QUrl), in Qt 5.0 | |
DONE | KDebug features into QDebug | Started by Kai Koehne (Nokia) in change 13433, then Wolfgang Beck implemented category logging (13226), and an addon for the API (see QTBUG-19536). Missing API in Qt itself -> 5.1 | |
DONE | Native event filtering in QCoreApplication | David Faure, change 29260, in Qt 5.0 | |
DONE | QSignalSpy::wait (replaces kWaitForSignal) | David Faure, change 30799, in Qt 5.0 | |
DONE | Add app display name to window titles | David Faure, change 42627, in Qt 5.0 | |
DONE | QSaveFile | David Faure (https://codereview.qt-project.org/41790), in Qt 5.1 | |
DONE | Add a Q_COREAPP_STARTUP_FUNCTION macro which allows to have code called just at the end of QCoreApplicationPrivate::init() | David Faure (https://codereview.qt-project.org/42002), in Qt 5.1 | |
DONE | QDebugStateSaver | David Faure (https://codereview.qt-project.org/41793), in Qt 5.1 | |
DONE | K/Q_GLOBAL_STATIC merge | Thiago Macieira (https://codereview.qt-project.org/43297), in Qt 5.1 | |
DONE | qunsetenv | David Faure (https://codereview.qt-project.org/44599), in Qt 5.1 | |
DONE | Restore QX11Info, in qtx11extras.git | Richard Moore and David Faure (https://codereview.qt-project.org/45266), in Qt 5.1 | |
DONE | QLockFile | David Faure (https://codereview.qt-project.org/46583), in Qt 5.1 | |
DONE | QDebug: coloring the method name (blue for debugs, red for warnings) | Olivier Goffart (https://codereview.qt-project.org/47358), in Qt 5.1 | |
DONE | QKeySequence to/from string | Kévin Ottens | |
DONE | QMenu: title feature | Kévin Ottens (https://codereview.qt-project.org/49242) | |
DONE | QMenu: keyboard navigation (from KMenu) | Kevin Ottens | |
DONE | Create QPA theme plugin for setting KDE palette, font, widget style, etc. (in KDE), will require extensions on the Qt side, look at KGlobalSettings, some of it is there | Kevin Ottens | |
DONE | Extend QPA theme plugin to use KIconLoader within QIcon::fromTheme() | Kevin Ottens | |
DONE | QTabWidget: give the possibility to hide the tabbar (used in many places if count is 0). Preferably called setTabBarHidden(bool) / isTabBarHidden() (then deprecate ktabwidget). RESULT: Since the exact same functionality can be achieved with tabBar()->hide(bool) and tabBar()->isHidden(), no methods have been added to QTabWidget and both KTabWidget methods have been deprecated. | David Gil | |
DONE | Make sure QDesktopServices can list the protocols it supports | Kevin Ottens (Turns out it's not even possible to know before hand with xdg-open for a start... It's not really essential anyway: cancelled) | |
DONE | Add support for default vs active shortcuts to QAction (implemented in KActionCollection instead) | Kevin Ottens
| |
IN PROGRESS | QUrl methods to replace the QUrlPathInfo attempt | David Faure (https://codereview.qt-project.org/44960) | |
IN PROGRESS | QCommandLineParser | Laszlo Papp (initially) / David Faure (now); see qtbase cli_parser branch (including pending review requests) and libkdeqt5staging in kdelibs | |
IN PROGRESS | QIcon: support for overlays | Martin Klapetek | |
TO DO | contribute natural-comparison to Qt5 (see KStringHandler). In Qt there is naturalCompare function but private and not as good as from KStringHandler. Thiago says: add the feature to QCollator.
apol: We cannot use QCollator until this is in: https://codereview.qt-project.org/50372, it's left to be seen how we can do this on platforms where ICU is not available. |
- | <{{{3}}}> |
IN PROGRESS | QLineEdit: support for clear button | Kevin Ottens https://codereview.qt-project.org/53155 + https://codereview.qt-project.org/53073 | |
DONE | QLineEdit: support for text squeezing | Kevin Ottens (only one user and half-broken feature anyway, cancelled) | |
IN PROGRESS | QLineEdit: support for URL drops (replace existing text, rather than append) | [email protected] | |
IN PROGRESS | QComboBox: support for URL drops (replace existing text, rather than append) | [email protected] | |
DONE | QTextEdit: support for place holder text like place holder text in QLineEdit | Benjamin Port (https://codereview.qt-project.org/53423) | |
IN PROGRESS | qDebug with categories, currently in an addon (playground/qlogger.git). Thiago says ok for QtCore, if it's not a monster | ? QTBUG-19536 | |
IN PROGRESS | Rewrite QKeySequence::StandardKey to get the default keys from QPA, not just an enum. In KDE we can make the shortcuts configurable this way. | David Edmundson | |
IN PROGRESS | QTabBar: port signals from KTabBar | Ivan Komissarov (https://codereview.qt-project.org/#change,29650) | |
DONE | Add the web color line edit to QColorDialog (KColorDialog has it) | David Gil (https://codereview.qt-project.org/53239) in Qt 5.2 | |
DONE | Add the color picker button to QColorDialog (KColorDialog has it) | David Gil (https://codereview.qt-project.org/53242) in Qt 5.2 | |
TO DO | QToolBar should take its default settings from the global settings when running in a Plasma Workspace session (see loadKDESettings from KToolBar) | Àlex Fiestas | <{{{3}}}> |
TO DO | QMainWindow should follow the KDE HIG when changing the window title in a Plasma Workspace session (see KMainWindow::setCaption) | Àlex Fiestas | <{{{3}}}> |
DONE | QInputDialog should have an equivalent of KInputDialog::getMultiLineText | David Gil (https://codereview.qt-project.org/55905) in Qt 5.2 | |
DONE | QInputDialog should have an equivalent of KInputDialog::getDouble with configurable step. RESULT: it's not really used and adding a step parameter or a new method makes the API ugly. Therefore, I abandon the patch. | David Gil (https://codereview.qt-project.org/54378) | |
DONE | For better usability, QInputDialog::getItem should use a QListView instead of a QComboBox, like KInputDialog::getItemList. RESULT: Abandoned. Adding another static method to QInputDialog is not needed, since the same result can be achieved with QInputDialog::setOption(QInputDialog::UseListViewForComboBoxItems) | David Gil | |
DONE | QFileDialog: add the QUrl equivalents of KFileDialog static methods to QFileDialog, should be possible to specify a optional list of protocols supported by the user code | Kevin Ottens (https://codereview.qt-project.org/51031) | |
DONE | QFileDialog: add QUrl based API for the non-static use of QFileDialog (as mentionned on (https://codereview.qt-project.org/51031) | Kevin Ottens | |
DONE | Make sure QNetworkAccessManager can list the protocols it supports | Kevin Ottens (https://codereview.qt-project.org/51088) | |
IN PROGRESS | Add icons to QLineEdit context menu (via qstyle?) | Aurélien Gâteau (https://codereview.qt-project.org/61221) | |
IN PROGRESS | Add icons to QTextBrowser context menu (via qstyle?) | Aurélien Gâteau (https://codereview.qt-project.org/#change,61229) | |
TO DO | Add support for "whatsthis:/text" urls to QTextBrowser | ?? | <{{{3}}}> |
TO DO | Allow to register a default syntax highlighter type for QTextEdit, the KDE backend would register the spell checking one coming from sonnet as default | ?? | <{{{3}}}> |
TO DO | Make sure the QPA plugin can properly react to setting changes | ? | <{{{3}}}> |
DONE | Restore the getenv+unsetenv _NET_STARTUP_INFO from Qt4 that got lost (work for the xcb backend, next step is using it kdbusservice.cpp) | David Faure (https://codereview.qt-project.org/54499) | |
TO DO | Restore QSessionManager from Qt4 that got broken | ? | <{{{3}}}> |
IN PROGRESS | Extend the QStyle API so that the styleHint() can control the default value for animated widgets (should animate or not by default?) | Àlex Fiestas | |
TO DO | Extend the QStyle API so that the styleHint() can control the default value QSplitter::opaqueResize | Rohan Garg <[email protected]> | <{{{3}}}> |
IN PROGRESS | Make sure QDialogButtonBox Ok button has Ctrl+Return as shortcut. https://codereview.qt-project.org/59140 | [email protected] | |
IN PROGRESS | Implement an equivalent of KPluginFactory for the new plugin system so that one module can contain more than one plugin type and create several instance | [email protected] | |
IN PROGRESS | Use Q_PLUGIN_METADATA instead of KPluginInfo | [email protected] | |
TO DO | Port features of KPrintDialog to QPrintDialog | ??? | <{{{3}}}> |
DONE | Add a "base" property to QSpinBox | Kevin Ottens |
Note: The qpa is withing staging/frameworkintegration/src/platformtheme