summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforminputcontexts
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforminputcontexts')
-rw-r--r--src/plugins/platforminputcontexts/meego/meego.pro2
-rw-r--r--src/plugins/platforminputcontexts/meego/qmeegoplatforminputcontext.cpp16
-rw-r--r--src/plugins/platforminputcontexts/meego/serveraddressproxy.cpp56
-rw-r--r--src/plugins/platforminputcontexts/meego/serveraddressproxy.h84
4 files changed, 157 insertions, 1 deletions
diff --git a/src/plugins/platforminputcontexts/meego/meego.pro b/src/plugins/platforminputcontexts/meego/meego.pro
index fad256e3dc..a9f1139717 100644
--- a/src/plugins/platforminputcontexts/meego/meego.pro
+++ b/src/plugins/platforminputcontexts/meego/meego.pro
@@ -6,11 +6,13 @@ QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/platforminputcontexts
QT += dbus platformsupport-private
SOURCES += $$PWD/qmeegoplatforminputcontext.cpp \
$$PWD/serverproxy.cpp \
+ $$PWD/serveraddressproxy.cpp \
$$PWD/contextadaptor.cpp \
$$PWD/main.cpp
HEADERS += $$PWD/qmeegoplatforminputcontext.h \
$$PWD/serverproxy.h \
+ $$PWD/serveraddressproxy.h \
$$PWD/contextadaptor.h
target.path += $$[QT_INSTALL_PLUGINS]/platforminputcontexts
diff --git a/src/plugins/platforminputcontexts/meego/qmeegoplatforminputcontext.cpp b/src/plugins/platforminputcontexts/meego/qmeegoplatforminputcontext.cpp
index 607dad6b94..9b5da9d6d7 100644
--- a/src/plugins/platforminputcontexts/meego/qmeegoplatforminputcontext.cpp
+++ b/src/plugins/platforminputcontexts/meego/qmeegoplatforminputcontext.cpp
@@ -47,6 +47,7 @@
#include <qevent.h>
#include <qscreen.h>
+#include "serveraddressproxy.h"
#include "serverproxy.h"
#include "contextadaptor.h"
@@ -126,6 +127,19 @@ static TextContentType contentTypeFromHints(Qt::InputMethodHints hints)
return type;
}
+static QString maliitServerAddress()
+{
+ org::maliit::Server::Address serverAddress(QStringLiteral("org.maliit.server"), QStringLiteral("/org/maliit/server/address"), QDBusConnection::sessionBus());
+
+ QString address(serverAddress.address());
+
+ // Fallback to old socket when org.maliit.server service is not available
+ if (address.isEmpty())
+ return QStringLiteral("unix:path=/tmp/meego-im-uiserver/imserver_dbus");
+
+ return address;
+}
+
class QMeeGoPlatformInputContextPrivate
{
public:
@@ -517,7 +531,7 @@ bool QMeeGoPlatformInputContext::isInputPanelVisible() const
}
QMeeGoPlatformInputContextPrivate::QMeeGoPlatformInputContextPrivate(QMeeGoPlatformInputContext* qq)
- : connection(QDBusConnection::connectToPeer(QStringLiteral("unix:path=/tmp/meego-im-uiserver/imserver_dbus"), QLatin1String("MeeGoIMProxy")))
+ : connection(QDBusConnection::connectToPeer(maliitServerAddress(), QLatin1String("MeeGoIMProxy")))
, server(0)
, adaptor(0)
, visibility(InputPanelHidden)
diff --git a/src/plugins/platforminputcontexts/meego/serveraddressproxy.cpp b/src/plugins/platforminputcontexts/meego/serveraddressproxy.cpp
new file mode 100644
index 0000000000..fb34d3b0c1
--- /dev/null
+++ b/src/plugins/platforminputcontexts/meego/serveraddressproxy.cpp
@@ -0,0 +1,56 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: http://www.qt-project.org/
+**
+** 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 "serveraddressproxy.h"
+
+/*
+ * Implementation of interface class OrgMaliitServerAddressInterface
+ */
+
+OrgMaliitServerAddressInterface::OrgMaliitServerAddressInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
+ : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
+{
+}
+
+OrgMaliitServerAddressInterface::~OrgMaliitServerAddressInterface()
+{
+}
+
diff --git a/src/plugins/platforminputcontexts/meego/serveraddressproxy.h b/src/plugins/platforminputcontexts/meego/serveraddressproxy.h
new file mode 100644
index 0000000000..1e52064157
--- /dev/null
+++ b/src/plugins/platforminputcontexts/meego/serveraddressproxy.h
@@ -0,0 +1,84 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: http://www.qt-project.org/
+**
+** 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$
+**
+****************************************************************************/
+
+#ifndef SERVERADDRESSPROXY_H
+#define SERVERADDRESSPROXY_H
+
+#include <QtCore/QObject>
+#include <QtCore/QByteArray>
+#include <QtCore/QList>
+#include <QtCore/QMap>
+#include <QtCore/QString>
+#include <QtCore/QStringList>
+#include <QtCore/QVariant>
+#include <QtDBus/QtDBus>
+
+/*
+ * Proxy class for interface org.maliit.Server.Address
+ */
+class OrgMaliitServerAddressInterface: public QDBusAbstractInterface
+{
+ Q_OBJECT
+public:
+ static inline const char *staticInterfaceName()
+ { return "org.maliit.Server.Address"; }
+
+public:
+ OrgMaliitServerAddressInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
+
+ ~OrgMaliitServerAddressInterface();
+
+ Q_PROPERTY(QString address READ address)
+ inline QString address() const
+ { return qvariant_cast< QString >(property("address")); }
+
+public Q_SLOTS: // METHODS
+Q_SIGNALS: // SIGNALS
+};
+
+namespace org {
+ namespace maliit {
+ namespace Server {
+ typedef ::OrgMaliitServerAddressInterface Address;
+ }
+ }
+}
+#endif