Commit Graph

31 Commits

Author SHA1 Message Date
Anton Kudryavtsev 361564dacf QDateTimeParser: adapt unquote() to make good use of QStringRef.
Avoid unnecessary allocations.

Change-Id: I9bed622c0dd7d9fe993b52d9169d1773957da4f2
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-05-11 06:44:22 +00:00
Anton Kudryavtsev c6618cb885 QDateTimeParser: de-duplicate calls and cache results
Change-Id: I0d6065fbdd19acff14072ff626585e8a12a3e073
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-05-11 06:44:11 +00:00
Anton Kudryavtsev 7abb90a70a QDateTimeParser: proper construction of QString
... with known size and known char by corresponding ctor.

Don't use fill() for this case.

Change-Id: I475a0655132ecbb40b1eac919309597b2560e71b
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-05-09 18:57:57 +00:00
Anton Kudryavtsev ac7d14f1aa QDateTimeParser: enable RVO in format()
Change-Id: I3d9f84d03519b2b8fb37c7d2e773e68bc4b9a1d3
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-04-30 18:25:57 +00:00
Liang Qi b94773c9c8 Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts:
	config.tests/unix/compile.test
	src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
	src/testlib/qtestcase.cpp
	src/testlib/qtestcase.qdoc

Change-Id: Ied3c471dbc9a076c8de33d673bd557e88575609d
2016-04-13 06:55:37 +02:00
Anton Kudryavtsev 684c8d4d12 QDateTime: add some const
For CoW types const methods will be called.
For QDate we can use new const getDate() method.

Change-Id: Ie3a4fe48b3635d270a79c9ac5205b835b3442eae
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-04-09 11:34:54 +00:00
Edward Welbourne fd5720af2c QDateTimeParser: new Section mask values simplify code.
Various |s of existing section flags were used repeatedly; naming
these masks makes the relevant code easier to read.  In QDateTimeEdit,
add a comment to make clear that its Section enum is based on QDTP's.

Change-Id: Ifd8364cd396a6d0d5ed7ae7dc4d31690f77edd30
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-04-08 14:45:49 +00:00
Edward Welbourne ee22fe13cd QDateTimeParser::parse(): improve readability
A switch (was inconsistent about whether enum members need casts and)
made it less obvious, rather than more, what was going on; so changed
it to a nested if.

Change-Id: I9af322d9dd17aa08cac5003eff2c8eaa73b50d45
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-04-08 14:45:30 +00:00
Liang Qi ee0951d69b Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts:
	src/network/access/qftp.cpp
	src/widgets/itemviews/qheaderview.cpp
	src/widgets/itemviews/qlistview.cpp
	tests/auto/network/access/qftp/tst_qftp.cpp

Change-Id: I9f928f25d45d8944dd60bb583f649fc1615bc5d9
2016-04-07 10:47:20 +02:00
Edward Welbourne bebf89e137 QDateTimeParser: Avoid repetition in sectionMaxSize
The format to use was computed, every time round a loop, in both
branches of a ?: choice, duplicating code and potentially computation.
Pull it out into a const computed once before the loop.

A conditional return 2 is pointless for the #if-branch which returns 2
unconditionally, so move it into the #else.

Change-Id: Ia583e958e24f9f37b92cb3f2a173bc07e88bcd06
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-04-05 11:43:30 +00:00
Anton Kudryavtsev 9baf824e4d QDateTimeParser: de-duplicate calls and cache results
Change-Id: I2e95456146b6ce646e244e962082f2967bcaed42
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-02-16 21:38:05 +00:00
Liang Qi d456f87ece Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
	src/corelib/io/qfilesystemwatcher_win.cpp
	src/corelib/plugin/plugin.pri
	src/plugins/platforms/cocoa/qcocoaaccessibility.mm
	tests/auto/corelib/tools/qlocale/tst_qlocale.cpp

Change-Id: Id6824631252609a75eff8b68792e4d10095c8fc1
2016-02-11 08:25:04 +01:00
Edward Welbourne f432d64019 Make findAmPm actually return the relevant enum, instead of int.
The enum needed a name to make that possible, of course.
The one overt int return -1 needed to be made explicitly Neither, too.

Change-Id: I3930bf03a7ee5e1619a1c74f9ca54faf6a6c5b2f
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2016-02-04 09:14:02 +00:00
Edward Welbourne 72b57a5dfa Disintermediate QDateTimeParser::SectionNode operations.
The name, format and maxChange of a Section depend only on the
section, not on the details of the currently parsed text it matches;
so we don't need the parser object's list of all sections to work them
out.  Move these methods to the SectionNode and act directly on that
instead of going via the section list.

Make the name take a Section enum instead of an int.
Likewise, make stateName take a State enum instead of an int.

Change-Id: Ie340d042ab95aec517013c4dcc30901d40305c78
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2016-02-02 16:28:48 +00:00
Liang Qi d3e6e732c7 Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
	config.tests/unix/compile.test
	src/plugins/platforms/cocoa/qcocoahelpers.mm
	src/tools/qlalr/cppgenerator.cpp

Change-Id: I0103ca076a9aca7118b2fd99f0fdaf81055998c3
2016-02-02 15:57:44 +01:00
Edward Welbourne 2736d7921d Don't let a good day cause date-time parser to forget a conflict.
Setting conflicts to isSet & DaySection cleared it if we hadn't seen
the day stipulated, even if there had been a conflict (e.g. over year)
before we hit the day-of-week that didn't match the (unset, so
defaulting to) 1st of the month.  Explicitly test for conflict and
only set conflicts (to true) if there is a conflict.  Added regression
test.

