summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-12-18 11:00:37 +0100
committerLiang Qi <liang.qi@qt.io>2017-12-18 11:00:37 +0100
commit3aeca5366600fa4f888865012bf6b9e2b5418181 (patch)
tree995abf937f0ef9f513538d62052d973663443bb7
parentd60ab44407c2bf399b3f5d77fe9cd21951629b19 (diff)
parent65976402344a2642d6d6dc5bfbf71b3b511f6d12 (diff)
downloadqtquickcontrols-3aeca5366600fa4f888865012bf6b9e2b5418181.tar.gz
Merge remote-tracking branch 'origin/5.10' into dev
Change-Id: Ie66ca17fe8ea49b3637accb468e206657346f4ab
-rw-r--r--dist/changes-5.10.038
-rw-r--r--dist/changes-5.9.326
-rw-r--r--src/controls/Private/BasicTableView.qml2
-rw-r--r--src/controls/Private/qquickcalendarmodel.cpp8
-rw-r--r--src/controls/Private/qquickcalendarmodel_p.h2
-rw-r--r--src/controls/Private/qquickcontrolsettings.cpp36
-rw-r--r--src/controls/Private/qquickrangeddate.cpp12
-rw-r--r--src/controls/Private/qquickrangeddate_p.h24
-rw-r--r--src/controls/ScrollView.qml2
-rw-r--r--src/controls/Styles/Base/CalendarStyle.qml4
-rw-r--r--src/controls/Styles/Base/ScrollViewStyle.qml4
-rw-r--r--src/controls/plugins.qmltypes171
-rw-r--r--src/dialogs/doc/qtquickdialogs.qdocconf2
-rw-r--r--tests/auto/controls/data/tst_calendar.qml29
-rw-r--r--tests/auto/controls/data/tst_combobox.qml24
-rw-r--r--tests/auto/controls/data/tst_rangeddate.qml5
-rw-r--r--tests/auto/controls/data/tst_scrollview.qml84
-rw-r--r--tests/auto/controls/data/tst_slider.qml18
-rw-r--r--tests/auto/controls/data/tst_tableview.qml2
19 files changed, 379 insertions, 114 deletions
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/dist/changes-5.9.3 b/dist/changes-5.9.3
new file mode 100644
index 00000000..d30da17d
--- /dev/null
+++ b/dist/changes-5.9.3
@@ -0,0 +1,26 @@
+Qt 5.9.3 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.9.0.
+
+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.9 series is binary compatible with the 5.8.x series.
+Applications compiled for 5.8 will continue to run with 5.9.
+
+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.9.3 Changes *
+****************************************************************************
+
+ - Slider:
+ * [QTBUG-63354] Fixed the handle position to get updated when the maximum
+ value changes.
diff --git a/src/controls/Private/BasicTableView.qml b/src/controls/Private/BasicTableView.qml
index 66ad0d36..2557dca7 100644
--- a/src/controls/Private/BasicTableView.qml
+++ b/src/controls/Private/BasicTableView.qml
@@ -348,6 +348,8 @@ ScrollView {
}
}
+ activeFocusOnTab: true
+
implicitWidth: 200
implicitHeight: 150
diff --git a/src/controls/Private/qquickcalendarmodel.cpp b/src/controls/Private/qquickcalendarmodel.cpp
index 64d52f95..b2284c25 100644
--- a/src/controls/Private/qquickcalendarmodel.cpp
+++ b/src/controls/Private/qquickcalendarmodel.cpp
@@ -162,7 +162,7 @@ void QQuickCalendarModel1::setLocale(const QLocale &locale)
QVariant QQuickCalendarModel1::data(const QModelIndex &index, int role) const
{
if (role == DateRole)
- return mVisibleDates.at(index.row());
+ return QDateTime(mVisibleDates.at(index.row()), QTime(12, 0));
return QVariant();
}
@@ -181,9 +181,9 @@ QHash<int, QByteArray> QQuickCalendarModel1::roleNames() const
/*!
Returns the date at \a index, or an invalid date if \a index is invalid.
*/
-QDate QQuickCalendarModel1::dateAt(int index) const
+QDateTime QQuickCalendarModel1::dateAt(int index) const
{
- return index >= 0 && index < mVisibleDates.size() ? mVisibleDates.at(index) : QDate();
+ return index >= 0 && index < mVisibleDates.size() ? QDateTime(mVisibleDates.at(index), QTime(12, 0)) : QDateTime();
}
/*!
@@ -207,7 +207,7 @@ int QQuickCalendarModel1::indexAt(const QDate &date)
int QQuickCalendarModel1::weekNumberAt(int row) const
{
const int index = row * daysInAWeek;
- const QDate date = dateAt(index);
+ const QDate date = dateAt(index).date();
if (date.isValid())
return date.weekNumber();
return -1;
diff --git a/src/controls/Private/qquickcalendarmodel_p.h b/src/controls/Private/qquickcalendarmodel_p.h
index 28397e61..68fdea2e 100644
--- a/src/controls/Private/qquickcalendarmodel_p.h
+++ b/src/controls/Private/qquickcalendarmodel_p.h
@@ -75,7 +75,7 @@ public:
QHash<int, QByteArray> roleNames() const override;
- Q_INVOKABLE QDate dateAt(int index) const;
+ Q_INVOKABLE QDateTime dateAt(int index) const;
Q_INVOKABLE int indexAt(const QDate &visibleDate);
Q_INVOKABLE int weekNumberAt(int row) const;
diff --git a/src/controls/Private/qquickcontrolsettings.cpp b/src/controls/Private/qquickcontrolsettings.cpp
index d8cfdaed..95c656b2 100644
--- a/src/controls/Private/qquickcontrolsettings.cpp
+++ b/src/controls/Private/qquickcontrolsettings.cpp
@@ -58,19 +58,31 @@ QT_BEGIN_NAMESPACE
static QString defaultStyleName()
{
- //Only enable QStyle support when we are using QApplication
-#if defined(QT_WIDGETS_LIB) && !defined(Q_OS_IOS) && !defined(Q_OS_ANDROID) && !defined(Q_OS_BLACKBERRY) && !defined(Q_OS_QNX) && !defined(Q_OS_WINRT)
- if (QCoreApplication::instance()->inherits("QApplication"))
- return QLatin1String("Desktop");
-#elif defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_EMBEDDED)
- if (QtAndroidPrivate::androidSdkVersion() >= 11)
- return QLatin1String("Android");
-#elif defined(Q_OS_IOS)
- return QLatin1String("iOS");
-#elif defined(Q_OS_WINRT) && 0 // Enable once style is ready
- return QLatin1String("WinRT");
+ static const QMap<QString, QString> styleMap {
+#if defined(QT_WIDGETS_LIB)
+ {QLatin1String("cocoa"), QLatin1String("Desktop")},
+ {QLatin1String("wayland"), QLatin1String("Desktop")},
+ {QLatin1String("windows"), QLatin1String("Desktop")},
+ {QLatin1String("xcb"), QLatin1String("Desktop")},
#endif
- return QLatin1String("Base");
+ {QLatin1String("android"), QLatin1String("Android")},
+ {QLatin1String("ios"), QLatin1String("iOS")},
+#if 0 // Enable once style is ready
+ {QLatin1String("winrt"), QLatin1String("WinRT")},
+#endif
+ };
+
+ QGuiApplication *app = static_cast<QGuiApplication *>(
+ QCoreApplication::instance());
+ const QString styleName = styleMap.value(app->platformName(), QLatin1String("Base"));
+
+#if defined(QT_WIDGETS_LIB)
+ // Only enable QStyle support when we are using QApplication
+ if (styleName == QLatin1String("Desktop") && !app->inherits("QApplication"))
+ return QLatin1String("Base");
+#endif
+
+ return styleName;
}
static QString styleEnvironmentVariable()
diff --git a/src/controls/Private/qquickrangeddate.cpp b/src/controls/Private/qquickrangeddate.cpp
index 231a798a..df7958ac 100644
--- a/src/controls/Private/qquickrangeddate.cpp
+++ b/src/controls/Private/qquickrangeddate.cpp
@@ -42,12 +42,12 @@
QT_BEGIN_NAMESPACE
// JavaScript Date > QDate conversion is not correct for large negative dates.
-Q_GLOBAL_STATIC_WITH_ARGS(const QDate, jsMinimumDate, (QDate(1, 1, 1)))
-Q_GLOBAL_STATIC_WITH_ARGS(const QDate, jsMaximumDate, (QDate(275759, 10, 25)))
+Q_GLOBAL_STATIC_WITH_ARGS(const QDateTime, jsMinimumDate, (QDateTime(QDate(1, 1, 1), QTime())))
+Q_GLOBAL_STATIC_WITH_ARGS(const QDateTime, jsMaximumDate, (QDateTime(QDate(275759, 10, 25), QTime())))
QQuickRangedDate1::QQuickRangedDate1() :
QObject(0),
- mDate(QDate::currentDate()),
+ mDate(QDateTime::currentDateTime()),
mMinimumDate(*jsMinimumDate),
mMaximumDate(*jsMaximumDate)
{
@@ -56,7 +56,7 @@ QQuickRangedDate1::QQuickRangedDate1() :
/*! \internal
\qmlproperty date QQuickRangedDate::date
*/
-void QQuickRangedDate1::setDate(const QDate &date)
+void QQuickRangedDate1::setDate(const QDateTime &date)
{
if (date == mDate)
return;
@@ -75,7 +75,7 @@ void QQuickRangedDate1::setDate(const QDate &date)
/*! \internal
\qmlproperty date QQuickRangedDate::minimumDate
*/
-void QQuickRangedDate1::setMinimumDate(const QDate &minimumDate)
+void QQuickRangedDate1::setMinimumDate(const QDateTime &minimumDate)
{
if (minimumDate == mMinimumDate)
return;
@@ -93,7 +93,7 @@ void QQuickRangedDate1::setMinimumDate(const QDate &minimumDate)
/*! \internal
\qmlproperty date QQuickRangedDate::maximumDate
*/
-void QQuickRangedDate1::setMaximumDate(const QDate &maximumDate)
+void QQuickRangedDate1::setMaximumDate(const QDateTime &maximumDate)
{
if (maximumDate == mMaximumDate)
return;
diff --git a/src/controls/Private/qquickrangeddate_p.h b/src/controls/Private/qquickrangeddate_p.h
index 6ac7bc12..836daa4c 100644
--- a/src/controls/Private/qquickrangeddate_p.h
+++ b/src/controls/Private/qquickrangeddate_p.h
@@ -49,23 +49,23 @@ QT_BEGIN_NAMESPACE
class QQuickRangedDate1 : public QObject
{
Q_OBJECT
- Q_PROPERTY(QDate date READ date WRITE setDate NOTIFY dateChanged RESET resetDate)
- Q_PROPERTY(QDate minimumDate READ minimumDate WRITE setMinimumDate NOTIFY minimumDateChanged RESET resetMinimumDate)
- Q_PROPERTY(QDate maximumDate READ maximumDate WRITE setMaximumDate NOTIFY maximumDateChanged RESET resetMaximumDate)
+ Q_PROPERTY(QDateTime date READ date WRITE setDate NOTIFY dateChanged RESET resetDate)
+ Q_PROPERTY(QDateTime minimumDate READ minimumDate WRITE setMinimumDate NOTIFY minimumDateChanged RESET resetMinimumDate)
+ Q_PROPERTY(QDateTime maximumDate READ maximumDate WRITE setMaximumDate NOTIFY maximumDateChanged RESET resetMaximumDate)
public:
QQuickRangedDate1();
~QQuickRangedDate1() {}
- QDate date() const { return mDate; }
- void setDate(const QDate &date);
+ QDateTime date() const { return mDate; }
+ void setDate(const QDateTime &date);
void resetDate() {}
- QDate minimumDate() const { return mMinimumDate; }
- void setMinimumDate(const QDate &minimumDate);
+ QDateTime minimumDate() const { return mMinimumDate; }
+ void setMinimumDate(const QDateTime &minimumDate);
void resetMinimumDate() {}
- QDate maximumDate() const { return mMaximumDate; }
- void setMaximumDate(const QDate &maximumDate);
+ QDateTime maximumDate() const { return mMaximumDate; }
+ void setMaximumDate(const QDateTime &maximumDate);
void resetMaximumDate() {}
Q_SIGNALS:
@@ -74,9 +74,9 @@ Q_SIGNALS:
void maximumDateChanged();
private:
- QDate mDate;
- QDate mMinimumDate;
- QDate mMaximumDate;
+ QDateTime mDate;
+ QDateTime mMinimumDate;
+ QDateTime mMaximumDate;
};
QT_END_NAMESPACE
diff --git a/src/controls/ScrollView.qml b/src/controls/ScrollView.qml
index 3a7b031f..65ed54d7 100644
--- a/src/controls/ScrollView.qml
+++ b/src/controls/ScrollView.qml
@@ -191,7 +191,7 @@ FocusScope {
/*! \internal */
property Style __style: styleLoader.item
- activeFocusOnTab: true
+ activeFocusOnTab: false
onContentItemChanged: {
diff --git a/src/controls/Styles/Base/CalendarStyle.qml b/src/controls/Styles/Base/CalendarStyle.qml
index 12cb3a4b..d1b172e0 100644
--- a/src/controls/Styles/Base/CalendarStyle.qml
+++ b/src/controls/Styles/Base/CalendarStyle.qml
@@ -671,7 +671,9 @@ Style {
property QtObject styleData: QtObject {
readonly property alias index: delegateLoader.__index
- readonly property bool selected: control.selectedDate.getTime() === date.getTime()
+ readonly property bool selected: control.selectedDate.getFullYear() === date.getFullYear() &&
+ control.selectedDate.getMonth() === date.getMonth() &&
+ control.selectedDate.getDate() === date.getDate()
readonly property alias date: delegateLoader.__date
readonly property bool valid: delegateLoader.valid
// TODO: this will not be correct if the app is running when a new day begins.
diff --git a/src/controls/Styles/Base/ScrollViewStyle.qml b/src/controls/Styles/Base/ScrollViewStyle.qml
index 3df278c6..26285c85 100644
--- a/src/controls/Styles/Base/ScrollViewStyle.qml
+++ b/src/controls/Styles/Base/ScrollViewStyle.qml
@@ -370,8 +370,8 @@ Style {
property var flickableItem: control.flickableItem
property int extent: Math.max(minimumHandleLength, __styleData.horizontal ?
- Math.min(1, (flickableItem ? flickableItem.width/flickableItem.contentWidth : 0)) * bg.width :
- Math.min(1, (flickableItem ? flickableItem.height/flickableItem.contentHeight : 0)) * bg.height)
+ Math.min(1, (flickableItem ? flickableItem.width/flickableItem.contentWidth : 1)) * bg.width :
+ Math.min(1, (flickableItem ? flickableItem.height/flickableItem.contentHeight : 1)) * bg.height)
readonly property real range: __control.maximumValue - __control.minimumValue
readonly property real begin: __control.value - __control.minimumValue
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/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/tests/auto/controls/data/tst_calendar.qml b/tests/auto/controls/data/tst_calendar.qml
index 814a361a..55283b02 100644
--- a/tests/auto/controls/data/tst_calendar.qml
+++ b/tests/auto/controls/data/tst_calendar.qml
@@ -129,7 +129,10 @@ Item {
compare(calendar.minimumDate, new Date(1, 0, 1));
compare(calendar.maximumDate, new Date(4000, 0, 1));
- compare(calendar.selectedDate, new Date(new Date().setHours(0, 0, 0, 0)));
+ var expectedDate = new Date();
+ compare(calendar.selectedDate.getFullYear(), expectedDate.getFullYear());
+ compare(calendar.selectedDate.getMonth(), expectedDate.getMonth());
+ compare(calendar.selectedDate.getDate(), expectedDate.getDate());
compare(calendar.frameVisible, true);
compare(calendar.dayOfWeekFormat, Locale.ShortFormat);
compare(calendar.locale, Qt.locale());
@@ -406,7 +409,9 @@ Item {
expectedDate.setDate(expectedDate.getDate() + cellIndex);
mousePress(calendar, toPixelsX(day), toPixelsY(week), Qt.LeftButton);
- compare(calendar.selectedDate, expectedDate);
+ compare(calendar.selectedDate.getFullYear(), expectedDate.getFullYear());
+ compare(calendar.selectedDate.getMonth(), expectedDate.getMonth());
+ compare(calendar.selectedDate.getDate(), expectedDate.getDate());
compare(calendar.__panel.pressedCellIndex, cellIndex);
compare(pressedSignalSpy.count, 1);
compare(releasedSignalSpy.count, 0);
@@ -434,7 +439,9 @@ Item {
// Ensure released event does not trigger date selection.
calendar.selectedDate = startDate;
mousePress(calendar, toPixelsX(1), toPixelsY(0), Qt.LeftButton);
- compare(calendar.selectedDate, new Date(2012, 11, 31));
+ compare(calendar.selectedDate.getFullYear(), 2012);
+ compare(calendar.selectedDate.getMonth(), 11);
+ compare(calendar.selectedDate.getDate(), 31);
compare(calendar.__panel.pressedCellIndex, 1);
compare(pressedSignalSpy.count, 1);
compare(releasedSignalSpy.count, 0);
@@ -445,7 +452,9 @@ Item {
clickedSignalSpy.clear();
mouseRelease(calendar, toPixelsX(1), toPixelsY(0), Qt.LeftButton);
- compare(calendar.selectedDate, new Date(2012, 11, 31));
+ compare(calendar.selectedDate.getFullYear(), 2012);
+ compare(calendar.selectedDate.getMonth(), 11);
+ compare(calendar.selectedDate.getDate(), 31);
compare(calendar.__panel.pressedCellIndex, -1);
compare(pressedSignalSpy.count, 0);
compare(releasedSignalSpy.count, 1);
@@ -534,7 +543,9 @@ Item {
calendar.locale = Qt.locale("en_GB");
calendar.selectedDate = new Date(2014, 11, 1);
mousePress(calendar, toPixelsX(0), toPixelsY(0), Qt.LeftButton);
- compare(calendar.selectedDate, new Date(2014, 10, 24));
+ compare(calendar.selectedDate.getFullYear(), 2014);
+ compare(calendar.selectedDate.getMonth(), 10);
+ compare(calendar.selectedDate.getDate(), 24);
mouseRelease(calendar, toPixelsX(0), toPixelsY(0), Qt.LeftButton);
}
@@ -585,7 +596,9 @@ Item {
function dragTo(cellX, cellY, expectedCellIndex, expectedDate) {
mouseMove(calendar, toPixelsX(cellX), toPixelsY(cellY));
- compare(calendar.selectedDate, expectedDate);
+ compare(calendar.selectedDate.getFullYear(), expectedDate.getFullYear());
+ compare(calendar.selectedDate.getMonth(), expectedDate.getMonth());
+ compare(calendar.selectedDate.getDate(), expectedDate.getDate());
compare(calendar.__panel.pressedCellIndex, expectedCellIndex);
compare(hoveredSignalSpy.count, 1);
compare(pressedSignalSpy.count, 1);
@@ -627,7 +640,9 @@ Item {
3 4 5 6 7 8 9 3 4 5 6 7 8 9 */
mousePress(calendar, toPixelsX(5), toPixelsY(0), Qt.LeftButton);
- compare(calendar.selectedDate, new Date(2014, 1, 1));
+ compare(calendar.selectedDate.getFullYear(), 2014);
+ compare(calendar.selectedDate.getMonth(), 1);
+ compare(calendar.selectedDate.getDate(), 1);
compare(calendar.__panel.pressedCellIndex, 5);
compare(pressedSignalSpy.count, 1);
compare(releasedSignalSpy.count, 0);
diff --git a/tests/auto/controls/data/tst_combobox.qml b/tests/auto/controls/data/tst_combobox.qml
index ce8b6c42..c380c63a 100644
--- a/tests/auto/controls/data/tst_combobox.qml
+++ b/tests/auto/controls/data/tst_combobox.qml
@@ -66,14 +66,6 @@ TestCase {
property var model
- Timer {
- id: timer
- running: true
- repeat: false
- interval: 500
- onTriggered: testCase.keyPress(Qt.Key_Escape)
- }
-
function init() {
model = Qt.createQmlObject("import QtQuick 2.2; ListModel {}", testCase, '')
model.append({ text: "Banana", color: "Yellow" })
@@ -505,20 +497,14 @@ TestCase {
var comboBox = Qt.createQmlObject('import QtQuick.Controls 1.2 ; ComboBox { model: 4 }', container, '');
comboBox.activeFocusOnPress = false
verify(!comboBox.activeFocus)
- if (Qt.platform.os === "osx") // on mac when the menu open, the __popup function does not return
- timer.start()
- else // 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
+ mouseClick(comboBox, comboBox.x + 1, comboBox.y + 1)
mouseClick(comboBox, comboBox.x + 1, comboBox.y + 1)
verify(!comboBox.activeFocus)
comboBox.activeFocusOnPress = true
- if (Qt.platform.os === "osx") { // on macOS when the menu open, the __popup function does not return
- timer.start()
- } else {
- // 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)
- }
+ // 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_rangeddate.qml b/tests/auto/controls/data/tst_rangeddate.qml
index cad94eb4..a1874441 100644
--- a/tests/auto/controls/data/tst_rangeddate.qml
+++ b/tests/auto/controls/data/tst_rangeddate.qml
@@ -69,7 +69,10 @@ Item {
function test_defaultConstruction() {
// rangedDate.date should be the current date.
- compare(rangedDate.date.getTime(), new Date(Date.now()).setHours(0, 0, 0, 0));
+ var expectedDate = new Date();
+ compare(rangedDate.date.getFullYear(), expectedDate.getFullYear());
+ compare(rangedDate.date.getMonth(), expectedDate.getMonth());
+ compare(rangedDate.date.getDate(), expectedDate.getDate());
}
function test_minMax() {
diff --git a/tests/auto/controls/data/tst_scrollview.qml b/tests/auto/controls/data/tst_scrollview.qml
index 842fd6dc..42398115 100644
--- a/tests/auto/controls/data/tst_scrollview.qml
+++ b/tests/auto/controls/data/tst_scrollview.qml
@@ -139,6 +139,45 @@ TestCase {
}
}
+ Component {
+ id: tabNavigationComponent
+ ApplicationWindow {
+ property alias scrollView: view
+ property alias control1: text1
+ property alias control2: text2
+ property alias control3: button
+
+ width: 400
+ height: 300
+ visible: true
+ modality: Qt.WindowModal
+
+ ScrollView {
+ id: view
+ anchors { top: parent.top; left: parent.left; right: parent.right; bottom: button.top }
+ Column {
+ width: view.width
+ TextField {
+ id: text1
+ anchors { left: parent.left; right: parent.right }
+ height: 30
+ }
+ TextField {
+ id: text2
+ anchors { left: parent.left; right: parent.right }
+ height: 30
+ }
+ }
+ }
+
+ Button {
+ id: button
+ anchors.bottom: parent.bottom
+ text: "hi"
+ }
+ }
+ }
+
function test_dragFetchAppend() { // QTBUG-50795
var scrollView = dragFetchAppendComponent.createObject(container)
verify(scrollView !== null, "view created is null")
@@ -319,5 +358,50 @@ TestCase {
verify(!control.control3.activeFocus)
control.destroy()
}
+
+ function test_navigation_QTBUG_64596() {
+ if (Qt.styleHints.tabFocusBehavior != Qt.TabFocusAllControls)
+ skip("This function doesn't support NOT iterating all.")
+
+ var control = tabNavigationComponent.createObject(container)
+ verify(control)
+ waitForRendering(control.contentItem)
+
+ control.requestActivate()
+ control.control1.forceActiveFocus()
+ verify(control.control1.activeFocus)
+ verify(!control.control2.activeFocus)
+ verify(!control.control3.activeFocus)
+ keyPress(Qt.Key_Tab)
+ verify(!control.control1.activeFocus)
+ verify(control.control2.activeFocus)
+ verify(!control.control3.activeFocus)
+ keyPress(Qt.Key_Tab)
+ verify(!control.control1.activeFocus)
+ verify(!control.control2.activeFocus)
+ verify(control.control3.activeFocus)
+ keyPress(Qt.Key_Tab)
+ verify(control.control1.activeFocus)
+ verify(!control.control2.activeFocus)
+ verify(!control.control3.activeFocus)
+ // and backwards
+ keyPress(Qt.Key_Tab, Qt.ShiftModifier)
+ verify(!control.control1.activeFocus)
+ verify(!control.control2.activeFocus)
+ verify(control.control3.activeFocus)
+ keyPress(Qt.Key_Tab, Qt.ShiftModifier)
+ verify(!control.control1.activeFocus)
+ verify(control.control2.activeFocus)
+ verify(!control.control3.activeFocus)
+ keyPress(Qt.Key_Tab, Qt.ShiftModifier)
+ verify(control.control1.activeFocus)
+ verify(!control.control2.activeFocus)
+ verify(!control.control3.activeFocus)
+ keyPress(Qt.Key_Tab, Qt.ShiftModifier)
+ verify(!control.control1.activeFocus)
+ verify(!control.control2.activeFocus)
+ verify(control.control3.activeFocus)
+ control.destroy()
+ }
}
}
diff --git a/tests/auto/controls/data/tst_slider.qml b/tests/auto/controls/data/tst_slider.qml
index 9e2ba0f1..e95d26d9 100644
--- a/tests/auto/controls/data/tst_slider.qml
+++ b/tests/auto/controls/data/tst_slider.qml
@@ -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
@@ -182,8 +196,6 @@ Item {
slider.wheelEnabled = false
mouseWheel(slider, 5, 5, 4 * ratio, 0)
compare(slider.value, 0)
-
- slider.destroy()
}
function test_activeFocusOnPress(){
diff --git a/tests/auto/controls/data/tst_tableview.qml b/tests/auto/controls/data/tst_tableview.qml
index 8bd40ae3..fe50f241 100644
--- a/tests/auto/controls/data/tst_tableview.qml
+++ b/tests/auto/controls/data/tst_tableview.qml
@@ -971,8 +971,6 @@ TestCase {
table.getColumn(0).width = 20
compare(table.getColumn(0).width, 20)
table.resizeColumnsToContents()
- if (Qt.platform.pluginName === "offscreen")
- skip("", "QTBUG-62496")
compare(table.getColumn(0).width, 50)
table.destroy()
}