Hello community,

here is the log from the commit of package fcitx-qt5 for openSUSE:Factory 
checked in at 2017-02-15 10:05:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fcitx-qt5 (Old)
 and      /work/SRC/openSUSE:Factory/.fcitx-qt5.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "fcitx-qt5"

Changes:
--------
--- /work/SRC/openSUSE:Factory/fcitx-qt5/fcitx-qt5.changes      2016-12-03 
18:28:06.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.fcitx-qt5.new/fcitx-qt5.changes 2017-02-15 
10:05:47.321410843 +0100
@@ -1,0 +2,7 @@
+Sat Feb 11 22:55:55 UTC 2017 - [email protected]
+
+- update version 1.1.0
+  * added guiwrapper for fcitx-qt5
+  * fix build and add support for webengine
+
+-------------------------------------------------------------------

Old:
----
  fcitx-qt5-1.0.6.tar.xz

New:
----
  fcitx-qt5-1.1.0.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ fcitx-qt5.spec ++++++
--- /var/tmp/diff_new_pack.Q8SAyp/_old  2017-02-15 10:05:47.697357889 +0100
+++ /var/tmp/diff_new_pack.Q8SAyp/_new  2017-02-15 10:05:47.701357326 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package fcitx-qt5
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           fcitx-qt5
-Version:        1.0.6
+Version:        1.1.0
 Release:        0
 Summary:        Fcitx QT5 Input Context
 License:        GPL-2.0+
@@ -34,10 +34,11 @@
 BuildRequires:  libqt5-qtbase-private-headers-devel
 BuildRequires:  libxkbcommon-devel
 BuildRequires:  xz
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # fcitx-qt5 is using private QPA API, which can, and does break BC even in 
point releases,
 # so we need to hardcode libQt5Gui5 version
 %requires_eq libQt5Gui5
+BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+
 %description
 A QT5 input context plugin of Fcitx IM Framework.
 
@@ -60,12 +61,12 @@
 %cmake_install
 
 %post -p /sbin/ldconfig
-
 %postun -p /sbin/ldconfig
 
 %files
 %defattr(-,root,root)
 %doc COPYING
+%{_libdir}/fcitx/libexec/fcitx-qt5-gui-wrapper
 %{_libdir}/libFcitxQt5*Addons.so.1
 %{_libdir}/libFcitxQt5*Addons.so.1.0
 %dir %{_libdir}/qt5/plugins/

++++++ fcitx-qt5-1.0.6.tar.xz -> fcitx-qt5-1.1.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-qt5-1.0.6/.gitignore 
new/fcitx-qt5-1.1.0/.gitignore
--- old/fcitx-qt5-1.0.6/.gitignore      2016-10-13 01:26:34.000000000 +0200
+++ new/fcitx-qt5-1.1.0/.gitignore      2017-02-08 06:58:26.000000000 +0100
@@ -6,3 +6,4 @@
 *.kate-swp
 *.orig
 tags
+run.sh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-qt5-1.0.6/CMakeLists.txt 
new/fcitx-qt5-1.1.0/CMakeLists.txt
--- old/fcitx-qt5-1.0.6/CMakeLists.txt  2016-10-13 01:26:34.000000000 +0200
+++ new/fcitx-qt5-1.1.0/CMakeLists.txt  2017-02-08 06:58:26.000000000 +0100
@@ -2,7 +2,7 @@
 
 project(fcitx-qt5)
 
-set(FcitxQt5_VERSION 1.0.0)
+set(FcitxQt5_VERSION 1.1.0)
 set(REQUIRED_QT_VERSION 5.1.0)
 
 find_package(ECM 1.4.0 REQUIRED NO_MODULE)
@@ -29,12 +29,13 @@
 find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core DBus Widgets)
 find_package(Qt5Gui ${REQUIRED_QT_VERSION} REQUIRED Private)
 find_package(XKBCommon 0.5.0 REQUIRED COMPONENTS XKBCommon)