Change-Id: I7363eb66a8bb808d341738d14969039834f50db8
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2016-01-29 10:35:03 +00:00
Edward Welbourne ee6463ffd3 Refactor one QDateTimeParser::sectionText() via the other.
Avoid duplicated code thereby.

Change-Id: Icb4e95887e92e8fe8f172329cc383f9e868874a4
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2016-01-29 10:34:57 +00:00
Edward Welbourne fbe7000ba3 Make initializers into declare-and-initialize.
Eliminates separate declaration line, makes unambiguous that all are
initialized.

Change-Id: Ib419a385b38f98070c06428da246d4580b0a0dbc
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2016-01-29 10:34:48 +00:00
Edward Welbourne 54ece34283 Avoid shadowing in QDateTimeParser::findAmPm.
A parameter was called index; but an inner block re-used that name.
Rename the parameter.

Change-Id: I2fa18f32aa129c5b1d8de6c4b6571438eeefea14
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2016-01-29 10:34:39 +00:00
Liang Qi 158a3a4159 Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
	src/corelib/io/qiodevice_p.h
	src/corelib/kernel/qvariant_p.h
	src/corelib/tools/qsimd.cpp
	src/gui/kernel/qguiapplication.cpp
	tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp

Change-Id: I742a093cbb231b282b43e463ec67173e0d29f57a
2016-01-21 08:17:21 +01:00
Edward Welbourne 9c0de96454 Make some initializers be declarations.
This shortens an earlier over-long line of declarations and makes
visible that these are declare-and-initialize.

Change-Id: I39fa9613196c34f7e2b2da04da729324d7f83a55
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2016-01-20 17:13:04 +00:00
Edward Welbourne 57e024cc81 Avoid shadowing a name (and use the outer variable an extra time)
QDateTimeParser::parseFormat()'s top-level scope has a const int max;
this was shadowed by a short-lived max in an inner scope; and the
outer scope's max could be re-used one more time after that to save
re-evaluating the same unchanged expression it held.

Change-Id: I9f07452bb0b4e5ff4bcf6396d42d1419de6276fa
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2016-01-20 17:12:58 +00:00
Edward Welbourne aa196457da Avoid dereferencing before the start of a string.
A check for a backslash before a quote neglected to pretest that the
quote wasn't the first character in its string.

Change-Id: Ib5226836d1111e37bed984938f7c667be59eb1c5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-01-20 17:12:48 +00:00
Edward Welbourne d8c0bd4207 Make it clearer what's happening with a fall-through.
An if () {...}'s close-brace was hiding on the end of a break; line,
an idiom used in several places for braces that existed to contain a
case (for the sake of local declarations).  This made it hard to see
that there was an if() whose else was the resulting (commented)
fall-through.  So put that close-brace on the comment's line and make
the comment clearly indicate it's an else.

Change-Id: Ie7e7c7063bef96536d6231297b083fc384f2363e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-01-20 17:12:36 +00:00
Jani Heikkinen 1a88b2f768 Updated license headers
From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/

Updated license headers to use new LGPL header instead of LGPL21 one
(in those files which will be under LGPL v3)

Change-Id: I046ec3e47b1876cd7b4b0353a576b352e3a946d9
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-01-15 12:25:24 +00:00
Andy Shaw e22d75d0b1 Translate AM/PM under the QDateTimeParser context so it is consistent
In order to ensure that the same text will be used in both QDateTimeParser
and QDateTimeEdit, use the QDateTimeParser context for the AM and PM
strings.

Task-number: QTBUG-251
Change-Id: I89b0809825251181440bf19cbe5828024a43acfb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-05-28 06:35:44 +00:00
Jani Heikkinen 83a5694dc2 Update copyright headers
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.

Outdated header.LGPL removed (use header.LGPL21 instead)

Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing
combination. New header.LGPL-COMM taken in the use file which were
using old header.LGPL3 (src/plugins/platforms/android/extract.cpp)

Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license
combination

Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe
Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
2015-02-11 06:49:51 +00:00
Matti Paaso 974c210835 Update license headers and add new license files
- Renamed LICENSE.LGPL to LICENSE.LGPLv21
- Added LICENSE.LGPLv3
- Removed LICENSE.GPL

Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
2014-09-24 12:26:19 +02:00
Maks Naumov a3421d1ba6 QDateTimeParser: remove unused local variables
Change-Id: Id78fde8a720961c448d1aa3983ad296974796fdf
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-09-05 20:18:04 +02:00
Jerome Pasion 4533cc9944 Doc: Adding mark-up to boolean default values.
Default values should have mark-up to denote that they are code.
This commit changes:
-"property is true" to "property is \c true".
-"Returns true" to "Returns \c true".
-"property is false" to "property is \c false".
-"returns true" to "returns \c true".
-"returns false" to "returns \c false".

src/3rdparty and non-documentation instances were ignored.

Task-number: QTBUG-33360
Change-Id: Ie87eaa57af947caa1230602b61c5c46292a4cf4e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-08 00:46:27 +02:00
John Layt e5734c2f08 QDateTime - Split QDateTimeParser into a separate file
Not strictly needed yet, but helps to reduce the size of QDateTime and
make it easier to read a major re-write.  Imposes separation of parser
which will be needed if we make QLocale always use the system backends,
after which only QDateTimeEdit widget will need the parser and it can
be moved there.

Change-Id: I6a5e9a3edf6fe8ff2340af6afecd8ba4bfde9dd4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2013-09-09 16:21:10 +02:00