diff options
author | Liang Qi <liang.qi@qt.io> | 2018-10-08 11:10:14 +0000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2018-10-08 11:10:14 +0000 |
commit | 1170e707b7672642aadaf8103829a783713ae487 (patch) | |
tree | 37aaa487cff884ba8b4ac1ec07c1c73516f86d27 | |
parent | 29208fa07c1b9f656ea2535696828385b7832226 (diff) | |
parent | b4da5c6b931fb726fade891448f01c266cb3c115 (diff) |
Merge "Merge remote-tracking branch 'origin/5.11' into 5.12" into refs/staging/5.12
-rw-r--r-- | src/3rdparty/zlib/qt_attribution.json | 2 | ||||
-rw-r--r-- | src/corelib/tools/qdatetimeparser.cpp | 29 | ||||
-rw-r--r-- | src/corelib/tools/qtimezoneprivate.cpp | 2 | ||||
-rw-r--r-- | src/gui/doc/src/richtext.qdoc | 14 | ||||
-rw-r--r-- | src/network/ssl/qsslconfiguration.cpp | 4 | ||||
-rw-r--r-- | src/platformsupport/fontdatabases/freetype/qfreetypefontdatabase.cpp | 2 | ||||
-rw-r--r-- | src/plugins/platforms/windows/qwindowscontext.cpp | 1 | ||||
-rw-r--r-- | src/testlib/qabstractitemmodeltester.cpp | 2 | ||||
-rw-r--r-- | src/widgets/widgets/qstatusbar.cpp | 2 | ||||
-rw-r--r-- | tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp | 8 |
10 files changed, 48 insertions, 18 deletions
diff --git a/src/3rdparty/zlib/qt_attribution.json b/src/3rdparty/zlib/qt_attribution.json index ce3fa50f35..ea3a476e7b 100644 --- a/src/3rdparty/zlib/qt_attribution.json +++ b/src/3rdparty/zlib/qt_attribution.json @@ -8,7 +8,7 @@ "Homepage": "http://zlib.net/", "Version": "1.2.11", - "License": "ZLib license", + "License": "zlib License", "LicenseId": "Zlib", "LicenseFile": "LICENSE", "Copyright": "(C) 1995-2017 Jean-loup Gailly and Mark Adler" diff --git a/src/corelib/tools/qdatetimeparser.cpp b/src/corelib/tools/qdatetimeparser.cpp index 18c44c3a17..e6afd510fd 100644 --- a/src/corelib/tools/qdatetimeparser.cpp +++ b/src/corelib/tools/qdatetimeparser.cpp @@ -1341,12 +1341,33 @@ QDateTimeParser::scanString(const QDateTime &defaultValue, const QDate date(year, month, day); const QTime time(hour, minute, second, msec); - return StateNode( + const QDateTime when = #if QT_CONFIG(timezone) - tspec == Qt::TimeZone ? QDateTime(date, time, timeZone) : + tspec == Qt::TimeZone ? QDateTime(date, time, timeZone) : #endif - QDateTime(date, time, tspec, zoneOffset), - state, padding, conflicts); + QDateTime(date, time, tspec, zoneOffset); + + // If hour wasn't specified, check the default we're using exists on the + // given date (which might be a spring-forward, skipping an hour). + if (parserType == QVariant::DateTime && !(isSet & HourSectionMask) && !when.isValid()) { + qint64 msecs = when.toMSecsSinceEpoch(); + // Fortunately, that gets a useful answer ... + const QDateTime replace = +#if QT_CONFIG(timezone) + tspec == Qt::TimeZone + ? QDateTime::fromMSecsSinceEpoch(msecs, timeZone) : +#endif + QDateTime::fromMSecsSinceEpoch(msecs, tspec, zoneOffset); + const QTime tick = replace.time(); + if (replace.date() == date + && (!(isSet & MinuteSection) || tick.minute() == minute) + && (!(isSet & SecondSection) || tick.second() == second) + && (!(isSet & MSecSection) || tick.msec() == msec)) { + return StateNode(replace, state, padding, conflicts); + } + } + + return StateNode(when, state, padding, conflicts); } /*! diff --git a/src/corelib/tools/qtimezoneprivate.cpp b/src/corelib/tools/qtimezoneprivate.cpp index 8bf7336a42..569b343187 100644 --- a/src/corelib/tools/qtimezoneprivate.cpp +++ b/src/corelib/tools/qtimezoneprivate.cpp @@ -440,7 +440,7 @@ QTimeZonePrivate::Data QTimeZonePrivate::dataForLocalTime(qint64 forLocalMSecs, utcEpochMSecs = forStd; } else { // Invalid forLocalMSecs: in spring-forward gap. - const int dstStep = daylightTimeOffset(early < late ? imminent : recent); + const int dstStep = daylightTimeOffset(early < late ? imminent : recent) * 1000; Q_ASSERT(dstStep); // There can't be a transition without it ! utcEpochMSecs = (hint > 0) ? forStd - dstStep : forDst + dstStep; } diff --git a/src/gui/doc/src/richtext.qdoc b/src/gui/doc/src/richtext.qdoc index f3bbcaf5bb..a0f739d418 100644 --- a/src/gui/doc/src/richtext.qdoc +++ b/src/gui/doc/src/richtext.qdoc @@ -975,14 +975,12 @@ \li \row \li \c meta \li Meta-information - \li If a text encoding is specified using the \c{meta} tag, - it is picked up by Qt::codecForHtml(). - Likewise, if an encoding is specified to - QTextDocument::toHtml(), the encoding is stored using - a \c meta tag, for example: - - \snippet code/doc_src_richtext.qdoc 7 - + \li If a text encoding is specified using the \c{meta} + tag, it is picked up by Qt::codecForHtml(). Likewise, + if an encoding is specified to QTextDocument::toHtml(), + the encoding is stored using a \c meta tag, for + example: + \c {<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />} \row \li \c li \li List item \li diff --git a/src/network/ssl/qsslconfiguration.cpp b/src/network/ssl/qsslconfiguration.cpp index df5660d4c3..3f732b4646 100644 --- a/src/network/ssl/qsslconfiguration.cpp +++ b/src/network/ssl/qsslconfiguration.cpp @@ -642,6 +642,10 @@ QList<QSslCertificate> QSslConfiguration::caCertificates() const The CA certificate database is used by the socket during the handshake phase to validate the peer's certificate. + \note The default configuration uses the system CA certificate database. If + that is not available (as is commonly the case on iOS), the default database + is empty. + \sa caCertificates() */ void QSslConfiguration::setCaCertificates(const QList<QSslCertificate> &certificates) diff --git a/src/platformsupport/fontdatabases/freetype/qfreetypefontdatabase.cpp b/src/platformsupport/fontdatabases/freetype/qfreetypefontdatabase.cpp index 2caa47658a..4baba64de3 100644 --- a/src/platformsupport/fontdatabases/freetype/qfreetypefontdatabase.cpp +++ b/src/platformsupport/fontdatabases/freetype/qfreetypefontdatabase.cpp @@ -63,7 +63,7 @@ void QFreeTypeFontDatabase::populateFontDatabase() if (!dir.exists()) { qWarning("QFontDatabase: Cannot find font directory %s.\n" - "Note that Qt no longer ships fonts. Deploy some (from http://dejavu-fonts.org for example) or switch to fontconfig.", + "Note that Qt no longer ships fonts. Deploy some (from https://dejavu-fonts.github.io/ for example) or switch to fontconfig.", qPrintable(fontpath)); return; } diff --git a/src/plugins/platforms/windows/qwindowscontext.cpp b/src/plugins/platforms/windows/qwindowscontext.cpp index 9bce72d853..253aeb9d76 100644 --- a/src/plugins/platforms/windows/qwindowscontext.cpp +++ b/src/plugins/platforms/windows/qwindowscontext.cpp @@ -963,7 +963,6 @@ static inline bool isInputMessage(UINT m) case WM_TOUCH: case WM_MOUSEHOVER: case WM_MOUSELEAVE: - case WM_NCHITTEST: case WM_NCMOUSEHOVER: case WM_NCMOUSELEAVE: case WM_SIZING: diff --git a/src/testlib/qabstractitemmodeltester.cpp b/src/testlib/qabstractitemmodeltester.cpp index fc6f696ecd..859966c0e3 100644 --- a/src/testlib/qabstractitemmodeltester.cpp +++ b/src/testlib/qabstractitemmodeltester.cpp @@ -217,7 +217,7 @@ QAbstractItemModelTester::QAbstractItemModelTester(QAbstractItemModel *model, Fa Q_D(QAbstractItemModelTester); - const auto &runAllTests = [d] { d->runAllTests(); }; + auto runAllTests = [d] { d->runAllTests(); }; connect(model, &QAbstractItemModel::columnsAboutToBeInserted, this, runAllTests); diff --git a/src/widgets/widgets/qstatusbar.cpp b/src/widgets/widgets/qstatusbar.cpp index fb551158bf..ef98bb6950 100644 --- a/src/widgets/widgets/qstatusbar.cpp +++ b/src/widgets/widgets/qstatusbar.cpp @@ -643,7 +643,7 @@ void QStatusBar::hideOrShow() } #endif - repaint(d->messageRect()); + update(d->messageRect()); } /*! diff --git a/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp b/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp index d460beafde..943805e228 100644 --- a/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp +++ b/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp @@ -2390,6 +2390,14 @@ void tst_QDateTime::fromStringStringFormat_data() QTest::newRow("data16") << QString("2005-06-28T07:57:30.001Z") << QString("yyyy-MM-ddThh:mm:ss.zt") << QDateTime(QDate(2005, 06, 28), QTime(07, 57, 30, 1), Qt::UTC); +#if QT_CONFIG(timezone) + QTimeZone southBrazil("America/Sao_Paulo"); + if (southBrazil.isValid()) { + QTest::newRow("spring-forward-midnight") + << QString("2008-10-19 23:45.678 America/Sao_Paulo") << QString("yyyy-MM-dd mm:ss.zzz t") + << QDateTime(QDate(2008, 10, 19), QTime(1, 23, 45, 678), southBrazil); + } +#endif QTest::newRow("late") << QString("9999-12-31T23:59:59.999Z") << QString("yyyy-MM-ddThh:mm:ss.zZ") << QDateTime(QDate(9999, 12, 31), QTime(23, 59, 59, 999)); |