summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.qmake.conf2
-rw-r--r--dist/changes-5.10.038
-rw-r--r--examples/quickcontrols/controls/tableview/src/sortfilterproxymodel.cpp4
-rw-r--r--examples/quickcontrols/extras/dashboard/qml/TurnIndicator.qml10
-rw-r--r--examples/quickcontrols/extras/dashboard/qml/ValueSource.qml6
-rw-r--r--src/controls/Calendar.qml25
-rw-r--r--src/controls/Slider.qml10
-rw-r--r--src/controls/Styles/Android/CalendarStyle.qml2
-rw-r--r--src/controls/Styles/Android/qmldir25
-rw-r--r--src/controls/Styles/Base/CalendarStyle.qml8
-rw-r--r--src/controls/plugin.cpp5
-rw-r--r--src/controls/plugins.qmltypes171
-rw-r--r--src/dialogs/dialogs.pro2
-rw-r--r--src/dialogs/doc/qtquickdialogs.qdocconf2
-rw-r--r--src/dialogs/plugin.cpp5
-rw-r--r--src/dialogs/qquickabstractfiledialog.cpp8
-rw-r--r--src/dialogs/qquickabstractfiledialog_p.h4
-rw-r--r--src/dialogs/qquickplatformfiledialog.cpp14
-rw-r--r--src/extras/Private/qquickmathutils.cpp8
-rw-r--r--src/extras/Styles/Flat/CalendarStyle.qml4
-rw-r--r--src/extras/doc/qtquickextras.qdocconf3
-rw-r--r--src/extras/doc/src/qtquickextras-examples.qdoc37
-rw-r--r--tests/auto/auto.pro3
-rw-r--r--tests/auto/controls/data/tst_calendar.qml18
-rw-r--r--tests/auto/controls/data/tst_combobox.qml5
-rw-r--r--tests/auto/controls/data/tst_slider.qml25
-rw-r--r--tests/auto/customcontrolsstyle/tst_customcontrolsstyle.cpp6
-rw-r--r--tests/auto/dialogs/tst_dialogs.cpp23
-rw-r--r--tests/auto/extras/data/tst_picture.qml6
-rw-r--r--tests/auto/extras/data/tst_statusindicator.qml6
-rw-r--r--tests/manual/viewinqwidget/main.qml16
31 files changed, 404 insertions, 97 deletions
diff --git a/.qmake.conf b/.qmake.conf
index 5e72674d..b659d651 100644
--- a/.qmake.conf
+++ b/.qmake.conf
@@ -2,4 +2,4 @@ load(qt_build_config)
CONFIG += warning_clean
android|ios|qnx|winrt|isEmpty(QT.widgets.name): CONFIG += no_desktop
-MODULE_VERSION = 5.9.4
+MODULE_VERSION = 5.10.1
diff --git a/dist/changes-5.10.0 b/dist/changes-5.10.0
new file mode 100644
index 00000000..9929a04b
--- /dev/null
+++ b/dist/changes-5.10.0
@@ -0,0 +1,38 @@
+Qt 5.10 introduces many new features and improvements as well as bugfixes
+over the 5.9.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.10 series is binary compatible with the 5.10.x series.
+Applications compiled for 5.9 will continue to run with 5.10.
+
+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.
+
+****************************************************************************
+* Qt 5.10.0 Changes *
+****************************************************************************
+
+Calendar
+--------
+
+ - [QTBUG-60217] Added locale property, which affects which day is shown as
+ the first day of the week, as well as date and day name localization.
+
+FileDialog
+----------
+
+ - [QTBUG-39230] Added defaultSuffix property, that is added to selected
+ files that have no suffix specified.
+
+Slider
+------
+
+ - [QTBUG-59271] Added wheelEnabled property, which makes it possible to
+ disable mouse wheel.
diff --git a/examples/quickcontrols/controls/tableview/src/sortfilterproxymodel.cpp b/examples/quickcontrols/controls/tableview/src/sortfilterproxymodel.cpp
index 55f76d67..b93641a9 100644
--- a/examples/quickcontrols/controls/tableview/src/sortfilterproxymodel.cpp
+++ b/examples/quickcontrols/controls/tableview/src/sortfilterproxymodel.cpp
@@ -54,8 +54,8 @@
SortFilterProxyModel::SortFilterProxyModel(QObject *parent) : QSortFilterProxyModel(parent), m_complete(false)
{
- connect(this, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SIGNAL(countChanged()));
- connect(this, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SIGNAL(countChanged()));
+ connect(this, &QSortFilterProxyModel::rowsInserted, this, &SortFilterProxyModel::countChanged);
+ connect(this, &QSortFilterProxyModel::rowsRemoved, this, &SortFilterProxyModel::countChanged);
}
int SortFilterProxyModel::count() const
diff --git a/examples/quickcontrols/extras/dashboard/qml/TurnIndicator.qml b/examples/quickcontrols/extras/dashboard/qml/TurnIndicator.qml
index b132510e..c0fb6720 100644
--- a/examples/quickcontrols/extras/dashboard/qml/TurnIndicator.qml
+++ b/examples/quickcontrols/extras/dashboard/qml/TurnIndicator.qml
@@ -59,7 +59,7 @@ Item {
property bool flashing: false
scale: direction === Qt.LeftArrow ? 1 : -1
-
+//! [1]
Timer {
id: flashTimer
interval: 500
@@ -67,7 +67,8 @@ Item {
repeat: true
onTriggered: flashing = !flashing
}
-
+//! [1]
+//! [2]
function paintOutlinePath(ctx) {
ctx.beginPath();
ctx.moveTo(0, height * 0.5);
@@ -79,7 +80,7 @@ Item {
ctx.lineTo(0.6 * width, height);
ctx.lineTo(0, height * 0.5);
}
-
+//! [2]
Canvas {
id: backgroundCanvas
anchors.fill: parent
@@ -95,7 +96,7 @@ Item {
ctx.stroke();
}
}
-
+//! [3]
Canvas {
id: foregroundCanvas
anchors.fill: parent
@@ -111,4 +112,5 @@ Item {
ctx.fill();
}
}
+//! [3]
}
diff --git a/examples/quickcontrols/extras/dashboard/qml/ValueSource.qml b/examples/quickcontrols/extras/dashboard/qml/ValueSource.qml
index 7225be48..44913621 100644
--- a/examples/quickcontrols/extras/dashboard/qml/ValueSource.qml
+++ b/examples/quickcontrols/extras/dashboard/qml/ValueSource.qml
@@ -49,7 +49,7 @@
****************************************************************************/
import QtQuick 2.2
-
+//! [0]
Item {
id: valueSource
property real kph: 0
@@ -79,6 +79,7 @@ Item {
property int turnSignal: gear == "P" && !start ? randomDirection() : -1
property real temperature: 0.6
property bool start: true
+//! [0]
function randomDirection() {
return Math.random() > 0.5 ? Qt.LeftArrow : Qt.RightArrow;
@@ -101,7 +102,7 @@ Item {
SequentialAnimation {
loops: Animation.Infinite
-
+//! [1]
ParallelAnimation {
NumberAnimation {
target: valueSource
@@ -120,6 +121,7 @@ Item {
duration: 3000
}
}
+//! [1]
ParallelAnimation {
// We changed gears so we lost a bit of speed.
NumberAnimation {
diff --git a/src/controls/Calendar.qml b/src/controls/Calendar.qml
index c5347c51..a5b32210 100644
--- a/src/controls/Calendar.qml
+++ b/src/controls/Calendar.qml
@@ -37,8 +37,8 @@
**
****************************************************************************/
-import QtQuick 2.2
-import QtQuick.Controls 1.2
+import QtQuick 2.9
+import QtQuick.Controls 1.5
import QtQuick.Controls.Styles 1.1
import QtQuick.Controls.Private 1.0
@@ -202,20 +202,27 @@ Control {
property int dayOfWeekFormat: Locale.ShortFormat
/*!
- The locale that this calendar should use to display itself.
+ \qmlproperty object Calendar::locale
+ \since QtQuick.Controls 1.6
- Affects how dates and day names are localized, as well as which
- day is considered the first in a week.
+ This property controls the locale that this calendar uses to display
+ itself.
- To set an Australian locale, for example:
+ The locale affects how dates and day names are localized, as well as
+ which day is considered the first in a week.
+
+ The following example sets an Australian locale:
\code
locale: Qt.locale("en_AU")
\endcode
- The default locale is \c Qt.locale().
+ The default value is equivalent to \c Qt.locale().
*/
- property var __locale: Qt.locale()
+ property var locale: Qt.locale()
+
+ // left for compatibility reasons; can be removed in next minor version/Qt 6
+ property alias __locale: calendar.locale
/*!
\internal
@@ -224,7 +231,7 @@ Control {
populate the dates available to the user.
*/
property CalendarModel __model: CalendarModel {
- locale: calendar.__locale
+ locale: calendar.locale
// TODO: don't set the hour when QTBUG-56787 is fixed
visibleDate: new Date(visibleYear, visibleMonth, 1, 12)
diff --git a/src/controls/Slider.qml b/src/controls/Slider.qml
index aa5fe07e..e290640e 100644
--- a/src/controls/Slider.qml
+++ b/src/controls/Slider.qml
@@ -171,6 +171,16 @@ Control {
*/
property bool tickmarksEnabled: false
+ /*!
+ \qmlproperty bool Slider::wheelEnabled
+
+ This property determines whether the control handles wheel events.
+ The default value is \c true.
+
+ \since QtQuick.Controls 1.6
+ */
+ property alias wheelEnabled: wheelarea.enabled
+
/*! \internal */
property bool __horizontal: orientation === Qt.Horizontal
diff --git a/src/controls/Styles/Android/CalendarStyle.qml b/src/controls/Styles/Android/CalendarStyle.qml
index 449cc497..52b02bff 100644
--- a/src/controls/Styles/Android/CalendarStyle.qml
+++ b/src/controls/Styles/Android/CalendarStyle.qml
@@ -83,7 +83,7 @@ CalendarStyle {
LabelStyle {
id: dayOfWeek
anchors.centerIn: parent
- text: control.__locale.dayName(styleData.dayOfWeek, control.dayOfWeekFormat)
+ text: control.locale.dayName(styleData.dayOfWeek, control.dayOfWeekFormat)
focused: control.activeFocus
window_focused: control.Window.active
styleDef: AndroidStyle.styleDef.calendarViewStyle.CalendarView_weekDayTextAppearance
diff --git a/src/controls/Styles/Android/qmldir b/src/controls/Styles/Android/qmldir
index 21bff691..d07efdb6 100644
--- a/src/controls/Styles/Android/qmldir
+++ b/src/controls/Styles/Android/qmldir
@@ -2,3 +2,28 @@ module QtQuick.Controls.Styles.Android
plugin qtquickcontrolsandroidstyleplugin
classname QtQuickControlsAndroidStylePlugin
singleton AndroidStyle 1.0 AndroidStyle.qml
+internal ApplicationWindowStyle ApplicationWindowStyle.qml
+internal BusyIndicatorStyle BusyIndicatorStyle.qml
+internal ButtonStyle ButtonStyle.qml
+internal CalendarStyle CalendarStyle.qml
+internal CheckBoxStyle CheckBoxStyle.qml
+internal ComboBoxStyle ComboBoxStyle.qml
+internal CursorHandleStyle CursorHandleStyle.qml
+internal FocusFrameStyle FocusFrameStyle.qml
+internal GroupBoxStyle GroupBoxStyle.qml
+internal LabelStyle LabelStyle.qml
+internal MenuBarStyle MenuBarStyle.qml
+internal MenuStyle MenuStyle.qml
+internal ProgressBarStyle ProgressBarStyle.qml
+internal RadioButtonStyle RadioButtonStyle.qml
+internal ScrollViewStyle ScrollViewStyle.qml
+internal SliderStyle SliderStyle.qml
+internal SpinBoxStyle SpinBoxStyle.qml
+internal StatusBarStyle StatusBarStyle.qml
+internal SwitchStyle SwitchStyle.qml
+internal TableViewStyle TableViewStyle.qml
+internal TabViewStyle TabViewStyle.qml
+internal TextAreaStyle TextAreaStyle.qml
+internal TextFieldStyle TextFieldStyle.qml
+internal ToolBarStyle ToolBarStyle.qml
+internal ToolButtonStyle ToolButtonStyle.qml
diff --git a/src/controls/Styles/Base/CalendarStyle.qml b/src/controls/Styles/Base/CalendarStyle.qml
index 5999dcac..d1b172e0 100644
--- a/src/controls/Styles/Base/CalendarStyle.qml
+++ b/src/controls/Styles/Base/CalendarStyle.qml
@@ -320,7 +320,7 @@ Style {
color: gridVisible ? "#fcfcfc" : "transparent"
implicitHeight: Math.round(TextSingleton.implicitHeight * 2.25)
Label {
- text: control.__locale.dayName(styleData.dayOfWeek, control.dayOfWeekFormat)
+ text: control.locale.dayName(styleData.dayOfWeek, control.dayOfWeekFormat)
anchors.centerIn: parent
}
}
@@ -397,8 +397,8 @@ Style {
active: control.navigationBarVisible
property QtObject styleData: QtObject {
- readonly property string title: control.__locale.standaloneMonthName(control.visibleMonth)
- + new Date(control.visibleYear, control.visibleMonth, 1).toLocaleDateString(control.__locale, " yyyy")
+ readonly property string title: control.locale.standaloneMonthName(control.visibleMonth)
+ + new Date(control.visibleYear, control.visibleMonth, 1).toLocaleDateString(control.locale, " yyyy")
}
}
@@ -413,7 +413,7 @@ Style {
Repeater {
id: repeater
model: CalendarHeaderModel {
- locale: control.__locale
+ locale: control.locale
}
Loader {
id: dayOfWeekDelegateLoader
diff --git a/src/controls/plugin.cpp b/src/controls/plugin.cpp
index 2590d892..f78098ec 100644
--- a/src/controls/plugin.cpp
+++ b/src/controls/plugin.cpp
@@ -121,7 +121,10 @@ static const struct {
{ "TreeView", 1, 4 },
{ "TextArea", 1, 5 },
- { "TreeView", 1, 5 }
+ { "TreeView", 1, 5 },
+
+ { "Calendar", 1, 6 },
+ { "Slider", 1, 6 }
};
QtQuickControls1Plugin::QtQuickControls1Plugin(QObject *parent) : QQmlExtensionPlugin(parent)
diff --git a/src/controls/plugins.qmltypes b/src/controls/plugins.qmltypes
index cb509bcb..58b9c6cd 100644
--- a/src/controls/plugins.qmltypes
+++ b/src/controls/plugins.qmltypes
@@ -10,10 +10,9 @@ Module {
dependencies: [
"QtGraphicalEffects 1.0",
"QtQml.Models 2.2",
- "QtQuick 2.6",
+ "QtQuick 2.9",
"QtQuick.Controls.Styles 1.4",
"QtQuick.Extras 1.4",
- "QtQuick.Extras.Private.CppUtils 1.1",
"QtQuick.Layouts 1.1",
"QtQuick.Window 2.2"
]
@@ -673,7 +672,7 @@ Module {
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "data"
- Property { name: "menuBar"; type: "MenuBar_QMLTYPE_2"; isPointer: true }
+ Property { name: "menuBar"; type: "MenuBar_QMLTYPE_3"; isPointer: true }
Property { name: "toolBar"; type: "QQuickItem"; isPointer: true }
Property { name: "statusBar"; type: "QQuickItem"; isPointer: true }
Property { name: "style"; type: "QQmlComponent"; isPointer: true }
@@ -681,12 +680,7 @@ Module {
Property { name: "__qwindowsize_max"; type: "double"; isReadonly: true }
Property { name: "__width"; type: "double" }
Property { name: "__height"; type: "double" }
- Property {
- name: "contentItem"
- type: "ContentItem_QMLTYPE_10"
- isReadonly: true
- isPointer: true
- }
+ Property { name: "contentItem"; type: "ContentItem_QMLTYPE_1"; isReadonly: true; isPointer: true }
Property { name: "__style"; type: "QObject"; isReadonly: true; isPointer: true }
Property { name: "__panel"; type: "QObject"; isReadonly: true; isPointer: true }
Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
@@ -752,11 +746,73 @@ Module {
Property { name: "weekNumbersVisible"; type: "bool" }
Property { name: "navigationBarVisible"; type: "bool" }
Property { name: "dayOfWeekFormat"; type: "int" }
+ Property { name: "locale"; type: "QVariant" }
+ Property { name: "__model"; type: "QQuickCalendarModel1"; isPointer: true }
+ Property { name: "selectedDate"; type: "QDate" }
+ Property { name: "minimumDate"; type: "QDate" }
+ Property { name: "maximumDate"; type: "QDate" }
Property { name: "__locale"; type: "QVariant" }
+ Signal {
+ name: "hovered"
+ Parameter { name: "date"; type: "QDateTime" }
+ }
+ Signal {
+ name: "pressed"
+ Parameter { name: "date"; type: "QDateTime" }
+ }
+ Signal {
+ name: "released"
+ Parameter { name: "date"; type: "QDateTime" }
+ }
+ Signal {
+ name: "clicked"
+ Parameter { name: "date"; type: "QDateTime" }
+ }
+ Signal {
+ name: "doubleClicked"
+ Parameter { name: "date"; type: "QDateTime" }
+ }
+ Signal {
+ name: "pressAndHold"
+ Parameter { name: "date"; type: "QDateTime" }
+ }
+ Method { name: "showPreviousMonth"; type: "QVariant" }
+ Method { name: "showNextMonth"; type: "QVariant" }
+ Method { name: "showPreviousYear"; type: "QVariant" }
+ Method { name: "showNextYear"; type: "QVariant" }
+ Method { name: "__selectPreviousMonth"; type: "QVariant" }
+ Method { name: "__selectNextMonth"; type: "QVariant" }
+ Method { name: "__selectPreviousWeek"; type: "QVariant" }
+ Method { name: "__selectNextWeek"; type: "QVariant" }
+ Method { name: "__selectFirstDayOfMonth"; type: "QVariant" }
+ Method { name: "__selectLastDayOfMonth"; type: "QVariant" }
+ Method { name: "__selectPreviousDay"; type: "QVariant" }
+ Method { name: "__selectNextDay"; type: "QVariant" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "styleHints"; type: "QVariant" }
+ Property { name: "__styleData"; type: "QObject"; isPointer: true }
+ }
+ Component {
+ prototype: "QQuickFocusScope"
+ name: "QtQuick.Controls/Calendar 1.6"
+ exports: ["QtQuick.Controls/Calendar 1.6"]
+ exportMetaObjectRevisions: [6]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "visibleMonth"; type: "int" }
+ Property { name: "visibleYear"; type: "int" }
+ Property { name: "frameVisible"; type: "bool" }
+ Property { name: "weekNumbersVisible"; type: "bool" }
+ Property { name: "navigationBarVisible"; type: "bool" }
+ Property { name: "dayOfWeekFormat"; type: "int" }
+ Property { name: "locale"; type: "QVariant" }
Property { name: "__model"; type: "QQuickCalendarModel1"; isPointer: true }
Property { name: "selectedDate"; type: "QDate" }
Property { name: "minimumDate"; type: "QDate" }
Property { name: "maximumDate"; type: "QDate" }
+ Property { name: "__locale"; type: "QVariant" }
Signal {
name: "hovered"
Parameter { name: "date"; type: "QDateTime" }
@@ -1364,14 +1420,14 @@ Module {
Property { name: "__scrollBarTopMargin"; type: "int" }
Property { name: "__viewTopMargin"; type: "int" }
Property { name: "style"; type: "QQmlComponent"; isPointer: true }
- Property { name: "__style"; type: "Style_QMLTYPE_1"; isPointer: true }
+ Property { name: "__style"; type: "Style_QMLTYPE_2"; isPointer: true }
Property { name: "horizontalScrollBarPolicy"; type: "int" }
Property { name: "verticalScrollBarPolicy"; type: "int" }
Property { name: "viewport"; type: "QQuickItem"; isReadonly: true; isPointer: true }
Property { name: "flickableItem"; type: "QQuickFlickable"; isReadonly: true; isPointer: true }
Property {
name: "__scroller"
- type: "ScrollViewHelper_QMLTYPE_26"
+ type: "ScrollViewHelper_QMLTYPE_27"
isReadonly: true
isPointer: true
}
@@ -1379,19 +1435,47 @@ Module {
Property { name: "__wheelAreaScrollSpeed"; type: "double" }
Property {
name: "__horizontalScrollBar"
- type: "ScrollBar_QMLTYPE_22"
+ type: "ScrollBar_QMLTYPE_23"
isReadonly: true
isPointer: true
}
Property {
name: "__verticalScrollBar"
- type: "ScrollBar_QMLTYPE_22"
+ type: "ScrollBar_QMLTYPE_23"
isReadonly: true
isPointer: true
}
}
Component {
prototype: "QQuickFocusScope"
+ name: "QtQuick.Controls/Slider 1.6"
+ exports: ["QtQuick.Controls/Slider 1.6"]
+ exportMetaObjectRevisions: [6]
+ isComposite: true
+ defaultProperty: "data"
+ Property { name: "orientation"; type: "int" }
+ Property { name: "updateValueWhileDragging"; type: "bool" }
+ Property { name: "activeFocusOnPress"; type: "bool" }
+ Property { name: "tickmarksEnabled"; type: "bool" }
+ Property { name: "__horizontal"; type: "bool" }
+ Property { name: "__handlePos"; type: "double" }
+ Property { name: "minimumValue"; type: "double" }
+ Property { name: "maximumValue"; type: "double" }
+ Property { name: "pressed"; type: "bool"; isReadonly: true }
+ Property { name: "hovered"; type: "bool"; isReadonly: true }
+ Property { name: "stepSize"; type: "double" }
+ Property { name: "value"; type: "double" }
+ Property { name: "wheelEnabled"; type: "bool" }
+ Method { name: "accessibleIncreaseAction"; type: "QVariant" }
+ Method { name: "accessibleDecreaseAction"; type: "QVariant" }
+ Property { name: "style"; type: "QQmlComponent"; isPointer: true }
+ Property { name: "__style"; type: "QObject"; isPointer: true }
+ Property { name: "__panel"; type: "QQuickItem"; isPointer: true }
+ Property { name: "styleHints"; type: "QVariant" }
+ Property { name: "__styleData"; type: "QObject"; isPointer: true }
+ }
+ Component {
+ prototype: "QQuickFocusScope"
name: "QtQuick.Controls/Slider 1.0"
exports: ["QtQuick.Controls/Slider 1.0"]
exportMetaObjectRevisions: [0]
@@ -1409,6 +1493,7 @@ Module {
Property { name: "hovered"; type: "bool"; isReadonly: true }
Property { name: "stepSize"; type: "double" }
Property { name: "value"; type: "double" }
+ Property { name: "wheelEnabled"; type: "bool" }
Method { name: "accessibleIncreaseAction"; type: "QVariant" }
Method { name: "accessibleDecreaseAction"; type: "QVariant" }
Property { name: "style"; type: "QQmlComponent"; isPointer: true }
@@ -1603,9 +1688,9 @@ Module {
}
Component {
prototype: "QQuickFocusScope"
- name: "QtQuick.Extras/StatusIndicator 1.0"
- exports: ["QtQuick.Extras/StatusIndicator 1.0"]
- exportMetaObjectRevisions: [0]
+ name: "QtQuick.Extras/StatusIndicator 1.1"
+ exports: ["QtQuick.Extras/StatusIndicator 1.1"]
+ exportMetaObjectRevisions: [1]
isComposite: true
defaultProperty: "data"
Property { name: "active"; type: "bool" }
@@ -1619,9 +1704,9 @@ Module {
}
Component {
prototype: "QQuickFocusScope"
- name: "QtQuick.Extras/StatusIndicator 1.1"
- exports: ["QtQuick.Extras/StatusIndicator 1.1"]
- exportMetaObjectRevisions: [1]
+ name: "QtQuick.Extras/StatusIndicator 1.0"
+ exports: ["QtQuick.Extras/StatusIndicator 1.0"]
+ exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "data"
Property { name: "active"; type: "bool" }
@@ -1822,14 +1907,14 @@ Module {
Property { name: "__scrollBarTopMargin"; type: "int" }
Property { name: "__viewTopMargin"; type: "int" }
Property { name: "style"; type: "QQmlComponent"; isPointer: true }
- Property { name: "__style"; type: "Style_QMLTYPE_1"; isPointer: true }
+ Property { name: "__style"; type: "Style_QMLTYPE_2"; isPointer: true }
Property { name: "horizontalScrollBarPolicy"; type: "int" }
Property { name: "verticalScrollBarPolicy"; type: "int" }
Property { name: "viewport"; type: "QQuickItem"; isReadonly: true; isPointer: true }
Property { name: "flickableItem"; type: "QQuickFlickable"; isReadonly: true; isPointer: true }
Property {
name: "__scroller"
- type: "ScrollViewHelper_QMLTYPE_26"
+ type: "ScrollViewHelper_QMLTYPE_27"
isReadonly: true
isPointer: true
}
@@ -1837,13 +1922,13 @@ Module {
Property { name: "__wheelAreaScrollSpeed"; type: "double" }
Property {
name: "__horizontalScrollBar"
- type: "ScrollBar_QMLTYPE_22"
+ type: "ScrollBar_QMLTYPE_23"
isReadonly: true
isPointer: true
}
Property {
name: "__verticalScrollBar"
- type: "ScrollBar_QMLTYPE_22"
+ type: "ScrollBar_QMLTYPE_23"
isReadonly: true
isPointer: true
}
@@ -1989,14 +2074,14 @@ Module {
Property { name: "__scrollBarTopMargin"; type: "int" }
Property { name: "__viewTopMargin"; type: "int" }
Property { name: "style"; type: "QQmlComponent"; isPointer: true }
- Property { name: "__style"; type: "Style_QMLTYPE_1"; isPointer: true }
+ Property { name: "__style"; type: "Style_QMLTYPE_2"; isPointer: true }
Property { name: "horizontalScrollBarPolicy"; type: "int" }
Property { name: "verticalScrollBarPolicy"; type: "int" }
Property { name: "viewport"; type: "QQuickItem"; isReadonly: true; isPointer: true }
Property { name: "flickableItem"; type: "QQuickFlickable"; isReadonly: true; isPointer: true }
Property {
name: "__scroller"
- type: "ScrollViewHelper_QMLTYPE_26"
+ type: "ScrollViewHelper_QMLTYPE_27"
isReadonly: true
isPointer: true
}
@@ -2004,13 +2089,13 @@ Module {
Property { name: "__wheelAreaScrollSpeed"; type: "double" }
Property {
name: "__horizontalScrollBar"
- type: "ScrollBar_QMLTYPE_22"
+ type: "ScrollBar_QMLTYPE_23"
isReadonly: true
isPointer: true
}
Property {
name: "__verticalScrollBar"
- type: "ScrollBar_QMLTYPE_22"
+ type: "ScrollBar_QMLTYPE_23"
isReadonly: true
isPointer: true
}
@@ -2137,14 +2222,14 @@ Module {
Property { name: "__scrollBarTopMargin"; type: "int" }
Property { name: "__viewTopMargin"; type: "int" }
Property { name: "style"; type: "QQmlComponent"; isPointer: true }
- Property { name: "__style"; type: "Style_QMLTYPE_1"; isPointer: true }
+ Property { name: "__style"; type: "Style_QMLTYPE_2"; isPointer: true }
Property { name: "horizontalScrollBarPolicy"; type: "int" }
Property { name: "verticalScrollBarPolicy"; type: "int" }
Property { name: "viewport"; type: "QQuickItem"; isReadonly: true; isPointer: true }
Property { name: "flickableItem"; type: "QQuickFlickable"; isReadonly: true; isPointer: true }
Property {
name: "__scroller"
- type: "ScrollViewHelper_QMLTYPE_26"
+ type: "ScrollViewHelper_QMLTYPE_27"
isReadonly: true
isPointer: true
}
@@ -2152,13 +2237,13 @@ Module {
Property { name: "__wheelAreaScrollSpeed"; type: "double" }
Property {
name: "__horizontalScrollBar"
- type: "ScrollBar_QMLTYPE_22"
+ type: "ScrollBar_QMLTYPE_23"
isReadonly: true
isPointer: true
}
Property {
name: "__verticalScrollBar"
- type: "ScrollBar_QMLTYPE_22"
+ type: "ScrollBar_QMLTYPE_23"
isReadonly: true
isPointer: true
}
@@ -2285,14 +2370,14 @@ Module {
Property { name: "__scrollBarTopMargin"; type: "int" }
Property { name: "__viewTopMargin"; type: "int" }
Property { name: "style"; type: "QQmlComponent"; isPointer: true }
- Property { name: "__style"; type: "Style_QMLTYPE_1"; isPointer: true }
+ Property { name: "__style"; type: "Style_QMLTYPE_2"; isPointer: true }
Property { name: "horizontalScrollBarPolicy"; type: "int" }
Property { name: "verticalScrollBarPolicy"; type: "int" }
Property { name: "viewport"; type: "QQuickItem"; isReadonly: true; isPointer: true }
Property { name: "flickableItem"; type: "QQuickFlickable"; isReadonly: true; isPointer: true }
Property {
name: "__scroller"
- type: "ScrollViewHelper_QMLTYPE_26"
+ type: "ScrollViewHelper_QMLTYPE_27"
isReadonly: true
isPointer: true
}
@@ -2300,13 +2385,13 @@ Module {
Property { name: "__wheelAreaScrollSpeed"; type: "double" }
Property {
name: "__horizontalScrollBar"
- type: "ScrollBar_QMLTYPE_22"
+ type: "ScrollBar_QMLTYPE_23"
isReadonly: true
isPointer: true
}
Property {
name: "__verticalScrollBar"
- type: "ScrollBar_QMLTYPE_22"
+ type: "ScrollBar_QMLTYPE_23"
isReadonly: true
isPointer: true
}
@@ -2602,14 +2687,14 @@ Module {
Property { name: "__scrollBarTopMargin"; type: "int" }
Property { name: "__viewTopMargin"; type: "int" }
Property { name: "style"; type: "QQmlComponent"; isPointer: true }
- Property { name: "__style"; type: "Style_QMLTYPE_1"; isPointer: true }
+ Property { name: "__style"; type: "Style_QMLTYPE_2"; isPointer: true }
Property { name: "horizontalScrollBarPolicy"; type: "int" }
Property { name: "verticalScrollBarPolicy"; type: "int" }
Property { name: "viewport"; type: "QQuickItem"; isReadonly: true; isPointer: true }
Property { name: "flickableItem"; type: "QQuickFlickable"; isReadonly: true; isPointer: true }
Property {
name: "__scroller"
- type: "ScrollViewHelper_QMLTYPE_26"
+ type: "ScrollViewHelper_QMLTYPE_27"
isReadonly: true
isPointer: true
}
@@ -2617,13 +2702,13 @@ Module {
Property { name: "__wheelAreaScrollSpeed"; type: "double" }
Property {
name: "__horizontalScrollBar"
- type: "ScrollBar_QMLTYPE_22"
+ type: "ScrollBar_QMLTYPE_23"
isReadonly: true
isPointer: true
}
Property {
name: "__verticalScrollBar"
- type: "ScrollBar_QMLTYPE_22"
+ type: "ScrollBar_QMLTYPE_23"
isReadonly: true
isPointer: true
}
@@ -2742,14 +2827,14 @@ Module {
Property { name: "__scrollBarTopMargin"; type: "int" }
Property { name: "__viewTopMargin"; type: "int" }
Property { name: "style"; type: "QQmlComponent"; isPointer: true }
- Property { name: "__style"; type: "Style_QMLTYPE_1"; isPointer: true }
+ Property { name: "__style"; type: "Style_QMLTYPE_2"; isPointer: true }
Property { name: "horizontalScrollBarPolicy"; type: "int" }
Property { name: "verticalScrollBarPolicy"; type: "int" }
Property { name: "viewport"; type: "QQuickItem"; isReadonly: true; isPointer: true }
Property { name: "flickableItem"; type: "QQuickFlickable"; isReadonly: true; isPointer: true }
Property {
name: "__scroller"
- type: "ScrollViewHelper_QMLTYPE_26"
+ type: "ScrollViewHelper_QMLTYPE_27"
isReadonly: true
isPointer: true
}
@@ -2757,13 +2842,13 @@ Module {
Property { name: "__wheelAreaScrollSpeed"; type: "double" }
Property {
name: "__horizontalScrollBar"
- type: "ScrollBar_QMLTYPE_22"
+ type: "ScrollBar_QMLTYPE_23"
isReadonly: true
isPointer: true
}
Property {
name: "__verticalScrollBar"
- type: "ScrollBar_QMLTYPE_22"
+ type: "ScrollBar_QMLTYPE_23"
isReadonly: true
isPointer: true
}
diff --git a/src/dialogs/dialogs.pro b/src/dialogs/dialogs.pro
index ca5f408e..362f5584 100644
--- a/src/dialogs/dialogs.pro
+++ b/src/dialogs/dialogs.pro
@@ -3,7 +3,7 @@ requires(contains(QT_CONFIG, accessibility))
CXX_MODULE = qml
TARGET = dialogplugin
TARGETPATH = QtQuick/Dialogs
-IMPORT_VERSION = 1.2
+IMPORT_VERSION = 1.3
QMAKE_DOCS = $$PWD/doc/qtquickdialogs.qdocconf
diff --git a/src/dialogs/doc/qtquickdialogs.qdocconf b/src/dialogs/doc/qtquickdialogs.qdocconf
index ccb555a7..c617e27d 100644
--- a/src/dialogs/doc/qtquickdialogs.qdocconf
+++ b/src/dialogs/doc/qtquickdialogs.qdocconf
@@ -28,6 +28,8 @@ exampledirs += ../../../examples/quickcontrols/dialogs
examplesinstallpath = quickcontrols/dialogs
+manifestmeta.highlighted.names = "QtQuickDialogs/Qt Quick System Dialog Examples"
+
headerdirs += ..
sourcedirs += ..
diff --git a/src/dialogs/plugin.cpp b/src/dialogs/plugin.cpp
index a2fb1099..2e861fa5 100644
--- a/src/dialogs/plugin.cpp
+++ b/src/dialogs/plugin.cpp
@@ -72,7 +72,7 @@ static void initResources()
QT_BEGIN_NAMESPACE
/*!
- \qmlmodule QtQuick.Dialogs 1.2
+ \qmlmodule QtQuick.Dialogs 1.3
\title Qt Quick Dialogs QML Types
\ingroup qmlmodules
\brief Provides QML types for standard file, color picker and message dialogs
@@ -82,7 +82,7 @@ QT_BEGIN_NAMESPACE
To use the types in this module, import the module with the following line:
\code
- import QtQuick.Dialogs 1.2
+ import QtQuick.Dialogs 1.3
\endcode
*/
@@ -185,6 +185,7 @@ public:
#endif
qCDebug(lcRegistration) << " registering" << dialogQmlPath << "as Dialog";
qmlRegisterType(dialogQmlPath, uri, 1, 2, "Dialog");
+ qmlRegisterType(dialogQmlPath, uri, 1, 3, "Dialog");
}
}
diff --git a/src/dialogs/qquickabstractfiledialog.cpp b/src/dialogs/qquickabstractfiledialog.cpp
index 722838e2..7c4aa394 100644
--- a/src/dialogs/qquickabstractfiledialog.cpp
+++ b/src/dialogs/qquickabstractfiledialog.cpp
@@ -316,4 +316,12 @@ QJSValue QQuickAbstractFileDialog::__shortcuts()
return m_shortcutDetails;
}
+void QQuickAbstractFileDialog::setDefaultSuffix(const QString &suffix)
+{
+ if (suffix == m_options->defaultSuffix())
+ return;
+ m_options->setDefaultSuffix(suffix);
+ emit defaultSuffixChanged();
+}
+
QT_END_NAMESPACE
diff --git a/src/dialogs/qquickabstractfiledialog_p.h b/src/dialogs/qquickabstractfiledialog_p.h
index 84816d38..e00db5be 100644
--- a/src/dialogs/qquickabstractfiledialog_p.h
+++ b/src/dialogs/qquickabstractfiledialog_p.h
@@ -74,6 +74,7 @@ class QQuickAbstractFileDialog : public QQuickAbstractDialog
Q_PROPERTY(QUrl fileUrl READ fileUrl NOTIFY selectionAccepted)
Q_PROPERTY(QList<QUrl> fileUrls READ fileUrls NOTIFY selectionAccepted)
Q_PROPERTY(bool sidebarVisible READ sidebarVisible WRITE setSidebarVisible NOTIFY sidebarVisibleChanged)
+ Q_PROPERTY(QString defaultSuffix READ defaultSuffix WRITE setDefaultSuffix NOTIFY defaultSuffixChanged)
Q_PROPERTY(QJSValue shortcuts READ shortcuts CONSTANT) // map of QStandardDirectory names to QUrls
Q_PROPERTY(QJSValue __shortcuts READ __shortcuts CONSTANT) // map of details for QML dialog implementations
@@ -95,6 +96,7 @@ public:
bool sidebarVisible() const { return m_sidebarVisible; }
QJSValue shortcuts();
QJSValue __shortcuts();
+ QString defaultSuffix() const { return m_options->defaultSuffix(); }
public Q_SLOTS:
void setVisible(bool v);
@@ -107,6 +109,7 @@ public Q_SLOTS:
void selectNameFilter(const QString &f);
void setSelectedNameFilterIndex(int idx);
void setSidebarVisible(bool s);
+ void setDefaultSuffix(const QString &suffix);
Q_SIGNALS:
void folderChanged();
@@ -115,6 +118,7 @@ Q_SIGNALS:
void fileModeChanged();
void selectionAccepted();
void sidebarVisibleChanged();
+ void defaultSuffixChanged();
protected Q_SLOTS:
void updateFolder(const QUrl &f);
diff --git a/src/dialogs/qquickplatformfiledialog.cpp b/src/dialogs/qquickplatformfiledialog.cpp
index ab228d1f..b30f2b2b 100644
--- a/src/dialogs/qquickplatformfiledialog.cpp
+++ b/src/dialogs/qquickplatformfiledialog.cpp
@@ -422,4 +422,18 @@ void QQuickPlatformFileDialog::accept()
\l {Qt.labs.settings}{Settings}.
*/
+/*!
+ \qmlproperty string FileDialog::defaultSuffix
+ \since 5.10
+
+ This property holds the suffix added to the filename if no other suffix was
+ specified.
+
+ This property specifies a string that will be added to the filename if it
+ has no suffix already. The suffix is typically used to indicate the file
+ type (e.g. "txt" indicates a text file).
+
+ If the first character is a dot ('.'), it is removed.
+*/
+
QT_END_NAMESPACE
diff --git a/src/extras/Private/qquickmathutils.cpp b/src/extras/Private/qquickmathutils.cpp
index 165a6f92..e40d8b6f 100644
--- a/src/extras/Private/qquickmathutils.cpp
+++ b/src/extras/Private/qquickmathutils.cpp
@@ -55,7 +55,7 @@ qreal QQuickMathUtils::pi2() const
Converts the angle \a degrees to radians.
*/
qreal QQuickMathUtils::degToRad(qreal degrees) const {
- return degrees * (M_PI / 180);
+ return qDegreesToRadians(degrees);
}
/*!
@@ -68,14 +68,14 @@ qreal QQuickMathUtils::degToRad(qreal degrees) const {
for example.
*/
qreal QQuickMathUtils::degToRadOffset(qreal degrees) const {
- return (degrees - 90) * (M_PI / 180);
+ return qDegreesToRadians(degrees - 90);
}
/*!
Converts the angle \a radians to degrees.
*/
qreal QQuickMathUtils::radToDeg(qreal radians) const {
- return radians * (180 / M_PI);
+ return qRadiansToDegrees(radians);
}
/*!
@@ -88,7 +88,7 @@ qreal QQuickMathUtils::radToDeg(qreal radians) const {
expect.
*/
qreal QQuickMathUtils::radToDegOffset(qreal radians) const {
- return radians * (180 / M_PI) + 90;
+ return qRadiansToDegrees(radians) + 90;
}
/*!
diff --git a/src/extras/Styles/Flat/CalendarStyle.qml b/src/extras/Styles/Flat/CalendarStyle.qml
index 2598ce78..ece0548d 100644
--- a/src/extras/Styles/Flat/CalendarStyle.qml
+++ b/src/extras/Styles/Flat/CalendarStyle.qml
@@ -190,7 +190,7 @@ Base.CalendarStyle {
Label {
text: localeDayName.length == 0 || localeDayName.length > 1
- ? control.__locale.dayName(styleData.dayOfWeek, Locale.ShortFormat)[0]
+ ? control.locale.dayName(styleData.dayOfWeek, Locale.ShortFormat)[0]
: localeDayName
color: !control.enabled ? FlatStyle.disabledColor : FlatStyle.styleColor
opacity: !control.enabled ? FlatStyle.disabledOpacity : 1
@@ -202,7 +202,7 @@ Base.CalendarStyle {
font.pixelSize: control.height * __headerFontRatio
renderType: FlatStyle.__renderType
- property string localeDayName: control.__locale.dayName(styleData.dayOfWeek, Locale.NarrowFormat)
+ property string localeDayName: control.locale.dayName(styleData.dayOfWeek, Locale.NarrowFormat)
}
}
}
diff --git a/src/extras/doc/qtquickextras.qdocconf b/src/extras/doc/qtquickextras.qdocconf
index 5c4dc472..4d6128db 100644
--- a/src/extras/doc/qtquickextras.qdocconf
+++ b/src/extras/doc/qtquickextras.qdocconf
@@ -43,3 +43,6 @@ imagedirs += images
navigation.landingpage = "Qt Quick Extras"
navigation.qmltypespage = "Qt Quick Extras QML Types"
+manifestmeta.highlighted.names = "QtQuickExtras/Qt Quick Extras - Dashboard" \
+ "QtQuickExtras/Qt Quick Extras - Flat" \
+ "QtQuickExtras/Qt Quick Extras - Gallery"
diff --git a/src/extras/doc/src/qtquickextras-examples.qdoc b/src/extras/doc/src/qtquickextras-examples.qdoc
index f54834fd..8ae35ef5 100644
--- a/src/extras/doc/src/qtquickextras-examples.qdoc
+++ b/src/extras/doc/src/qtquickextras-examples.qdoc
@@ -31,7 +31,7 @@
\title Qt Quick Extras Examples
\brief A collection of examples for \l{Qt Quick Extras}.
- Below is a listing of the examples for \l{Qt Quick Extras}.
+ Below you will find a list with examples for \l{Qt Quick Extras}.
*/
/*!
@@ -53,6 +53,41 @@
\image qtquickextras-example-dashboard.png
This example project demonstrates the use of \l CircularGauge to create a car dashboard.
+
+
+ The ValueSource type generates random data for testing the dashboard.
+ The data is random but there is a logical link between some of them,
+ for example, \c kph and \c rpm.
+
+
+ \snippet dashboard/qml/ValueSource.qml 0
+
+ It runs a looping SequentialAnimation that sets the values of
+ the properties over time.
+
+ The SequentialAnimation object consists of several ParallelAnimation
+ objects, which in turn consist of two NumberAnimations, one for
+ \c kph and one for \c rpm. Both let the value develop to a certain
+ value over a specified \c duration with the Easing type \c Easing.InOutSine
+
+ \snippet dashboard/qml/ValueSource.qml 1
+
+ The flashTimer object switches the turn signals \c on or \c off.
+
+ \snippet dashboard/qml/TurnIndicator.qml 1
+
+ The \c paintOutlinePath(ctx) method does the actual painting of the arrow
+ for the turn signal.
+
+ \snippet dashboard/qml/TurnIndicator.qml 2
+
+ The screen consists of a \c foregroundCanvas and a \c backgroundCanvas.
+ \c foregroundCanvas displays the green turn signal if the \c on and
+ \c flashing booleans are \c true.
+
+ \snippet dashboard/qml/TurnIndicator.qml 3
+*/
+
*/
/*!
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro
index f3b76771..14860dc0 100644
--- a/tests/auto/auto.pro
+++ b/tests/auto/auto.pro
@@ -2,6 +2,3 @@ TEMPLATE = subdirs
SUBDIRS += testplugin controls activeFocusOnTab applicationwindow dialogs \
extras qquicktreemodeladaptor customcontrolsstyle
controls.depends = testplugin
-
-# QTBUG-60268
-boot2qt: SUBDIRS -= controls activeFocusOnTab applicationwindow dialogs extras customcontrolsstyle
diff --git a/tests/auto/controls/data/tst_calendar.qml b/tests/auto/controls/data/tst_calendar.qml
index d47f62ba..55283b02 100644
--- a/tests/auto/controls/data/tst_calendar.qml
+++ b/tests/auto/controls/data/tst_calendar.qml
@@ -135,7 +135,7 @@ Item {
compare(calendar.selectedDate.getDate(), expectedDate.getDate());
compare(calendar.frameVisible, true);
compare(calendar.dayOfWeekFormat, Locale.ShortFormat);
- compare(calendar.__locale, Qt.locale());
+ compare(calendar.locale, Qt.locale());
}
function test_setAfterConstructed() {
@@ -144,13 +144,13 @@ Item {
calendar.selectedDate = new Date(1980, 0, 1);
calendar.frameVisible = false;
calendar.dayOfWeekFormat = Locale.NarrowFormat;
- calendar.__locale = Qt.locale("de_DE");
+ calendar.locale = Qt.locale("de_DE");
compare(calendar.minimumDate, new Date(1900, 0, 1));
compare(calendar.maximumDate, new Date(1999, 11, 31));
compare(calendar.selectedDate, new Date(1980, 0, 1));
compare(calendar.frameVisible, false);
- compare(calendar.__locale, Qt.locale("de_DE"));
+ compare(calendar.locale, Qt.locale("de_DE"));
}
function test_selectedDate() {
@@ -208,7 +208,7 @@ Item {
calendar.selectedDate = new Date(2013, 0, 1);
// Set this to a certain locale, because days will be in different
// places depending on the system locale of the host machine.
- calendar.__locale = Qt.locale("en_GB");
+ calendar.locale = Qt.locale("en_GB");
/* January 2013 December 2012
M T W T F S S M T W T F S S
@@ -374,7 +374,7 @@ Item {
var startDate = new Date(2013, 0, 1);
calendar.selectedDate = startDate;
- calendar.__locale = Qt.locale("en_US");
+ calendar.locale = Qt.locale("en_US");
compare(calendar.selectedDate, startDate);
pressedSignalSpy.target = calendar;
@@ -466,7 +466,7 @@ Item {
calendar.minimumDate = new Date(2013, 0, 1);
calendar.selectedDate = new Date(startDate);
calendar.maximumDate = new Date(2013, 1, 5);
- calendar.__locale = Qt.locale("no_NO");
+ calendar.locale = Qt.locale("no_NO");
pressedSignalSpy.target = calendar;
pressedSignalSpy.signalName = "pressed";
@@ -540,7 +540,7 @@ Item {
22 23 24 25 26 27 28
29 30 31 1 2 3 4 */
- calendar.__locale = Qt.locale("en_GB");
+ calendar.locale = Qt.locale("en_GB");
calendar.selectedDate = new Date(2014, 11, 1);
mousePress(calendar, toPixelsX(0), toPixelsY(0), Qt.LeftButton);
compare(calendar.selectedDate.getFullYear(), 2014);
@@ -615,7 +615,7 @@ Item {
calendar.minimumDate = new Date(2014, 1, 1);
calendar.selectedDate = new Date(2014, 1, 28);
calendar.maximumDate = new Date(2014, 2, 31);
- calendar.__locale = Qt.locale("en_GB");
+ calendar.locale = Qt.locale("en_GB");
pressedSignalSpy.target = calendar;
pressedSignalSpy.signalName = "pressed";
@@ -890,7 +890,7 @@ Item {
function test_pressAndHold() {
calendar.selectedDate = new Date(2013, 0, 1);
- calendar.__locale = Qt.locale("en_GB");
+ calendar.locale = Qt.locale("en_GB");
pressedSignalSpy.target = calendar;
pressedSignalSpy.signalName = "pressed";
diff --git a/tests/auto/controls/data/tst_combobox.qml b/tests/auto/controls/data/tst_combobox.qml
index d6a5f6c3..c380c63a 100644
--- a/tests/auto/controls/data/tst_combobox.qml
+++ b/tests/auto/controls/data/tst_combobox.qml
@@ -502,8 +502,9 @@ TestCase {
mouseClick(comboBox, comboBox.x + 1, comboBox.y + 1)
verify(!comboBox.activeFocus)
comboBox.activeFocusOnPress = true
- // two mouse clicks to open and close the popup menu
- mouseClick(comboBox, comboBox.x + 1, comboBox.y + 1)
+ // two mouse clicks to open and close the popup menu. The 1ms delay between mouse presses is
+ // needed with software quick renderer. Without the delay, this test is flaky.
+ mouseClick(comboBox, comboBox.x + 1, comboBox.y + 1, Qt.LeftButton, Qt.NoModifier, 1)
mouseClick(comboBox, comboBox.x + 1, comboBox.y + 1)
verify(comboBox.activeFocus)
comboBox.destroy()
diff --git a/tests/auto/controls/data/tst_slider.qml b/tests/auto/controls/data/tst_slider.qml
index 34627daa..e95d26d9 100644
--- a/tests/auto/controls/data/tst_slider.qml
+++ b/tests/auto/controls/data/tst_slider.qml
@@ -51,7 +51,7 @@
import QtQuick 2.6
import QtTest 1.0
import QtQuickControlsTests 1.0
-import QtQuick.Controls 1.4
+import QtQuick.Controls 1.6
import QtQuick.Controls.Private 1.0
import QtQuick.Controls.Styles 1.4
@@ -136,8 +136,22 @@ Item {
slider.destroy()
}
+ Component {
+ id: fixedHandleSizeSlider
+
+ Slider {
+ style: SliderStyle {
+ handle: Rectangle {
+ color: "red"
+ implicitWidth: 15
+ implicitHeight: 15
+ }
+ }
+ }
+ }
+
function test_mouseWheel() {
- var slider = Qt.createQmlObject('import QtQuick.Controls 1.2; Slider {}', container, '');
+ var slider = createTemporaryObject(fixedHandleSizeSlider, container)
slider.forceActiveFocus()
slider.value = 0
slider.maximumValue = 300
@@ -176,7 +190,12 @@ Item {
slider.value = 0
mouseWheel(slider, 5, 5, -40 * ratio, 0)
compare(slider.value, slider.maximumValue)
- slider.destroy()
+
+ // Mousewheel deactivated
+ slider.value = 0
+ slider.wheelEnabled = false
+ mouseWheel(slider, 5, 5, 4 * ratio, 0)
+ compare(slider.value, 0)
}
function test_activeFocusOnPress(){
diff --git a/tests/auto/customcontrolsstyle/tst_customcontrolsstyle.cpp b/tests/auto/customcontrolsstyle/tst_customcontrolsstyle.cpp
index 67aeb586..42354efd 100644
--- a/tests/auto/customcontrolsstyle/tst_customcontrolsstyle.cpp
+++ b/tests/auto/customcontrolsstyle/tst_customcontrolsstyle.cpp
@@ -68,6 +68,9 @@ void tst_customcontrolsstyle::style_data()
void tst_customcontrolsstyle::style()
{
+ if (QGuiApplication::platformName() == "offscreen")
+ QSKIP("Using grabImage does not work on offscreen platform");
+
QFETCH(QString, specifiedStyle);
QFETCH(QString, expectedStyleName);
@@ -109,6 +112,9 @@ void tst_customcontrolsstyle::style()
// start with Base, switch to custom style later on (for a specific QML engine)
void tst_customcontrolsstyle::changeStyle()
{
+ if (QGuiApplication::platformName() == "offscreen")
+ QSKIP("Using grabImage does not work on offscreen platform");
+
qputenv("QT_QUICK_CONTROLS_1_STYLE", "Base");
QByteArray importPath = qgetenv("QML2_IMPORT_PATH");
if (importPath.isEmpty())
diff --git a/tests/auto/dialogs/tst_dialogs.cpp b/tests/auto/dialogs/tst_dialogs.cpp
index 20da6e43..1f802113 100644
--- a/tests/auto/dialogs/tst_dialogs.cpp
+++ b/tests/auto/dialogs/tst_dialogs.cpp
@@ -56,6 +56,7 @@ private slots:
void fileDialogDefaultModality();
void fileDialogNonModal();
void fileDialogNameFilters();
+ void fileDialogDefaultSuffix();
private:
};
@@ -207,6 +208,28 @@ void tst_dialogs::fileDialogNameFilters()
QCOMPARE(dlg->property("selectedNameFilter").toString(), filters.first());
}
+void tst_dialogs::fileDialogDefaultSuffix()
+{
+ QQuickView *window = new QQuickView;
+ QScopedPointer<QQuickWindow> cleanup(window);
+
+ const QUrl sourceUrl = testFileUrl("RectWithFileDialog.qml");
+ window->setSource(sourceUrl);
+ window->setGeometry(240, 240, 1024, 320);
+ window->show();
+ QTRY_VERIFY(QTest::qWaitForWindowExposed(window));
+ QVERIFY(window->rootObject());
+
+ QObject *dlg = qvariant_cast<QObject *>(window->rootObject()->property("fileDialog"));
+ QCOMPARE(dlg->property("defaultSuffix").toString(), QString());
+ dlg->setProperty("defaultSuffix", "txt");
+ QCOMPARE(dlg->property("defaultSuffix").toString(), QString("txt"));
+ dlg->setProperty("defaultSuffix", ".txt");
+ QCOMPARE(dlg->property("defaultSuffix").toString(), QString("txt"));
+ dlg->setProperty("defaultSuffix", QString());
+ QCOMPARE(dlg->property("defaultSuffix").toString(), QString());
+}
+
QTEST_MAIN(tst_dialogs)
#include "tst_dialogs.moc"
diff --git a/tests/auto/extras/data/tst_picture.qml b/tests/auto/extras/data/tst_picture.qml
index e11d28fb..9ecc89be 100644
--- a/tests/auto/extras/data/tst_picture.qml
+++ b/tests/auto/extras/data/tst_picture.qml
@@ -107,6 +107,9 @@ TestCase {
}
function test_source(data) {
+ if (Qt.platform.pluginName === "offscreen")
+ skip("Using grabImage does not work on offscreen platform");
+
picture = Qt.createQmlObject("import QtQuick.Extras 1.4; Picture {}", testCase, "");
verify(picture, "Picture: failed to create an instance");
picture.source = data.tag;
@@ -134,6 +137,9 @@ TestCase {
}
function test_color(data) {
+ if (Qt.platform.pluginName === "offscreen")
+ skip("Using grabImage does not work on offscreen platform");
+
picture = Qt.createQmlObject("import QtQuick.Extras 1.4; Picture {}", testCase, "");
verify(picture, "Picture: failed to create an instance");
diff --git a/tests/auto/extras/data/tst_statusindicator.qml b/tests/auto/extras/data/tst_statusindicator.qml
index 257ec715..8801ead7 100644
--- a/tests/auto/extras/data/tst_statusindicator.qml
+++ b/tests/auto/extras/data/tst_statusindicator.qml
@@ -90,6 +90,9 @@ TestCase {
}
function test_active(data) {
+ if (Qt.platform.pluginName === "offscreen")
+ skip("Using grabImage does not work on offscreen platform");
+
indicator = Qt.createQmlObject("import QtQuick.Extras 1.4; StatusIndicator { }", testCase, "");
verify(indicator);
compare(indicator.active, false);
@@ -106,6 +109,9 @@ TestCase {
}
function test_color() {
+ if (Qt.platform.pluginName === "offscreen")
+ skip("Using grabImage does not work on offscreen platform");
+
var flatStyle = Settings.styleName === "Flat";
indicator = Qt.createQmlObject("import QtQuick.Extras 1.4; StatusIndicator { }", testCase, "");
diff --git a/tests/manual/viewinqwidget/main.qml b/tests/manual/viewinqwidget/main.qml
index 36c09b50..e50e7712 100644
--- a/tests/manual/viewinqwidget/main.qml
+++ b/tests/manual/viewinqwidget/main.qml
@@ -28,14 +28,24 @@
import QtQuick 2.2
import QtQuick.Controls 1.3
+import QtQuick.Layouts 1.3
Item {
visible: true
width: 200
height: 200
- ComboBox {
- anchors.centerIn: parent
- model: [ "Banana", "Apple", "Coconut" ]
+ ColumnLayout {
+ anchors.fill: parent
+
+ TextField {
+ Layout.alignment: Qt.AlignCenter
+ text : "Text with context menu"
+ }
+
+ ComboBox {
+ Layout.alignment: Qt.AlignCenter
+ model: [ "Banana", "Apple", "Coconut" ]
+ }
}
}