blob: 5b431fca05bf0aafa6b4e10b524de7551f4bd69f [file] [log] [blame]
Qt 5.8 introduces many new features and improvements as well as bugfixes
over the 5.7.x series. For more details, refer to the online documentation
included in this distribution. The documentation is also available online:
http://doc.qt.io/qt-5/index.html
The Qt version 5.8 series is binary compatible with the 5.7.x series.
Applications compiled for 5.7 will continue to run with 5.8.
Some of the changes listed in this file include issue tracking numbers
corresponding to tasks in the Qt Bug Tracker:
https://bugreports.qt.io/
Each of these identifiers can be entered in the bug tracker to obtain more
information about a particular change.
****************************************************************************
* Important Behavior Changes *
****************************************************************************
- Control:
* Control::hoverEnabled has been made to inherit to children, to make it
possible to disable hover effects for a tree of controls in one place.
- Tumbler:
* Changed the default value of visibleItemCount to 5 to make it visually
clearer that it's a Tumbler.
* [QTBUG-53587] Changed the default value of wrap to be false when count
is less than visibleItemCount. Explicitly setting wrap overrides this
behavior.
****************************************************************************
* Controls *
****************************************************************************
- AbstractButton:
* A plain AbstractButton now calculates its implicit size based on the
implicit size of the content item plus paddings, and the implicit size
of the background item.
* [QTBUG-51554] The checkable property has been made accessible from
QML. Previously it was only exposed for Button and MenuItem, but it is
now available for any AbstractButton to make it possible to create
custom QML-based checkable buttons.
* [QTBUG-57085] Fixed auto-repeat to not cancel on the tiniest mouse/touch
move, but keep repeating until moved outside the button.
* Fixed press-and-hold for checkable buttons to not toggle the checked
state on release after press-and-hold.
- ButtonGroup:
* Added clicked(AbstractButton) signal for centralized click handling for
grouped buttons.
- ComboBox:
* [QTBUG-56884] Added handling for Home and End keys.
* [QTBUG-56884] Added missing keyboard search functionality.
* [QTBUG-54935] Added a flat property that provides more suitable looks
for using ComboBox in a ToolBar.
- Container:
* Added incrementCurrentIndex() and decrementCurrentIndex() methods for
changing the current index without losing its property binding.
* A plain Container now calculates its implicit size based on the
implicit size of the content item plus paddings, and the implicit size
of the background item.
- Control:
* A plain Control now calculates its implicit size based on the implicit
size of the content item plus paddings, and the implicit size of the
background item.
- Dialog:
* Added a new Dialog type to provide convenience for handling dialog
popups. Dialog integrates with DialogButtonBox, and provides convenient
accepted() and rejected() signals.
- DialogButtonBox:
* Added DialogButtonBox to provide convenience for handling dialog buttons.
DialogButtonBox is able to create a set of standard buttons with a single
line of QML code, and provides convenient accepted() and rejected() signals.
- Drawer:
* [QTBUG-55360] Made it possible to control the vertical position of a
horizontal drawer, and vice versa. This allows placing a drawer below
a header/toolbar, for instance.
- MenuSeparator:
* [QTBUG-54862] Added MenuSeparator to visually distinguish between groups
of items in a menu.
- Page:
* [QTBUG-56709] Page has been made to calculate its implicit size based
on the implicit size of the header, content, and footer plus paddings,
and the implicit size of the background item.
- Popup:
* [QTBUG-56025] Fixed to respect explicitly set width and height.
* [QTBUG-56562] The QML Shortcut type from QtQuick has been fixed to
respect modal popups from QtQuick Controls 2.
* [QTBUG-56755] Fixed binding loops with size-dependent positioning.
- RangeSlider:
* [QTBUG-50003] Added first.hovered and second.hovered properties that
hold whether the respective handles are hovered.
- RoundButton:
* [QTBUG-54967] Added RoundButton.
- Slider:
* [QTBUG-53847] Added valueAt() method for converting any position to a
value in the slider's range. It is also possible to use valueAt() to get
continuous value updates.
- SpinBox:
* [QTBUG-50003] Added up.hovered and down.hovered properties that hold
whether the respective buttons are hovered.
* [QTBUG-57085] Fixed auto-repeat to not cancel on the tiniest mouse/touch
move, but keep repeating until moved outside the button.
- StackView:
* Added attached StackView.activated(), StackView.deactivated(),
StackView.activating(), and StackView.deactivating() signals that are
convenient for initializing and cleaning up item-specific resources.
* [QTBUG-55405] Added StackView.removed() attached signal to provide a
way to delete items that StackView won't.
* Made it possible to choose the visual transition type for any operation.
This allows using for example push and pop transitions with replace(),
which allows implementing an "infinite" back and forward navigation
pattern while keeping the amount of instantiated items constant.
- SwipeDelegate:
* [QTBUG-54651] Added swipe.close() for setting swipe.position to 0.
* [QTBUG-54651] Added swipe.completed() for responding to completion of
swipes.
* [QTBUG-54651] Added attached SwipeDelegate.pressed property and
SwipeDelegate.clicked() signal for detecting when non-interactive
left/right/behind items are pressed and clicked.
* [QTBUG-56312][QTBUG-57285] Fixed spurious clicked() signal emission when
released outside the delegate.
* [QTBUG-57271] Fixed swipes that begin over a child item of a delegate.
- SwipeView:
* Added SwipeView.isNextItem and SwipeView.isPreviousItem attached
properties to make it straight-forward to use Loader for unloading
pages that are outside the reach.
* [QTBUG-54268] Added interactive property for controlling whether swipe
interaction is enabled.
- TextArea:
* [QTBUG-51009] Added pressed() and released() signals.
- TextField:
* [QTBUG-51009] Added pressed() and released() signals.
* Aligned the name of the pressAndHold() argument with TextArea
- ToolSeparator:
* [QTBUG-54862] Added ToolSeparator to visually distinguish between groups
of items in a toolbar by separating them with a line. It can be used in
horizontal or vertical toolbars.
- Tumbler:
* [QTBUG-53587] Added wrap property to control whether or not tumbler
wraps when it reaches the top and bottom.
****************************************************************************
* Styles *
****************************************************************************
- Added support for specifying the fallback style for custom styles via
:/qtquickcontrols2.conf, QT_QUICK_CONTROLS_FALLBACK_STYLE or
QQuickStyle::setFallbackStyle().
Material
--------
- [QTBUG-50003] Implemented ripple and hover effects.
- Fixed (optional) elevation effects for Frame, GroupBox, Pane, and
TabBar.
- Added Material.System theme enum value, that can be used to let the
Material style choose either the light or dark theme based on the
system theme colors.
Universal
---------
- [QTBUG-50003] Implemented hover effects
- Added Universal.System theme enum value, that can be used to let the
Universal style choose either the light or dark theme based on the
system theme colors.
****************************************************************************
* Platform *
****************************************************************************
- Introduced a new experimental Qt Labs Platform module that provides the
following native (Qt Widgets fallback when not available) QML types:
* ColorDialog
* FileDialog
* FolderDialog
* FontDialog
* Menu
* MenuBar
* MenuItem
* MenuItemGroup
* MenuSeparator
* MessageDialog
* StandardPaths
* SystemTrayIcon