Commit Graph

26312 Commits

Author SHA1 Message Date
Simo Fält
5d8354e63a Autotest: Enable make check on rhel 7.1
Blacklisting all tests, which were failing locally.

Task-number: QTQAINFRA-949
Change-Id: I40c25ab0155b8977596d61297ab252a546515f87
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@theqtcompany.com>
2016-02-11 05:47:38 +00:00
Sérgio Martins
4fc070a419 QLocale: Use QVariant::toStringList() instead of template instantiation
Avoids (binary) code duplication.

Change-Id: I57a23e2f6e151963163d8073b309b3562f8e8684
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-02-10 20:36:05 +00:00
Sérgio Martins
2c9f6b1a18 Fix usage of QMutexLocker, destroy it only at end of scope
Change-Id: I87f2c433c987b5f7b4680639cae51cdf6ce9ddc6
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2016-02-10 20:35:52 +00:00
Friedemann Kleint
e395bda9a5 Windows accessibility: Add override declaration.
Change-Id: I982c91a9316f10a5e6d88abd60c028664ed3e28e
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2016-02-10 12:43:59 +00:00
Friedemann Kleint
d145929fd7 Windows accessibility: Remove some cruft.
Change-Id: I5cb35bdd5441a8dd7a51193048b32a6feccba2b2
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2016-02-10 12:43:56 +00:00
Friedemann Kleint
5cf6a8a50c QWindowsVistaStyle: Suppress animation when QLineEdit's base color is set.
Introduce utility function to check using
QWindowsXPStylePrivate::isLineEditBaseColorSet().

Task-number: QTBUG-40634
Change-Id: Iaa6962a17217352aa59d0c54421b764ad47d3bf8
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
2016-02-10 12:43:45 +00:00
Friedemann Kleint
6cb462d7aa QWindowsXPStyle: Introduce utility function for QLineEdit's palette.
Introduce QWindowsXPStylePrivate::isLineEditBaseColorSet() checking
whether the base color has been set in the widget's palette taking
into account the QSpinBox special case and simplify the code
accordingly.

Task-number: QTBUG-40634
Change-Id: I0e7527031b333d71727fbd30db6dd80aa715c9ab
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
2016-02-10 12:43:40 +00:00
Aleix Pol
8b4ac65e29 Provide QCss with the correct font for <pre> blocks
Labels would use a statically defined font for <pre> blocks.
Use the one defined by the QPlatformTheme instead, through
QFontDatabase::systemFont(FixedFont)

Task-number: QTBUG-50564
Change-Id: I5491bd0defce651bdf809bcbc6a529a900f4959b
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
2016-02-09 21:24:46 +00:00
Edward Welbourne
22c262d2d7 Readability fix for MS isRelative, isAbsolute.
The layout and phrasing of these two QFileSystemEntry methods was such
as to obscure what they actually test.  (Overlong lines, extraneous
parentheses, spurious conditions and poor line-breaking.)  Rewrote to
make both clearer; and, in particular, to make it obvious that they
are *not* mutually complementary.  Behavior is not changed.

Change-Id: If748e48d41fe3a76bab3a1f840c7b7ca62442f8f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-02-09 16:12:12 +00:00
Maurice Kalinowski
2ddd11dde2 Cleanup testcase for platforms without QProcess support.
Change-Id: Ib56c90262605ad975772f6b26c6232020e308ca6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2016-02-09 15:45:17 +00:00
Friedemann Kleint
42f788ffe2 QWindow::setMask(): Apply High DPI scaling.
Move code from QWidget::setMask() and reimplement QWidget::setMask()
using QWindow::setMask().

Task-number: QTBUG-50938
Change-Id: I040688d6b18df91368fa6ab6392a3b4cd80f2683
Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
2016-02-09 15:40:56 +00:00
Friedemann Kleint
ab3e2f66e9 Standarddialogs example: Remove horizontal spacer from fullscreen layout.
It does not work as expected since the QLineEdits do not expand.
Amends b880b7e1ac.

