From 03c562dffa83188855ac76773a41685b8c921189 Mon Sep 17 00:00:00 2001 From: Benda Xu <heroxbd@gentoo.org> Date: Thu, 30 Jan 2020 10:38:41 +0800 Subject: [PATCH 3/7] extras/immodules/client-qt: Start porting to Qt5. Adopt qmake for fast iteration of Qt5 plugin alone. --- extras/immodules/client-qt/.qmake.conf | 1 + extras/immodules/client-qt/README | 16 ++++++++++++++++ extras/immodules/client-qt/scim.json | 3 +++ extras/immodules/client-qt/scim.pro | 25 +++++++++++++++++++++++++ 4 files changed, 45 insertions(+) create mode 100644 extras/immodules/client-qt/.qmake.conf create mode 100644 extras/immodules/client-qt/README create mode 100644 extras/immodules/client-qt/scim.json create mode 100644 extras/immodules/client-qt/scim.pro diff --git a/extras/immodules/client-qt/.qmake.conf b/extras/immodules/client-qt/.qmake.conf new file mode 100644 index 0000000..42ba8e4 --- /dev/null +++ b/extras/immodules/client-qt/.qmake.conf @@ -0,0 +1 @@ +load(qt_build_config) diff --git a/extras/immodules/client-qt/README b/extras/immodules/client-qt/README new file mode 100644 index 0000000..d74a738 --- /dev/null +++ b/extras/immodules/client-qt/README @@ -0,0 +1,16 @@ +SCIM Qt5 Input Method Plugin + +This code is adopted from SCIM Qt4 counterpart, using the qmake build +system. Integration of qmake to autotools is possible in the future. + +To build and install, + +1. build scim, including the im-agent. +2. change to this directory and call `qmake` +3. make +4. make install + +Reference: +1. Debian packages gcin-qt5-immodule, uim-qt5-immodule + libfcitx-qt5-1 (dbus), ibus (dbus) +2. https://www.kdab.com/qt-input-method-depth/ \ No newline at end of file diff --git a/extras/immodules/client-qt/scim.json b/extras/immodules/client-qt/scim.json new file mode 100644 index 0000000..e3fea08 --- /dev/null +++ b/extras/immodules/client-qt/scim.json @@ -0,0 +1,3 @@ +{ + "Keys": [ "scim" ] +} diff --git a/extras/immodules/client-qt/scim.pro b/extras/immodules/client-qt/scim.pro new file mode 100644 index 0000000..e1eeeb4 --- /dev/null +++ b/extras/immodules/client-qt/scim.pro @@ -0,0 +1,25 @@ +CONFIG += plugin +TARGET = im-scim +INCLUDEPATH += . ../common ../client-common +QT += gui-private widgets x11extras + +HEADERS += scim-bridge-client-common-qt.h \ + scim-bridge-client-imcontext-qt.h \ + scim-bridge-client-key-event-utility-qt.h \ + scim-bridge-client-qt.h + +SOURCES += im-scim-bridge-qt.cpp \ + scim-bridge-client-imcontext-qt.cpp \ + scim-bridge-client-key-event-utility-qt.cpp \ + scim-bridge-client-qt.cpp + +QMAKE_LIBDIR += ../client-common/.libs ../common/.libs +LIBS += -lscimbridgeclientcommon -lscimbridgecommon -lX11 + +OTHER_FILES += scim.json + +PLUGIN_TYPE = platforminputcontexts +PLUGIN_EXTENDS = - +PLUGIN_CLASS_NAME = ScimBridgeInputContextPlugin +target.path += $$[QT_INSTALL_PLUGINS]/platforminputcontexts +load(qt_plugin) -- 2.37.3