summaryrefslogtreecommitdiffstats
path: root/src/inputmethod
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-08 12:31:36 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-08 12:31:36 -0600
commitd796c9dd933ab96ec83b9a634feedd5d32e1ba3f (patch)
tree6e3dcca4f77e20ec8966c666aac7c35bd4704053 /src/inputmethod
downloadtqt3-d796c9dd933ab96ec83b9a634feedd5d32e1ba3f.tar.gz
tqt3-d796c9dd933ab96ec83b9a634feedd5d32e1ba3f.zip
Test conversion to TQt3 from Qt3 8c6fc1f8e35fd264dd01c582ca5e7549b32ab731
Diffstat (limited to 'src/inputmethod')
-rw-r--r--src/inputmethod/qinputcontextfactory.cpp186
-rw-r--r--src/inputmethod/qinputcontextfactory.h59
-rw-r--r--src/inputmethod/qinputcontextinterface_p.h87
-rw-r--r--src/inputmethod/qinputcontextplugin.cpp231
-rw-r--r--src/inputmethod/qinputcontextplugin.h67
-rw-r--r--src/inputmethod/qt_inputmethod.pri10
6 files changed, 640 insertions, 0 deletions
diff --git a/src/inputmethod/qinputcontextfactory.cpp b/src/inputmethod/qinputcontextfactory.cpp
new file mode 100644
index 000000000..a1ac4f35d
--- /dev/null
+++ b/src/inputmethod/qinputcontextfactory.cpp
@@ -0,0 +1,186 @@
+/****************************************************************************
+** $Id: qinputcontextfactory.cpp,v 1.2 2004/06/20 18:43:11 daisuke Exp $
+**
+** Implementation of TQInputContextFactory class
+**
+** Created : 001103
+**
+** Copyright (C) 1992-2002 Trolltech AS. All rights reserved.
+**
+** This file is part of the widgets module of the TQt GUI Toolkit.
+**
+** This file may be distributed under the terms of the Q Public License
+** as defined by Trolltech AS of Norway and appearing in the file
+** LICENSE.TQPL included in the packaging of this file.
+**
+** This file may be distributed and/or modified under the terms of the
+** GNU General Public License version 2 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.
+**
+** Licensees holding valid TQt Enterprise Edition licenses may use this
+** file in accordance with the TQt Commercial License Agreement provided
+** with the Software.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
+** information about TQt Commercial License Agreements.
+** See http://www.trolltech.com/qpl/ for TQPL licensing information.
+** See http://www.trolltech.com/gpl/ for GPL licensing information.
+**
+** Contact info@trolltech.com if any conditions of this licensing are
+** not clear to you.
+**
+**********************************************************************/
+
+#include "qinputcontextinterface_p.h" // up here for GCC 2.7.* compatibility
+#include "qinputcontextfactory.h"
+#include "qinputcontext.h"
+
+#ifndef QT_NO_IM
+
+#include "qapplication.h"
+
+#ifdef QT_THREAD_SUPPORT
+#include <private/qmutexpool_p.h>
+#endif // QT_THREAD_SUPPORT
+
+#include <stdlib.h>
+
+#include "qcleanuphandler.h"
+#include <private/qpluginmanager_p.h>
+#ifndef QT_NO_COMPONENT
+
+
+static TQPluginManager<TQInputContextFactoryInterface> *manager = 0;
+static TQSingleCleanupHandler< TQPluginManager<TQInputContextFactoryInterface> > cleanup_manager;
+
+static void create_manager()
+{
+ if( manager ) // already created
+ return;
+
+#ifdef QT_THREAD_SUPPORT
+ // protect manager creation
+ TQMutexLocker locker( qt_global_mutexpool ?
+ qt_global_mutexpool->get( &manager ) : 0);
+
+ // we check the manager pointer again to make sure that another thread
+ // has not created the manager before us.
+
+ if ( manager ) // already created
+ return;
+#endif
+
+ manager = new TQPluginManager<TQInputContextFactoryInterface>( IID_QInputContextFactory, TQApplication::libraryPaths(), "/inputmethods", FALSE );
+
+ Q_CHECK_PTR( manager );
+ cleanup_manager.set( &manager );
+}
+
+#endif //QT_NO_COMPONENT
+
+
+/*!
+ This function generates the input context that has the identifier
+ name which is in agreement with \a key. \a widget is the client
+ widget of TQInputContext. \a widget may be null.
+*/
+TQInputContext *TQInputContextFactory::create( const TQString& key, TQWidget *widget )
+{
+ TQInputContext *ret = 0;
+ TQString inputcontext = key;
+#ifndef QT_NO_COMPONENT
+ // make sure the manager is created
+ create_manager();
+
+ TQInterfacePtr<TQInputContextFactoryInterface> iface;
+ manager->queryInterface( inputcontext, &iface );
+
+ if ( iface ) {
+ ret = iface->create( inputcontext );
+#ifdef Q_WS_X11
+ if ( ret )
+ ret->setHolderWidget( widget );
+#endif
+ }
+#endif
+ return ret;
+}
+
+
+/*!
+ This function returns the list of the names input methods.
+ Only input methods included in default and placed under
+ $QTDIR/plugins/inputmethods are listed.
+*/
+TQStringList TQInputContextFactory::keys()
+{
+ TQStringList list;
+#ifndef QT_NO_COMPONENT
+ // make sure the manager is created
+ create_manager();
+
+ list = manager->featureList();
+#endif //QT_NO_COMPONENT
+
+ return list;
+}
+
+
+TQStringList TQInputContextFactory::languages( const TQString &key )
+{
+ TQStringList result;
+#ifndef QT_NO_COMPONENT
+ // make sure the manager is created
+ create_manager();
+
+ TQInterfacePtr<TQInputContextFactoryInterface> iface;
+ manager->queryInterface( key, &iface );
+
+ if ( iface )
+ result = iface->languages( key );
+#endif //QT_NO_COMPONENT
+
+ return result;
+}
+
+
+TQString TQInputContextFactory::displayName( const TQString &key )
+{
+ TQString result( "" );
+#ifndef QT_NO_COMPONENT
+ // make sure the manager is created
+ create_manager();
+
+ TQInterfacePtr<TQInputContextFactoryInterface> iface;
+ manager->queryInterface( key, &iface );
+
+ if ( iface )
+ result = iface->displayName( key );
+#endif //QT_NO_COMPONENT
+
+ return result;
+}
+
+
+TQString TQInputContextFactory::description( const TQString &key )
+{
+ TQString result( "" );
+#ifndef QT_NO_COMPONENT
+ // make sure the manager is created
+ create_manager();
+
+ TQInterfacePtr<TQInputContextFactoryInterface> iface;
+ manager->queryInterface( key, &iface );
+
+ if ( iface )
+ result = iface->description( key );
+#endif //QT_NO_COMPONENT
+
+ return result;
+}
+
+#endif // QT_NO_IM
diff --git a/src/inputmethod/qinputcontextfactory.h b/src/inputmethod/qinputcontextfactory.h
new file mode 100644
index 000000000..515593fe8
--- /dev/null
+++ b/src/inputmethod/qinputcontextfactory.h
@@ -0,0 +1,59 @@
+/****************************************************************************
+** $Id: qinputcontextfactory.h,v 1.1.1.1 2004/05/11 11:16:49 daisuke Exp $
+**
+** Definition of TQInputContextFactory class
+**
+** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
+**
+** This file is part of the widgets module of the TQt GUI Toolkit.
+**
+** This file may be distributed under the terms of the Q Public License
+** as defined by Trolltech AS of Norway and appearing in the file
+** LICENSE.TQPL included in the packaging of this file.
+**
+** This file may be distributed and/or modified under the terms of the
+** GNU General Public License version 2 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.
+**
+** Licensees holding valid TQt Enterprise Edition or TQt Professional Edition
+** licenses may use this file in accordance with the TQt Commercial License
+** Agreement provided with the Software.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
+** information about TQt Commercial License Agreements.
+** See http://www.trolltech.com/qpl/ for TQPL licensing information.
+** See http://www.trolltech.com/gpl/ for GPL licensing information.
+**
+** Contact info@trolltech.com if any conditions of this licensing are
+** not clear to you.
+**
+**********************************************************************/
+
+#ifndef TQINPUTCONTEXTFACTORY_H
+#define TQINPUTCONTEXTFACTORY_H
+
+#ifndef QT_H
+#include "qstringlist.h"
+#endif // QT_H
+
+#ifndef QT_NO_IM
+
+class TQInputContext;
+class TQWidget;
+
+class Q_EXPORT TQInputContextFactory
+{
+public:
+ static TQStringList keys();
+ static TQInputContext *create( const TQString &key, TQWidget *widget ); // should be a toplevel widget
+ static TQStringList languages( const TQString &key );
+ static TQString displayName( const TQString &key );
+ static TQString description( const TQString &key );
+};
+#endif //QT_NO_IM
+
+#endif //TQINPUTCONTEXTFACTORY_H
diff --git a/src/inputmethod/qinputcontextinterface_p.h b/src/inputmethod/qinputcontextinterface_p.h
new file mode 100644
index 000000000..40574894e
--- /dev/null
+++ b/src/inputmethod/qinputcontextinterface_p.h
@@ -0,0 +1,87 @@
+/****************************************************************************
+** $Id: qinputcontextinterface_p.h,v 1.2 2004/06/20 18:43:11 daisuke Exp $
+**
+** ...
+**
+** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
+**
+** This file is part of the widgets module of the TQt GUI Toolkit.
+**
+** This file may be distributed under the terms of the Q Public License
+** as defined by Trolltech AS of Norway and appearing in the file
+** LICENSE.TQPL included in the packaging of this file.
+**
+** This file may be distributed and/or modified under the terms of the
+** GNU General Public License version 2 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.
+**
+** Licensees holding valid TQt Enterprise Edition or TQt Professional Edition
+** licenses may use this file in accordance with the TQt Commercial License
+** Agreement provided with the Software.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
+** information about TQt Commercial License Agreements.
+** See http://www.trolltech.com/qpl/ for TQPL licensing information.
+** See http://www.trolltech.com/gpl/ for GPL licensing information.
+**
+** Contact info@trolltech.com if any conditions of this licensing are
+** not clear to you.
+**
+**********************************************************************/
+
+#ifndef TQINPUTCONTEXTINTERFACE_P_H
+#define TQINPUTCONTEXTINTERFACE_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the TQt API. This header file may
+// change from version to version without notice, or even be
+// removed.
+//
+// We mean it.
+//
+//
+
+#ifndef QT_H
+#include <private/qcom_p.h>
+#endif // QT_H
+
+#ifndef QT_NO_IM
+#ifndef QT_NO_COMPONENT
+
+class TQWidget;
+class TQInputContext;
+
+// old version interface in qt-x11-immodule-bc-qt3.3.2-20040623.diff:
+// {6C2B9EDE-B63C-14c9-A729-3C7643739C4C}
+//
+// new version interface:
+// {a5f5c63d-e044-11d8-9718-000d6077a78d}
+// {b0bf3e59-e526-11d8-80da-000d6077a78d}
+// {9ef05c7f-0272-11d9-846c-000d6077a78d}
+
+#ifndef IID_QInputContextFactory
+//#define IID_QInputContextFactory TQUuid(0x6c2b9ede, 0xb63c, 0x14c9, 0xa7, 0x29, 0x3c, 0x76, 0x43, 0x73, 0x9c, 0x4c)
+//#define IID_QInputContextFactory TQUuid(0xa5f5c63d, 0xe044, 0x11d8, 0x97, 0x18, 0x00, 0x0d, 0x60, 0x77, 0xa7, 0x8d)
+//#define IID_QInputContextFactory TQUuid(0xb0bf3e59, 0xe526, 0x11d8, 0x80, 0xda, 0x00, 0x0d, 0x60, 0x77, 0xa7, 0x8d)
+#define IID_QInputContextFactory TQUuid(0x9ef05c7f, 0x0272, 0x11d9, 0x84, 0x6c, 0x00, 0x0d, 0x60, 0x77, 0xa7, 0x8d)
+#endif
+
+struct Q_EXPORT TQInputContextFactoryInterface : public TQFeatureListInterface
+{
+ virtual TQInputContext *create( const TQString &key ) = 0;
+ virtual TQStringList languages( const TQString &key ) = 0;
+ virtual TQString displayName( const TQString &key ) = 0;
+ virtual TQString description( const TQString &key ) = 0;
+};
+
+#endif //QT_NO_COMPONENT
+#endif //QT_NO_IM
+
+#endif //TQINPUTCONTEXTINTERFACE_P_H
diff --git a/src/inputmethod/qinputcontextplugin.cpp b/src/inputmethod/qinputcontextplugin.cpp
new file mode 100644
index 000000000..fa9372943
--- /dev/null
+++ b/src/inputmethod/qinputcontextplugin.cpp
@@ -0,0 +1,231 @@
+/****************************************************************************
+** $Id: qinputcontextplugin.cpp,v 1.2 2004/06/20 18:43:11 daisuke Exp $
+**
+** Implementation of TQInputContextPlugin class
+**
+** Created : 010920
+**
+** Copyright (C) 2001 Trolltech AS. All rights reserved.
+**
+** This file is part of the widgets module of the TQt GUI Toolkit.
+**
+** This file may be distributed under the terms of the Q Public License
+** as defined by Trolltech AS of Norway and appearing in the file
+** LICENSE.TQPL included in the packaging of this file.
+**
+** This file may be distributed and/or modified under the terms of the
+** GNU General Public License version 2 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.
+**
+** Licensees holding valid TQt Enterprise Edition or TQt Professional Edition
+** licenses may use this file in accordance with the TQt Commercial License
+** Agreement provided with the Software.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
+** information about TQt Commercial License Agreements.
+** See http://www.trolltech.com/qpl/ for TQPL licensing information.
+** See http://www.trolltech.com/gpl/ for GPL licensing information.
+**
+** Contact info@trolltech.com if any conditions of this licensing are
+** not clear to you.
+**
+**********************************************************************/
+
+#include "qinputcontextplugin.h"
+
+#ifndef QT_NO_IM
+#ifndef QT_NO_COMPONENT
+
+#include "qinputcontextinterface_p.h"
+
+/*!
+ \class TQInputContextPlugin qinputcontextplugin.h
+ \brief The TQInputContextPlugin class provides an abstract base for custom TQInputContext plugins.
+ \reentrant
+ \ingroup plugins
+
+ The input context plugin is a simple plugin interface that makes it
+ easy to create custom input contexts that can be loaded dynamically
+ into applications.
+
+ Writing a input context plugin is achieved by subclassing this
+ base class, reimplementing the pure virtual functions keys(),
+ create(), languages(), displayName() description() and exporting
+ the class with the \c Q_EXPORT_PLUGIN macro. See the \link
+ plugins-howto.html TQt Plugins documentation \endlink for details.
+
+ \sa TQInputContext
+*/
+
+/*!
+ \fn TQStringList TQInputContextPlugin::keys() const
+
+ Returns the list of TQInputContext keys this plugin provides.
+
+ These keys are usually the class names of the custom input context
+ that are implemented in the plugin.
+
+ Return value is the names to identify and specify input methods
+ for the input method switching mechanism and so on. The names have
+ to be consistent with TQInputContext::identifierName(). The names
+ have to consist of ASCII characters only. See also
+ TQInputContext::identifierName() for further information.
+
+ \sa create(), displayName(), TQInputContext::identifierName()
+*/
+
+/*!
+ \fn TQInputContext* TQInputContextPlugin::create( const TQString& key )
+
+ Creates and returns a TQInputContext instance for the input context key \a key.
+ The input context key is usually the class name of the retquired input method.
+
+ \sa keys()
+*/
+
+/*!
+ \fn TQStringList languages( const TQString &key )
+
+ Returns what languages are supported by the TQInputContext instance
+ specified by \a key.
+
+ The languages are expressed as language code (e.g. "zh_CN",
+ "zh_TW", "zh_HK", "ja", "ko", ...). An input context that suports
+ multiple languages can return all supported languages as
+ TQStringList. The name has to be consistent with
+ TQInputContextPlugin::language().
+
+ This information may be used to optimize user interface.
+
+ \sa TQInputContext::language()
+*/
+
+/*!
+ \fn TQString displayName( const TQString &key )
+
+ Returns a user friendly i18n-ized name of the TQInputContext
+ instance specified by \a key. This string may be appeared in a
+ menu and so on for users.
+
+ There are two different names with different responsibility in the
+ input method domain. This function returns one of them. Another
+ name is called 'identifier name' to identify and specify input
+ methods for the input method switching mechanism and so on.
+
+ Although tr( identifierName ) can provide user friendly i18n-ized
+ name without this function, the message catalog have to be managed
+ by TQt in the case. However, some sophisticated input method
+ framework manages their own message catalogs to provide this
+ i18n-ized name string. So we need this function rather than just
+ call tr() for identifier name.
+
+ \sa keys(), TQInputContext::identifierName()
+*/
+
+/*!
+ \fn TQString description( const TQString &key )
+
+ Returns a i18n-ized brief description of the TQInputContext
+ instance specified by \a key. This string may be appeared in some
+ user interfaces.
+*/
+
+
+
+class TQInputContextPluginPrivate : public TQInputContextFactoryInterface
+{
+public:
+ TQInputContextPluginPrivate( TQInputContextPlugin *p )
+ : plugin( p )
+ {
+ }
+
+ virtual ~TQInputContextPluginPrivate();
+
+ TQRESULT queryInterface( const TQUuid &iid, TQUnknownInterface **iface );
+ Q_REFCOUNT;
+
+ TQStringList featureList() const;
+ TQInputContext *create( const TQString &key );
+ TQStringList languages( const TQString &key );
+ TQString displayName( const TQString &key );
+ TQString description( const TQString &key );
+
+private:
+ TQInputContextPlugin *plugin;
+};
+
+TQRESULT TQInputContextPluginPrivate::queryInterface( const TQUuid &iid, TQUnknownInterface **iface )
+{
+ *iface = 0;
+
+ if ( iid == IID_QUnknown )
+ *iface = this;
+ else if ( iid == IID_QFeatureList )
+ *iface = this;
+ else if ( iid == IID_QInputContextFactory )
+ *iface = this;
+ else
+ return TQE_NOINTERFACE;
+
+ (*iface)->addRef();
+ return TQS_OK;
+}
+
+TQInputContextPluginPrivate::~TQInputContextPluginPrivate()
+{
+ delete plugin;
+}
+
+TQStringList TQInputContextPluginPrivate::featureList() const
+{
+ return plugin->keys();
+}
+
+TQInputContext *TQInputContextPluginPrivate::create( const TQString &key )
+{
+ return plugin->create( key );
+}
+
+TQStringList TQInputContextPluginPrivate::languages( const TQString &key )
+{
+ return plugin->languages( key );
+}
+
+TQString TQInputContextPluginPrivate::displayName( const TQString &key )
+{
+ return plugin->displayName( key );
+}
+
+TQString TQInputContextPluginPrivate::description( const TQString &key )
+{
+ return plugin->description( key );
+}
+
+
+/*!
+ Constructs a input context plugin. This is invoked automatically by the
+ \c Q_EXPORT_PLUGIN macro.
+*/
+TQInputContextPlugin::TQInputContextPlugin()
+ : TQGPlugin( d = new TQInputContextPluginPrivate( this ) )
+{
+}
+
+/*!
+ Destroys the input context plugin.
+
+ You never have to call this explicitly. TQt destroys a plugin
+ automatically when it is no longer used.
+*/
+TQInputContextPlugin::~TQInputContextPlugin()
+{
+ // don't delete d, as this is deleted by d
+}
+
+#endif // QT_NO_COMPONENT
+#endif // QT_NO_IM
diff --git a/src/inputmethod/qinputcontextplugin.h b/src/inputmethod/qinputcontextplugin.h
new file mode 100644
index 000000000..e54f54cc3
--- /dev/null
+++ b/src/inputmethod/qinputcontextplugin.h
@@ -0,0 +1,67 @@
+/****************************************************************************
+** $Id: qinputcontextplugin.h,v 1.2 2004/06/20 18:43:11 daisuke Exp $
+**
+** Definition of TQInputContextPlugin class
+**
+** Created : 010920
+**
+** Copyright (C) 2001 Trolltech AS. All rights reserved.
+**
+** This file is part of the tools module of the TQt GUI Toolkit.
+**
+** This file may be distributed under the terms of the Q Public License
+** as defined by Trolltech AS of Norway and appearing in the file
+** LICENSE.TQPL included in the packaging of this file.
+**
+** This file may be distributed and/or modified under the terms of the
+** GNU General Public License version 2 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.
+**
+** Licensees holding valid TQt Enterprise Edition or TQt Professional Edition
+** licenses may use this file in accordance with the TQt Commercial License
+** Agreement provided with the Software.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
+** information about TQt Commercial License Agreements.
+** See http://www.trolltech.com/qpl/ for TQPL licensing information.
+** See http://www.trolltech.com/gpl/ for GPL licensing information.
+**
+** Contact info@trolltech.com if any conditions of this licensing are
+** not clear to you.
+**
+**********************************************************************/
+
+#ifndef TQINPUTCONTEXTPLUGIN_H
+#define TQINPUTCONTEXTPLUGIN_H
+
+#ifndef QT_H
+#include "qgplugin.h"
+#include "qstringlist.h"
+#endif // QT_H
+
+#ifndef QT_NO_IM
+class TQInputContext;
+class TQInputContextPluginPrivate;
+
+class Q_EXPORT TQInputContextPlugin : public TQGPlugin
+{
+ Q_OBJECT
+public:
+ TQInputContextPlugin();
+ ~TQInputContextPlugin();
+
+ virtual TQStringList keys() const = 0;
+ virtual TQInputContext *create( const TQString &key ) = 0;
+ virtual TQStringList languages( const TQString &key ) = 0;
+ virtual TQString displayName( const TQString &key ) = 0;
+ virtual TQString description( const TQString &key ) = 0;
+
+private:
+ TQInputContextPluginPrivate *d;
+};
+#endif // QT_NO_IM
+#endif // TQINPUTCONTEXTPLUGIN_H
diff --git a/src/inputmethod/qt_inputmethod.pri b/src/inputmethod/qt_inputmethod.pri
new file mode 100644
index 000000000..d9ac32aec
--- /dev/null
+++ b/src/inputmethod/qt_inputmethod.pri
@@ -0,0 +1,10 @@
+# Qt inputmetod module
+
+inputmethod {
+ INPUTMETHOD_P = inputmethod
+ HEADERS +=$$INPUTMETHOD_H/qinputcontextfactory.h \
+ $$INPUTMETHOD_P/qinputcontextinterface_p.h \
+ $$INPUTMETHOD_H/qinputcontextplugin.h
+ SOURCES +=$$INPUTMETHOD_CPP/qinputcontextfactory.cpp \
+ $$INPUTMETHOD_CPP/qinputcontextplugin.cpp
+}