summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforminputcontexts
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright year in Digia's license headersSergio Ahumada2013-01-1818-18/+18
| | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* add and use qtHaveModule() functionOswald Buddenhagen2012-12-211-1/+1
| | | | | | | | | | | 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>
* Add PLUGIN_CLASS_NAME to qtbase pluginsMiikka Heikkinen2012-12-102-0/+2
| | | | | | | | Needed for automating static plugin loading. Task-number: QTBUG-28131 Change-Id: Icd993c0fc8335f29aeec30e853a408d888069399 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Change license header from Nokia to DigiaSergio Ahumada2012-11-264-4/+4
| | | | | Change-Id: I2be215284d7670f60f8b5838fce1e6832dde2270 Reviewed-by: Martin Smith <martin.smith@digia.com>
* beef up qt_plugin.prfOswald Buddenhagen2012-11-012-10/+4
| | | | | | | it now defines the DESTDIR and creates an INSTALLS rule. Change-Id: I15a462ccad9acbe3521c352fa98327825dc27c05 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-2214-338/+338
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Move QPlatformInputContextPlugin/Factory to QtGuiWeng Xuetian2012-06-282-2/+2
| | | | | | | | | | | | | PlatformSupport is no longer shared and there should be no plugin factory in it otherwise it will break plugin loading. Since PlatformInputContext is already in QtGui, so move QPlatformInput- ContextPlugin/Factory to resolve the platforminputcontexts plugin loading problem. And remove platformsupport-private dependency from existing inputcontexts plugin. Change-Id: If4cb766470b8f9c8b72157da86cb33b4e1ff09e3 Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com>
* Fix warning when ibus is not available.David Faure2012-06-262-11/+3
| | | | | | | | This is perfectly ok on a linux desktop, so no reason to abort when setting QT_FATAL_WARNINGS. Change-Id: I64ba987679195741631fb204af57ae3d283bb516 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Use QPointer, not QWeakPointer.Thiago Macieira2012-06-141-1/+1
| | | | | | | | | QWeakPointer tracking of QObjects is deprecated. Change-Id: I1a81a0f9bbe02a6a38a50ab4a50e7c65212fa591 Reviewed-by: Jan Arne Petersen <jpetersen@openismus.com> Reviewed-by: Michael Hasselmann <michaelh@openismus.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Remove QFactoryInterface from the input pluginsLars Knoll2012-06-082-12/+0
| | | | | Change-Id: Ia4a9dc5b4ef276dca39681848e531b4c9e4f64e2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Expose QPA API under qpa/*Girish Ramakrishnan2012-05-076-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main reasons for doing this are: 1. _qpa.h end up in the master QtGui include file. QtGui is meant for userland applications. qpa code is neither binary nor source compatible. Inadvertant use of QPA api makes the user code binary-incompatible. 2. syncqt creates forwarding headers for non-private header files. This gives people the impression that this is public API. As discussed on the mailing list, even though QPA api is internal and subject to change, it needs to treated differently from private headers since they will be used by in-qtbase and out-of-qtbase plugins. This commit does the following: 1. The _qpa in QPA header files is dropped. 2. syncqt now treats any file with qplatform prefix as a special file and moves it to qpa/ directory. The recommended way of using QPA API in plugins is: #include <qpa/qplatformfoo.h>. This allows the user include QPA API from multiple modules (for example, qplatformfoo might be in QtPrintSupport) 3. The user needs to explicitly add QT += <module>-private to get access to the qpa api. 4. Creates compat headers for the olden style qplatformfoo_qpa.h and QPlatformFoo includes. This commit does not change the cpp filenames. This requires a more careful merging of existing non qpa cpp files and existing cpp files on a case by case basis. This can be done at anytime. The following files are not renamed as part of this changed but will be fixed as part of a future change: src/gui/kernel/qgenericpluginfactory_qpa.h src/gui/kernel/qgenericplugin_qpa.h src/gui/kernel/qwindowsysteminterface_qpa.h files were renamed using for x in `find . -name "qplatform*_qpa.h"`; do git mv $x "${x/_qpa.h/.h}"; done for x in `find . -name "qplatform*_qpa_p.h"`; do git mv $x "${x/_qpa_p.h/_p.h}"; done includes were renamed using script for file in `find . -name "*.h" -or -name "*.cpp" -or -name "*.mm"`; do sed -i -e 's,.*#.*include.*<\(Qt.*/\)\?\(QPlatform.*\)>,#include <qpa/\L\2.h>,g' \ -e 's,.*#.*include.*"\(Qt.*/\)\?\(QPlatform.*\)",#include <qpa/\L\2.h>,g' \ -e 's,.*#.*include.* "\(qplatform.*\)_qpa.h",#include <qpa/\L\1.h>,g' \ -e 's,.*#.*include.*"\(qplatform.*\)_qpa_p.h",#include <qpa/\L\1_p.h>,g' \ -e 's,.*#.*include.*<\(Qt.*/\|Qt.*/private/\|private/\)\?\(qplatform.*\)_qpa\(.*\)>,#include <qpa/\2\3>,g' \ -e 's,.*#.*include.*"\(Qt.*/\|Qt.*/private/\|private/\)\?\(qplatform.*\)_qpa\(.*\)",#include <qpa/\2\3>,g' \ $file done Change-Id: I04a350314a45746e3911f54b3b21ad03315afb67 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Adapt Maliit input context to new input method interfacesPekka Vuorela2012-04-032-37/+22
| | | | | Change-Id: Ia395dbb1689d1c37ef588c49cbb55ad1979f532f Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Added some convenience API for platform input contextsPekka Vuorela2012-04-012-10/+11
| | | | | | | | | | | | | QPlatformInputContext now gets notified on changed focus and has inputMethodAccepted() telling whether current focus object accepts input method events. Also adapted IBus plugin to use this. Key event filtering for focused objects without input method support got fixed by the change. Change-Id: I6910aa6af2459d752a5763f0ae88fa8c34e5b165 Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
* Rename remaining references to QInputPanelPekka Vuorela2012-02-282-2/+2
| | | | | Change-Id: I747d37d10c78af6ad00322d5bd8d29c6b343828c Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Use new plugin system for Input Context plugins.Friedemann Kleint2012-02-216-4/+20
| | | | | Change-Id: Ifd1f63499afba546a745815762263a58ebf66460 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix warnings in input contexts.Friedemann Kleint2012-02-082-2/+2
| | | | | Change-Id: Idbd46b8bfe73015cce98d510992b3bb57c1e1ded Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Renamed QInputPanel as QInputMethodPekka Vuorela2012-02-022-29/+29
| | | | | | | | | | | QInputMethod better describes what the class is about, input methods in general, be they panels or just composing input from key events. Compatability headers added for old name. Not bulletproof but should be enough to get transition done. Change-Id: Iefde6e7ccb1ec4a3b226cef3469089e751c60fc1 Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
* Maliit: Fix enter on VKB not resulting in text input field acceptanceSimon Hausmann2012-01-312-3/+28
| | | | | | | | | | | Pressing enter on the VKB should result in the emission of the accepted() for text input fields in QML or the returnPressed() signal in QLineEdit. In that case the Maliit input server calls our keyEvent method over DBus, which this patch implements. Change-Id: I46170c30315adaf21db0e232f53780ccaa67e4bf Reviewed-by: Jan Arne Petersen <jpetersen@openismus.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
* Rename meego to maliit platforminputcontextJan Arne Petersen2012-01-3111-68/+67
| | | | | | | | | Also build the plugin on linux systems with D-Bus. There is nothing MeeGo or Maemo specific about this plugin or Maliit. Task-number: QTBUG-22994 Change-Id: Idcccfb01f79166a54c5809741389b29ccac05a15 Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-3014-14/+14
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I311e001373776812699d6efc045b5f742890c689 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Use per session socket to connect to maliit serverJan Arne Petersen2012-01-294-1/+157
| | | | | | | | | | | | | | In newer versions of maliit a per session abstract socket for communication between maliit server and input contexts is used. The address is published over the D-Bus session bus as address property in the org.maliit.Server.Address interface of the /org/maliit/server/address object at the org.maliit.server service. Fallback to old socket when org.maliit.server service is not available. Task-number: QTBUG-22982 Change-Id: I1b2cdd0c804d3d625e18b4958dd60008ea289d91 Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Fix compilation of MeeGo/Maliit related code after Qt::ScreenOrientation API ↵Simon Hausmann2012-01-271-1/+1
| | | | | | | | | changes Qt::UnknownOrientation is now Qt::PrimaryOrientation. Change-Id: I2846a90bd11ecd1416c29b7bd861f180ccb129a1 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
* Fix virtual keyboard on Harmattan not following window content orientation ↵Simon Hausmann2012-01-262-2/+17
| | | | | | | | | | changes Track the input item's window and notify the input method server when the content orientation changes. Change-Id: I401c4fd677ed2eebd8b85968d4a2b3692517e097 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
* Made window orientation API more flexible.Samuel Rødal2012-01-241-1/+1
| | | | | | | | | | | | | | | Previously we only had QWindow::setOrientation() which was a hint about the orientation the window's contents were rendered in. However, it's necessary to separate between the orientation corresponding to the window buffer layout and orientation of the contents. A game for example might typically want to use a landscape buffer even on a portrait device. Thus, we replace QWindow::orientation() with QWindow::reportContentOrientationChange() and QWindow::requestWindowOrientation(). Change-Id: I1f07362192daf36c45519cb05b43ac352f1945b5 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-2312-12/+12
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-0516-16/+16
| | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* QIBusPlatformInputContext: Fix a crash in tst_qinputpanel::update.Friedemann Kleint2011-12-141-0/+2
| | | | | | Change-Id: If50c442958b6f25f17325f7792bb3f882e4b13e7 Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com> Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
* Remove handlesInputPanelVisibility() deprecation mechanismJoona Petrell2011-11-214-16/+0
| | | | | | | Task-number: QTBUG-21964 Change-Id: I508ba690c90369d31ca33390d3001064857fb62e Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix debug output in meego platform input contextSimon Hausmann2011-11-211-1/+1
| | | | | | | Don't show debug output by default :) Change-Id: I7df9264b3e0211e459cecb2cd9f389e017e9bca4 Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
* Fixes to the ibus input contextLars Knoll2011-11-012-4/+35
| | | | | | | | | Adjust to changes in the QPlatformInputContext and implement commit(). Fix a bug that caused the cursor to be hidden after the first commit. Change-Id: I85e59a72766d1180a54df412cf33beb653af4e7b Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
* Initial support for MeeGo's input method serverSimon Hausmann2011-10-279-0/+1267
| | | | | | | | | | | | | | This platform input context plugin is based on the dbus protocol used in MeeGo 1.2 Harmattan's input method server. It supports composition, mouse-click-on-preedit as well as basic input method hints. Missing are: Copy & paste, preedit injection, key redirection as well as a bunch of other smaller MeeGoTouch specific features. Change-Id: Ic3a8741f7a5ed18b379985e316cb137f7b8f6a8e Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com> Reviewed-by: Kenneth Rohde Christiansen <kenneth.r.christiansen@nokia.com>
* Move input panel visibility ownership from QInputPanel to QPlatformInputContextJoona Petrell2011-10-112-0/+7
| | | | | | | | | | | | | | | | | | | | Now QInputPanel::visible() can be set true even when platform doesn't provide a virtual keyboard. Like keyboard geometry, visibility should be dictated by the platform plugin and not QInputPanel, whose role is more like that of a mediator. QInputPanel::show() and ::hide() calls should be treated as requests that may fail. Changed the QInputPanel's visible property to read-only as a setter that may fail is not really a setter, show() and hide() should be used instead. Enabling the new functionality cannot be activated immediatelly without breaking existing keyboards, added a temporary function handlesInputPanelVisibility that handovers the responsiblity of updating input panel visibility to QInputContextPlatform only once QInputContextPlatform says that it is able to handle it. Change-Id: Ideecaf7225cc3971f33a0ac976bd92cf7767475b Reviewed-on: http://codereview.qt-project.org/6429 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make qtbase build with Qt-in-namespace againKent Hansen2011-09-284-0/+15
| | | | | | | Change-Id: I5faa8690a05d6ec352fc69c0b69848539f2ed216 Reviewed-on: http://codereview.qt-project.org/5460 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix missing/incorrect license headersJason McDonald2011-09-151-1/+1
| | | | | | | Change-Id: I9db33c63c951f288f7a106c3008771699662d104 Reviewed-on: http://codereview.qt-project.org/4852 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Don't build ibus when dbus is not availablePaul Olav Tvete2011-09-141-2/+2
| | | | | | | Change-Id: I0011cae034f186f239f486f5d83635bf4d11b88d Reviewed-on: http://codereview.qt-project.org/4879 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Windows: correctly disable ibus plugin on WindowsRohan McGovern2011-09-141-1/+1
| | | | | | | | | The correct qmake scope is `win32', not `win'. Change-Id: I148e764bbe94b6ca824a55458e080ca948dc304d Reviewed-on: http://codereview.qt-project.org/4844 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* don't build ibus plugin on windows/macGunnar Sletta2011-09-121-1/+1
| | | | | | | Change-Id: I932eaea19806e3ce75803cb2849d04292885fbd5 Reviewed-on: http://codereview.qt-project.org/4631 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Make inputcontext plugin loading a bit more genericLars Knoll2011-09-081-1/+1
| | | | | | | | | | | | | | 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>
* Fixup a few minor errors in the previous commitLars Knoll2011-09-081-2/+2
| | | | | | | | | | | 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>
* Add plugin mechanism to load platform input contextsJoona Petrell2011-09-0813-0/+1216
Change-Id: I6e74fd395325445420efce4adf13e89abe8177ee Reviewed-on: http://codereview.qt-project.org/4482 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>