Both cursor and anchor rect will change locally when
scrolling. So inform IM about it, so that any overlay
done from e.g the platform plugins for dealing
with text selection etc. can respond to the change.
Change-Id: I4e839e691a20ad07d2aa062e028d22cf5f31b7fa
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
This benchmark requires QtScript1 headers, and can not build as is.
Change-Id: I98e57ca2db82270a0887462d7959ff00e352166b
Reviewed-by: hjk <hjk@theqtcompany.com>
Implement support in QWidgetTextControl for the new API that lets
you specify a position argument when querying for Qt::ImCursorPosition.
Change-Id: I123e2522d33e783e6f3467b81be872e3620d6d15
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
Since we now have the possibility of providing an extra
position argument when querying for Qt::ImCursorPosition, we
need to ensure that we translate it from scroll view to
local coordinates before passing it on to QWidgetTextControl.
Change-Id: I4383ae3ea984b6140d8e9b4198047aec8b7e100b
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
Follow up f8dbed12, and implement support for IM queries that
can take an extra QVariant argument. We use this to implement
support for ImCursorPosition with a QPointF argument that
specifies that we should return the text position under
the given point rather than the current cursor pos (0bb645b).
Change-Id: I03ae7af698241f454d35dec84f248ecd5bb6ad51
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
Implement support in QWidgetTextControl for the new enum
Qt::ImAnchorRectangle.
Change-Id: I7978915454a6dd93b2f491ed15619016cda85c7e
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
Specifically, those that compare UTF-8 octet-streams:
- QByteArray <-> QByteArray
- QByteArray <-> const char*
For more, Qt first needs to gain a nothrow UTF-8 <-> UTF-16
comparator.
Change-Id: Ibccbdcdc3ebed5b1ac0e65c971f6f7d1bd15b6da
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
qtbase/src/corelib/global/qnamespace.qdoc:101: warning: Undocumented enum item 'AA_SynthesizeMouseForUnhandledTabletEvents' in Qt::ApplicationAttribute
qtbase/src/corelib/global/qnamespace.qdoc:2554: warning: Undocumented enum item 'ImAnchorRectangle' in Qt::InputMethodQuery
qtbase/src/corelib/statemachine/qsignaltransition.cpp:154: warning: Can't link to 'Q_COMPILER_DELEGATING_CONSTRUCTORS'
qtbase/src/gui/image/qiconloader.cpp:160: warning: Cannot find 'QIconCacheGtkReader' specified with '\class' in any header file
qtbase/src/gui/painting/qpaintengine_raster.cpp:1382: warning: No documentation for 'QRasterPaintEngine::fillPath(const QPainterPath &path, QSpanData *fillData)'
qtbase/src/testlib/qtest.h:176: warning: No documentation for 'QTest::toString(const QHostAddress &addr)'
qtbase/src/testlib/qtest_gui.h:77: warning: No documentation for 'QTest::toString(const QColor &color)'
Change-Id: If9ac0807accf2530ec7fc2ca7db71a110f9f79bb
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
The majority of these changes is about #ifdef-ing the Linux-specific use
of /dev/fb0.
The display handle is also acquired using fbGetDisplay(), which is
equivalent to fbGetDisplayByIndex(0) but is also portable.
Change-Id: I6f460edc9c06ae7461a6aab2a816ac6f645208c4
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
Whenever we notify about ImAnchorPosition, we also need to notify about
ImAnchorRectangle
Change-Id: Ia449396e1b9e91fa0e6f95c323e31533da660171
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
Detect if DirectWrite 2 is available, and support color fonts if possible.
One limitation worth mentioning is that if the color font contains regular,
monochrome glyphs as well, then these will be drawn in black, and not in the
pen color. Fixing this would require some elaborate rewrites in the font
rendering system, since we would have to have two font caches per
color font (one for mono and one for colors), or do some sort of trick where
we make argb(r, g, b, 0) mean subpixel alpha instead, and detect glyphs that
are not correctly premultiplied when blitting to the screen.
Another limitation is that the approach does not work with distance field
rendering. In principle we could support this on Windows, since the
format is vector based, but it would also require substantial work and
it is not possible to support for Apple/Google fonts anyway, so it would
just lead to code which is not cross-platform.
[ChangeLog][Windows] Added support for color fonts (color emojis) when
DirectWrite 2 is available.
Change-Id: I6a608dd5d2aa3a7e762a06830902bddac7c550a5
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Minor cleanup of QOutlineMapper to take advantage of QTransform.
Change-Id: I15534970a821c7f1de42f4a5a2560f04ae420d16
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Follow-up to commit 6fd205d5: document which version of danted shall
make one work-around redundant, document that another work-around is
still needed even with that v1.1.19; and remove a comment that
referred back to an XFAIL that commit 6fd205d5 removed.
Change-Id: I270b662528127c82184bff20b3cecea4f0c41b41
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
QSKIP() causes the whole test to be skipped, where this work-around
for a known quirk of the test server only requires skipping a single
Q_COMPARE(); the rest of the test passes fine without it.
Change-Id: Ie4612bd428f4cb4b342fad908cc2784fbadf069c
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
it doesn't appear to be referenced in any way, either.
Change-Id: Ifd30b435e3e628cd5e48ae24e9aef01c662d6d61
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Before this change QFile::errorString function was returning an
"Unknown error". Now it will return the typical ENOENT string.
Task-number: QTBUG-45259
Change-Id: Ib7634f1aa5d91f77151cf92c58d3956e20a4cc6b
Reviewed-by: hjk <hjk@theqtcompany.com>
Not only we don't need Cocoa to display it for us, but it also
seems to take a lot of time after the call to -[NSView
setNeedsDisplayInRect:].
While resizing a large and busy widgets window, we can decrease
the relative time spent in -[QNSView flushBackingStore:region:
offset:] from over 15% down to around 3%.
Change-Id: I2a8d51be28b77c4c3da2588d9a14e461e7910167
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
This is not done for other platforms (iOS or Windows) and eliminates a
maintenance burden and potential of inconsistencies with other parts of
the documentation (as illustrated by the fact that this page indicates
the wrong minimum supported version). The Supported Platforms page will
be the authoritative (and only) source of which particular versions of a
given operating system are supported.
Change-Id: I5a31f68965265f2dcd6515b1fa9385a9e9078274
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
Incidentally, this introduces QMAKE_RESOLVED_BUNDLE, which can be used
to determine the path of the bundle wrapper itself as well as the
executable target.
This is necessary for a subsequent patch adding support for
-separate-debug-info on Apple platforms.
Change-Id: Ia11430026b8e3f171e5db6677b190b8356832805
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
To make custom builds of Qt possible, we no longer require
the minimum SDK platform to be present on the system.
Instead we will look for any version higher than the
minimum requirement if the minimum is not available.
If the minimum required platform is available, then it
will still be preferred.
Change-Id: I3e804af89aba36e27a7da1e46a25c0c5798aeaf2
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Don't create hwcursor if it is disabled in QT_QPA_EGLFS_KMS_CONFIG.
Task-number: QTBUG-52403
Change-Id: I4e6f45d5b773dc2d50cd012179cd23452d910537
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
We need to do the icon cache trick all desktops using indicator-application,
these are not limited to Unity. For example, the default Xubuntu and Lubuntu
desktops use indicator-application too.
Without this, tray icons will be improperly shown on these desktops.
Change-Id: Id397bbe9b594152d7c3a29c36c853e928af7dde4
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
The CanBroadcast flag for QNetworkInterface indicates the ability to work
in broadcast mode. As WinRT natively supports udp broadcasts and they work out of the box
this flag should be set there.
Task-number: QTBUG-49026
Change-Id: I6623014287fe63dc1c353a6de265ebdf9114d013
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
The parentRowCount and the delta were already calculated
a few lines up, so don't recalculate them here.
This improves performance (rowCount() is a virtual function),
as well as readability (delta is more readable than end -
begin + 1).
Change-Id: Iabe88852a61f7ef52139e1ba446e9d3f87d6bd04
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Use QFINDTESTDATA to find the socketprocess helper executable.
Now tst_QLocalSocket::processConnection() passes when started from Qt
Creator without adjusting the working directory.
Change-Id: I97ca3334a381b3cd646647487529bcd90b969528
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
SSE2 can use intrinsics, which are supported by WEC2013, but for WEC7
they need to be defined.
Change-Id: I261f3db4db7abcb0b59598cef9cbad404635c3ec
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Gunnar Roth <gunnar.roth@gmx.net>
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Unfortunately the functions in xcb-image are quite slow, both for the
subimage generation and the byte order swapping. xcb_image_subimage is
implemented as a pixel by pixel copy, and the xcb byte swapping is done
manually without utilizing potential CPU instructions to accelerate the
swap.
Replace both with their Qt equivalents.
Change-Id: I1fe1fe5d9576fdf2bab4a8c401d2a6bb842c2727
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
The text for RedirectionTargetAttribute said the app has to handle redirections,
and only said that this attribute wouldn't be set if FollowRedirectsAttribute is set,
which was a bit confusing to read, before reading what exactly FollowRedirectsAttribute does.
It does more than removing the other attribute, it actually follows the redirection...
Change-Id: Idc634996e7b521ba05c05ca52438e47f1a411c85
Reviewed-by: Mandeep Sandhu <mandeepsandhu.chd@gmail.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
(for instance any global object which writes out to a config file in the
destructor). If the global cache isn't available anymore, don't use it.
Change-Id: I851a6e394d0b073aebf3ffd88b1966d424bfb92e
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Manual splitting instead of QStringRef::split()
Change-Id: I27ccf1c4e44ead5b13f85f2cdbd990cb3b874a7a
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
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>
The controlPointRect is a conservative area that is guaranteed to
contain the path, if that does not intersect with the painter's device
rect, the path must be fully outside the painted area, and can be
ignored.
Change-Id: If14d7dbaf916aa284b941d01e773da3365dce5bf
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
This patch improves support for non-32bit screen configurations on X. The
patch mostly touches the xcb platform plugin but the changes to the glx
convenience functions do affect e.g. the offscreen plugin as well.
Since QWindow instances are now by default of type RasterGL instead of
Raster the majority of all windows are in fact instances of QXcbGlxWindow.
This means that the eventual QSurfaceFormat that we use is chosen based on
the available OpenGL configurations. Here the GLX config resolution code
did not do a very good job in trying to find the closest match relative to
the requested QSurfaceFormat, instead preferring higher bit depths.
This is an issue since many configurations support 32-bit windows even
if the screen itself has a root window with depth 16. In particular,
servers supporting both GLX and Render are very likely to have such
visuals. Particularly affected are remote X connections - even if the
application itself makes no use of OpenGL at all!
The changes introduced by this patch are as follows:
1. Improve the GLX visual selection logic
2. Improve the xcb visual selection logic
3. Remove duplicated visual lookup for OpenGL-enabled windows
4. Configure the default QSurfaceFormat to match the primary screen depth
Change-Id: Id1c176359e63a4581410e20350db5ac2c083e1cf
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Change-Id: I0c94a5c2846b48c8aea7ffff1435b8a7ccbd4d9e
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
These were missed in d815de8c26 which
originally added these values.
Change-Id: I69618c90e71f7cc01eef3db477427759e62f626b
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Reviewed-by: Mandeep Sandhu <mandeepsandhu.chd@gmail.com>
We should really start using -L=/foo and -I=/foo inside of sysroots,
this test was preventing us from doing so (while arguably buying us
nothing).
Change-Id: If6e67631c585493871231e5d8a9354fa72e07343
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
The journald test was failing as sysroot was not being passed to the
compiler in the compile test. This is due to the fact we were explicitly
defining sysroot in the CXXFLAGS and not in CFLAGS.
Change-Id: I4b4bda71f9aabc8e420e0e89ff3cc8fa3bbca201
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>