Change-Id: I0b3b3822cca7fc6442a7155eecd46bd3d134d069
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-02-09 15:24:54 +00:00
Eskil Abrahamsen Blomfeldt
51f29b88da Don't force antialiasing when it is turned off
In the gray antialiasing code path for text on Windows, we
check whether Cleartype is enabled in the system and,
if it is, we forcibly enable gray antialiasing instead. But in
this logic we did not consider the case where antialiasing
is turned off entirely, i.e. when the style strategy is
QFont::NoAntialias. We should never override
no-antialias with antialias.

[ChangeLog][Windows][Text] Made it possible to disable
antialiasing for text when drawing into images.

Task-number: QTBUG-47141
Change-Id: Ieb2beba8c2d02295abe6d9a98d2e63a2d39c9e6a
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2016-02-09 14:39:25 +00:00
Dmitry Shachnev
a4fac65938 dbustray: Support late registering of tray icon menu
If a menu is added to the tray icon after the icon itself has been registered,
we need to register the menu properly.

Change-Id: I19a6d78848142d66c2cd882746d8d55c0b9a2818
Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-02-09 07:22:21 +00:00
Dmitry Shachnev
7ad930987d dbustray: Do not change m_menu in QDBusTrayIcon::createMenu()
This method can be called for a submenu after it's called for the top-level
menu, and we should not replace it with a submenu.

Change-Id: I8e180ee074287cfcdc76dfe77c6c7aa7d5891741
Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-02-09 07:22:16 +00:00
Sérgio Martins
12b19ca56c Fix clang 3.7 developer build [Werror, Winconsistent-missing-override]
Change-Id: Ia5c149c6e6886c38bb9a83cd8b36737a57876b41
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-02-08 10:47:36 +00:00
Dmitry Shachnev
9c7f37e648 dbusmenu: Refactor the code to allow dynamic updating of menus
* Transfer propertiesUpdated and updated signals from submenus to parent
  menus. Without this, the adaptor only receives this signal from top-level
  menu items, and doesn't receive it from items of submenus. Connect to
  these signals when a menu item is added or synced, and disconnect when it
  is removed.
* Make QDBusPlatformMenus use IDs of items containing them, not their own
  IDs (own IDs do not make any sense since they are not exported over D-Bus).
* Store toplevel menus per-adaptor, to make it possible to export multiple
  menus (for example a menubar and a tray icon menu).
* Adjust the QDBusMenuLayoutItem::populate methods to always get the menu
  via its containing item and to populate the menus recursively.
* Map D-Bus menu AboutToShow method to platform menu aboutToShow method,
  and map hovered and closed events to hovered and aboutToHide signals.
  (QTBUG-46293)
* Always set the visible property on item. Otherwise, when an item becomes
  visible, the D-Bus menu still thinks it's invisible because that property
  was not changed back to true. (QTBUG-48647)
* Call emitUpdated from insertMenuItem and removeMenuItem methods, as they
  really update layout. Do not call it from syncMenuItem, it changes only
  properties but not the layout.
* Start revision numbering with 1, because libdbusmenu-based hosts ignore
  updated signal with revision=1.

Task-number: QTBUG-46293
Task-number: QTBUG-48647
Change-Id: Icf713405db0443e25462c1a19046df7689fe5e78
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
2016-02-08 10:43:06 +00:00
Sérgio Martins
01859cc121 Reduce allocations by using reserve()
Change-Id: If34fa53402985f6b3c5e7217bce4a1177af835b6
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-02-07 16:50:26 +00:00
Sérgio Martins
af499fd7eb Make QWindowGeometrySpecification suitable to use as global
It's used as a global static but according to library policy it's required
to have a trivial dtor and a trivial or constexpr ctor, otherwise it
runs code at library load/unload.

Change-Id: I1fcea3ce388b2a198e3851e6d0aeb91ae0a8e4b1
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-02-07 16:49:33 +00:00
Alexander Bersenev
8eaf335259 xcb: Fix not delivering focusIn event on hide/show
Consider a window which was hidden and shown with hide() and show()
methods and mouse pointer was in window when hide() was called.

At first, window got focusOutEvent and then Qt library sends X server
a message to unmap the window.

Then X server will send client two messages:
1) FocusOut(10) detail=Nonlinear(0x03)
2) FocusIn(9) detail=Pointer(0x05)

QXcbWindow has a logic for not seting active window to 0 if there is
a FocusIn coming (see QXcbWindow::doFocusOut).

