| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, there is no concept of not having a cursor set on
a Window. Qt::ArrowCursor is always set instead. This causes
bugs when native child widgets are involved, for example setting
a cursor on the native widget's parent no longer works since
the child's Qt::ArrowCursor applies.
Introduce QWindowPrivate::hasCursor tracking whether a cursor
has been explicitly set and clear in QWindow::unsetCursor().
Handle 0 in QPlatformCursor::changeCursor() to mean
"unsetCursor()":
- Windows: Introduce default constructor for QWindowsWindowCursor
meaning "0". Search for applicable parent cursor in applyCursor.
- XCB: No big changes required, set XCB_CURSOR_NONE for no cursor.
- Other platforms: Assume Qt::ArrowCursor when cursor = 0 is
passed for now.
Task-number: QTBUG-28879
Change-Id: Id82722592f3cd5fe577a5b64dcc600c85cfea484
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some times a platform might want to exclude certain configs, for example
based on EGL_NATIVE_VISUAL_ID. This patch introduces a new
QEglConfigChooser class which has a virtual filterConfig() function
which can be re-implemented in a sub-class to give finer control of how
configs are chosen.
Change-Id: I8b684f01be95a47307b1e429857f01337a9a38d8
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
src/widgets/styles/qstyleanimation.cpp
Change-Id: Iae570895be6544de80f9c1ec309d1a08c59daff8
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
CoreText segfaults when creating paths for color-glyphs:
0 0x00007fff8fd41e69 in TFont::FindColourBitmapForGlyph ()
1 0x00007fff8fd417ac in TFont::CreatePathForGlyph ()
2 0x000000010567d1af in QCoreTextFontEngine::addGlyphsToPath (...)
So we shortcut the code-path, since we don't support Emoji yet anyways.
Task-number: QTBUG-28615
Change-Id: Ife16ae4959077d9eaaf6ea5cd1f27a4e2e01e7f5
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Useful for not having to fall back to QPainterPath drawing when using
the raster engine with a retina screen (which has a 2x scale).
Change-Id: I0a9f754d31b0ecd8e8daf7a01331d19716bab680
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some cruft had built up over time, and this is an attempt at cleaning up
the naming and use of these functions, and should not have any behavioral
effects.
The function supportsTransformations() has been renamed in QPaintEngineEx
to reflect its use, which is to decide if QPainter needs to pre-transform
the coordinates of the static text before asking the paint-engine to draw
it. The new name is requiresPretransformedGlyphPositions().
The OpenGL and CoreGraphics (Mac) paint engines keep their behavior of
not needing pre-transformed text, while the raster engine needs this
when using cached glyphs. The base-class implementation assumes that
all transforms that include a projection will need pre-transform,
which is also the case for the raster engine.
All decisions in the paint engines about whether or not to use the
glyph cache when drawing text are now deferred to the function
shouldDrawCachedGlyphs(), which has been refactored for the GL paint
engine(s) to share more logic. All implementations call the base
class implementation, which ensures that large font sizes will not
be cached. The raster engine will in addition ask the font engine
whether or not it can produce glyphs for the glyph-cache with the
given transform.
This is the only remaining instance of the supportsTransformations()
function, and will for all font engines except the CoreText engine
support affine transformations. The CoreText engine on the other hand
only supports translations (for now).
Change-Id: I8fb5e43e3de3ef62a526a79a6dfeda7f9546771d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
|
|\|
| |
| |
| | |
Change-Id: I7f0dab6bdb1f3cc1d3e6c30166ff6db9dfae37e9
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
qApp->topLevelAt() returns the QShapedPixmapWindow that the DnD
operation created, but what we want is the QWidgetWindow.
QWidgetWindow has the code to handle QDragMove events.
In Qt4, QShapedPixmapWidget had a parent, so was never returned
by qApp->topLevelWidgets().
In Qt5 we must filter it out. Bug is visible in the QNX plugin,
which is the only user of QSimpleDrag.
Change-Id: I920da86f3a1a92ce8e087f5948292fa4c68d4d81
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp
Change-Id: I6b8d505fc22f052c307ca27f58f7d16f98965f47
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit b7f63c6bf74a0eb62bb49c1085584da1b3714a06.
It made compilation fail in qstylehelper_p.h if QT_NO_ACCESSIBILITY
was defined - which it is by default on linux without dbus.
Change-Id: I313f5138460d28c44dad128d175df0e53a99287d
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
examples/widgets/painting/shared/shared.pri
src/corelib/tools/qharfbuzz_p.h
src/corelib/tools/qunicodetools.cpp
src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp
src/plugins/platforms/windows/qwindowsfontdatabase.cpp
Change-Id: Ibc9860abf570e5ce8b052fb88feb73ec35e64bd3
|
| |
| |
| |
| |
| |
| |
| | |
atspiadaptor.cpp:2140:12: error: suggest explicit braces to avoid ambiguous 'else' [-Werror=parentheses]
Change-Id: Ib21308f9c1b3bf813fed803228d8adbcc3ce7e9f
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
GCC was complaining:
qevdevtouch.cpp:475:13: error: 'maxId' may be used uninitialized in this function [-Werror=maybe-uninitialized]
Which got me scratching my head: maxId was unconditionally initialised. How
could GCC be complaining about it being uninitialised? Well, turns out that
bestId could be uninitialised and the code does:
if (bestId > maxId)
maxId = bestId;
Of course, if bestId was uninitialised, the warning should have been in the
"if" line first.
Change-Id: I5e174ab2957d76ad040c14fa6ef8535129b6dce3
Reviewed-by: Laszlo Agocs <lagocs83@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
this is much more elegant than the so far propagated !isEmpty(QT.foo.name).
also replace feature-specific tests (no-gui and no-widgets) and the
obsolete contains(QT_CONFIG, foo) syntax.
Change-Id: Ia4b3c8febcabf9eeca67b1f9173a523820b1038b
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I330c3ddd70232d94eae5543cb0282b962e67eae5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Especially with the newer QML accessibility we
can end up with events for objects that cannot
instantiate a QAccessibleInterface.
Let's not crash in that case.
Change-Id: Ie5d38315f32d30540eb4adcb74a7b3bfa667f03f
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I561c8ef4c25dde8eb24260a46d284ca10cbf074d
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Modified AtSpiAdaptor::notify to handle enabling and disabling widgets.
Change-Id: I9a23f74d891aaf123d7fc094bdf63e384e1d65fe
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Adding a new private method to simplify notifying that the state has
changed as it is something that is frequently done in AtSpiAdaptor::notify
Change-Id: Idf21715b5d20212adb301ae9bca05f1edfc19946
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I1de8dcd8714f1700ac03d7c1e8536f10a031cef9
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Font styleName support was disconnected since Qt switched to QPA
fontdatabase. Now add the code from Qt 4.8 back to enable this in
QPA.
Change-Id: Iab2cbfd5468f87542183348c2123ca4b2c270692
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I6bc47f12e60bfbda60e3f242d3b680d5684903ea
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The stepSize property was missing in Qt 4 and is
a sensible addition to the value interface.
Change-Id: I7571800d50ee7e4194c09c4db40300809a1ce45a
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Mostly straightforward, the a11y changes might look a bit drastic, but the
base class QAccessibleTextWidget was already disabled in this case, so we
have to obviously take out its sub-classes as well.
Change-Id: I682ace20d6938688ddb1da23c3463f3c025fab8e
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
we were already installing them into QtCore/private, so turn them into
proper private headers to start with. this cleans up our project files.
Change-Id: I0795f79e03b60b5854de9e4dc339e9b5a5e6fd87
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
| |
| |
| |
| |
| |
| | |
...if writing system is already known to be supported
Change-Id: Id7ea11e92507a283b2fba2ad944dd0a9772e484d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
...and remove the outdated QUnicodeTables::Script enum.
QFontEngineData now has one extra slot that never used
(engines[QChar::Script_Inherited]). engines[QChar::Script_Unknown],
if accessed, would be set with a Box engine instance, and could be used
as a minor optimization some time later.
In order to preserve the existing behavior, we map all scripts up to Latin to Common.
Change-Id: Ide4182a0f8447b4bf25713ecc3fe8097b8fed040
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Default to Regular/Normal instead of Medium in QFontConfigDatabase.
Requesting Medium as default was fine until the font actually provided a
Medium font, at which point it was selected by default.
Tweak the buckets so that Medium has preference over Bold when DemiBold
is requested. They will have to be extended for Medium when QTBUG-25814
is resolved.
Change-Id: I111b7f99083d50c3e8264f84f10a997f619ef4b3
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In change 1582407fc782c0befd0760633324dd5c206524a1, the Q_WS_MAC
code path which disabled drawing cached glyphs for any transform
was removed, as was the comment that scaling and rotation wasn't
supported by the Mac font engines. This obviously broke transformed
text on Mac, so we need to put it back.
I put it into the font engine itself where it belongs, and I kept
the somewhat confusing naming convention which is used in the
paint engine to minimize this patch. I'll clean up these function
names in a future commit.
Task-number: QTBUG-27362
Change-Id: I4fc6a503eedd4b1ebaf3ee659d948f997f433338
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
|
|
|
|
|
|
| |
Change-Id: I0abaf73d4b6b96dbcf499ea86749ced76348c281
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The bounding rectangle may have negative width or height when a
graphics view with text is rotated in certain angles. Make
sure that the image width and height are positive, otherwise the
context will be null and the following messages can be seen in
test logs:
<Error>: CGContextSetFontSize: invalid context 0x0
Change-Id: I10f83f6909035fb3c4ac456123cf1922eaea7c73
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Instead of assuming that all events should be handled when
a user event occurs, userEventSourceDispatch has to use the
flags used in QPAEventDispatcherGlib::processEvents.
Task-number: QTBUG-27595
Change-Id: Ib13607f89f7d3207ec83ab26f7d59b3c59a28c4e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Fallback to Gtk for unknown desktops, which should be suitable
for most cases like XFCE.
Task-number: QTCREATORBUG-8254
Change-Id: Iaf9959f75852e03a83b5af7d0dead01ef657d678
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
|
|
|
|
|
|
| |
Change-Id: I00c569787943a87dda60786b179af1f55a94ea68
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
|
|
|
|
|
| |
Change-Id: I6dc258274dc6614f56f306c30c95fe20c14fdf89
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current code seems to rely on an event, ABS_MT_TOUCH_MAJOR with a
value of 0 to detect a touch release. Not all devices[0] emit this, and
the spec[1] does not specify this behavior.
So, add a check for a BTN_TOUCH with a value of 0 to also indicate
Qt::TouchPointReleased.
[0]
http://www.chalk-elec.com/?page_id=1280#!/~/product/category=3094861&id=14647624
using hid_ntrig kernel module.
[1] https://www.kernel.org/doc/Documentation/input/multi-touch-protocol.txt
Change-Id: I4fc8ff404cad2083a57ff18737c5ea2b06d8ceac
Reviewed-by: Robert Daniels <robert.daniels@vantagecontrols.com>
Reviewed-by: Laszlo Agocs <lagocs83@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This has (and still does) caused lots of grief since
it means accessibility was often unintendedly not built.
Instead copy the lib-at-spi-2 header file needed for the
type enum and build it by default again.
Change-Id: I1ba26f20edff1aeb444c96a37928f36230ac7576
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
windowTitle, windowModality, windowIcon and so on are named that way
to be similar to the ones in QWidget. However QQuickWindow inherits
all of the declared properties, and we would like to have shorter
property names in QML. If you are working with a Window then it's
obvious the title property is the window title. Unfortunately,
there must be patches in many other modules which depend on this one.
In order to avoid the need to merge them all at the same time,
there is also patch https://codereview.qt-project.org/#change,39001
which temporarily adds backwards-compatible accessors, which can be
removed after the other modules are able to build without them.
We should not rename windowState to state, because in QML, state
usually drives the state machine for animation transitions etc.
(although QWindow is not an Item, a user might get confused about it).
Related patches are
https://codereview.qt-project.org/#change,39001
https://codereview.qt-project.org/#change,37764
https://codereview.qt-project.org/#change,37765
https://codereview.qt-project.org/#change,37766
https://codereview.qt-project.org/#change,37762
Change-Id: Ie4424ec15fbdef6b29b137f90a2ae33f173edd21
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
|
|
|
|
|
| |
Change-Id: I4f4928783d0e35b0df5e979fef1de80e9a026f55
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-27386
Change-Id: I4e12663f80060dfcea6970a705861af388d816ac
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For simplified and traditional Chinese.
Based on the Apple doc: Internationalization Programming Topics -
Language and Locale Designations.
Task-number: QTBUG-27130
Change-Id: I677563525edd607583561be20f4dbed24b2443a5
Reviewed-by: Jiang Jiang <gzjjgod@gmail.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|
|
|
|
|
|
|
|
| |
This patch goes together with 730a5a994ff46055055c58b25bd059373dddb934
and is the second code path that deals with the hash of valid objects.
Change-Id: Ia7b0995cb667cfce5f7697aa61856e44f745a932
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
It is possible to call the accessibility update for any widget,
even if it doesn't implement the right interfaces.
While that is bad, warning about it is better than asserting.
Change-Id: I23c0c783083f73fb816d75b2c9b78efd603edcb6
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Implementation for Windows and X11.
Additional checks to figure out if new Drag&Drop cursors where set. This means it is possible now to keep QDrag object in your program and call setDragCursor() method every time we need to change cursor depending on context.
Change-Id: I4be69e44b2863371a7ffbb29efc17c18210d6cde
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
|
|
|
|
|
|
|
|
|
| |
We have a new style Fusion that will replace these styles.
They will be moved to a separate
module rather than included in platforms that do not need them.
Change-Id: I51ebbcad5406e99130e5b12e62ba624d1489088c
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
|
|
|
|
|
|
|
| |
.qmake.conf (and previously .qmake.cache) already does that for us.
Change-Id: I06cc01fa45921d7bd66dda7a0f88729faeff37bd
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
| |
Change-Id: Id9c109d53bbb8ded04bbe98a622d44e13d572340
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
|
|
|
|
|
| |
Change-Id: If31b33f1b259f896408a66b0574d640b0ad57019
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The linux test would actually fail because the qobjects created
could end up having the same address (create-delete-create...).
After an object is deleted, it's not instantly removed from the
cache of valid objects.
Instead it would stay in the list with it's smart pointer becoming zero.
This patch adds the missing null pointer check so we are always up to date.
Change-Id: Ia7be14741d4798c2b8e75cb7127298c73cf206ef
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
|
|
|
|
|
| |
Change-Id: Id85dbf8a2ea8994d9fca07d3f10b43f62ec305a0
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|