summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.qmake.conf2
-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/dialogs/dialogs.pro2
-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.qml9
-rw-r--r--tests/auto/controls/data/tst_slider.qml9
-rw-r--r--tests/auto/controls/data/tst_tableview.qml2
-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
29 files changed, 227 insertions, 53 deletions
diff --git a/.qmake.conf b/.qmake.conf
index db2299f2..d6ee2340 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.3
+MODULE_VERSION = 5.10.0
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 862c5f43..12cb3a4b 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 bac0d64d..5a5a9605 100644
--- a/src/controls/plugin.cpp
+++ b/src/controls/plugin.cpp
@@ -120,7 +120,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/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/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 49d98a1a..b80bf86b 100644
--- a/src/dialogs/qquickabstractfiledialog.cpp
+++ b/src/dialogs/qquickabstractfiledialog.cpp
@@ -318,4 +318,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 b4b7165d..cb7ac27e 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 NOTIFY shortcutsChanged) // map of QStandardDirectory names to QUrls
Q_PROPERTY(QJSValue __shortcuts READ __shortcuts NOTIFY shortcutsChanged) // 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();
@@ -116,6 +119,7 @@ Q_SIGNALS:
void selectionAccepted();
void sidebarVisibleChanged();
void shortcutsChanged();
+ 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 1185aca9..814a361a 100644
--- a/tests/auto/controls/data/tst_calendar.qml
+++ b/tests/auto/controls/data/tst_calendar.qml
@@ -132,7 +132,7 @@ Item {
compare(calendar.selectedDate, new Date(new Date().setHours(0, 0, 0, 0)));
compare(calendar.frameVisible, true);
compare(calendar.dayOfWeekFormat, Locale.ShortFormat);
- compare(calendar.__locale, Qt.locale());
+ compare(calendar.locale, Qt.locale());
}
function test_setAfterConstructed() {
@@ -141,13 +141,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() {
@@ -205,7 +205,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
@@ -371,7 +371,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;
@@ -457,7 +457,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";
@@ -531,7 +531,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, new Date(2014, 10, 24));
@@ -602,7 +602,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";
@@ -875,7 +875,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 632a1d15..ce8b6c42 100644
--- a/tests/auto/controls/data/tst_combobox.qml
+++ b/tests/auto/controls/data/tst_combobox.qml
@@ -512,10 +512,13 @@ TestCase {
mouseClick(comboBox, comboBox.x + 1, comboBox.y + 1)
verify(!comboBox.activeFocus)
comboBox.activeFocusOnPress = true
- if (Qt.platform.os === "osx") // on mac when the menu open, the __popup function does not return
+ 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
- mouseClick(comboBox, comboBox.x + 1, comboBox.y + 1)
+ } 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)
+ }
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..9e2ba0f1 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
@@ -176,6 +176,13 @@ Item {
slider.value = 0
mouseWheel(slider, 5, 5, -40 * ratio, 0)
compare(slider.value, slider.maximumValue)
+
+ // Mousewheel deactivated
+ slider.value = 0
+ slider.wheelEnabled = false
+ mouseWheel(slider, 5, 5, 4 * ratio, 0)
+ compare(slider.value, 0)
+
slider.destroy()
}
diff --git a/tests/auto/controls/data/tst_tableview.qml b/tests/auto/controls/data/tst_tableview.qml
index fe50f241..0b54634e 100644
--- a/tests/auto/controls/data/tst_tableview.qml
+++ b/tests/auto/controls/data/tst_tableview.qml
@@ -971,6 +971,8 @@ TestCase {
table.getColumn(0).width = 20
compare(table.getColumn(0).width, 20)
table.resizeColumnsToContents()
+ if (Qt.platform.pluginName === "offscreen")
+ expectFail("", "QTBUG-62496")
compare(table.getColumn(0).width, 50)
table.destroy()
}
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" ]
+ }
}
}