So QGuiApplicationPrivate::focus_window still points to the current
window.

Then when show() is called, qt compares previous focus with new focus
and, since they are equal, doesn't do anything. Event focusInEvent
isn't delivered to the window.

Here are two links why X server sends FocusIn just after FocusOut:
http://lists.freedesktop.org/archives/xorg/2008-December/041684.html
https://tronche.com/gui/x/xlib/events/input-focus/normal-and-grabbed.html

Proposed fix ignores FocusIn events with detail==Pointer.
The text of explaining comment is taken from the Chromium project:
https://chromium.googlesource.com/chromium/src/+/master/ui/views/widget/desktop_aura/x11_desktop_handler.cc
from X11DesktopHandler::ProcessXEvent function.

[ChangeLog][module][Linux/XCB] Fix not delivering focusIn event on
hide/show with XCB

Task-number: QTBUG-49071
Change-Id: I433c8b638834c25f113cc134ee4185778c44f540
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-02-06 09:59:17 +00:00
Błażej Szczygieł
b9f76db30d xcb: Correct enter/leave event handling when mouse button is pressed
This patch fixes cursor shape when mouse leaves the window and enters
the window again with pressed mouse button - ignore the mouse enter
and leave event when any of mouse buttons is pressed.

Task-number: QTBUG-46576
Change-Id: Id6ce50cd0d66da51a251d4811bc42cd31606de29
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-02-06 09:59:11 +00:00
Błażej Szczygieł
e4fb521b3f xcb: XInput2 fixes, enter/leave event fixes
Added enter/leave event handling in XInput2 to avoid problems with
those events when the mouse is grabbed.

This commit amends: 53d289ec4c
This commit amends: ed2e157803

Task-number: QTBUG-50340
Change-Id: I7a120b46daa4f8fa4c218346273ae90b6abfa156
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-02-06 09:59:04 +00:00
Lada Trimasova
f669ea0d54 Link with -ldl option only when it is supported
-ldl option was used unconditionally while libdl is not supported
when libc is static.
Add build test to configure which checks if libdl is supported.
QMAKE_LIBS_DYNLOAD in "src/corelib/plugin/plugin.pri" is now used only
if libdl is available.
qt_linux_find_symbol_sys from qlibrary_unix is now used only if
QT_NO_DYNAMIC_LIBRARY is not defined.

Initially reported by Buildroot autobuilder here:
http://autobuild.buildroot.net/results/a85/a85a1839a45fb6102e53131ecc8f6dadf92bcdc2

Change-Id: I0397472456efdc4f3ab5f24d01253bee8048a9d1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-02-05 16:29:09 +00:00
Oswald Buddenhagen
a107c5394a remove redundant namespace qualification
Change-Id: I9fdb7ccc60da2631bc74b3b0a8414c211f4c182f
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-02-05 16:29:04 +00:00
Friedemann Kleint
c4a53f647f QtWidgets: Fix build & warnings with QT_NO_GRAPHICSVIEW.
kernel\qapplication.cpp(3157,18) :  warning: unused variable 'isGraphicsWidget' [-Wunused-variable]
            bool isGraphicsWidget = false;
                 ^
