summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforminputcontexts/compose
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-01-101-4/+2
|\ | | | | | | Change-Id: I99af0bef7f1c931533a324ebcfb27c40ee871a5e
| * Don't check if a file exists before opening itThiago Macieira2014-01-101-4/+2
| | | | | | | | | | | | | | | | | | If the file doesn't exist, open() will fail. But open() might fail even if the file exists(), which would lead to bad follow-up code. In any case, this saves one unnecessary stat(2). Change-Id: Ic99507c9dc07a4387ee6a4fe9c24830fca54e095 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-11-262-10/+55
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the conflicts in msvc_nmake.cpp the ifdefs are extended since we need to support windows phone in the target branch while it is not there in the current stable branch (as of Qt 5.2). Conflicts: configure qmake/generators/win32/msvc_nmake.cpp src/3rdparty/angle/src/libEGL/Surface.cpp src/angle/src/common/common.pri src/corelib/global/qglobal.h src/corelib/io/qstandardpaths.cpp src/plugins/platforms/qnx/qqnxintegration.cpp src/plugins/platforms/qnx/qqnxscreeneventhandler.h src/plugins/platforms/xcb/qglxintegration.h src/widgets/kernel/win.pri tests/auto/corelib/thread/qreadwritelock/tst_qreadwritelock.cpp tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp tools/configure/configureapp.cpp Change-Id: I00b579eefebaf61d26ab9b00046d2b5bd5958812
| * Look at locale aliases if initial search in compose.dir failsGatis Paeglis2013-11-212-10/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The file "locale.alias" (located in the same directory as "compose.dir"), contains following text: "This file contains alias name of locale. Each alias name is described within one line. The first word is the alias name (simplified locale name) the second word is full locale name." Therefore, if initial search in the compose.dir fails to find a match we make sure that a 'full locale name' was used in the initial search, if not, we try again. Task-number: QTBUG-32461 Change-Id: Ie7766658f22433524bd6e4bc829e32c6e3a0cbd0 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-10-241-0/+1
|\ \ | |/ | | | | Change-Id: Ie56539b2e0be611a363b5f15ae5412a78d6945a2
| * Fix compilation with Clang and libc++ under LinuxMarcel Krems2013-10-161-0/+1
| | | | | | | | | | | | | | | | | | | | src/plugins/platforms/xcb/qxcbsessionmanager.cpp:205:80: error: use of undeclared identifier 'ERANGE' while (getpwuid_r(geteuid(), &entry, buf.data(), buf.size(), &entryPtr) == ERANGE) { src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp:173:28: error: use of undeclared identifier 'LC_CTYPE' char *name = setlocale(LC_CTYPE, (char *)0); Change-Id: Ide6f3072e9158eef412973ce0a72babb41b695f0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Fix clang build for libc++Donald Carr2013-10-021-0/+1
|/ | | | | | | | | | | | | | Successfully builds Qt 5.2 with: QMAKE_CXXFLAGS_CXX11 += -std=c++11 -stdlib=libc++ QMAKE_LFLAGS_CXX11 += -stdlib=libc++ -lc++abi against: clang version 3.3 (tags/RELEASE_33/final) Change-Id: I778f9410c6563e78bc77ae4c20097fa561503ba1 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Remove deprecated QtAlgorithms calls from the compose inputcontextGiuseppe D'Angelo2013-09-052-2/+6
| | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I75ecfb84befd5dcc44f2ffcbef2cb6f1cc39cfd8 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Cut away 2/3 of the startup time on LinuxLars Knoll2013-08-154-87/+138
| | | | | | | | | Optimize the parser of the X11 compose tables. Parsing these was responsible for over 90% of the startup time in Qt 5.1. Change-Id: Ifddc3f30828791e51a755f92791c26ffe43a9cd3 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Make access to xkbcommon_workaround.h more genericGatis Paeglis2013-05-073-106/+11
| | | | | | | | | | It makes more sense to keep this workaround header together with the other libxkbcommon files for a better access point since it's used by several *.pro files. Change-Id: I63d4eb58f6e7f3852834e41c4b6e058a2c962233 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Utilize libxkbcommon API for the keyboard backend on X11Gatis Paeglis2013-05-071-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | libxkbcommon is a keymap compiler [1] which utilizes xkb keyboard configuration database [2]. xkbcommon simplifies keyboard state handling by providing xkb_state object which holds the current state of all modifiers, groups, LEDs, etc, relating to the provided keymap. Detecting modifier mapping should become simpler once it gets supported in libxkbcommon. Also with xinput2 we could get rid of the XkbStateNotify events, because xinput2 key press/release already include all the mod/group info. [1] http://xkbcommon.org/ [2] http://www.freedesktop.org/wiki/Software/XKeyboardConfig This patch: - Removes a dependency to -lxcb-keysyms - Removes a dependency to XLib call - XLookupString - Enables required functionality to fix QTBUG-27681 Task-number: QTBUG-27680 Change-Id: I10e10f873821ee02f6df72238e215a541150f38f Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Add libxkbcommon to 3rd party libsGatis Paeglis2013-05-071-0/+9
| | | | | | | | | | This library is required by the XCB platform plugin. As we depend on very recent version of this library and it might not be available in base repositories of distributions, users can use -qt-xkbcommom switch to build Qt with the bundled version. Change-Id: I0ed2a5cc2f1df98b0e7cc926cabfa69818674e08 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fix memory access violationKonstantin Ritt2013-04-231-2/+1
| | | | | | | | The pointer returned by unicode() was deleted right afterwards. Change-Id: I7cef72386d02c7be42e71134f616926506d37ea6 Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Fix typo in qWarning()Sergio Martins2013-04-171-1/+1
| | | | | Change-Id: I17aa0a1985c2da889bc602fd76dc07c890ed6f6b Reviewed-by: David Faure (KDE) <faure@kde.org>
* s/uint32_t/quint32/Tobias Hunger2013-04-122-6/+6
| | | | | | | | | uint32_t is in C++11, which we can not rely on being present. It is also in C99, but some compilers do not support that in C++ mode. Change-Id: I29bada724f5646a0a0562b3ab133cb49cf928d6d Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com> Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* Fix access to invalid memoryKai Koehne2013-04-101-1/+2
| | | | | | | | | QString::toLatin1() creates a temporary QByteArray. Task-number: QTBUG-30578 Change-Id: I17c60bbade1486399f745c7e9878c6467971e6cc Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Remove unused header file.Gatis Paeglis2013-03-301-2/+0
| | | | | | | | As Thomas Senyk found out, the compose input context plugin had a redundant include for the X11 keysym header file. Change-Id: Iad603b545803867d02d915acffe27991bb0b7ee4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Introducing QComposeInputContextGatis Paeglis2013-03-218-0/+1081
When switching from Xlib to xcb platform plugin it was agreed that XIM is deprecated. Users should be using QT_IM_MODULE to load input context plugin for a more advance input method framework support. The proposed solution is to parse the compose file directly from Qt. This approach removes the overhead of communication protocols used in Xlib and/or IBUS. TableGenerator class follows [1]. The compose file is searched for in the following order: 1) If the environment variable $XCOMPOSEFILE is set, its value is used as the name of the Compose file. 2) If the user’s home directory has a file named .XCompose, it is used as the Compose file. 3) The system provided compose file is used by mapping the locale to a compose file from the list in /usr/share/X11/locale/compose.dir. Regarding step 3 - TableGenerator searches in hard-coded locations for system-provided compose files. Here I have introcuded a new environment variable QTCOMPOSE which can be used to prepend an extra location to be searched. [1] http://www.x.org/archive/X11R7.7/doc/man/man5/Compose.5.xhtml Task-number: QTBUG-28183 Change-Id: I76dcfd454f3acc23db98192a3673c1ab2af4425f Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>