summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-12-15 11:21:15 +0100
committerLiang Qi <liang.qi@qt.io>2017-12-15 11:21:15 +0100
commit3e7b3aae9c736ec62a727f218a73f86886e2a367 (patch)
treed06037b68eb1f69619957ab1883ddcdb56790f65 /src
parentb9c95d63efde5d0ee9d332074285d5a4800391b5 (diff)
parent15c909f4170450cdbe01218a0d7cbea55b70fae5 (diff)
downloadqtquickcontrols-3e7b3aae9c736ec62a727f218a73f86886e2a367.tar.gz
Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts: .qmake.conf Change-Id: If27d9c3cbc17765c4180651189c4b8d19b8409da
Diffstat (limited to 'src')
-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
9 files changed, 55 insertions, 39 deletions
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 cb47c576..99ae9423 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 Q_DECL_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