kernel\qwidget.cpp(6446,18) :  warning: unused variable 'window' [-Wunused-variable]
    if (QWidget *window = w->window()) {
                                          ^
kernel\qwidget.cpp(7949,50) :  error: no member named 'proxyWidget' in 'QWExtra'
        if ((q->isWindow() && (!extra || !extra->proxyWidget))
                                          ~~~~~  ^
kernel\qwidget.cpp(8084,50) :  error: no member named 'proxyWidget' in 'QWExtra'
        if ((q->isWindow() && (!extra || !extra->proxyWidget))

Change-Id: I8474ab0ab4617c6588707ce0c2f7a97e4d0e54da
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-02-05 13:42:21 +00:00
Gabriel Pannwitz
ce29de5c33 Doc: correct minor typo
Change-Id: If19900309bbef8b65d3dbda4f7795113bfe0678f
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
2016-02-05 13:33:52 +00:00
Andy Shaw
3904950af4 If the font is not being found then get the English name regardless
In a case of having a non English system locale, then the face and name of
the font may be localized but will not match up what is in the registry.
Therefore we need to try with the English name if is possible that there
is one, so in the case of when registerAlias is false we should try to get
the English name if necessary.

Change-Id: Id1064b6f5263677320374dbddfad852f30f041c5
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
2016-02-05 13:20:05 +00:00
Nico Vertriest
918b8d4e9e Doc: corrected minor link issues
Task-number: QTBUG-43810
Change-Id: I98eafe0c7ed55f309640e8495c83ffcef355aa08
Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
2016-02-05 13:01:16 +00:00
Friedemann Kleint
73c062d605 Windows QPA: Remove dead code as detected by Clang.
Task-number: QTBUG-50804
Change-Id: Id87ca4ac98eb17b1e743a10080554da38d609588
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2016-02-05 08:16:56 +00:00
Andy Shaw
798e0064e9 Fix crash introduced by 75b705fec8
This fixes the crash introduced by
75b705fec8. The drag only needs to be ended
on the hide if it is actually in the middle of dragging. This enables the
case of dragging the dock widget out with the mouse to continue to work.

Task-number: QTBUG-50890
Change-Id: I72309dd40ee670319f2ff607ae201c46f8de4652
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-02-05 08:15:34 +00:00
Friedemann Kleint
1c7e1d99b7 Windows QPA: Add missing override declarations.
Task-number: QTBUG-50804
Change-Id: I27017b0d0fd44cf746d180fdb126d1e6593e7d7b
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2016-02-05 08:13:33 +00:00
Anton Kudryavtsev
4748acbf1e qmake: use QString::replace() overloaded with QLatin1String
instead of QStringLiteral, QString, const char*.

Results: reduce .rodata, prevent re-creation of QString.

Change-Id: Ie2e3089974c42e6733457bbe58521bccd1da3a53
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-02-04 15:10:49 +00:00
Frederik Gladhorn
4a251da5bb Accessibility OS X: Improve password handling
Set the right sub role (NSAccessibilitySecureTextFieldSubrole) and
return the bullet point character for the text contents. This alignes
the behavior with native widgets.

Change-Id: I7305e08dca61097dd8c050aed64c792c06de0a4d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2016-02-04 11:42:53 +00:00
Friedemann Kleint
1568074a60 Windows QPA/Accessibility: Fix Clang warnings about comparing different enums.
accessible\iaccessible2.cpp(1708,40) :  warning: comparison of two values with different enumeration types ('IA2Role' and 'QAccessible::Role') [-Wenum-compare]
Q_STATIC_ASSERT(IA2_ROLE_COLOR_CHOOSER == QAccessible::ColorChooser);

Task-number: QTBUG-50804
Change-Id: I25a1f00fdbd687ff23f875542a6aa0cc0cab3d23
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
2016-02-04 10:21:51 +00: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
a054349be3 Removed redundant and distracting test from conditional.
If argumentTypes is NULL then it is indeed not equal to the address of
a local static variable, so there is no need to follow the NULL-check
with a check that it's not equal to that non-NULL address.

Change-Id: I62362db747c0620b2195f7997368f026f535d57c
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2016-02-04 10:37:33 +00:00
Friedemann Kleint
debfed863a Direct2D: Spell out ~QWindowsDirect2DPaintDevice.
Fixes warning about deleting the incomplete type
QWindowsDirect2DPaintDevicePrivate.

Task-number: QTBUG-50860
Change-Id: I11edb49e6e3996963913155e307fd5f3944bffd2
Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
2016-02-04 08:29:30 +00:00
Andy Shaw
75b705fec8 End the drag if the dockwidget is being hidden
When the window flags are changed for the widget then it is possible to
minimize the dockwidget via the titlebar. This will cause it to be ready
to start a drag internally but since the dockwidget never gets a mouse
release event it doesn't end it. Therefore it ends up being in an invalid
state later on when restored, so the endDrag() needs to happen in the hide
event to ensure this is not an issue later on.

Change-Id: Ia84bee96b9eed49896869e6a15d4de6d01964264
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-02-04 08:14:39 +00:00
Friedemann Kleint
0026688285 QWizard/Windows: Add missing override.
Task-number: QTBUG-50804
Change-Id: Ia1c73b40d96ddea01e440e0e3e010ff3fcb88793
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2016-02-04 07:56:51 +00:00
Laszlo Agocs
16d0d1c942 egldevice: Add a way to force mode setting
Normally setting the mode again and again on each application startup
is not desirable as it takes time and considerably affects the application
startup experience.

However, in some cases (like shutting down the X server) the output
gets powered down and there seems to be no way to detect this. Here
setting the mode again becomes necessary. Until there is a better
solution, add an environment variable QT_QPA_EGLFS_ALWAYS_SET_MODE
which, upon a non-zero value, leads to always calling drmModeSetCrtc.

The issue is not specific to Qt, the same is visible with the NV examples
as they try to minimize redundant mode set calls in the same manner.

Change-Id: If2b5e3fda74e077a747dd03cee65c936560a5026
Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
2016-02-04 07:46:18 +00:00
Dmitry Shachnev
f83816ec4f dbusmenu: Fix return type for QDBusMenuAdaptor::EventGroup method
Change-Id: If7454eeaafb31737f023e7359b2a1c513dd5772f
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-02-03 18:43:56 +00:00
Dmitry Shachnev
68f97cdf5f dbusmenu: Add missing methods for getting QDBusPlatformMenu properties
Similar to the existing methods for QDBusPlatformMenuItem. These methods
will be needed for implementing the D-Bus platform menu bar.

Change-Id: Iae3a5892b71fa9a7c72c323ee4b3ab2afd7d4d76
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-02-03 18:43:55 +00:00
Nico Vertriest
3b0c75316c Doc: Replaced Trolltech logo with Qt logo
Task-number: QTBUG-37505
Change-Id: If59039b2f7e60ffea3e8c7803d38e528acf35383
Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
2016-02-03 12:37:37 +00:00
Alexander Volkov
40e4949674 xcb: Take into account the orientation of touch points
Add support for ABS_MT_ORIENTATION value. Linux kernel multi-touch
protocol allows it to be in a wide range:
https://www.kernel.org/doc/Documentation/input/multi-touch-protocol.txt,
but we need only to know whether the touch point rect is rotated
by 90 degress. So adjust the angle to the closest axis.

Change-Id: Ie20725dc4bef509e2f9b19571efc69502d00c019
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-02-03 07:44:14 +00:00
Tor Arne Vestbø
10bf53ae19 Don't include <qtest.h> from qtestblacklist.cpp
It's only supposed to be included by clients of the library, and
confuses qmake's dependency resolution into thinking the header-only
features such as qtestkeyboard.h and qtestmouse.h are dependencies
of this source file.

Change-Id: I5fe73b752c1c491ee0088bced77f997696d96c62
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2016-02-02 23:29:52 +00:00
Allan Sandfeld Jensen
6ec7d7658d Fix rounding error in fetchTransformedBilinear
To calculate the real count we need to use the actual fixed point
increment and can not use the floating point value increment wass based
on since it might round differently.

Includes auto-test by Gabriel de Dietrich.

Task-number: QTBUG-50153
Change-Id: Ia973088f361c90370fa20bac14a4b8f373b5d234
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-02-02 22:47:10 +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
Edward Welbourne
a965d505a0 Make interleaving of QDateTimeParser::Section values evident.
The actual section members grew up to the internal value, leading to
interleaving of subsequently-added values.  Change existing enum
values to make this go away (class is private, so no BC constraint
forbids this).

Change-Id: If266b557817eae19d375519bf38268f0f2a0d372
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2016-02-02 16:28:40 +00:00
Edward Welbourne
2564de7b1e Deconfuse some heavy use of the preprocessor.
One #if...#endif started in one function's body and ended in
another's, which is worth remarking on in comments at both ends.

A later #if...#else... opened blocks in both halves, that were closed
just after their #endif, leading to simplistic brace-matching failure;
so move that closing brace to inside both halves, so each half is
brace-balanced and the function, as a whole, brace-balances simply.

Commented on each #endif that was distant from its #if.

Change-Id: I74d97b6dc4b291ec05053d299077a61cecf41ca1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-02-02 16:28:24 +00:00
Edward Welbourne
3d64f898d1 Correct usage of Apple-related #if-ery.
As requested by sanity-bot.

Change-Id: I8f6793a26f5cf600d4e6225ca219496cfbb25799
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-02-02 16:28:18 +00:00