5.0-Feature-Targets: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
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 ‘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 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.nokia.com/browse/QTBUG-20885
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 (<span class="caps">QML</span> future proofing)
** 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 <span class="caps">QML</span> angle to this) (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).
** Try to unify QVariant::UserType and QMetaType::User (BC breakage).
** Introduce a static-less QMetaType <span class="caps">API</span>.
** 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 “blocker”? if it’s new <span class="caps">API</span>, it shouldn’t be here, as it can go in 5.1 — [[User:W00t|W00t]] 23:28, 1 January 2012 (<span class="caps">CET</span>)
** 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 <span class="caps">PCRE</span> for regexps.
** Use PCRE for regexps.
** Track development of <span class="caps">UTF</span>-16 <span class="caps">PCRE</span> <span class="caps">API</span> (http://bugs.exim.org/show_bug.cgi?id=1049).
** 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 <span class="caps">QML</span> documentation (current Doco says that we support only LeftButton + RightButton + MidButton. But we support Qt::XButton1 correctly, even in 4.x, and <span class="caps">ALL</span> the new Qt::MouseButton values work in 5.0.) <span class="caps">DONE</span>.
** 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 <span class="caps">AFTER</span> a second event (e.g., a mouse Motion event, or a second press).
** 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. <span class="caps">DONE</span>, with examples for both widgets and <span class="caps">QML</span>.
** Provide 'Many Mouse Buttons' examples. DONE, with examples for both widgets and QML.
** Finish coding on Plugins (<span class="caps">DONE</span>= xcb, xlib. Not finished= wayland, windows, cocoa.)
** Finish coding on Plugins (DONE= xcb, xlib. Not finished= wayland, windows, cocoa.)


* C++11 feature defines.
* C+''11 feature defines.''
** Q_DECL_OVERRIDE, Q_DECL_NEW, Q_DECL_FINAL etc.
'''''' 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 <span class="caps">API</span>s without potentially breaking SC
'''''' 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.
'''''' 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 <span class="caps">GCC</span> 4.7 will become more commonly used in the Qt5 lifetime.
'''''' 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)
'''''' 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==


== Gui ==
* QSystemTray
* QSystemTray
** Make it work with Lighthouse
'''''' 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 <span class="caps">API</span> (add <span class="caps">API</span> 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 <span class="caps">API</span> should ideally be in QtGui such that <span class="caps">QML</span> desktop components can use it as well.
* QAbstractScrollArea
* QAbstractScrollArea
** Add a viewportSizeHint() to return the size the viewport wants to be if no scrollbars were needed (cschleifenbaum, <span class="caps">KDAB</span>)
'''''' Add a viewportSizeHint() to return the size the viewport wants to be if no scrollbars were needed (cschleifenbaum, KDAB)'''''


==<span class="caps">PIM</span>==
== 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 <span class="caps">PIM</span> team intends to make a fair few changes to the <span class="caps">PIM</span> <span class="caps">API</span>s
* 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/>)''
* <span class="caps">SSL</span> errors (+ <span class="caps">OCSP</span> etc.): make it possible to display <span class="caps">SSL</span> errors without stalling QNetworkAccessManager (http://bugreports.qt.nokia.com/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
* Authentication: make it possible to display authentication dialog without stalling QNetworkAccessManager (https://bugreports.qt.nokia.com/browse/QTBUG-16251); this is obviously closely tied to above task
* rewrite cookie jar (https://bugreports.qt.io/browse/QTBUG-23145)
* rewrite cookie jar (https://bugreports.qt.nokia.com/browse/QTBUG-23145)
 
===Categories:===
 
* [[:Category:Developing Qt|Developing_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)
  • 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