5.0-Feature-Targets: Difference between revisions
No edit summary |
No edit summary |
||
(10 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
=Qt 5 Feature Targets= | {{Outdated|reason=This refers to before Qt 5.0.0 was released and as such is kept for historical purposes only.}} | ||
[[Category:Developing Qt::Qt5]] | |||
= Qt 5 Feature Targets = | |||
This page is a listing of planned and pending changes to Qt which likely include changes which are not source or behavior compatible with Qt4 or current Qt5 master (pending features). | This page is a listing of planned and pending changes to Qt which likely include changes which are not source or behavior compatible with Qt4 or current Qt5 master (pending features). | ||
The features on this list are | The features on this list are 'Pony-features'. They might not happen even if we really want them. Whether they happen depends on time schedule and getting the work done and reviewed in before freeze. | ||
The features that are being tracked for the release can be seen in the bugtracker as https://bugreports.qt. | The features that are being tracked for the release can be seen in the bugtracker as https://bugreports.qt.io/browse/QTBUG-20885 | ||
==Core== | == Core == | ||
* Itemmodels and itemviews (Stephen Kelly) | * Itemmodels and itemviews (Stephen Kelly) | ||
Line 14: | Line 18: | ||
** review what other changes need to be made to handle enhanced new signals | ** review what other changes need to be made to handle enhanced new signals | ||
** Scan bugreports for requested BiC features to see if any make sense | ** Scan bugreports for requested BiC features to see if any make sense | ||
** Investigate if the changes needed for a better QCompletion system need to come from the itemmodels ( | ** Investigate if the changes needed for a better QCompletion system need to come from the itemmodels (QML future proofing) | ||
* QUrl (Thiago Macieira) | * QUrl (Thiago Macieira) | ||
Line 22: | Line 26: | ||
* Q_GLOBAL_STATIC (Thiago Macieira) | * Q_GLOBAL_STATIC (Thiago Macieira) | ||
** Get over hurdles to get it submitted | ** Get over hurdles to get it submitted | ||
** Get it reviewed | ** Get it reviewed | ||
* QAtomic* implementation changes (Thiago Macieira) | * QAtomic* implementation changes (Thiago Macieira) | ||
** Get over hurdles to get it submitted | ** Get over hurdles to get it submitted | ||
** Get it reviewed | ** Get it reviewed | ||
* Coarse timer support (Thiago Macieira) | * Coarse timer support (Thiago Macieira) | ||
** Get over hurdles to get it submitted | ** Get over hurdles to get it submitted | ||
** Get it reviewed | ** Get it reviewed | ||
* QVariant/QMetaType | * QVariant/QMetaType | ||
** Get QObject detection finished (http://codereview.qt.io/#change,10409) (depends on QMetaType rewrite in other changes). (Stephen Kelly) | ** Get QObject detection finished (http://codereview.qt.io/#change,10409) (depends on QMetaType rewrite in other changes). (Stephen Kelly) | ||
** Investigate lists and other lookups with QVariant (There is a | ** Investigate lists and other lookups with QVariant (There is a QML angle to this) (depends on QMetaType rewrite in other changes). (Stephen Kelly) | ||
** Try to unify QVariant::UserType and QMetaType::User (BC breakage). | ** Try to unify QVariant::UserType and QMetaType::User (BC breakage). | ||
** Introduce a static-less QMetaType | ** Introduce a static-less QMetaType API. | ||
* QDateTime, QCalendarSystem and QLocale (John Layt) | * QDateTime, QCalendarSystem and QLocale (John Layt) | ||
Line 55: | Line 59: | ||
* QCommandLineArguments (Stephen Bryant, see qt5-feedback list) | * QCommandLineArguments (Stephen Bryant, see qt5-feedback list) | ||
** Needs to be finished and integrated into Qt | ** Needs to be finished and integrated into Qt | ||
** is this really a 5.0 | ** is this really a 5.0 "blocker"? if it's new API, it shouldn't be here, as it can go in 5.1 — [[User:W00t|W00t]] 23:28, 1 January 2012 (CET) | ||
* QRegexp (??) | * QRegexp (??) | ||
** Use | ** Use PCRE for regexps. | ||
** Track development of | ** Track development of UTF-16 PCRE API (http://bugs.exim.org/show_bug.cgi?id=1049). | ||
* Support for 27 Mouse Buttons: Documentation + possible bugfixes + examples (Rick Stockton) | * Support for 27 Mouse Buttons: Documentation + possible bugfixes + examples (Rick Stockton) | ||
** Fix | ** Fix QML documentation (current Doco says that we support only LeftButton + RightButton + MidButton. But we support Qt::XButton1 correctly, even in 4.x, and ALL the new Qt::MouseButton values work in 5.0.) DONE. | ||
** Attempt to determine (and fix) Qt non-response to Button press until | ** Attempt to determine (and fix) Qt non-response to Button press until AFTER a second event (e.g., a mouse Motion event, or a second press). | ||
** Provide | ** Provide 'Many Mouse Buttons' examples. DONE, with examples for both widgets and QML. | ||
** Finish coding on Plugins ( | ** Finish coding on Plugins (DONE= xcb, xlib. Not finished= wayland, windows, cocoa.) | ||
* C+ | * C+''11 feature defines.'' | ||
'''''' Q_DECL_OVERRIDE, Q_DECL_NEW, Q_DECL_FINAL etc.''''' | |||
'''''' While these could be added in Qt 5.1, we wouldn't be able to use them on existing APIs without potentially breaking SC''''' | |||
'''''' qdoc would need to extract them from the code and generate indications in the documentation about them.''''' | |||
'''''' Not supported in many compilers yet, but that's not a problem, because GCC 4.7 will become more commonly used in the Qt5 lifetime. ''''' | |||
* Text subsystem (C.Boemann and rest of Calligra Words team). | * Text subsystem (C.Boemann and rest of Calligra Words team). | ||
'''''' Add a way to have per-line-tabposition-offset, so you can do firstline indent and text run around without messing up tabpositions. Qt5 change important because it will break binary compatibility (http://codereview.qt.io/#change,11936<nowiki/>)''''' | |||
== Gui == | |||
* QSystemTray | * QSystemTray | ||
'''''' Make it work with Lighthouse''''' | |||
==Widgets== | == Widgets == | ||
* Complete the theming API (add API to /fix up/ reorganize) the Widgets: QGuiPlatformPluginInterface, Gui: QPlatformTheme classes such that the Widgets work satisfactorily and have as little platform-specific code as possible. The theming API should ideally be in QtGui such that QML desktop components can use it as well. | |||
* Complete the theming | |||
* QAbstractScrollArea | * QAbstractScrollArea | ||
'''''' Add a viewportSizeHint() to return the size the viewport wants to be if no scrollbars were needed (cschleifenbaum, KDAB)''''' | |||
== | == PIM == | ||
* Paivi Rajala has mentioned that the PIM team intends to make a fair few changes to the PIM APIs | |||
* Paivi Rajala has mentioned that the | |||
* Friedrich Kossebau and Adrien Bustany (amongst others) have input regarding possible changes | * Friedrich Kossebau and Adrien Bustany (amongst others) have input regarding possible changes | ||
* Out of interest, how are add-on modules handles with respect to release cycles? | * Out of interest, how are add-on modules handles with respect to release cycles? | ||
==Network== | == Network == | ||
* SSL errors ('' OCSP etc.): make it possible to display SSL errors without stalling QNetworkAccessManager (http://bugreports.qt.io/browse/QTBUG-19032<nowiki/>)'' | |||
* | * Authentication: make it possible to display authentication dialog without stalling QNetworkAccessManager (https://bugreports.qt.io/browse/QTBUG-16251); this is obviously closely tied to above task | ||
* Authentication: make it possible to display authentication dialog without stalling QNetworkAccessManager (https://bugreports.qt. | * rewrite cookie jar (https://bugreports.qt.io/browse/QTBUG-23145) | ||
* rewrite cookie jar (https://bugreports.qt. | |||
Latest revision as of 10:42, 9 January 2020
IMPORTANT: The content of this page is outdated. Reason: This refers to before Qt 5.0.0 was released and as such is kept for historical purposes only. If you have checked or updated this page and found the content to be suitable, please remove this notice. |
Qt 5 Feature Targets
This page is a listing of planned and pending changes to Qt which likely include changes which are not source or behavior compatible with Qt4 or current Qt5 master (pending features).
The features on this list are 'Pony-features'. They might not happen even if we really want them. Whether they happen depends on time schedule and getting the work done and reviewed in before freeze.
The features that are being tracked for the release can be seen in the bugtracker as https://bugreports.qt.io/browse/QTBUG-20885
Core
- Itemmodels and itemviews (Stephen Kelly)
- Include parents QModelIndexes in layoutChange signals virtual methods used in views.
- Include roles argument in dataChanged related signals in views and delegates (new virtual methods may make sense at least in the delegates).
- review what other changes need to be made to handle enhanced new signals
- Scan bugreports for requested BiC features to see if any make sense
- Investigate if the changes needed for a better QCompletion system need to come from the itemmodels (QML future proofing)
- QUrl (Thiago Macieira)
- Get over hurdles to get it submitted
- Get it reviewed
- Q_GLOBAL_STATIC (Thiago Macieira)
- Get over hurdles to get it submitted
- Get it reviewed
- QAtomic* implementation changes (Thiago Macieira)
- Get over hurdles to get it submitted
- Get it reviewed
- Coarse timer support (Thiago Macieira)
- Get over hurdles to get it submitted
- Get it reviewed
- QVariant/QMetaType
- Get QObject detection finished (http://codereview.qt.io/#change,10409) (depends on QMetaType rewrite in other changes). (Stephen Kelly)
- Investigate lists and other lookups with QVariant (There is a QML angle to this) (depends on QMetaType rewrite in other changes). (Stephen Kelly)
- Try to unify QVariant::UserType and QMetaType::User (BC breakage).
- Introduce a static-less QMetaType API.
- QDateTime, QCalendarSystem and QLocale (John Layt)
- Need to get updates submitted. Likely contains source or behavior incompatibilities.
- QDateTime needs an enhanced time spec system.
- KDebug features into QDebug
- Turning debug output on/off at runtime, per area
- Logging to file, possibly per area
- Outputting the process name, the method name, the file:line, and a timestamp, all optionally.
- QProcess (Ossi)
- Adding features known from KProcess/KShell
- i18n (Ossi)
- Evaluate if needs are met by current system or are changes needed.
- QCommandLineArguments (Stephen Bryant, see qt5-feedback list)
- Needs to be finished and integrated into Qt
- is this really a 5.0 "blocker"? if it's new API, it shouldn't be here, as it can go in 5.1 — W00t 23:28, 1 January 2012 (CET)
- QRegexp (??)
- Use PCRE for regexps.
- Track development of UTF-16 PCRE API (http://bugs.exim.org/show_bug.cgi?id=1049).
- Support for 27 Mouse Buttons: Documentation + possible bugfixes + examples (Rick Stockton)
- Fix QML documentation (current Doco says that we support only LeftButton + RightButton + MidButton. But we support Qt::XButton1 correctly, even in 4.x, and ALL the new Qt::MouseButton values work in 5.0.) DONE.
- Attempt to determine (and fix) Qt non-response to Button press until AFTER a second event (e.g., a mouse Motion event, or a second press).
- Provide 'Many Mouse Buttons' examples. DONE, with examples for both widgets and QML.
- Finish coding on Plugins (DONE= xcb, xlib. Not finished= wayland, windows, cocoa.)
- C+11 feature defines.
' Q_DECL_OVERRIDE, Q_DECL_NEW, Q_DECL_FINAL etc. ' While these could be added in Qt 5.1, we wouldn't be able to use them on existing APIs without potentially breaking SC ' qdoc would need to extract them from the code and generate indications in the documentation about them. ' Not supported in many compilers yet, but that's not a problem, because GCC 4.7 will become more commonly used in the Qt5 lifetime.
- Text subsystem (C.Boemann and rest of Calligra Words team).
' Add a way to have per-line-tabposition-offset, so you can do firstline indent and text run around without messing up tabpositions. Qt5 change important because it will break binary compatibility (http://codereview.qt.io/#change,11936)
Gui
- QSystemTray
' Make it work with Lighthouse
Widgets
- Complete the theming API (add API to /fix up/ reorganize) the Widgets: QGuiPlatformPluginInterface, Gui: QPlatformTheme classes such that the Widgets work satisfactorily and have as little platform-specific code as possible. The theming API should ideally be in QtGui such that QML desktop components can use it as well.
- QAbstractScrollArea
' Add a viewportSizeHint() to return the size the viewport wants to be if no scrollbars were needed (cschleifenbaum, KDAB)
PIM
- Paivi Rajala has mentioned that the PIM team intends to make a fair few changes to the PIM APIs
- Friedrich Kossebau and Adrien Bustany (amongst others) have input regarding possible changes
- Out of interest, how are add-on modules handles with respect to release cycles?
Network
- SSL errors ( OCSP etc.): make it possible to display SSL errors without stalling QNetworkAccessManager (http://bugreports.qt.io/browse/QTBUG-19032)
- Authentication: make it possible to display authentication dialog without stalling QNetworkAccessManager (https://bugreports.qt.io/browse/QTBUG-16251); this is obviously closely tied to above task
- rewrite cookie jar (https://bugreports.qt.io/browse/QTBUG-23145)