summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforminputcontexts/meego/contextadaptor.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2011-10-18 14:51:53 +0200
committerQt by Nokia <qt-info@nokia.com>2011-10-27 11:12:38 +0200
commit92740638df5b329e5f052700327ac4a1cdfead1f (patch)
treef77d54c5ad2ff816ba2948888e0727a1beb2c58e /src/plugins/platforminputcontexts/meego/contextadaptor.cpp
parent5aa14793c422dc77f3b464c27091dcd1b2ed1c72 (diff)
Initial support for MeeGo's input method server
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>
Diffstat (limited to 'src/plugins/platforminputcontexts/meego/contextadaptor.cpp')
-rw-r--r--src/plugins/platforminputcontexts/meego/contextadaptor.cpp158
1 files changed, 158 insertions, 0 deletions
diff --git a/src/plugins/platforminputcontexts/meego/contextadaptor.cpp b/src/plugins/platforminputcontexts/meego/contextadaptor.cpp
new file mode 100644
index 0000000000..45b1102a98
--- /dev/null
+++ b/src/plugins/platforminputcontexts/meego/contextadaptor.cpp
@@ -0,0 +1,158 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "contextadaptor.h"
+#include <QtCore/QByteArray>
+#include <QtCore/QList>
+#include <QtCore/QMetaObject>
+#include <QtCore/QMap>
+#include <QtCore/QString>
+#include <QtCore/QStringList>
+#include <QtCore/QVariant>
+
+#include "qmeegoplatforminputcontext.h"
+
+/*
+ * Implementation of adaptor class Inputcontext1Adaptor
+ */
+
+Inputcontext1Adaptor::Inputcontext1Adaptor(QObject *parent)
+ : QDBusAbstractAdaptor(parent)
+{
+ // constructor
+ setAutoRelaySignals(true);
+}
+
+Inputcontext1Adaptor::~Inputcontext1Adaptor()
+{
+ // destructor
+}
+
+void Inputcontext1Adaptor::activationLostEvent()
+{
+ // handle method call com.meego.inputmethod.inputcontext1.activationLostEvent
+ QMetaObject::invokeMethod(parent(), "activationLostEvent");
+}
+
+void Inputcontext1Adaptor::commitString(const QString &in0, int in1, int in2, int in3)
+{
+ // handle method call com.meego.inputmethod.inputcontext1.commitString
+ QMetaObject::invokeMethod(parent(), "commitString", Q_ARG(QString, in0), Q_ARG(int, in1), Q_ARG(int, in2), Q_ARG(int, in3));
+}
+
+void Inputcontext1Adaptor::updatePreedit(const QDBusMessage &message)
+{
+ // handle method call com.meego.inputmethod.inputcontext1.updatePreedit
+ QMetaObject::invokeMethod(parent(), "updatePreedit", Q_ARG(QDBusMessage, message));
+}
+
+void Inputcontext1Adaptor::copy()
+{
+ // handle method call com.meego.inputmethod.inputcontext1.copy
+ QMetaObject::invokeMethod(parent(), "copy");
+}
+
+void Inputcontext1Adaptor::imInitiatedHide()
+{
+ // handle method call com.meego.inputmethod.inputcontext1.imInitiatedHide
+ QMetaObject::invokeMethod(parent(), "imInitiatedHide");
+}
+
+void Inputcontext1Adaptor::keyEvent(int in0, int in1, int in2, const QString &in3, bool in4, int in5, uchar in6)
+{
+ // handle method call com.meego.inputmethod.inputcontext1.keyEvent
+ QMetaObject::invokeMethod(parent(), "keyEvent", Q_ARG(int, in0), Q_ARG(int, in1), Q_ARG(int, in2), Q_ARG(QString, in3), Q_ARG(bool, in4), Q_ARG(int, in5), Q_ARG(uchar, in6));
+}
+
+void Inputcontext1Adaptor::paste()
+{
+ // handle method call com.meego.inputmethod.inputcontext1.paste
+ QMetaObject::invokeMethod(parent(), "paste");
+}
+
+bool Inputcontext1Adaptor::preeditRectangle(int &out1, int &out2, int &out3, int &out4)
+{
+ // handle method call com.meego.inputmethod.inputcontext1.preeditRectangle
+ return static_cast<QMeeGoPlatformInputContext *>(parent())->preeditRectangle(out1, out2, out3, out4);
+}
+
+bool Inputcontext1Adaptor::selection(QString &out1)
+{
+ // handle method call com.meego.inputmethod.inputcontext1.selection
+ return static_cast<QMeeGoPlatformInputContext *>(parent())->selection(out1);
+}
+
+void Inputcontext1Adaptor::setDetectableAutoRepeat(bool in0)
+{
+ // handle method call com.meego.inputmethod.inputcontext1.setDetectableAutoRepeat
+ QMetaObject::invokeMethod(parent(), "setDetectableAutoRepeat", Q_ARG(bool, in0));
+}
+
+void Inputcontext1Adaptor::setGlobalCorrectionEnabled(bool in0)
+{
+ // handle method call com.meego.inputmethod.inputcontext1.setGlobalCorrectionEnabled
+ QMetaObject::invokeMethod(parent(), "setGlobalCorrectionEnabled", Q_ARG(bool, in0));
+}
+
+void Inputcontext1Adaptor::setLanguage(const QString &in0)
+{
+ // handle method call com.meego.inputmethod.inputcontext1.setLanguage
+ QMetaObject::invokeMethod(parent(), "setLanguage", Q_ARG(QString, in0));
+}
+
+void Inputcontext1Adaptor::setRedirectKeys(bool in0)
+{
+ // handle method call com.meego.inputmethod.inputcontext1.setRedirectKeys
+ QMetaObject::invokeMethod(parent(), "setRedirectKeys", Q_ARG(bool, in0));
+}
+
+void Inputcontext1Adaptor::setSelection(int in0, int in1)
+{
+ // handle method call com.meego.inputmethod.inputcontext1.setSelection
+ QMetaObject::invokeMethod(parent(), "setSelection", Q_ARG(int, in0), Q_ARG(int, in1));
+}
+
+void Inputcontext1Adaptor::updateInputMethodArea(int in0, int in1, int in2, int in3)
+{
+ // handle method call com.meego.inputmethod.inputcontext1.updateInputMethodArea
+ QMetaObject::invokeMethod(parent(), "updateInputMethodArea", Q_ARG(int, in0), Q_ARG(int, in1), Q_ARG(int, in2), Q_ARG(int, in3));
+}
+