| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
If QT_NO_CURSOR is defined then changeCursor() is not implemented in
QPlatformCursor which means that it isn't really being overridden in the
offscreen plugin. Therefore the same define is checked for to prevent a
compiler from having a problem with it.
Change-Id: Id7c104292354cb7462b3161602fc8d382a6dd390
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
| |
Map this to ignoresMouseEvents on NSWindow.
Task-number: QTBUG-45498
Change-Id: I86e518bbf805647d9f12b1af1747355ef55cc167
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Tool window always had NSResizableWindowMask before dd02c1eb38c6dfc8367f2c692e11897b6c00b097,
and this is broken, the new logic depends on WindowMaximizeButtonHint which is not
set on, for example, un-docked widget. Bring the old behavior back, while not
cancelling dd02c1e - make it resizable unconditionally, as it always was.
Task-number: QTBUG-46882
Change-Id: Ib739a701d85aaadab83230deee808757de6b5e21
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I4b92ac6b917c9979449b4834764497003d6de087
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
If the popup will show too close to the screen bottom,
we need to help Cocoa a bit. The horizontal positioning
hasn't shown any problems.
Change-Id: I5f298529fbf4a902e39f686f368046a8d1c11760
Task-number: QTBUG-45063
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Implement a dummy method to silence the compiler.
After testing, this method seems to never be called. Which is
good, since the current IM API in Qt have little to offer to resolve
what is being asked. Until a need arise, we just return
an empty array.
Change-Id: I573eb8205a7e635a46d487ae175fb46e3a602001
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Since 10.9, System Preferences->Mission Control->Displays have separate
Spaces settings needs to be followed.
Task-number: QTBUG-47030
Change-Id: I1c1cf326246bd5609090ce5ac3212d963d562593
Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The hotspot is defined in device independent coordinates, so
the default coordinates need to be divided by device pixel ratio.
Also, modify the scaling of cursor's pixmap to use SmoothTransformation to
generate cleaner looking lodpi cursors from hidpi cursors.
Change-Id: Ia938fd1e476e19e796f30712e23b06a5efed9964
Task-number: QTBUG-34116
Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Follow up from b494d85. We need to filter the responder
actions after a sync as well, otherwise they will be
added back if a menu item e.g changes text.
Change-Id: I2ecbcc292400ada97a8e29d4b97f087349d8a061
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Instead of hard-coding the key and modifier that should trigger a
shortcut, we read it out from the QKeySequence that corresponds to
a StandardKey instead.
Change-Id: I6325534d3ff91c788d7e660d9009954e437b8534
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This behavior is important because controls (widgets)
under tooltips don't receive mouse events and don't
update their state if it is really needed.
[ChangeLog][QtWidgets][Important behavior changes]
Tooltips on OS X are now transparent for mouse events.
Change-Id: I06403db7b66c87fe53debb033f8a74aa1c93e26a
Task-number: QTBUG-46379
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The method is currently a bit buggy, since it does not take
UITextLayoutDirectionUp and UITextLayoutDirectionDown into account.
This patch is mostly for fixing something "just in case", since
we so far have not seen UIKit calling this method for those
directions unless a hardware keyboard is connected. And in
that case, we anyway override IM navigation by dealing
with the arrow keys explicit.
Since IM in Qt does not support getting the position above
or below the current position, we just return the current
position, making it a no-op.
Change-Id: I4bcb9e2a00ab4e3d785058d7ff7f4855142dabbc
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
UIResponderStandardEditActions found in first responder will be prepended to
the edit menu automatically (or e.g made available as buttons on the virtual
keyboard). So we filter them out to avoid duplicates, and let first responder
handle the actions instead. In case of QIOSTextResponder, edit actions will be
converted to key events that ends up triggering the shortcuts of the filtered
menu items.
Change-Id: I046c6cc5b358d8a6f7623e10579e2dcd92f75139
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I4c99516fb98ce0da84b8690cc4c1fd71c0db9dca
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enable the undo/redo buttons on the keyboard, as well as the
Cmd-Z/Cmd-Shift-Z shortcuts.
For UIKit to support this, we need to add undo actions to
first responders undo manager. Since we don't know if Qt
has anything to undo/redo, we just enable the shortcuts
all the time. To do that, we trick NSUndoManager to always
have both an undo operation and a redo operation in the
stack.
Change-Id: I3294a962cc24f56585e7e515856142f3dda56d0a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Catch the missing shortcuts sent by UIKit, and forward
them to Qt as key events so that the app can respond to them.
Change-Id: If63c4b05466e64843982fce32fbd594d2a0ef312
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Controlling cursor position through input methods in Qt is very
limited. You cannot e.g move the cursor vertically, or select text
that spans several paragraphs. The reason for the latter is that Qt
works with input methods on a per-paragraph basis, which effectively locks
UIKit to only being able to move the cursor and select text within a single
paragraph.
Fixing up input methods to support more advanced navigation means changing the
whole design (working on a whole document, instead of per paragraph), and is
out of scope.
Instead we choose to listen for arrow keys and forward them to Qt in the
same fashing as we already do for backspace and enter. This will make the
iOS port on-par with the other platforms, which also sends control characters
like these on the side of IM events.
Note that registering shortcuts and overriding default IM navigation behavior
will only take effect when a hardware keyboard is connected. Only then will
[UIresponder keyCommands] be called from UIKit.
Change-Id: I634205e0578447c4aa6e9fdff342ee3b281901ea
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
So far we have chosen to send key events directly to the focus
object since we do already do that for IM events. But Qt expects key
events (especially control keys) to be sendt through QPA.
This means that key events can end up somewhere else than at the focus
object, which is expected and needed if shortcut propagation is to
work.
Change-Id: I160bf3309572719eda352cdb11b46c4b5a455e0d
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If Qt is not running its own event loop (e.g. if Qt is a plugin running
in a non-Qt host application with its own event loop, a call to
sendPostedEvents() should process all events by default, and not depend
on the flags passed to the last call to processEvents()
We also modify sendPostedEvents() to call its base implementation instead
of directly calling QCoreApplication::sendPostedEvents(). (The behavior of
the base implementation is the same, so no behavior change there).
This also adds a test for QWindow event handling without Qts event loop is
running. This is a black box test, just to ensure that basic functionality
is working. It can be extended later.
Task-number: QTBUG-45956
Change-Id: I7d688c0c6dec5f133fb495f07526debdde5389af
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An assumption we do for the QIOSDesktopManagerView is that it should always
cover the whole UIWindow. To achieve that, we override setFrame to be stop
any attempt from UIKit to make our view smaller, e.g. when the statusbar
changes height.
In case the view is not a direct child of the window, we need to take
any transformations into account when computing the new frame. This
happens e.g. during presentation of other view-controllers, where our
view is temporarily reparented into a UITransitionView that may have
a transform set.
Task-number: QTBUG-47506
Change-Id: I388143f2cbb566541ffb1068443ce21e62ea2b42
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
WinCE headers do not have this type.
Task-number: QTBUG-47964
Change-Id: I5573eaf754b825774576c55b7cb4acfbd9e8d8dd
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 916dfcb8 introduced a regression where QNSView
would hold a copy if the backing store QImage, which
would cause a detach and deep copy if/when the image
was painted on while the copy was held.
Revert back to the previous share-by-pointer scheme.
Make sure the following bugs stays fixed:
QTBUG-38377
QTBUG-42206
QTBUG-44313
Change-Id: Ib8049051d51947113f23b66ee61dc34c22388914
Task-number: QTBUG-46959
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Release drop target after CoLockObjectExternal() to prevent
a potential access violation.
Change-Id: I2c3bde9f8008b1d567544596f56ebfd61fe6ad86
Task-number: QTBUG-47737
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Amend change b55f88caba339a49bf0ebabfa324dde523c2b866 by splitting
out the enabling into a separate function and call that when
QWindowsInputContext::update() is triggered to reflect updates
of the microfocus in QGraphicsView or item view widgets.
Task-number: QTBUG-47679
Task-number: QTBUG-47705
Task-number: QTBUG-40691
Change-Id: I84a6647944f1aaedcd72d7060cc90e29a177f577
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
both width and height
Depending on the orientation, UIKit might shrink either the width or the height
of the view to fit the status bar. Since we anyway want the view to fill the whole
window, we simply ignore this, and use the bounds of the whole window directly.
Task-number: QTBUG-47506
Change-Id: I73294e5792f8d98fb0c0b0a42198207baca08e3c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Effectively revert 9150563940f61be9fb17510be49c0734244866a5 for
QTBUG-11463 (offering only CF_DIB5 for images of format ARGB32) and
4018cd3529ded32f3434095a2da2568d52dfe16a for QTBUG-46848 adding support
for "PNG".
The changes broke pasting images into MS Office since it can only handle
plain CF_DIB and gets confused if "PNG" is returned as available format.
Task-number: QTBUG-47656
Task-number: QTBUG-11463
Task-number: QTBUG-46848
Change-Id: I9b641b4b912b7b16a2f58bc84fa09c28a64e91c8
Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It was a regression: drawing applications which can handle both mouse
and tablet events should not need to wait to see whether a mouse event
will be followed by a corresponding tablet event. The tablet event is
preferred because it has all the tablet parameters (pressure etc.)
Also, show the timestamp of each mouse event in the log message,
which helps to verify the correspondence.
Task-number: QTBUG-47702
Change-Id: I9e832c19de935ec1243138eb4c1484284f61cbfc
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|\ |
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
doc/global/manifest-meta.qdocconf
src/corelib/global/qnamespace.qdoc
src/corelib/io/qstorageinfo_unix.cpp
src/corelib/tools/qtools_p.h
src/sql/drivers/psql/qsql_psql.cpp
Change-Id: I23a15ac84e03ad61d865e3df872b013eb0752949
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Specifically when reading files with broken cmap tables, we could
get some undeterministic results. We handle this more gracefully
by verifying that the offsets are sane and bailing out early if not.
This replaces the current pattern throughout the font engine for
consistency.
Change-Id: I507bba49c0be634afca77d1eb3d199a427451bee
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Qt keeps track of the selection direction since a selection anchor can be placed
both to the left or to the right of the cursor. On iOS, the selection should
instead always be specified from left to right (using a position together with a
positive length). So when restoring the selection after performing the
calculation of the text rect, we need to ensure that we follow this format.
Change-Id: Id8bea6c35e2781e1431ee963f601b6e9ef05dbf5
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Iaa602771227f64c3a477a27656362a361f78e8dd
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When clicking onto another widget while in the middle of composing should
cause it to be seen as an acceptance of the composed text so far instead
of just cancelling it outright.
This was validated against the Japanese, Korean and Chinese IMEs on
Windows 7.
Task-number: QTBUG-42344
Change-Id: I03be0cd099840f51a9550929f33e2afbbf31e85a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since d7ca800a87a2291c94c6580f0cfe068bb2280caf the shortcut events were
only sent once. The one sent by QGuiApplication did not create a
QKeyEvent with the full native modifier state - basically the extended
key event expected everywhere.
That means that shortcuts on some keyboard layouts - like ctrl-shift-7 on
the German keyboard (resulting in ctrl+/) - would not work when the
shortcut override was tested from QGuiApplication, but then the same shortcut was
sent from QApplication with the full information, so it worked the
second time. Shortcuts of this type in Qt Quick were broken before.
Task-number: QTBUG-47062
Change-Id: I8390b9a96d0d998a2a538ac65503702e0d299cc7
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
On Android 5.0 ART will complain when we don't detach the thread before
the application is about to quit (non-fatal). This is because we
re-attach to call quitApp and then leave it attached.
Change-Id: I4571ef5f38d92afcaf91cb920ebe121a7be7835a
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
the handlers' .pri files added $$PWD to INCLUDEPATH to make the files
self-contained when used externally, but this polluted the include path
of the gui module itself, thus hiding incorrect use of QPA includes.
Task-number: QTBUG-47400
Change-Id: I576469a71e8ded0b409d62687999c0fa884613f9
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Re-use QDir to check if dir exists
(QDir::exists() also returns false if path specifies a file),
and use somewhat faster QDir::entryInfoList() to iterate the font files.
Change-Id: Iea3a6e5548928a01db71037425adf170cb722151
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
...mainly for platforms that do not provide a native/unified way
to obtain system-defined font fallbacks list
(ie !CoreText && !FontConfig).
Change-Id: I23c5589d79ddecb6311ccc52ec8b29977f06d408
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I7e98d3540cd7717ac8af8d1993618d18320f811a
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It's more efficient than we are. This also enables the code to work in
the unlikely case of an ELF platform without RTLD_DEFAULT.
Change-Id: Ib306f8f647014b399b87ffff13f12f8aeeb2589a
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In the normal case, this change is a no-op. In case RTLD_DEFAULT isn't
defined, this makes the job of the optimizer easier to detect that the
static variable is never modified and that it can do a lot of dead code
elimination.
This also enables the optimization in the next commit.
Change-Id: Ib306f8f647014b399b87ffff13f12f40a359233b
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I2391c2921274b7a178fbdde1d0f59f7fbaa3048e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Patch 53d289ec4c0f512a3475da4bbf1f940cd6838ace caused it not to select
property change events, which are needed separately for each tablet
device. It's not enough to select them on the master device.
Change-Id: Ibb6c7990d2edd865019eacfa7eed4bf818f7557e
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix up 2b5df245d6cdbfb3150ee815debccf655af8f19f which routed
WM_GESTURE through QWindowsMouseHandler::translateTouchEvent()
causing asserts on missing touch devices.
Task-number: QTBUG-47184
Change-Id: Ie843ebb343e34487bcac9c9dbea88de641d51e28
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add missing Q_DECL_OVERRIDE to silence clang.
Change-Id: I57261a39f0dcf4e0ffd8d9c079a95f2d3347d34a
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Using Qt::ImhPreferNumbers means that we should use a keyboard that
has focus on typing numbers. But it's important that we don't restrict
typing to numbers only, it also needs to support normal text input.
And this seems to be exactly what UIKeyboardTypeNumbersAndPunctuation
does.
Task-number: QTBUG-47365
Change-Id: I5bb88cedcbe0e89ea884dc9c14d3ffd9fb368060
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-47195
Change-Id: I40bc7be816f5e23a63a2fe6d32842143b52f9d58
Reviewed-by: jian liang <jianliang79@gmail.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Rewrite QDebug operator<<(QDebug d, const QMimeData &mimeData)
to take a pointer and handle 0 values. Change the formatting to the style
commonly used in Qt. Make it static as it is not used anywhere else.
Task-number: QTBUG-47393
Change-Id: I78174e10b75769bf4acd33a894acc0a51e525c39
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Id3570cf10d86908ddff35be65103d16b353dad04
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Crash in qtwidgets.dll when Qt app is used with accessibility tools like
Dragon. Crash due to null pointer dereference.
Task-number: QTBUG-47093
Change-Id: I140196ba44b68dfaf229dd8a8e6031379ea1acac
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
|