diff options
-rw-r--r-- | dist/changes-5.10.0 | 38 | ||||
-rw-r--r-- | dist/changes-5.9.3 | 26 | ||||
-rw-r--r-- | src/controls/Private/BasicTableView.qml | 2 | ||||
-rw-r--r-- | src/controls/Private/qquickcalendarmodel.cpp | 8 | ||||
-rw-r--r-- | src/controls/Private/qquickcalendarmodel_p.h | 2 | ||||
-rw-r--r-- | src/controls/Private/qquickcontrolsettings.cpp | 36 | ||||
-rw-r--r-- | src/controls/Private/qquickrangeddate.cpp | 12 | ||||
-rw-r--r-- | src/controls/Private/qquickrangeddate_p.h | 24 | ||||
-rw-r--r-- | src/controls/ScrollView.qml | 2 | ||||
-rw-r--r-- | src/controls/Styles/Base/CalendarStyle.qml | 4 | ||||
-rw-r--r-- | src/controls/Styles/Base/ScrollViewStyle.qml | 4 | ||||
-rw-r--r-- | src/controls/plugins.qmltypes | 171 | ||||
-rw-r--r-- | src/dialogs/doc/qtquickdialogs.qdocconf | 2 | ||||
-rw-r--r-- | tests/auto/controls/data/tst_calendar.qml | 29 | ||||
-rw-r--r-- | tests/auto/controls/data/tst_combobox.qml | 24 | ||||
-rw-r--r-- | tests/auto/controls/data/tst_rangeddate.qml | 5 | ||||
-rw-r--r-- | tests/auto/controls/data/tst_scrollview.qml | 84 | ||||
-rw-r--r-- | tests/auto/controls/data/tst_slider.qml | 18 | ||||
-rw-r--r-- | tests/auto/controls/data/tst_tableview.qml | 2 |
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() } |