5.0-Feature-Targets

From Qt Wiki
Revision as of 12:09, 28 July 2018 by Aha 1980 (talk | contribs) (Converted bugreport links to qt.io)
Jump to navigation Jump to search
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

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