Add a create() method to the inputcontext factory that
takes no arguments.
Add a virtual isValid() to QPlatformInputContext to
determine whether it actually works.
Remove IBUS dependencies in the xcb code so that it
can also load other plugins.
Change-Id: I6345a845f48fd4b3cacf6d8652711b16835a235c
Reviewed-on: http://codereview.qt-project.org/4487
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Methods need to be Q_INVOKABLE to be able to call
them with QMetaObject::invokeMethod(). Also use the
correct return type.
This makes the IBUS input context work again.
Change-Id: If7ed6dd8fb99f3363c4ecebb98f889ed9eeeff00
Reviewed-on: http://codereview.qt-project.org/4486
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Commit 079ec157f8 overloads
the touch event API in QTestLib so that QWindow * can be
passed directly to certain functions.
This fix disambiguates access to the new API by selecting
the QWindow * versions. This assumes that the QWidget *
versions are kept mostly for backwards compatibility.
Change-Id: Ib6b33edc64d81f300d4109d59fd29f25ccd605db
Reviewed-on: http://codereview.qt-project.org/4443
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
The event now takes a Qt::InputMethodQueries bitfield. Like this the
editor can set all properties in one go on the event instead of
having to process many query events.
Change-Id: Ifd9d7328a9fce0c21625371ec744ea2090e163be
Reviewed-on: http://codereview.qt-project.org/4448
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Also set ImhMultiLine on QTextEdit
Change-Id: I04a5a1d69c2048ea94c24210e2b8374f334be1b6
Reviewed-on: http://codereview.qt-project.org/4414
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
The new API is more flexible, allowing the use of QOpenGLPaintDevice
with any QOpenGLContext, and putting more responsibility on the user for
ensuring the correct FBO is current (the user knows best anyhow).
Task-number: QTBUG-21263
Change-Id: I50b954125f552baef52fbb3fe2ed907a11ad519c
Reviewed-on: http://codereview.qt-project.org/4325
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
The more the merrier.
Change-Id: I401ed97600a890c38cb4d5dbe0578d6bcf68e909
Reviewed-on: http://codereview.qt-project.org/4322
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
Always set the microFocus/cursorRectangle in item
coordinates.
Correctly update the itemTransform in the QInputPanel for QWidgets.
Change-Id: Ic0187f808996f31e6238d934f43bc97a70522a55
Reviewed-on: http://codereview.qt-project.org/4402
Reviewed-by: Vesa Rantanen <vesa.rantanen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
To be called when input context is expected to commit what it had as
preedit, and resetting its state. Earlier this was done with ::reset()
when in fact documentation somewhat disallowed doing so.
Change-Id: I10ad0620aa42fce6d01a69265af8a4f5f9f4d397
Reviewed-on: http://codereview.qt-project.org/4401
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Vesa Rantanen <vesa.rantanen@nokia.com>
If a non-printable character has an advance, we would lay out the text
as if the character was part of the output, and then ignore the
character later when the text was rendered. To fix cases such as this,
we take the dontPrint attribute into consideration when adjusting the
advances.
Task-number: QTBUG-21347
Reviewed-by: Eskil
Reviewed-by: Lars
(cherry picked from commit 6326227674efa85c1a5320141041110d211efc75)
Change-Id: I4d01b60498f3b5f30b69530c8b49dd720d83ad0b
Reviewed-on: http://codereview.qt-project.org/4410
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Results of the ongoing workshop in Oslo:
QInputPanel will be the application facing interface
for controlling the input context as well as querying
things like the position of the virtual keyboard.
QInputContext is significantly cleaned up and only there as
a compatibility API for existing code.
Change-Id: Ie8e2ee480930763f414bfaae63247b1fb6500c82
Reviewed-on: http://codereview.qt.nokia.com/4357
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Vesa Rantanen <vesa.rantanen@nokia.com>
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Wayland config.test would only be able to build if there was a valid
value for QMAKE_LIBDIR_WAYLAND because if this was empty, -L would be
used, which would lead to invalid command syntax. So even if the
library was already in the build path, the test would fail. The test
now checks QMAKE_LIBDIR_WAYLAND for valid directoires first before add
them to the LIBS variable.
Change-Id: Ic3a3be54a41390d6302a122a6d20f896e962ccc7
Reviewed-on: http://codereview.qt.nokia.com/4354
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
This code is no longer in use.
Change-Id: I1e582b8a5f1fad40ef75e412162f3aa9f10ab535
Reviewed-on: http://codereview.qt.nokia.com/4352
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
This change prepares for enabling native menus
on OS X.
Move code from src/widgets to cocoa:
- qcocoaapplicaiton
- qcocoaapplicaitondelegate
- qcocoamenuloader
- qcocoamenu
- qmenu_mac
- misc helpers to qcocoahelpers
Create a QNSApplication and
QCocoaApplicationDelegate at application startup.
New Lighthouse API:
- class QPlatformMenu
- class QPlatformMenuBar
- QPlatformIntegration::createPlatformMenu()
- QPlatformIntegration::createPlatformMenuBar()
Platforms that wants a native menu integration
subclasses QPlatformMenu[|Bar] and implements the
create function. The default implementation returns
0, which causes QMenu to use the standard Qt
menus.
This API is based on the current native menu
abstraction that Mac, Wince and S60 uses in Qt 4.
The main difference is that the platform classes are
proper standalone classes and not #ifdeffed into
QMenuPrivate.
Change-Id: I3da41f80b0ae903a476937908b1f9b88014b7954
Reviewed-on: http://codereview.qt.nokia.com/4068
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Properly free QOpenGLContext in QGLContext::reset(), if we own it.
Change-Id: Ibd913283cf8b3b8a4dc6295a878a22a3989309a7
Reviewed-on: http://codereview.qt.nokia.com/4320
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
also move QPlatformSurface to its own file
Change-Id: I29fb6c70ede18a0ac5e0f6bfb97a33293633e668
Reviewed-on: http://codereview.qt.nokia.com/4309
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Some of these trigger pre-refactor as well by adding a QTest::qWait()
after QTest::qWaitForWindowShown().
Change-Id: I48863fd31fc0c3b51463ed922782e86c21f05bff
Reviewed-on: http://codereview.qt.nokia.com/4272
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
QPixmap::init shadows base class QPaintDevice::init with different
declaration which makes latest clang builds fail on modules.
Simple renaming of this private function fixes the issue.
Change-Id: I65b2b09e81f4833dc9b54b36423ba7c15d9ded4f
Reviewed-on: http://codereview.qt.nokia.com/4289
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
All virtual base classes with accessible destructor should declare
the destructor as virtual too.
Change-Id: I2b07c7e824612af072d7802095d958dca8cc34c8
Reviewed-on: http://codereview.qt.nokia.com/4274
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
QPA mkspecs are of the same form as the rest, we don't want to parse
this in a different way.
This was resulting in the COMPILER variable being wrong and in turn
QT_GCC_*_VERSION and the like not being set.
Change-Id: Ia703be95dbe586e1a8e897c3e244202363fb8c6a
Reviewed-on: http://codereview.qt.nokia.com/4195
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
The mouse, touch, key events have no timestamp field currently,
meaning that the timestamp passed to QWindowSystemInterface's
handleMouse, Touch, KeyEvent functions will not be stored in the
generated events. The timestamp can be quite valuable in some cases
(e.g. when performing filtering of touch events) so losing this
information is not desirable. The patch adds a timestamp field to
QInputEvent, which is the base for mouse, touch, key, and other
events, and also makes QGuiApplication to store the timestamp in the
generated events.
Change-Id: Icb9de8b238cb341916eac33ce21603f4955baca7
Reviewed-on: http://codereview.qt.nokia.com/4196
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
QPlatformNativeInterface can now contain generic window
properties in a QVariantMap, to facilitate communication
with the compositor and clients for certain platforms.
When window properties change, a signal is emitted from the
respective QPlatformNativeInterface instance. The properties
are intended to be read/writable from both client and server.
Change-Id: I7b42f7910d03c0d309add6c7dbb1c9b66ad22a3f
Reviewed-on: http://codereview.qt.nokia.com/3956
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
This autotest is using private symbols, available only when Qt is
configured with -developer-build.
Change-Id: I9bf221040b8225ed173761c7ee23e69efd85c3cb
Reviewed-on: http://codereview.qt.nokia.com/4148
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Jo Asplin <jo.asplin@nokia.com>