-pkg_check_modules(FCITX_UTILS fcitx-utils REQUIRED)
-pkg_check_modules(FCITX_CONFIG fcitx-config REQUIRED)
+find_package(Fcitx 4.2.8 REQUIRED)
+find_package(LibIntl REQUIRED)
 
 set(FcitxQt5_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_FULL_INCLUDEDIR}/FcitxQt5)
 add_subdirectory(dbusaddons)
 add_subdirectory(widgetsaddons)
 add_subdirectory(platforminputcontext)
+add_subdirectory(guiwrapper)
 
 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-qt5-1.0.6/cmake/FindLibIntl.cmake 
new/fcitx-qt5-1.1.0/cmake/FindLibIntl.cmake
--- old/fcitx-qt5-1.0.6/cmake/FindLibIntl.cmake 1970-01-01 01:00:00.000000000 
+0100
+++ new/fcitx-qt5-1.1.0/cmake/FindLibIntl.cmake 2017-02-08 06:58:26.000000000 
+0100
@@ -0,0 +1,41 @@
+# - find where dlopen and friends are located.
+# LIBINTL_FOUND - system has dynamic linking interface available
+# LIBINTL_INCLUDE_DIR - where dlfcn.h is located.
+# LIBINTL_LIBRARY - libraries needed to use dlopen
+
+include(CheckFunctionExists)
+
+find_path(LIBINTL_INCLUDE_DIR NAMES libintl.h)
+find_library(LIBINTL_LIBRARY NAMES intl)
+if(LIBINTL_LIBRARY)
+  set(LIBINTL_FOUND TRUE)
+else(LIBINTL_LIBRARY)
+  check_function_exists(dgettext LIBINTL_FOUND)
+  # If dlopen can be found without linking in dl then dlopen is part
+  # of libc, so don't need to link extra libs.
+  set(LIBINTL_LIBRARY "")
+endif(LIBINTL_LIBRARY)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(LIBINTL
+    FOUND_VAR
+        LIBINTL_FOUND
+    REQUIRED_VARS
+        LIBINTL_INCLUDE_DIR
+)
+
+mark_as_advanced(LIBINTL_INCLUDE_DIR LIBINTL_LIBRARY)
+
+if(LIBINTL_FOUND AND NOT TARGET LibIntl::LibIntl)
+    if (LIBINTL_LIBRARY)
+        add_library(LibIntl::LibIntl UNKNOWN IMPORTED)
+        set_target_properties(LibIntl::LibIntl PROPERTIES
+            IMPORTED_LOCATION "${LIBINTL_LIBRARY}")
+    else()
+        add_library(LibIntl::LibIntl INTERFACE IMPORTED )
+    endif()
+    set_target_properties(LibIntl::LibIntl PROPERTIES
+        INTERFACE_INCLUDE_DIRECTORIES "${LIBINTL_INCLUDE_DIR}"
+    )
+endif()
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-qt5-1.0.6/guiwrapper/CMakeLists.txt 
new/fcitx-qt5-1.1.0/guiwrapper/CMakeLists.txt
--- old/fcitx-qt5-1.0.6/guiwrapper/CMakeLists.txt       1970-01-01 
01:00:00.000000000 +0100
+++ new/fcitx-qt5-1.1.0/guiwrapper/CMakeLists.txt       2017-02-08 
06:58:26.000000000 +0100
@@ -0,0 +1,34 @@
+set(QT_WRAPPER_SRCS
+  main.cpp
+  wrapperapp.cpp
+  mainwindow.cpp
+  )
+
+fcitx_translate_add_sources(
+  ${QT_WRAPPER_SRCS}
+  )
+
+include_directories(
+  ${CMAKE_CURRENT_BINARY_DIR}
+  )
+
+link_directories(${FCITX4_FCITX_UTILS_LIBRARY_DIRS})
+
+qt5_wrap_ui(QT_WRAPPER_SRCS mainwindow.ui)
+
+add_executable(fcitx-qt5-gui-wrapper ${QT_WRAPPER_SRCS})
+
+set_target_properties(fcitx-qt5-gui-wrapper
+  PROPERTIES AUTOMOC TRUE)
+
+target_link_libraries(fcitx-qt5-gui-wrapper
+      Qt5::Core
+      Qt5::Gui
+      Qt5::Widgets
+      FcitxQt5::DBusAddons
+      FcitxQt5::WidgetsAddons
+      LibIntl::LibIntl
+      ${FCITX4_FCITX_UTILS_LIBRARIES}
+)
+
+install(TARGETS fcitx-qt5-gui-wrapper DESTINATION 
"${CMAKE_INSTALL_LIBDIR}/fcitx/libexec")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-qt5-1.0.6/guiwrapper/common.h 
new/fcitx-qt5-1.1.0/guiwrapper/common.h
--- old/fcitx-qt5-1.0.6/guiwrapper/common.h     1970-01-01 01:00:00.000000000 
+0100
+++ new/fcitx-qt5-1.1.0/guiwrapper/common.h     2017-02-08 06:58:26.000000000 
+0100
@@ -0,0 +1,29 @@
+/***************************************************************************
+ *   Copyright (C) 2012~2012 by CSSlayer                                   *
+ *   [email protected]                                                      *
+ *   Copyright (C) 2017~2017 by xzhao                                      *
+ *   [email protected]                                                          *
+ *                                                                         *
+ *  This program is free software: you can redistribute it and/or modify   *
+ *  it under the terms of the GNU General Public License as published by   *
+ *  the Free Software Foundation, either version 3 of the License, or      *
+ *  (at your option) any later version.                                    *
+ *                                                                         *
+ *  This program is distributed in the hope that it will be useful,        *
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of         *
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          *
+ *  GNU General Public License for more details.                           *
+ *                                                                         *
+ *  You should have received a copy of the GNU General Public License      *
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.  *
+ *                                                                         *
+ ***************************************************************************/
+
+#ifndef FCITX_QT5_GUIWRAPPER_COMMON_H
+#define FCITX_QT5_GUIWRAPPER_COMMON_H
+
+#include <libintl.h>
+
+#define _(x) QString::fromUtf8(dgettext("fcitx", x))
+
+#endif // FCITX_QT5_GUIWRAPPER_COMMON_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-qt5-1.0.6/guiwrapper/main.cpp 
new/fcitx-qt5-1.1.0/guiwrapper/main.cpp
--- old/fcitx-qt5-1.0.6/guiwrapper/main.cpp     1970-01-01 01:00:00.000000000 
+0100
+++ new/fcitx-qt5-1.1.0/guiwrapper/main.cpp     2017-02-08 06:58:26.000000000 
+0100
@@ -0,0 +1,31 @@
+/***************************************************************************
+ *   Copyright (C) 2012~2012 by CSSlayer                                   *
+ *   [email protected]                                                      *
+ *   Copyright (C) 2017~2017 by xzhao                                      *
+ *   [email protected]                                                          *
+ *                                                                         *
+ *  This program is free software: you can redistribute it and/or modify   *
+ *  it under the terms of the GNU General Public License as published by   *
+ *  the Free Software Foundation, either version 3 of the License, or      *
+ *  (at your option) any later version.                                    *
+ *                                                                         *
+ *  This program is distributed in the hope that it will be useful,        *
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of         *
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          *
+ *  GNU General Public License for more details.                           *
+ *                                                                         *
+ *  You should have received a copy of the GNU General Public License      *
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.  *
+ *                                                                         *
+ ***************************************************************************/
+
+#include <libintl.h>
+#include "fcitx-utils/utils.h"
+#include "wrapperapp.h"
+
+int main(int argc, char* argv[])
+{
+    QGuiApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
+    WrapperApp app(argc, argv);
+    return app.exec();
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-qt5-1.0.6/guiwrapper/mainwindow.cpp 
new/fcitx-qt5-1.1.0/guiwrapper/mainwindow.cpp
--- old/fcitx-qt5-1.0.6/guiwrapper/mainwindow.cpp       1970-01-01 
01:00:00.000000000 +0100
+++ new/fcitx-qt5-1.1.0/guiwrapper/mainwindow.cpp       2017-02-08 
06:58:26.000000000 +0100
@@ -0,0 +1,102 @@
+/***************************************************************************
+ *   Copyright (C) 2012~2013 by CSSlayer                                   *
+ *   [email protected]                                                      *
+ *   Copyright (C) 2017~2017 by xzhao                                      *
+ *   [email protected]                                                          *
+ *                                                                         *
+ *  This program is free software: you can redistribute it and/or modify   *
+ *  it under the terms of the GNU General Public License as published by   *
+ *  the Free Software Foundation, either version 3 of the License, or      *
+ *  (at your option) any later version.                                    *
+ *                                                                         *
+ *  This program is distributed in the hope that it will be useful,        *
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of         *
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          *
+ *  GNU General Public License for more details.                           *
+ *                                                                         *
+ *  You should have received a copy of the GNU General Public License      *
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.  *
+ *                                                                         *
+ ***************************************************************************/
+
+#include <libintl.h>
+#include <QPushButton>
+#include <QLocale>
+#include <QDebug>
+
+#include "common.h"
+#include "mainwindow.h"
+#include "fcitxqtconnection.h"
+#include "fcitxqtinputmethodproxy.h"
+#include "fcitxqtconfiguifactory.h"
+#include "fcitx-utils/utils.h"
+
+MainWindow::MainWindow(FcitxQtConfigUIWidget* pluginWidget, QWidget* parent): 
QMainWindow(parent)
+    ,m_ui(new Ui::MainWindow)
+    ,m_connection(new FcitxQtConnection(this))
+    ,m_pluginWidget(pluginWidget)
+    ,m_proxy(0)
+{
+    m_ui->setupUi(this);
+    m_ui->verticalLayout->insertWidget(0, m_pluginWidget);
+    m_ui->buttonBox->button(QDialogButtonBox::Save)->setText(_("&Save"));
+    m_ui->buttonBox->button(QDialogButtonBox::Reset)->setText(_("&Reset"));
+    m_ui->buttonBox->button(QDialogButtonBox::Close)->setText(_("&Close"));
+    m_ui->buttonBox->button(QDialogButtonBox::Save)->setEnabled(false);
+    m_ui->buttonBox->button(QDialogButtonBox::Reset)->setEnabled(false);
+    setWindowIcon(QIcon::fromTheme(m_pluginWidget->icon()));
+    setWindowTitle(m_pluginWidget->title());
+
+    connect(m_pluginWidget, SIGNAL(changed(bool)), this, SLOT(changed(bool)));
+    if (m_pluginWidget->asyncSave())
+        connect(m_pluginWidget, SIGNAL(saveFinished()), this, 
SLOT(saveFinished()));
+    connect(m_ui->buttonBox, SIGNAL(clicked(QAbstractButton*)), this, 
SLOT(clicked(QAbstractButton*)));
+    connect(m_connection, SIGNAL(connected()), this, SLOT(connected()));
+
+    m_connection->startConnection();
+}
+
+void MainWindow::connected()
+{
+    if (m_proxy) {
+        delete m_proxy;
+    }
+    m_proxy = new FcitxQtInputMethodProxy(m_connection->serviceName(), 
QLatin1String("/inputmethod"), *m_connection->connection(), this);
+}
+
+void MainWindow::clicked(QAbstractButton* button)
+{
+    QDialogButtonBox::StandardButton standardButton = 
m_ui->buttonBox->standardButton(button);
+    if (standardButton == QDialogButtonBox::Save) {
+        if (m_pluginWidget->asyncSave())
+            m_pluginWidget->setEnabled(false);
+        m_pluginWidget->save();
+        if (!m_pluginWidget->asyncSave())
+            saveFinished();
+    } else if (standardButton == QDialogButtonBox::Close) {
+        qApp->quit();
+    }
+    else if (standardButton == QDialogButtonBox::Reset) {
+        m_pluginWidget->load();
+    }
+}
+
+void MainWindow::saveFinished()
+{
+    if (m_pluginWidget->asyncSave())
+        m_pluginWidget->setEnabled(true);
+    if (m_proxy) {
+        m_proxy->ReloadAddonConfig(m_pluginWidget->addon());
+    }
+}
+
+void MainWindow::changed(bool changed)
+{
+    m_ui->buttonBox->button(QDialogButtonBox::Save)->setEnabled(changed);
+    m_ui->buttonBox->button(QDialogButtonBox::Reset)->setEnabled(changed);
+}
+
+MainWindow::~MainWindow()
+{
+    delete m_ui;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-qt5-1.0.6/guiwrapper/mainwindow.h 
new/fcitx-qt5-1.1.0/guiwrapper/mainwindow.h
--- old/fcitx-qt5-1.0.6/guiwrapper/mainwindow.h 1970-01-01 01:00:00.000000000 
+0100
+++ new/fcitx-qt5-1.1.0/guiwrapper/mainwindow.h 2017-02-08 06:58:26.000000000 
+0100
@@ -0,0 +1,50 @@
+/***************************************************************************
+ *   Copyright (C) 2012~2012 by CSSlayer                                   *
+ *   [email protected]                                                      *
+ *   Copyright (C) 2017~2017 by xzhao                                      *
+ *   [email protected]                                                          *
+ *                                                                         *
+ *  This program is free software: you can redistribute it and/or modify   *
+ *  it under the terms of the GNU General Public License as published by   *
+ *  the Free Software Foundation, either version 3 of the License, or      *
+ *  (at your option) any later version.                                    *
+ *                                                                         *
+ *  This program is distributed in the hope that it will be useful,        *
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of         *
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          *
+ *  GNU General Public License for more details.                           *
+ *                                                                         *
+ *  You should have received a copy of the GNU General Public License      *
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.  *
+ *                                                                         *
+ ***************************************************************************/
+
+#ifndef FCITXQT5_GUIWRAPPER_MAINWINDOW_H
+#define FCITXQT5_GUIWRAPPER_MAINWINDOW_H
+
+#include <QMainWindow>
+
+#include "ui_mainwindow.h"
+#include "fcitxqtconfiguiwidget.h"
+
+class FcitxQtInputMethodProxy;
+class FcitxQtConnection;
+class MainWindow : public QMainWindow {
+    Q_OBJECT
+public:
+    explicit MainWindow(FcitxQtConfigUIWidget* pluginWidget, QWidget* parent = 
0);
+    virtual ~MainWindow();
+public slots:
+    void changed(bool changed);
+    void clicked(QAbstractButton* button);
+    void connected();
+    void saveFinished();
+
+private:
+    Ui::MainWindow* m_ui;
+    FcitxQtConnection* m_connection;
+    FcitxQtConfigUIWidget* m_pluginWidget;
+    FcitxQtInputMethodProxy* m_proxy;
+};
+
+#endif // FCITXQT5_GUIWRAPPER_MAINWINDOW_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-qt5-1.0.6/guiwrapper/mainwindow.ui 
new/fcitx-qt5-1.1.0/guiwrapper/mainwindow.ui
--- old/fcitx-qt5-1.0.6/guiwrapper/mainwindow.ui        1970-01-01 
01:00:00.000000000 +0100
+++ new/fcitx-qt5-1.1.0/guiwrapper/mainwindow.ui        2017-02-08 
06:58:26.000000000 +0100
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+  <widget class="QWidget" name="centralwidget">
+   <layout class="QVBoxLayout" name="verticalLayout">
+    <item>
+     <widget class="QDialogButtonBox" name="buttonBox">
+      <property name="standardButtons">
+       
<set>QDialogButtonBox::Close|QDialogButtonBox::Reset|QDialogButtonBox::Save</set>
+      </property>
+     </widget>
+    </item>
+   </layout>
+  </widget>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-qt5-1.0.6/guiwrapper/wrapperapp.cpp 
new/fcitx-qt5-1.1.0/guiwrapper/wrapperapp.cpp
--- old/fcitx-qt5-1.0.6/guiwrapper/wrapperapp.cpp       1970-01-01 
01:00:00.000000000 +0100
+++ new/fcitx-qt5-1.1.0/guiwrapper/wrapperapp.cpp       2017-02-08 
06:58:26.000000000 +0100
@@ -0,0 +1,77 @@
+/***************************************************************************
+ *   Copyright (C) 2012~2012 by CSSlayer                                   *
+ *   [email protected]                                                      *
+ *   Copyright (C) 2017~2017 by xzhao                                      *
+ *   [email protected]                                                          *
+ *                                                                         *
+ *  This program is free software: you can redistribute it and/or modify   *
+ *  it under the terms of the GNU General Public License as published by   *
+ *  the Free Software Foundation, either version 3 of the License, or      *
+ *  (at your option) any later version.                                    *
+ *                                                                         *
+ *  This program is distributed in the hope that it will be useful,        *
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of         *
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          *
+ *  GNU General Public License for more details.                           *
+ *                                                                         *
+ *  You should have received a copy of the GNU General Public License      *
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.  *
+ *                                                                         *
+ ***************************************************************************/
+
+#include <libintl.h>
+#include <locale.h>
+
+#include <QDebug>
+
+#include "wrapperapp.h"
+#include "mainwindow.h"
+#include "fcitxqtconfiguifactory.h"
+#include "fcitxqtconnection.h"
+#include "fcitx-utils/utils.h"
+
+WrapperApp::WrapperApp(int& argc, char** argv): QApplication(argc, argv)
+    ,m_factory(new FcitxQtConfigUIFactory(this))
+    ,m_mainWindow(0)
+{
+    char* localedir = fcitx_utils_get_fcitx_path("localedir");
+    setlocale(LC_ALL, "");
+    bindtextdomain("fcitx", localedir);
+    free(localedir);
+    bind_textdomain_codeset("fcitx", "UTF-8");
+    textdomain("fcitx");
+
+    FcitxQtConfigUIWidget* widget = 0;
+
+    if (argc == 3 && strcmp(argv[1], "--test") == 0) {
+        if (m_factory->test(QString::fromLocal8Bit(argv[2]))) {
+            QMetaObject::invokeMethod(this, "quit", Qt::QueuedConnection);
+        } else {
+            QMetaObject::invokeMethod(this, "errorExit", Qt::QueuedConnection);
+        }
+    } else {
+        if (argc == 2) {
+            widget = m_factory->create(QString::fromLocal8Bit(argv[1]));
+        }
+        if (!widget) {
+            qWarning("Could not find plugin for file.");
+            QMetaObject::invokeMethod(this, "errorExit", Qt::QueuedConnection);
+        } else {
+            m_mainWindow = new MainWindow(widget);
+            m_mainWindow->show();
+        }
+    }
+}
+
+WrapperApp::~WrapperApp()
+{
+    if (m_mainWindow) {
+        delete m_mainWindow;
+    }
+}
+
+void WrapperApp::errorExit()
+{
+    exit(1);
+}
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-qt5-1.0.6/guiwrapper/wrapperapp.h 
new/fcitx-qt5-1.1.0/guiwrapper/wrapperapp.h
--- old/fcitx-qt5-1.0.6/guiwrapper/wrapperapp.h 1970-01-01 01:00:00.000000000 
+0100
+++ new/fcitx-qt5-1.1.0/guiwrapper/wrapperapp.h 2017-02-08 06:58:26.000000000 
+0100
@@ -0,0 +1,42 @@
+/***************************************************************************
+ *   Copyright (C) 2012~2012 by CSSlayer                                   *
+ *   [email protected]                                                      *
+ *   Copyright (C) 2017~2017 by xzhao                                      *
+ *   [email protected]                                                          *
+ *                                                                         *
+ *  This program is free software: you can redistribute it and/or modify   *
+ *  it under the terms of the GNU General Public License as published by   *
+ *  the Free Software Foundation, either version 3 of the License, or      *
+ *  (at your option) any later version.                                    *
+ *                                                                         *
+ *  This program is distributed in the hope that it will be useful,        *
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of         *
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          *
+ *  GNU General Public License for more details.                           *
+ *                                                                         *
+ *  You should have received a copy of the GNU General Public License      *
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.  *
+ *                                                                         *
+ ***************************************************************************/
+
+#ifndef FCITXQT5_GUIWRAPPER_WRAPPERAPP_H
+#define FCITXQT5_GUIWRAPPER_WRAPPERAPP_H
+
+#include <QApplication>
+#include "mainwindow.h"
+
+class FcitxQtConfigUIFactory;
+class WrapperApp : public QApplication {
+    Q_OBJECT
+public:
+    WrapperApp(int& argc, char** argv);
+    virtual ~WrapperApp();
+
+private slots:
+    void errorExit();
+private:
+    FcitxQtConfigUIFactory* m_factory;
+    MainWindow* m_mainWindow;
+};
+
+#endif // FCITXQT5_GUIWRAPPER_WRAPPERAPP_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-qt5-1.0.6/platforminputcontext/CMakeLists.txt 
new/fcitx-qt5-1.1.0/platforminputcontext/CMakeLists.txt
--- old/fcitx-qt5-1.0.6/platforminputcontext/CMakeLists.txt     2016-10-13 
01:26:34.000000000 +0200
+++ new/fcitx-qt5-1.1.0/platforminputcontext/CMakeLists.txt     2017-02-08 
06:58:26.000000000 +0100
@@ -29,5 +29,7 @@
                          )
 
 include(ECMQueryQmake)
+if (NOT CMAKE_INSTALL_QTPLUGINDIR)
 query_qmake(CMAKE_INSTALL_QTPLUGINDIR QT_INSTALL_PLUGINS)
+endif()
 install(TARGETS fcitxplatforminputcontextplugin DESTINATION 
${CMAKE_INSTALL_QTPLUGINDIR}/platforminputcontexts)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-qt5-1.0.6/widgetsaddons/CMakeLists.txt 
new/fcitx-qt5-1.1.0/widgetsaddons/CMakeLists.txt
--- old/fcitx-qt5-1.0.6/widgetsaddons/CMakeLists.txt    2016-10-13 
01:26:34.000000000 +0200
+++ new/fcitx-qt5-1.1.0/widgetsaddons/CMakeLists.txt    2017-02-08 
06:58:26.000000000 +0100
@@ -1,6 +1,6 @@
 link_directories(
-    ${FCITX_UTILS_LIBRARY_DIRS}
-    ${FCITX_CONFIG_LIBRARY_DIRS}
+    ${FCITX4_FCITX_UTILS_LIBRARY_DIRS}
+    ${FCITX4_FCITX_CONFIG_LIBRARY_DIRS}
 )
 
 ecm_setup_version(${FcitxQt5_VERSION} VARIABLE_PREFIX FCITXQT5WIDGETSADDONS
@@ -44,7 +44,7 @@
 set(fcitxqtwidgetsaddons_INCLUDE_DIRS
     ${CMAKE_CURRENT_BINARY_DIR}
     ${CMAKE_CURRENT_SOURCE_DIR}
-    ${FCITX_UTILS_INCLUDE_DIRS}
+    ${FCITX4_FCITX_UTILS_INCLUDE_DIRS}
 )
 
 add_library(FcitxQt5WidgetsAddons SHARED ${widgetsaddons_SOURCES})
@@ -68,8 +68,8 @@
         Qt5::Core
         Qt5::Widgets
     PRIVATE
-        ${FCITX_UTILS_LIBRARIES}
-        ${FCITX_CONFIG_LIBRARIES}
+        ${FCITX4_FCITX_UTILS_LIBRARIES}
+        ${FCITX4_FCITX_CONFIG_LIBRARIES}
 )
 
 install(TARGETS FcitxQt5WidgetsAddons EXPORT FcitxQt5WidgetsAddonsTargets 
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")


Reply via email to