New upstream version 2.0.9
authorYanhao Mo <yanhaocs@gmail.com>
Wed, 25 Jul 2018 01:19:52 +0000 (09:19 +0800)
committerYanhao Mo <yanhaocs@gmail.com>
Wed, 25 Jul 2018 01:19:52 +0000 (09:19 +0800)
16 files changed:
CHANGELOG.md
debian/TODO [deleted file]
debian/changelog
debian/compat
debian/control
debian/copyright
debian/libdtkcore-dev.docs [deleted file]
debian/libdtkcore-dev.install
debian/libdtkcore2.install
debian/libdtkcore2.symbols
debian/patches/0003-Workaround-qt-private-header-problem.patch [deleted file]
debian/patches/series [deleted file]
debian/rules
debian/watch [deleted file]
src/settings/dsettingsoption.cpp
tools/settings/main.cpp

index be85873f36f9392a669e2f12c6f7e737dc624834..d1dc0048f0b12e161d153bbd4a0d32caa396861d 100644 (file)
@@ -1,5 +1,16 @@
+<a name="2.0.9"></a>
+## 2.0.9 (2018-07-20)
+
+
+#### Bug Fixes
+
+*   remove qt symbols ([57ec78ba](https://github.com/linuxdeepin/dtkcore/commit/57ec78ba685a53692b0260d3d558d8b0915fc3e4))
+*   non array type value is wrong on parse josn file ([9f138664](https://github.com/linuxdeepin/dtkcore/commit/9f13866439d8d650893434594da023e7d331d866))
+
+
+
 <a name="2.0.8.1"></a>
-## 2.0.8.1 (2018-05-14)
+### 2.0.8.1 (2018-05-14)
 
 
 #### Bug Fixes
diff --git a/debian/TODO b/debian/TODO
deleted file mode 100644 (file)
index d96991e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-* Enable test.
index f175f17b963b475855c4def4df57e7aaa9145c3c..e2cb49aa85f119cef0c5de0c30def6f50605c129 100644 (file)
-dtkcore (2.0.8.1-1) unstable; urgency=medium
+dtkcore (2.0.8) unstable; urgency=medium
 
-  * New upstream release.
+  * Release 2.0.8
 
- -- Boyuan Yang <073plan@gmail.com>  Fri, 18 May 2018 22:02:21 +0800
+ -- Deepin Packages Builder <me@iceyer.net>  Wed, 02 May 2018 10:52:03 +0800
 
-dtkcore (2.0.8-2) unstable; urgency=medium
+dtkcore (0.3.3-1) unstable; urgency=medium
 
-  * Refresh symbols using buildd logs.
+  * Initial release 
 
- -- Boyuan Yang <073plan@gmail.com>  Sun, 06 May 2018 17:30:18 +0800
-
-dtkcore (2.0.8-1) unstable; urgency=medium
-
-  [ Yanhao Mo ]
-  * New upstream release.
-  * d/libdtkcore-dev.install: Remove /usr/lib/*/libdtk/modules/* .
-
-  [ Boyuan Yang ]
-  * d/control: Switch team address back to pkg-deepin-devel.
-  * d/symbols: Update according to buildlog.
-
- -- Boyuan Yang <073plan@gmail.com>  Sat, 05 May 2018 19:37:12 +0800
-
-dtkcore (2.0.7.1-5) unstable; urgency=medium
-
-  * (Really) set maintainer email to the new one.
-
- -- Boyuan Yang <073plan@gmail.com>  Thu, 19 Apr 2018 21:36:54 +0800
-
-dtkcore (2.0.7.1-4) unstable; urgency=medium
-
-  * Set maintainer email to team+pkg-deepin@tracker.debian.org .
-  * Reconfirm symbols using buildd logs.
-
- -- Boyuan Yang <073plan@gmail.com>  Tue, 17 Apr 2018 12:34:47 +0800
-
-dtkcore (2.0.7.1-3) unstable; urgency=medium
-
-  * Rebuild for Qt 5.10 on Debian.
-  * Provide Qt header compatibility for Qt 5.9.x series. Closes: #894612.
-    It's hacky but we don't really have much options.
-  * Bump Standards-Version to 4.1.4 (no changes needed).
-
- -- Boyuan Yang <073plan@gmail.com>  Sun, 08 Apr 2018 18:04:24 +0800
-
-dtkcore (2.0.7.1-2) unstable; urgency=medium
-
-  * Deal with Qt headers to ensure compatibility against Qt 5.10.1.
-
- -- Boyuan Yang <073plan@gmail.com>  Thu, 22 Mar 2018 15:38:38 +0800
-
-dtkcore (2.0.7.1-1) unstable; urgency=medium
-
-  * New upstream release.
-  * Refresh patch for Qt private header for Qt 5.10.1.
-
- -- Boyuan Yang <073plan@gmail.com>  Tue, 20 Mar 2018 10:18:14 +0800
-
-dtkcore (2.0.7-1) unstable; urgency=medium
-
-  * Upload to unstable.
-  * Refresh symbols.
-
- -- Boyuan Yang <073plan@gmail.com>  Wed, 07 Mar 2018 15:39:36 +0800
-
-dtkcore (2.0.7-1~exp1) experimental; urgency=medium
-
-  * New upstream version.
-  * Refresh patches.
-
- -- Boyuan Yang <073plan@gmail.com>  Mon, 05 Mar 2018 17:04:07 +0800
-
-dtkcore (2.0.6-3) unstable; urgency=medium
-
-  * d/control: Bump debhelper compat to v11.
-  * d/control: Migrate to Salsa platform for Vcs handling.
-
- -- Boyuan Yang <073plan@gmail.com>  Sun, 04 Mar 2018 18:12:23 +0800
-
-dtkcore (2.0.6-2) unstable; urgency=medium
-
-  * Fix symbols for hurd-i836 using buildlogs.
-
- -- Boyuan Yang <073plan@gmail.com>  Thu, 18 Jan 2018 09:25:18 +0800
-
-dtkcore (2.0.6-1) unstable; urgency=medium
-
-  * New upstream release.
-    + Add cmake files to ease package searching.
-  * Backport one upstream patch to fix FTBFS on hurd systems.
-
- -- Boyuan Yang <073plan@gmail.com>  Wed, 17 Jan 2018 23:33:32 +0800
-
-dtkcore (2.0.5.3-1) unstable; urgency=medium
-
-  * New upstream release.
-    - Add chinese2pinyin library as dpinyin module.
-  * Support non-linux platforms again.
-  * Bump Standards-Version to 4.1.3. (no changes needed)
-  * d/copyright: Update license information.
-  * d/patches: Drop useless patches, merged upstream.
-  * Refresh symbols for libdtkcore2.
-  * Mark libdtkcore-dev as M-A: same.
-
- -- Boyuan Yang <073plan@gmail.com>  Mon, 01 Jan 2018 08:57:24 +0800
-
-dtkcore (2.0.5.2-3) unstable; urgency=medium
-
-  * Add Breaks+Replaces libdtkwidget-dev (<< 2.0.5.2-3) to
-    take over files about Qt headers.
-
- -- Boyuan Yang <073plan@gmail.com>  Wed, 13 Dec 2017 23:40:21 +0800
-
-dtkcore (2.0.5.2-2) unstable; urgency=medium
-
-  * Cherry-pick upstream patch to support non-linux arch.
-  * Add patch to workaround problems for Qt private headers.
-  * Bump to Standards-Version 4.1.2. (No changes needed)
-
- -- Boyuan Yang <073plan@gmail.com>  Wed, 13 Dec 2017 20:21:25 +0800
-
-dtkcore (2.0.5.2-1) unstable; urgency=medium
-
-  * New upstream release.
-
- -- Boyuan Yang <073plan@gmail.com>  Tue, 28 Nov 2017 20:12:15 +0800
-
-dtkcore (2.0.5-1) unstable; urgency=medium
-
-  * New upstream release.
-  * Install upstream changelog into doc directory.
-
- -- Boyuan Yang <073plan@gmail.com>  Tue, 07 Nov 2017 20:03:57 +0800
-
-dtkcore (2.0.2-1) unstable; urgency=medium
-
-  * New upstream release.
-  * Add build-dependency libgsettings-qt-dev.
-  * Refresh symbols.
-
- -- Boyuan Yang <073plan@gmail.com>  Mon, 30 Oct 2017 01:02:45 +0800
-
-dtkcore (2.0.1-1) unstable; urgency=medium
-
-  * New upstream release.
-  * Bump Standards-Version to 4.1.1. (No changes needed)
-  * Fix typo in Vcs URL.
-
- -- Boyuan Yang <073plan@gmail.com>  Wed, 18 Oct 2017 21:02:30 +0800
-
-dtkcore (2.0.0-2) unstable; urgency=high
-
-  * Set package as linux-any since the packages depend on linux-specific
-    inotify interface. (Closes: #874137)
-
- -- Boyuan Yang <073plan@gmail.com>  Mon, 04 Sep 2017 00:00:54 +0800
-
-dtkcore (2.0.0-1) unstable; urgency=medium
-
-  * New upstream release.
-    + Add tests.
-  * Bump Standards-Version to 4.1.0 (no changes needed).
-  * Refresh symbols.
-
- -- Boyuan Yang <073plan@gmail.com>  Sun, 03 Sep 2017 10:57:09 +0800
-
-dtkcore (0.3.3+git20170731-1) unstable; urgency=medium
-
-  * Initial Release. (Closes: #869894)
-
- -- Boyuan Yang <073plan@gmail.com>  Wed, 02 Aug 2017 21:46:12 +0800
+ -- Deepin Packages Builder <packages@deepin.com>  Mon, 10 Oct 2016 16:58:07 +0800
index b4de3947675361a7770d29b8982c407b0ec6b2a0..ec635144f60048986bc560c5576355344005e6e7 100644 (file)
@@ -1 +1 @@
-11
+9
index 03a9643a904c28a80274f775a672671ac52b2736..910fc9b067c41d5b32c2fbec0b3db1ba3485083a 100644 (file)
@@ -1,65 +1,32 @@
 Source: dtkcore
-Section: libs
+Section: libdevel
 Priority: optional
-Maintainer: Debian Deepin Packaging Team <pkg-deepin-devel@lists.alioth.debian.org>
-Uploaders:
- Boyuan Yang <073plan@gmail.com>,
- Yanhao Mo <yanhaocs@gmail.com>,
-Build-Depends:
- debhelper (>= 11~),
- libgsettings-qt-dev,
- pkg-config,
- pkg-kde-tools,
- qtbase5-dev,
- qtbase5-private-dev,
- qttools5-dev-tools,
-Standards-Version: 4.1.4
-Homepage: https://github.com/linuxdeepin/dtkcore
-Vcs-Git: https://salsa.debian.org/pkg-deepin-team/dtkcore.git
-Vcs-Browser: https://salsa.debian.org/pkg-deepin-team/dtkcore
+Maintainer: Deepin Packages Builder <packages@deepin.com>
+Build-Depends: debhelper (>= 9), pkg-config,
+ qttools5-dev-tools, qtbase5-private-dev, libgsettings-qt-dev
+Standards-Version: 3.9.8
 
-Package: libdtkcore-bin
+Package: libdtkcore2
 Architecture: any
-Section: utils
-Depends:
- libdtkcore2 (= ${binary:Version}),
- ${misc:Depends},
- ${shlibs:Depends},
-Description: Deepin Tool Kit Core library (utilities)
- DtkCore is a base devel library for Deepin Qt/C++ applications.
- .
- This package is part of DDE (Deepin Desktop Environment).
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Multi-Arch: same
+Description: Deepin Tool Kit Core library
+ DtkCore is base library of Deepin Qt/C++ applications.
  .
- This package contains various command-line utilities used by Deepin Tool Kit
- and other Deepin software. Some tools were originally provided by DtkSettings.
+ This package contains the shared libraries.
 
-Package: libdtkcore-dev
+Package: libdtkcore-bin
 Architecture: any
-Section: libdevel
-Multi-Arch: same
-Depends:
- libdtkcore2 (= ${binary:Version}),
- ${misc:Depends},
-Breaks:
- libdtkwidget-dev (<< 2.0.5.2-3),
-Replaces:
- libdtkwidget-dev (<< 2.0.5.2-3),
-Description: Deepin Tool Kit Core library (development files)
- DtkCore is a base library for Deepin Qt/C++ applications.
- .
- This package is part of DDE (Deepin Desktop Environment).
+Depends: ${shlibs:Depends}, ${misc:Depends}, libdtkcore2( =${binary:Version})
+Description: Deepin Tool Kit Core Utilities
+ DtkCore is base devel library of Deepin Qt/C++ applications.
  .
- This package contains the header files and static libraries of DtkCore.
+ This package contains the utilities of DtkCore
 
-Package: libdtkcore2
+Package: libdtkcore-dev
 Architecture: any
-Multi-Arch: same
-Depends:
- ${misc:Depends},
- ${shlibs:Depends},
-Description: Deepin Tool Kit Core library
- DtkCore is a base library of Deepin Qt/C++ applications.
+Depends: ${shlibs:Depends}, ${misc:Depends}, libdtkcore2( =${binary:Version})
+Description: Deepin Tool Kit Core Devel library
+ DtkCore is base devel library of Deepin Qt/C++ applications.
  .
- This package is part of DDE (Deepin Desktop Environment).
- .
- This package contains the shared libraries.
+ This package contains the header files and static libraries of DtkCore
index c8968ce45dcbc15428f599a4d391e84f5794bce2..893626e6803ccaa34352c1d6ee766ad2d0db2e52 100644 (file)
@@ -3,83 +3,7 @@ Upstream-Name: dtkcore
 Source: https://github.com/linuxdeepin/dtkcore
 
 Files: *
-Copyright: 2010-2017, Deepin Technology Co., Ltd.
-License: GPL-3+
-
-Files: debian/*
-Copyright: 2010-2017, Deepin Technology Co., Ltd.
-           2017, Boyuan Yang <073plan@gmail.com>
-License: GPL-3+
-
-Files: src/log/AbstractAppender.h
-       src/log/AbstractStringAppender.h
-       src/log/ConsoleAppender.*
-       src/log/FileAppender.*
-       src/log/Logger.*
-Copyright: 2010-2012 Boris Moiseev <cyberbobs@gmail.com>
-License: LGPL-2.1
-
-Files: src/log/AbstractStringAppender.cpp
-Copyright: 2010 Boris Moiseev <cyberbobs@gmail.com>
-           2010 Nikolay Matyunin <matyunin.n@gmail.com>
-           2012 Digia Plc and/or its subsidiary(-ies)
-License: LGPL-2.1
-
-Files: src/log/OutputDebugAppender.*
-Copyright: 2010 Karl-Heinz Reichel <khreichel@googlemail.com>
-License: LGPL-2.1
-
-Files: src/util/dpinyin.h
 Copyright: 2017 Deepin Technology Co., Ltd.
-           2016 kirigaya <kirigaya@mkacg.com>
-License: GPL-3+
-
-Files: src/util/resources/dpinyin.dict
-Copyright: 2016 kirigaya <kirigaya@mkacg.com>
-           2010-2013 Richard Huang <flyerhzm@gmail.com>
-License: Expat
-Comments:
- Dict from https://github.com/flyerhzm/chinese_pinyin, under
- MIT(Expat) license.
-
-License: Expat
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
- .
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
- .
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-License: LGPL-2.1
- This package is free software; you can redistribute it and/or modify
- it 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.
- .
- This package 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 <https://www.gnu.org/licenses/>
- .
- On Debian systems, the complete text of the GNU General Lesser
- Public License version 32.1 can be found in
- "/usr/share/common-licenses/LGPL-2.1".
-
 License: GPL-3+
  This package is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
diff --git a/debian/libdtkcore-dev.docs b/debian/libdtkcore-dev.docs
deleted file mode 100644 (file)
index 3d0db51..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-README.md
-doc/Specification.md
index 49f157352e9a8747b2de6067a8e7515d09f3d299..f1f7613e75cd4799e83adef2d96faf2138212972 100644 (file)
@@ -1,6 +1,5 @@
+usr/lib/*/lib*.so
 usr/include
-usr/include/*/qt5/QtXcb
+usr/lib/*/pkgconfig/*.pc
 usr/lib/*/cmake/*/*.cmake
-usr/lib/*/libdtkcore.so
-usr/lib/*/pkgconfig/dtkcore.pc
 usr/lib/*/qt5/*
index 5ea551deb9179792177e1bdd8421a35e86b82f3d..3ddde584198421f0d2a3fef9d36cc110f3b8b76d 100644 (file)
@@ -1,2 +1 @@
-usr/lib/*/libdtkcore.so.2
-usr/lib/*/libdtkcore.so.2.*
+usr/lib/*/lib*.so.*
index 4861add76151c599b46950127fb29939b878eee2..d821babfb67f9742af0ce07042b72219e11596f6 100644 (file)
-# SymbolsHelper-Confirmed: 2.0.8.1 amd64
+# SymbolsHelper-Confirmed: 2.0.7.1 amd64
 libdtkcore.so.2 libdtkcore2 #MINVER#
- (c++)"Dtk::Core::AbstractAppender::AbstractAppender()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::AbstractAppender::detailsLevel() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::AbstractAppender::setDetailsLevel(Dtk::Core::Logger::LogLevel)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::AbstractAppender::setDetailsLevel(QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::AbstractAppender::write(QDateTime const&, Dtk::Core::Logger::LogLevel, char const*, int, char const*, QString const&, QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::AbstractAppender::~AbstractAppender()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::AbstractStringAppender::AbstractStringAppender()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::AbstractStringAppender::format() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::AbstractStringAppender::formattedString(QDateTime const&, Dtk::Core::Logger::LogLevel, char const*, int, char const*, QString const&, QString const&) const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::AbstractStringAppender::qCleanupFuncinfo(char const*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::AbstractStringAppender::setFormat(QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::AbstractStringAppender::stripFunctionName(char const*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::AbstractStringAppender::~AbstractStringAppender()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::ConsoleAppender::ConsoleAppender()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::ConsoleAppender::append(QDateTime const&, Dtk::Core::Logger::LogLevel, char const*, int, char const*, QString const&, QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::ConsoleAppender::format() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::ConsoleAppender::ignoreEnvironmentPattern(bool)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::ConsoleAppender::~ConsoleAppender()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::CuteMessageLogger::write() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::CuteMessageLogger::write(QString const&) const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::CuteMessageLogger::write(char const*, ...) const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DBaseFileWatcher::DBaseFileWatcher(Dtk::Core::DBaseFileWatcherPrivate&, QUrl const&, QObject*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DBaseFileWatcher::fileAttributeChanged(QUrl const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DBaseFileWatcher::fileClosed(QUrl const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DBaseFileWatcher::fileDeleted(QUrl const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DBaseFileWatcher::fileModified(QUrl const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DBaseFileWatcher::fileMoved(QUrl const&, QUrl const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DBaseFileWatcher::fileUrl() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DBaseFileWatcher::ghostSignal(QUrl const&, void (Dtk::Core::DBaseFileWatcher::*)(QUrl const&), QUrl const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DBaseFileWatcher::ghostSignal(QUrl const&, void (Dtk::Core::DBaseFileWatcher::*)(QUrl const&, QUrl const&), QUrl const&, QUrl const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DBaseFileWatcher::metaObject() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DBaseFileWatcher::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DBaseFileWatcher::qt_metacast(char const*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DBaseFileWatcher::restartWatcher()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DBaseFileWatcher::setEnabledSubfileWatcher(QUrl const&, bool)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DBaseFileWatcher::startWatcher()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DBaseFileWatcher::staticMetaObject@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DBaseFileWatcher::stopWatcher()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DBaseFileWatcher::subfileCreated(QUrl const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DBaseFileWatcher::~DBaseFileWatcher()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DBaseFileWatcherPrivate::DBaseFileWatcherPrivate(Dtk::Core::DBaseFileWatcher*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DBaseFileWatcherPrivate::watcherList@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileSystemWatcher::DFileSystemWatcher(QObject*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileSystemWatcher::DFileSystemWatcher(QStringList const&, QObject*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileSystemWatcher::addPath(QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileSystemWatcher::addPaths(QStringList const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileSystemWatcher::directories() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileSystemWatcher::fileAttributeChanged(QString const&, QString const&, Dtk::Core::DFileSystemWatcher::QPrivateSignal)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileSystemWatcher::fileClosed(QString const&, QString const&, Dtk::Core::DFileSystemWatcher::QPrivateSignal)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileSystemWatcher::fileCreated(QString const&, QString const&, Dtk::Core::DFileSystemWatcher::QPrivateSignal)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileSystemWatcher::fileDeleted(QString const&, QString const&, Dtk::Core::DFileSystemWatcher::QPrivateSignal)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileSystemWatcher::fileModified(QString const&, QString const&, Dtk::Core::DFileSystemWatcher::QPrivateSignal)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileSystemWatcher::fileMoved(QString const&, QString const&, QString const&, QString const&, Dtk::Core::DFileSystemWatcher::QPrivateSignal)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileSystemWatcher::files() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileSystemWatcher::metaObject() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileSystemWatcher::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileSystemWatcher::qt_metacast(char const*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileSystemWatcher::removePath(QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileSystemWatcher::removePaths(QStringList const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileSystemWatcher::staticMetaObject@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileSystemWatcher::~DFileSystemWatcher()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileSystemWatcherPrivate::DFileSystemWatcherPrivate(int, Dtk::Core::DFileSystemWatcher*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileSystemWatcherPrivate::_q_readFromInotify()@Base" 0.3.3+git20170731
- (c++|arch=!hurd-i386)"Dtk::Core::DFileSystemWatcherPrivate::addPaths(QStringList const&, QStringList*, QStringList*)@Base" 0.3.3+git20170731
- (c++|arch=!hurd-i386)"Dtk::Core::DFileSystemWatcherPrivate::getPathFromID(int) const@Base" 0.3.3+git20170731
- (c++|arch=!hurd-i386)"Dtk::Core::DFileSystemWatcherPrivate::onDirectoryChanged(QString const&, bool)@Base" 0.3.3+git20170731
- (c++|arch=!hurd-i386)"Dtk::Core::DFileSystemWatcherPrivate::onFileChanged(QString const&, bool)@Base" 0.3.3+git20170731
- (c++|arch=!hurd-i386)"Dtk::Core::DFileSystemWatcherPrivate::removePaths(QStringList const&, QStringList*, QStringList*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileSystemWatcherPrivate::~DFileSystemWatcherPrivate()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcher::DFileWatcher(QString const&, QObject*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcher::metaObject() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcher::onFileAttributeChanged(QString const&, QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcher::onFileClosed(QString const&, QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcher::onFileCreated(QString const&, QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcher::onFileDeleted(QString const&, QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcher::onFileModified(QString const&, QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcher::onFileMoved(QString const&, QString const&, QString const&, QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcher::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcher::qt_metacast(char const*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcher::staticMetaObject@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcher::~DFileWatcher()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherManager::DFileWatcherManager(QObject*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherManager::add(QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherManager::fileAttributeChanged(QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherManager::fileClosed(QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherManager::fileDeleted(QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherManager::fileModified(QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherManager::fileMoved(QString const&, QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherManager::metaObject() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherManager::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherManager::qt_metacast(char const*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherManager::remove(QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherManager::staticMetaObject@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherManager::subfileCreated(QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherManager::~DFileWatcherManager()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherManagerPrivate::DFileWatcherManagerPrivate(Dtk::Core::DFileWatcherManager*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherManagerPrivate::~DFileWatcherManagerPrivate()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherPrivate::_q_handleFileAttributeChanged(QString const&, QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherPrivate::_q_handleFileClose(QString const&, QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherPrivate::_q_handleFileCreated(QString const&, QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherPrivate::_q_handleFileDeleted(QString const&, QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherPrivate::_q_handleFileModified(QString const&, QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherPrivate::_q_handleFileMoved(QString const&, QString const&, QString const&, QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherPrivate::filePathToWatcherCount@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherPrivate::formatPath(QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherPrivate::start()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherPrivate::stop()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DFileWatcherPrivate::~DFileWatcherPrivate()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DLogManager::DLogManager()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DLogManager::getlogFilePath()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DLogManager::initConsoleAppender()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DLogManager::initRollingFileAppender()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DLogManager::instance()::instance@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DLogManager::joinPath(QString const&, QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DLogManager::registerConsoleAppender()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DLogManager::registerFileAppender()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DLogManager::setLogFormat(QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DLogManager::~DLogManager()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DObject::DObject(Dtk::Core::DObject*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DObject::DObject(Dtk::Core::DObjectPrivate&, Dtk::Core::DObject*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DObject::~DObject()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DObjectPrivate::DObjectPrivate(Dtk::Core::DObject*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DObjectPrivate::~DObjectPrivate()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettings::DSettings(QObject*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettings::fromJson(QByteArray const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettings::fromJsonFile(QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettings::getOption(QString const&) const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettings::group(QString const&) const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettings::groupKeys() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettings::groups() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettings::keys() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettings::loadValue()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettings::meta() const@Base" 2.0.2
- (c++)"Dtk::Core::DSettings::metaObject() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettings::option(QString const&) const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettings::options() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettings::parseJson(QByteArray const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettings::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettings::qt_metacast(char const*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettings::reset()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettings::setBackend(Dtk::Core::DSettingsBackend*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettings::setOption(QString const&, QVariant const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettings::staticMetaObject@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettings::sync()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettings::value(QString const&) const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettings::valueChanged(QString const&, QVariant const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettings::~DSettings()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsBackend::metaObject() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsBackend::optionChanged(QString const&, QVariant const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsBackend::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsBackend::qt_metacast(char const*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsBackend::setOption(QString const&, QVariant const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsBackend::staticMetaObject@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsBackend::sync()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsGroup::DSettingsGroup(QObject*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsGroup::childGroups() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsGroup::childOptions() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsGroup::fromJson(QString const&, QJsonObject const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsGroup::key() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsGroup::metaObject() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsGroup::name() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsGroup::options() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsGroup::parentGroup() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsGroup::parseJson(QString const&, QJsonObject const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsGroup::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsGroup::qt_metacast(char const*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsGroup::setParentGroup(QPointer<Dtk::Core::DSettingsGroup>)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsGroup::staticMetaObject@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsGroup::~DSettingsGroup()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsGroupPrivate::parseJson(QString const&, QJsonObject const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsOption::DSettingsOption(QObject*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsOption::canReset() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsOption::data(QString const&) const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsOption::dataChanged(QString const&, QVariant)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsOption::defaultValue() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsOption::fromJson(QString const&, QJsonObject const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsOption::isHidden() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsOption::key() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsOption::metaObject() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsOption::name() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsOption::parentGroup() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsOption::parseJson(QString const&, QJsonObject const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsOption::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsOption::qt_metacast(char const*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsOption::setData(QString const&, QVariant)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsOption::setParentGroup(QPointer<Dtk::Core::DSettingsGroup>)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsOption::setValue(QVariant)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsOption::staticMetaObject@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsOption::value() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsOption::valueChanged(QVariant)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsOption::viewType() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsOption::~DSettingsOption()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DSettingsOptionPrivate::parseJson(QString const&, QJsonObject const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DStandardPaths::findExecutable(QString const&, QStringList const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DStandardPaths::locate(QStandardPaths::StandardLocation, QString const&, QFlags<QStandardPaths::LocateOption>)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DStandardPaths::locateAll(QStandardPaths::StandardLocation, QString const&, QFlags<QStandardPaths::LocateOption>)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DStandardPaths::setMode(Dtk::Core::DStandardPaths::Mode)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DStandardPaths::standardLocations(QStandardPaths::StandardLocation)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::DStandardPaths::writableLocation(QStandardPaths::StandardLocation)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::FileAppender::FileAppender(QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::FileAppender::append(QDateTime const&, Dtk::Core::Logger::LogLevel, char const*, int, char const*, QString const&, QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::FileAppender::closeFile()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::FileAppender::fileName() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::FileAppender::openFile()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::FileAppender::setFileName(QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::FileAppender::size() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::FileAppender::~FileAppender()@Base" 0.3.3+git20170731
- (c++|arch=!hurd-i386)"Dtk::Core::GSettingsBackend::GSettingsBackend(Dtk::Core::DSettings*, QObject*)@Base" 2.0.2
- (c++|arch=!hurd-i386)"Dtk::Core::GSettingsBackend::doSetOption(QString const&, QVariant const&)@Base" 2.0.2
- (c++|arch=!hurd-i386)"Dtk::Core::GSettingsBackend::doSync()@Base" 2.0.2
- (c++|arch=!hurd-i386)"Dtk::Core::GSettingsBackend::getOption(QString const&) const@Base" 2.0.2
- (c++|arch=!hurd-i386)"Dtk::Core::GSettingsBackend::keys() const@Base" 2.0.2
- (c++|arch=!hurd-i386)"Dtk::Core::GSettingsBackend::metaObject() const@Base" 2.0.2
- (c++|arch=!hurd-i386)"Dtk::Core::GSettingsBackend::qt_metacall(QMetaObject::Call, int, void**)@Base" 2.0.2
- (c++|arch=!hurd-i386)"Dtk::Core::GSettingsBackend::qt_metacast(char const*)@Base" 2.0.2
- (c++|arch=!hurd-i386)"Dtk::Core::GSettingsBackend::staticMetaObject@Base" 2.0.2
- (c++|arch=!hurd-i386)"Dtk::Core::GSettingsBackend::~GSettingsBackend()@Base" 2.0.2
- (c++)"Dtk::Core::LogDevice::readData(char*, long long)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::LogDevice::writeData(char const*, long long)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::LogDevice::~LogDevice()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::Logger::Logger()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::Logger::Logger(QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::Logger::defaultCategory() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::Logger::globalInstance()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::Logger::levelFromString(QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::Logger::levelToString(Dtk::Core::Logger::LogLevel)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::Logger::logToGlobalInstance(QString const&, bool)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::Logger::registerAppender(Dtk::Core::AbstractAppender*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::Logger::registerCategoryAppender(QString const&, Dtk::Core::AbstractAppender*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::Logger::setDefaultCategory(QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::Logger::write(Dtk::Core::Logger::LogLevel, char const*, int, char const*, char const*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::Logger::write(Dtk::Core::Logger::LogLevel, char const*, int, char const*, char const*, QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::Logger::write(QDateTime const&, Dtk::Core::Logger::LogLevel, char const*, int, char const*, char const*, QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::Logger::write(QDateTime const&, Dtk::Core::Logger::LogLevel, char const*, int, char const*, char const*, QString const&, bool)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::Logger::writeAssert(char const*, int, char const*, char const*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::Logger::~Logger()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::LoggerPrivate::globalInstance@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::LoggerPrivate::globalInstanceLock@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::LoggerTimingHelper::start(QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::LoggerTimingHelper::start(char const*, ...)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::LoggerTimingHelper::~LoggerTimingHelper()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::QSettingBackend::QSettingBackend(QString const&, QObject*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::QSettingBackend::doSetOption(QString const&, QVariant const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::QSettingBackend::doSync()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::QSettingBackend::getOption(QString const&) const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::QSettingBackend::keys() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::QSettingBackend::metaObject() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::QSettingBackend::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::QSettingBackend::qt_metacast(char const*)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::QSettingBackend::staticMetaObject@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::QSettingBackend::~QSettingBackend()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::RollingFileAppender::RollingFileAppender(QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::RollingFileAppender::append(QDateTime const&, Dtk::Core::Logger::LogLevel, char const*, int, char const*, QString const&, QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::RollingFileAppender::computeFrequency()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::RollingFileAppender::computeRollOverTime()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::RollingFileAppender::datePattern() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::RollingFileAppender::datePatternString() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::RollingFileAppender::logFilesLimit() const@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::RollingFileAppender::removeOldFiles()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::RollingFileAppender::rollOver()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::RollingFileAppender::setDatePattern(Dtk::Core::RollingFileAppender::DatePattern)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::RollingFileAppender::setDatePattern(QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::RollingFileAppender::setDatePatternString(QString const&)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::RollingFileAppender::setLogFilesLimit(int)@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::RollingFileAppender::~RollingFileAppender()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::loggerInstance()@Base" 0.3.3+git20170731
- (c++)"Dtk::Core::parentPathList(QString const&)@Base" 0.3.3+git20170731
- (c++|arch=!hurd-i386)"Dtk::Core::qtifyName(QString const&)@Base" 2.0.2
- (c++|arch=!hurd-i386)"Dtk::Core::unqtifyName(QString const&)@Base" 2.0.2
- (c++)"QByteArray::~QByteArray()@Base" 0.3.3+git20170731
- (c++|arch=!hurd-i386|optional=templinst)"QHash<QString, int>::deleteNode2(QHashData::Node*)@Base" 2.0.0
- (c++|arch=!hurd-i386|optional=templinst)"QHash<QString, int>::detach_helper()@Base" 2.0.0
- (c++|arch=!hurd-i386|optional=templinst)"QHash<QString, int>::duplicateNode(QHashData::Node*, void*)@Base" 2.0.0
- (c++|arch=!hurd-i386|optional=templinst)"QHash<QString, int>::findNode(QString const&, unsigned int) const@Base" 2.0.0
- (c++|arch=!hurd-i386|optional=templinst)"QHash<QString, int>::findNode(QString const&, unsigned int*) const@Base" 2.0.0
- (c++|arch=!hurd-i386|optional=templinst)"QHash<int, QHashDummyValue>::deleteNode2(QHashData::Node*)@Base" 2.0.0
- (c++|arch=!hurd-i386|optional=templinst)"QHash<int, QHashDummyValue>::duplicateNode(QHashData::Node*, void*)@Base" 2.0.0
- (c++|arch=!hurd-i386|optional=templinst)"QHash<int, QHashDummyValue>::findNode(int const&, unsigned int*) const@Base" 2.0.0
- (c++|arch=!hurd-i386|optional=templinst)"QHash<int, QString>::deleteNode2(QHashData::Node*)@Base" 2.0.0
- (c++|arch=!hurd-i386|optional=templinst)"QHash<int, QString>::detach_helper()@Base" 2.0.0
- (c++|arch=!hurd-i386|optional=templinst)"QHash<int, QString>::duplicateNode(QHashData::Node*, void*)@Base" 2.0.0
- (c++|arch=!hurd-i386|optional=templinst)"QHash<int, QString>::findNode(int const&, unsigned int*) const@Base" 2.0.0
- (c++|arch=!hurd-i386|optional=templinst)"QHash<int, QString>::~QHash()@Base" 2.0.0
- (c++|optional=templinst)"QList<Dtk::Core::AbstractAppender*>::QList(QList<Dtk::Core::AbstractAppender*> const&)@Base" 2.0.0
- (c++|optional=templinst)"QList<Dtk::Core::AbstractAppender*>::append(Dtk::Core::AbstractAppender* const&)@Base" 2.0.0
- (c++|optional=templinst)"QList<Dtk::Core::AbstractAppender*>::detach_helper_grow(int, int)@Base" 2.0.0
- (c++|optional=templinst)"QList<Dtk::Core::AbstractAppender*>::~QList()@Base" 2.0.0
- (c++|optional=templinst)"QList<Dtk::Core::DBaseFileWatcher*>::append(Dtk::Core::DBaseFileWatcher* const&)@Base" 2.0.0
- (c++|optional=templinst)"QList<Dtk::Core::DBaseFileWatcher*>::detach_helper(int)@Base" 2.0.0
- (c++|optional=templinst)"QList<Dtk::Core::DBaseFileWatcher*>::detach_helper_grow(int, int)@Base" 2.0.0
- (c++|optional=templinst)"QList<Dtk::Core::DBaseFileWatcher*>::removeOne(Dtk::Core::DBaseFileWatcher* const&)@Base" 2.0.0
- (c++|optional=templinst)"QList<Dtk::Core::DBaseFileWatcher*>::~QList()@Base" 2.0.0
- (c++|optional=templinst)"QList<QFileInfo>::detach_helper(int)@Base" 2.0.0
- (c++|optional=templinst)"QList<QFileInfo>::~QList()@Base" 2.0.0
- (c++|optional=templinst)"QList<QPointer<Dtk::Core::DSettingsGroup> >::append(QPointer<Dtk::Core::DSettingsGroup> const&)@Base" 2.0.0
- (c++|optional=templinst)"QList<QPointer<Dtk::Core::DSettingsGroup> >::detach_helper(int)@Base" 2.0.0
- (c++|optional=templinst)"QList<QPointer<Dtk::Core::DSettingsGroup> >::detach_helper_grow(int, int)@Base" 2.0.0
- (c++|optional=templinst)"QList<QPointer<Dtk::Core::DSettingsOption> >::append(QPointer<Dtk::Core::DSettingsOption> const&)@Base" 2.0.0
- (c++|optional=templinst)"QList<QPointer<Dtk::Core::DSettingsOption> >::detach_helper(int)@Base" 2.0.0
- (c++|optional=templinst)"QList<QPointer<Dtk::Core::DSettingsOption> >::detach_helper_grow(int, int)@Base" 2.0.0
- (c++|optional=templinst)"QList<QPointer<Dtk::Core::DSettingsOption> >::~QList()@Base" 2.0.0
- (c++|optional=templinst)"QList<QString>::QList(QList<QString> const&)@Base" 2.0.0
- (c++|optional=templinst)"QList<QString>::append(QString const&)@Base" 2.0.0
- (c++|optional=templinst)"QList<QString>::detach_helper(int)@Base" 2.0.0
- (c++|optional=templinst)"QList<QString>::detach_helper_grow(int, int)@Base" 2.0.0
- (c++|optional=templinst)"QList<QString>::removeAll(QString const&)@Base" 2.0.0
- (c++|optional=templinst)"QList<QString>::~QList()@Base" 2.0.0
- (c++|arch=!hurd-i386|optional=templinst)"QList<inotify_event*>::append(inotify_event* const&)@Base" 2.0.0
- (c++|arch=!hurd-i386|optional=templinst)"QList<inotify_event*>::detach_helper_grow(int, int)@Base" 2.0.0
- (c++|arch=!hurd-i386|optional=templinst)"QList<inotify_event*>::~QList()@Base" 2.0.0
- (c++|optional=templinst)"QMap<QDateTime, QString>::~QMap()@Base" 2.0.0
- (c++|optional=templinst)"QMap<QString, Dtk::Core::DFileWatcher*>::detach_helper()@Base" 2.0.0
- (c++|optional=templinst)"QMap<QString, QPointer<Dtk::Core::DSettingsOption> >::detach_helper()@Base" 2.0.0
- (c++|optional=templinst)"QMap<QString, QPointer<Dtk::Core::DSettingsOption> >::values() const@Base" 2.0.0
- (c++|optional=templinst)"QMap<QString, int>::detach_helper()@Base" 2.0.0
- (c++|optional=templinst)"QMap<QString, int>::~QMap()@Base" 2.0.0
- (c++|arch=!hurd-i386|optional=templinst)"QMap<int, QString>::~QMap()@Base" 2.0.0
- (c++|optional=templinst)"QMapData<QString, Dtk::Core::AbstractAppender*>::destroy()@Base" 2.0.0
- (c++|optional=templinst)"QMapData<QString, Dtk::Core::DFileWatcher*>::destroy()@Base" 2.0.0
- (c++|optional=templinst)"QMapData<QString, Dtk::Core::DFileWatcher*>::findNode(QString const&) const@Base" 2.0.0
- (c++|optional=templinst)"QMapData<QString, QVariant>::findNode(QString const&) const@Base" 2.0.0
- (c++|optional=templinst)"QMapData<QString, bool>::destroy()@Base" 2.0.0
- (c++|optional=templinst)"QMapData<QString, int>::destroy()@Base" 2.0.0
- (c++|optional=templinst)"QMapData<QString, int>::findNode(QString const&) const@Base" 2.0.0
- (c++|arch=!hurd-i386|optional=templinst)"QMapData<int, QString>::destroy()@Base" 2.0.0
- (c++|optional=templinst)"QMapNode<QDateTime, QString>::copy(QMapData<QDateTime, QString>*) const@Base" 2.0.0
- (c++|optional=templinst)"QMapNode<QDateTime, QString>::destroySubTree()@Base" 2.0.0
- (c++|optional=templinst)"QMapNode<QString, Dtk::Core::AbstractAppender*>::copy(QMapData<QString, Dtk::Core::AbstractAppender*>*) const@Base" 2.0.0
- (c++|optional=templinst)"QMapNode<QString, Dtk::Core::AbstractAppender*>::destroySubTree()@Base" 2.0.0
- (c++|optional=templinst)"QMapNode<QString, Dtk::Core::DFileWatcher*>::copy(QMapData<QString, Dtk::Core::DFileWatcher*>*) const@Base" 2.0.0
- (c++|optional=templinst)"QMapNode<QString, Dtk::Core::DFileWatcher*>::destroySubTree()@Base" 2.0.0
- (c++|optional=templinst)"QMapNode<QString, QPointer<Dtk::Core::DSettingsGroup> >::copy(QMapData<QString, QPointer<Dtk::Core::DSettingsGroup> >*) const@Base" 2.0.0
- (c++|optional=templinst)"QMapNode<QString, QPointer<Dtk::Core::DSettingsGroup> >::destroySubTree()@Base" 2.0.0
- (c++|optional=templinst)"QMapNode<QString, QPointer<Dtk::Core::DSettingsOption> >::copy(QMapData<QString, QPointer<Dtk::Core::DSettingsOption> >*) const@Base" 2.0.0
- (c++|optional=templinst)"QMapNode<QString, QPointer<Dtk::Core::DSettingsOption> >::destroySubTree()@Base" 2.0.0
- (c++|arch=!hurd-i386|optional=templinst)"QMapNode<QString, QString>::copy(QMapData<QString, QString>*) const@Base" 2.0.2
- (c++|arch=!hurd-i386|optional=templinst)"QMapNode<QString, QString>::destroySubTree()@Base" 2.0.2
- (c++|optional=templinst)"QMapNode<QString, QVariant>::copy(QMapData<QString, QVariant>*) const@Base" 2.0.0
- (c++|optional=templinst)"QMapNode<QString, QVariant>::destroySubTree()@Base" 2.0.0
- (c++|optional=templinst)"QMapNode<QString, bool>::copy(QMapData<QString, bool>*) const@Base" 2.0.0
- (c++|optional=templinst)"QMapNode<QString, bool>::destroySubTree()@Base" 2.0.0
- (c++|optional=templinst)"QMapNode<QString, int>::copy(QMapData<QString, int>*) const@Base" 2.0.0
- (c++|optional=templinst)"QMapNode<QString, int>::destroySubTree()@Base" 2.0.0
- (c++|arch=!hurd-i386|optional=templinst)"QMapNode<int, QString>::copy(QMapData<int, QString>*) const@Base" 2.0.0
- (c++|arch=!hurd-i386|optional=templinst)"QMapNode<int, QString>::destroySubTree()@Base" 2.0.0
- (c++|arch=!hurd-i386|optional=templinst)"QScopedPointer<Dtk::Core::GSettingsBackendPrivate, QScopedPointerDeleter<Dtk::Core::GSettingsBackendPrivate> >::~QScopedPointer()@Base" 2.0.2
- (c++)"QString::~QString()@Base" 0.3.3+git20170731
- (c++|arch=!hurd-i386|optional=templinst)"QVarLengthArray<char, 4096>::QVarLengthArray(int)@Base" 2.0.0
- (c++|optional=templinst)"QWeakPointer<QObject>::~QWeakPointer()@Base" 2.0.0
- (c++|optional=templinst)"QtPrivate::ConnectionTypes<QtPrivate::List<QString const&, QVariant const&>, true>::types()::t@Base" 2.0.0
- (c++|optional=templinst)"QtPrivate::QSlotObject<void (Dtk::Core::DFileWatcher::*)(QString const&, QString const&), QtPrivate::List<QString const&, QString const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)@Base" 2.0.0
- (c++|optional=templinst)"QtPrivate::QSlotObject<void (Dtk::Core::DFileWatcher::*)(QString const&, QString const&, QString const&, QString const&), QtPrivate::List<QString const&, QString const&, QString const&, QString const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)@Base" 2.0.0
- (c++|optional=templinst)"QtPrivate::QSlotObject<void (Dtk::Core::DSettingsBackend::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)@Base" 2.0.0
- (c++|optional=templinst)"QtPrivate::QSlotObject<void (Dtk::Core::DSettingsBackend::*)(QString const&, QVariant const&), QtPrivate::List<QString const&, QVariant const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)@Base" 2.0.0
- _ZN11DDBusCaller4callEv@Base 2.0.8
- _ZN11DDBusCallerC1ERK7QStringSt10shared_ptrI9DDBusDataE@Base 2.0.8
- _ZN11DDBusCallerC2ERK7QStringSt10shared_ptrI9DDBusDataE@Base 2.0.8
- _ZN11DDBusSender4pathERK7QString@Base 2.0.8
- _ZN11DDBusSender4typeEN15QDBusConnection7BusTypeE@Base 2.0.8
- _ZN11DDBusSender6methodERK7QString@Base 2.0.8
- _ZN11DDBusSender7serviceERK7QString@Base 2.0.8
- _ZN11DDBusSender8propertyERK7QString@Base 2.0.8
- _ZN11DDBusSender9interfaceERK7QString@Base 2.0.8
- _ZN11DDBusSenderC1Ev@Base 2.0.8
- _ZN11DDBusSenderC2Ev@Base 2.0.8
- _ZN13DDBusProperty3getEv@Base 2.0.8
- _ZN13DDBusPropertyC1ERK7QStringSt10shared_ptrI9DDBusDataE@Base 2.0.8
- _ZN13DDBusPropertyC2ERK7QStringSt10shared_ptrI9DDBusDataE@Base 2.0.8
- _ZN3Dtk4Core11DLogManager14setlogFilePathERK7QString@Base 2.0.8
- _ZN3Dtk4Core18DDiskSizeFormatter4rateEi@Base 2.0.7
- _ZN3Dtk4Core18DDiskSizeFormatterC1Ev@Base 2.0.7
- _ZN3Dtk4Core18DDiskSizeFormatterC2Ev@Base 2.0.7
- _ZN3Dtk4Core18DTimeUnitFormatterC1Ev@Base 2.0.7
- _ZN3Dtk4Core18DTimeUnitFormatterC2Ev@Base 2.0.7
- _ZN3Dtk4Core22DAbstractUnitFormatterC1Ev@Base 2.0.7
- _ZN3Dtk4Core22DAbstractUnitFormatterC2Ev@Base 2.0.7
- _ZN3Dtk4Core22DAbstractUnitFormatterD1Ev@Base 2.0.7
- _ZN3Dtk4Core22DAbstractUnitFormatterD2Ev@Base 2.0.7
- _ZN3Dtk4Core8DPathBufC1ERK7QString@Base 2.0.8.1
- _ZN3Dtk4Core8DPathBufC2ERK7QString@Base 2.0.8.1
- (optional=templinst)_ZN5QListI5QPairIdiEE18detach_helper_growEii@Base 2.0.7
- (optional=templinst)_ZN5QListI5QPairIdiEE6appendERKS1_@Base 2.0.7
- (optional=templinst)_ZN5QListI5QPairIdiEED1Ev@Base 2.0.7
- (optional=templinst)_ZN5QListI5QPairIdiEED2Ev@Base 2.0.7
- (optional=templinst)_ZN5QListI8QVariantE13detach_helperEi@Base 2.0.8
- (optional=templinst)_ZN5QListI8QVariantE18detach_helper_growEii@Base 2.0.8
- (optional=templinst)_ZN5QListI8QVariantE6appendERKS0_@Base 2.0.8
- (optional=templinst)_ZN5QListI8QVariantED1Ev@Base 2.0.8
- (optional=templinst)_ZN5QListI8QVariantED2Ev@Base 2.0.8
- _ZN9DDBusDataC1Ev@Base 2.0.8
- _ZN9DDBusDataC2Ev@Base 2.0.8
- _ZNK3Dtk4Core14DSettingsGroup10childGroupERK7QString@Base 2.0.7
- _ZNK3Dtk4Core14DSettingsGroup6optionERK7QString@Base 2.0.7
- _ZNK3Dtk4Core14DSettingsGroup8isHiddenEv@Base 2.0.7
- _ZNK3Dtk4Core18DDiskSizeFormatter15unitConvertRateEi@Base 2.0.7
- _ZNK3Dtk4Core18DDiskSizeFormatter7unitMaxEv@Base 2.0.7
- _ZNK3Dtk4Core18DDiskSizeFormatter7unitMinEv@Base 2.0.7
- _ZNK3Dtk4Core18DDiskSizeFormatter7unitStrEi@Base 2.0.7
- _ZNK3Dtk4Core18DTimeUnitFormatter15unitConvertRateEi@Base 2.0.7
- _ZNK3Dtk4Core18DTimeUnitFormatter7unitMaxEv@Base 2.0.7
- _ZNK3Dtk4Core18DTimeUnitFormatter7unitMinEv@Base 2.0.7
- _ZNK3Dtk4Core18DTimeUnitFormatter7unitStrEi@Base 2.0.7
- _ZNK3Dtk4Core22DAbstractUnitFormatter12unitValueMaxEi@Base 2.0.7
- _ZNK3Dtk4Core22DAbstractUnitFormatter12unitValueMinEi@Base 2.0.7
- _ZNK3Dtk4Core22DAbstractUnitFormatter16formatAsUnitListEdi@Base 2.0.7
- _ZNK3Dtk4Core22DAbstractUnitFormatter6formatEdi@Base 2.0.7
- _ZNK3Dtk4Core22DAbstractUnitFormatter8formatAsEdii@Base 2.0.7
- (optional=templinst|arch=armel)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE10_M_releaseEv@Base 2.0.8
- (optional=templinst|arch=amd64)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv@Base 2.0.8
- (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceI9DDBusDataSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 2.0.8
- (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceI9DDBusDataSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 2.0.8
- (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceI9DDBusDataSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 2.0.8
- (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceI9DDBusDataSaIS0_ELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 2.0.8
- (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceI9DDBusDataSaIS0_ELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 2.0.8
- (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceI9DDBusDataSaIS0_ELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 2.0.8
- (optional=templinst|arch=amd64)_ZNSt23_Sp_counted_ptr_inplaceI9DDBusDataSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 2.0.8
- (optional=templinst|arch=amd64)_ZNSt23_Sp_counted_ptr_inplaceI9DDBusDataSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 2.0.8
- (optional=templinst|arch=amd64)_ZNSt23_Sp_counted_ptr_inplaceI9DDBusDataSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 2.0.8
- (optional=templinst|arch=amd64)_ZNSt23_Sp_counted_ptr_inplaceI9DDBusDataSaIS0_ELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 2.0.8
- (optional=templinst|arch=amd64)_ZNSt23_Sp_counted_ptr_inplaceI9DDBusDataSaIS0_ELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 2.0.8
- (optional=templinst|arch=amd64)_ZNSt23_Sp_counted_ptr_inplaceI9DDBusDataSaIS0_ELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 2.0.8
- _ZTIN3Dtk4Core18DDiskSizeFormatterE@Base 2.0.7
- _ZTIN3Dtk4Core18DTimeUnitFormatterE@Base 2.0.7
- _ZTIN3Dtk4Core22DAbstractUnitFormatterE@Base 2.0.7
- (arch=armel)_ZTIN9__gnu_cxx7__mutexE@Base 2.0.8
- (arch=armel)_ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 2.0.8
- (arch=amd64)_ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 2.0.8
- (arch=armel)_ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 2.0.8
- (arch=amd64)_ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 2.0.8
- _ZTISt19_Sp_make_shared_tag@Base 2.0.8
- (arch=armel)_ZTISt23_Sp_counted_ptr_inplaceI9DDBusDataSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE@Base 2.0.8
- (arch=amd64)_ZTISt23_Sp_counted_ptr_inplaceI9DDBusDataSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE@Base 2.0.8
- _ZTSN3Dtk4Core18DDiskSizeFormatterE@Base 2.0.7
- _ZTSN3Dtk4Core18DTimeUnitFormatterE@Base 2.0.7
- _ZTSN3Dtk4Core22DAbstractUnitFormatterE@Base 2.0.7
- (arch=armel)_ZTSN9__gnu_cxx7__mutexE@Base 2.0.8
- (arch=armel)_ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 2.0.8
- (arch=amd64)_ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 2.0.8
- (arch=armel)_ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 2.0.8
- (arch=amd64)_ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 2.0.8
- _ZTSSt19_Sp_make_shared_tag@Base 2.0.8
- (arch=armel)_ZTSSt23_Sp_counted_ptr_inplaceI9DDBusDataSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE@Base 2.0.8
- (arch=amd64)_ZTSSt23_Sp_counted_ptr_inplaceI9DDBusDataSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE@Base 2.0.8
- _ZTVN3Dtk4Core18DDiskSizeFormatterE@Base 2.0.7
- _ZTVN3Dtk4Core18DTimeUnitFormatterE@Base 2.0.7
- _ZTVN3Dtk4Core22DAbstractUnitFormatterE@Base 2.0.7
- (arch=armel)_ZTVSt23_Sp_counted_ptr_inplaceI9DDBusDataSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE@Base 2.0.8
- (arch=amd64)_ZTVSt23_Sp_counted_ptr_inplaceI9DDBusDataSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE@Base 2.0.8
- (c++)"guard variable for Dtk::Core::DLogManager::instance()::instance@Base" 0.3.3+git20170731
- (c++)"non-virtual thunk to Dtk::Core::DBaseFileWatcher::~DBaseFileWatcher()@Base" 0.3.3+git20170731
- (c++)"non-virtual thunk to Dtk::Core::DFileSystemWatcher::~DFileSystemWatcher()@Base" 0.3.3+git20170731
- (c++)"non-virtual thunk to Dtk::Core::DFileWatcher::~DFileWatcher()@Base" 0.3.3+git20170731
- (c++)"non-virtual thunk to Dtk::Core::DFileWatcherManager::~DFileWatcherManager()@Base" 0.3.3+git20170731
- (c++)"qCleanupResources_util()@Base" 2.0.5.3
- (c++)"qInitResources_util()@Base" 2.0.5.3
- (c++|optional=templinst)"std::ctype<char>::do_widen(char) const@Base" 2.0.0
- (c++)"typeinfo for Dtk::Core::AbstractAppender@Base" 0.3.3+git20170731
- (c++)"typeinfo for Dtk::Core::AbstractStringAppender@Base" 0.3.3+git20170731
- (c++)"typeinfo for Dtk::Core::ConsoleAppender@Base" 0.3.3+git20170731
- (c++)"typeinfo for Dtk::Core::DBaseFileWatcher@Base" 0.3.3+git20170731
- (c++)"typeinfo for Dtk::Core::DBaseFileWatcherPrivate@Base" 0.3.3+git20170731
- (c++)"typeinfo for Dtk::Core::DFileSystemWatcher@Base" 0.3.3+git20170731
- (c++)"typeinfo for Dtk::Core::DFileSystemWatcherPrivate@Base" 0.3.3+git20170731
- (c++)"typeinfo for Dtk::Core::DFileWatcher@Base" 0.3.3+git20170731
- (c++)"typeinfo for Dtk::Core::DFileWatcherManager@Base" 0.3.3+git20170731
- (c++)"typeinfo for Dtk::Core::DFileWatcherManagerPrivate@Base" 0.3.3+git20170731
- (c++)"typeinfo for Dtk::Core::DFileWatcherPrivate@Base" 0.3.3+git20170731
- (c++)"typeinfo for Dtk::Core::DObject@Base" 0.3.3+git20170731
- (c++)"typeinfo for Dtk::Core::DObjectPrivate@Base" 0.3.3+git20170731
- (c++)"typeinfo for Dtk::Core::DSettings@Base" 0.3.3+git20170731
- (c++)"typeinfo for Dtk::Core::DSettingsBackend@Base" 0.3.3+git20170731
- (c++)"typeinfo for Dtk::Core::DSettingsGroup@Base" 0.3.3+git20170731
- (c++)"typeinfo for Dtk::Core::DSettingsOption@Base" 0.3.3+git20170731
- (c++)"typeinfo for Dtk::Core::FileAppender@Base" 0.3.3+git20170731
- (c++|arch=!hurd-i386)"typeinfo for Dtk::Core::GSettingsBackend@Base" 2.0.2
- (c++)"typeinfo for Dtk::Core::LogDevice@Base" 0.3.3+git20170731
- (c++)"typeinfo for Dtk::Core::QSettingBackend@Base" 0.3.3+git20170731
- (c++)"typeinfo for Dtk::Core::RollingFileAppender@Base" 0.3.3+git20170731
- (c++)"typeinfo name for Dtk::Core::AbstractAppender@Base" 0.3.3+git20170731
- (c++)"typeinfo name for Dtk::Core::AbstractStringAppender@Base" 0.3.3+git20170731
- (c++)"typeinfo name for Dtk::Core::ConsoleAppender@Base" 0.3.3+git20170731
- (c++)"typeinfo name for Dtk::Core::DBaseFileWatcher@Base" 0.3.3+git20170731
- (c++)"typeinfo name for Dtk::Core::DBaseFileWatcherPrivate@Base" 0.3.3+git20170731
- (c++)"typeinfo name for Dtk::Core::DFileSystemWatcher@Base" 0.3.3+git20170731
- (c++)"typeinfo name for Dtk::Core::DFileSystemWatcherPrivate@Base" 0.3.3+git20170731
- (c++)"typeinfo name for Dtk::Core::DFileWatcher@Base" 0.3.3+git20170731
- (c++)"typeinfo name for Dtk::Core::DFileWatcherManager@Base" 0.3.3+git20170731
- (c++)"typeinfo name for Dtk::Core::DFileWatcherManagerPrivate@Base" 0.3.3+git20170731
- (c++)"typeinfo name for Dtk::Core::DFileWatcherPrivate@Base" 0.3.3+git20170731
- (c++)"typeinfo name for Dtk::Core::DObject@Base" 0.3.3+git20170731
- (c++)"typeinfo name for Dtk::Core::DObjectPrivate@Base" 0.3.3+git20170731
- (c++)"typeinfo name for Dtk::Core::DSettings@Base" 0.3.3+git20170731
- (c++)"typeinfo name for Dtk::Core::DSettingsBackend@Base" 0.3.3+git20170731
- (c++)"typeinfo name for Dtk::Core::DSettingsGroup@Base" 0.3.3+git20170731
- (c++)"typeinfo name for Dtk::Core::DSettingsOption@Base" 0.3.3+git20170731
- (c++)"typeinfo name for Dtk::Core::FileAppender@Base" 0.3.3+git20170731
- (c++|arch=!hurd-i386)"typeinfo name for Dtk::Core::GSettingsBackend@Base" 2.0.2
- (c++)"typeinfo name for Dtk::Core::LogDevice@Base" 0.3.3+git20170731
- (c++)"typeinfo name for Dtk::Core::QSettingBackend@Base" 0.3.3+git20170731
- (c++)"typeinfo name for Dtk::Core::RollingFileAppender@Base" 0.3.3+git20170731
- (c++)"vtable for Dtk::Core::AbstractAppender@Base" 0.3.3+git20170731
- (c++)"vtable for Dtk::Core::AbstractStringAppender@Base" 0.3.3+git20170731
- (c++)"vtable for Dtk::Core::ConsoleAppender@Base" 0.3.3+git20170731
- (c++)"vtable for Dtk::Core::DBaseFileWatcher@Base" 0.3.3+git20170731
- (c++)"vtable for Dtk::Core::DBaseFileWatcherPrivate@Base" 0.3.3+git20170731
- (c++)"vtable for Dtk::Core::DFileSystemWatcher@Base" 0.3.3+git20170731
- (c++)"vtable for Dtk::Core::DFileSystemWatcherPrivate@Base" 0.3.3+git20170731
- (c++)"vtable for Dtk::Core::DFileWatcher@Base" 0.3.3+git20170731
- (c++)"vtable for Dtk::Core::DFileWatcherManager@Base" 0.3.3+git20170731
- (c++)"vtable for Dtk::Core::DFileWatcherManagerPrivate@Base" 0.3.3+git20170731
- (c++)"vtable for Dtk::Core::DFileWatcherPrivate@Base" 0.3.3+git20170731
- (c++)"vtable for Dtk::Core::DObject@Base" 0.3.3+git20170731
- (c++)"vtable for Dtk::Core::DObjectPrivate@Base" 0.3.3+git20170731
- (c++)"vtable for Dtk::Core::DSettings@Base" 0.3.3+git20170731
- (c++)"vtable for Dtk::Core::DSettingsBackend@Base" 0.3.3+git20170731
- (c++)"vtable for Dtk::Core::DSettingsGroup@Base" 0.3.3+git20170731
- (c++)"vtable for Dtk::Core::DSettingsOption@Base" 0.3.3+git20170731
- (c++)"vtable for Dtk::Core::FileAppender@Base" 0.3.3+git20170731
- (c++|arch=!hurd-i386 !kfreebsd-i386 !kfreebsd-amd64)"vtable for Dtk::Core::GSettingsBackend@Base" 2.0.2
- (c++)"vtable for Dtk::Core::LogDevice@Base" 0.3.3+git20170731
- (c++)"vtable for Dtk::Core::QSettingBackend@Base" 0.3.3+git20170731
- (c++)"vtable for Dtk::Core::RollingFileAppender@Base" 0.3.3+git20170731
+ _Z19qInitResources_utilv@Base 2.0.7.1
+ _Z22qCleanupResources_utilv@Base 2.0.7.1
+ _ZGVZN3Dtk4Core11DLogManager8instanceEvE8instance@Base 2.0.7.1
+ _ZN10QByteArrayD1Ev@Base 2.0.7.1
+ _ZN10QByteArrayD2Ev@Base 2.0.7.1
+ (optional=templinst)_ZN12QWeakPointerI7QObjectED1Ev@Base 2.0.7.1
+ (optional=templinst)_ZN12QWeakPointerI7QObjectED2Ev@Base 2.0.7.1
+ (optional=templinst)_ZN14QScopedPointerIN3Dtk4Core23GSettingsBackendPrivateE21QScopedPointerDeleterIS2_EED1Ev@Base 2.0.7.1
+ (optional=templinst)_ZN14QScopedPointerIN3Dtk4Core23GSettingsBackendPrivateE21QScopedPointerDeleterIS2_EED2Ev@Base 2.0.7.1
+ (optional=templinst)_ZN15QVarLengthArrayIcLi4096EEC1Ei@Base 2.0.7.1
+ (optional=templinst)_ZN15QVarLengthArrayIcLi4096EEC2Ei@Base 2.0.7.1
+ _ZN3Dtk4Core11DLogManager12setLogFormatERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core11DLogManager14getlogFilePathEv@Base 2.0.7.1
+ _ZN3Dtk4Core11DLogManager19initConsoleAppenderEv@Base 2.0.7.1
+ _ZN3Dtk4Core11DLogManager20registerFileAppenderEv@Base 2.0.7.1
+ _ZN3Dtk4Core11DLogManager23initRollingFileAppenderEv@Base 2.0.7.1
+ _ZN3Dtk4Core11DLogManager23registerConsoleAppenderEv@Base 2.0.7.1
+ _ZN3Dtk4Core11DLogManager8joinPathERK7QStringS4_@Base 2.0.7.1
+ _ZN3Dtk4Core11DLogManagerC1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core11DLogManagerC2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core11DLogManagerD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core11DLogManagerD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core11unqtifyNameERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core12DFileWatcher11onFileMovedERK7QStringS4_S4_S4_@Base 2.0.7.1
+ _ZN3Dtk4Core12DFileWatcher11qt_metacallEN11QMetaObject4CallEiPPv@Base 2.0.7.1
+ _ZN3Dtk4Core12DFileWatcher11qt_metacastEPKc@Base 2.0.7.1
+ _ZN3Dtk4Core12DFileWatcher12onFileClosedERK7QStringS4_@Base 2.0.7.1
+ _ZN3Dtk4Core12DFileWatcher13onFileCreatedERK7QStringS4_@Base 2.0.7.1
+ _ZN3Dtk4Core12DFileWatcher13onFileDeletedERK7QStringS4_@Base 2.0.7.1
+ _ZN3Dtk4Core12DFileWatcher14onFileModifiedERK7QStringS4_@Base 2.0.7.1
+ _ZN3Dtk4Core12DFileWatcher16staticMetaObjectE@Base 2.0.7.1
+ _ZN3Dtk4Core12DFileWatcher22onFileAttributeChangedERK7QStringS4_@Base 2.0.7.1
+ _ZN3Dtk4Core12DFileWatcherC1ERK7QStringP7QObject@Base 2.0.7.1
+ _ZN3Dtk4Core12DFileWatcherC2ERK7QStringP7QObject@Base 2.0.7.1
+ _ZN3Dtk4Core12DFileWatcherD0Ev@Base 2.0.7.1
+ _ZN3Dtk4Core12DFileWatcherD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core12DFileWatcherD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core12FileAppender11setFileNameERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core12FileAppender6appendERK9QDateTimeNS0_6Logger8LogLevelEPKciS8_RK7QStringSB_@Base 2.0.7.1
+ _ZN3Dtk4Core12FileAppender8openFileEv@Base 2.0.7.1
+ _ZN3Dtk4Core12FileAppender9closeFileEv@Base 2.0.7.1
+ _ZN3Dtk4Core12FileAppenderC1ERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core12FileAppenderC2ERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core12FileAppenderD0Ev@Base 2.0.7.1
+ _ZN3Dtk4Core12FileAppenderD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core12FileAppenderD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core13LoggerPrivate14globalInstanceE@Base 2.0.7.1
+ _ZN3Dtk4Core13LoggerPrivate18globalInstanceLockE@Base 2.0.7.1
+ _ZN3Dtk4Core14DObjectPrivateC1EPNS0_7DObjectE@Base 2.0.7.1
+ _ZN3Dtk4Core14DObjectPrivateC2EPNS0_7DObjectE@Base 2.0.7.1
+ _ZN3Dtk4Core14DObjectPrivateD0Ev@Base 2.0.7.1
+ _ZN3Dtk4Core14DObjectPrivateD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core14DObjectPrivateD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core14DSettingsGroup11qt_metacallEN11QMetaObject4CallEiPPv@Base 2.0.7.1
+ _ZN3Dtk4Core14DSettingsGroup11qt_metacastEPKc@Base 2.0.7.1
+ _ZN3Dtk4Core14DSettingsGroup14setParentGroupE8QPointerIS1_E@Base 2.0.7.1
+ _ZN3Dtk4Core14DSettingsGroup16staticMetaObjectE@Base 2.0.7.1
+ _ZN3Dtk4Core14DSettingsGroup8fromJsonERK7QStringRK11QJsonObject@Base 2.0.7.1
+ _ZN3Dtk4Core14DSettingsGroup9parseJsonERK7QStringRK11QJsonObject@Base 2.0.7.1
+ _ZN3Dtk4Core14DSettingsGroupC1EP7QObject@Base 2.0.7.1
+ _ZN3Dtk4Core14DSettingsGroupC2EP7QObject@Base 2.0.7.1
+ _ZN3Dtk4Core14DSettingsGroupD0Ev@Base 2.0.7.1
+ _ZN3Dtk4Core14DSettingsGroupD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core14DSettingsGroupD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core14DStandardPaths14findExecutableERK7QStringRK11QStringList@Base 2.0.7.1
+ _ZN3Dtk4Core14DStandardPaths16writableLocationEN14QStandardPaths16StandardLocationE@Base 2.0.7.1
+ _ZN3Dtk4Core14DStandardPaths17standardLocationsEN14QStandardPaths16StandardLocationE@Base 2.0.7.1
+ _ZN3Dtk4Core14DStandardPaths6locateEN14QStandardPaths16StandardLocationERK7QString6QFlagsINS2_12LocateOptionEE@Base 2.0.7.1
+ _ZN3Dtk4Core14DStandardPaths7setModeENS1_4ModeE@Base 2.0.7.1
+ _ZN3Dtk4Core14DStandardPaths9locateAllEN14QStandardPaths16StandardLocationERK7QString6QFlagsINS2_12LocateOptionEE@Base 2.0.7.1
+ _ZN3Dtk4Core14loggerInstanceEv@Base 2.0.7.1
+ _ZN3Dtk4Core14parentPathListERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core15ConsoleAppender24ignoreEnvironmentPatternEb@Base 2.0.7.1
+ _ZN3Dtk4Core15ConsoleAppender6appendERK9QDateTimeNS0_6Logger8LogLevelEPKciS8_RK7QStringSB_@Base 2.0.7.1
+ _ZN3Dtk4Core15ConsoleAppenderC1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core15ConsoleAppenderC2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core15ConsoleAppenderD0Ev@Base 2.0.7.1
+ _ZN3Dtk4Core15ConsoleAppenderD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core15ConsoleAppenderD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core15DSettingsOption11dataChangedERK7QString8QVariant@Base 2.0.7.1
+ _ZN3Dtk4Core15DSettingsOption11qt_metacallEN11QMetaObject4CallEiPPv@Base 2.0.7.1
+ _ZN3Dtk4Core15DSettingsOption11qt_metacastEPKc@Base 2.0.7.1
+ _ZN3Dtk4Core15DSettingsOption12valueChangedE8QVariant@Base 2.0.7.1
+ _ZN3Dtk4Core15DSettingsOption14setParentGroupE8QPointerINS0_14DSettingsGroupEE@Base 2.0.7.1
+ _ZN3Dtk4Core15DSettingsOption16staticMetaObjectE@Base 2.0.7.1
+ _ZN3Dtk4Core15DSettingsOption7setDataERK7QString8QVariant@Base 2.0.7.1
+ _ZN3Dtk4Core15DSettingsOption8fromJsonERK7QStringRK11QJsonObject@Base 2.0.7.1
+ _ZN3Dtk4Core15DSettingsOption8setValueE8QVariant@Base 2.0.7.1
+ _ZN3Dtk4Core15DSettingsOption9parseJsonERK7QStringRK11QJsonObject@Base 2.0.7.1
+ _ZN3Dtk4Core15DSettingsOptionC1EP7QObject@Base 2.0.7.1
+ _ZN3Dtk4Core15DSettingsOptionC2EP7QObject@Base 2.0.7.1
+ _ZN3Dtk4Core15DSettingsOptionD0Ev@Base 2.0.7.1
+ _ZN3Dtk4Core15DSettingsOptionD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core15DSettingsOptionD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core15QSettingBackend11doSetOptionERK7QStringRK8QVariant@Base 2.0.7.1
+ _ZN3Dtk4Core15QSettingBackend11qt_metacallEN11QMetaObject4CallEiPPv@Base 2.0.7.1
+ _ZN3Dtk4Core15QSettingBackend11qt_metacastEPKc@Base 2.0.7.1
+ _ZN3Dtk4Core15QSettingBackend16staticMetaObjectE@Base 2.0.7.1
+ _ZN3Dtk4Core15QSettingBackend6doSyncEv@Base 2.0.7.1
+ _ZN3Dtk4Core15QSettingBackendC1ERK7QStringP7QObject@Base 2.0.7.1
+ _ZN3Dtk4Core15QSettingBackendC2ERK7QStringP7QObject@Base 2.0.7.1
+ _ZN3Dtk4Core15QSettingBackendD0Ev@Base 2.0.7.1
+ _ZN3Dtk4Core15QSettingBackendD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core15QSettingBackendD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core16AbstractAppender15setDetailsLevelENS0_6Logger8LogLevelE@Base 2.0.7.1
+ _ZN3Dtk4Core16AbstractAppender15setDetailsLevelERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core16AbstractAppender5writeERK9QDateTimeNS0_6Logger8LogLevelEPKciS8_RK7QStringSB_@Base 2.0.7.1
+ _ZN3Dtk4Core16AbstractAppenderC1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core16AbstractAppenderC2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core16AbstractAppenderD0Ev@Base 2.0.7.1
+ _ZN3Dtk4Core16AbstractAppenderD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core16AbstractAppenderD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core16DBaseFileWatcher10fileClosedERK4QUrl@Base 2.0.7.1
+ _ZN3Dtk4Core16DBaseFileWatcher11fileDeletedERK4QUrl@Base 2.0.7.1
+ _ZN3Dtk4Core16DBaseFileWatcher11ghostSignalERK4QUrlMS1_FvS4_ES4_@Base 2.0.7.1
+ _ZN3Dtk4Core16DBaseFileWatcher11ghostSignalERK4QUrlMS1_FvS4_S4_ES4_S4_@Base 2.0.7.1
+ _ZN3Dtk4Core16DBaseFileWatcher11qt_metacallEN11QMetaObject4CallEiPPv@Base 2.0.7.1
+ _ZN3Dtk4Core16DBaseFileWatcher11qt_metacastEPKc@Base 2.0.7.1
+ _ZN3Dtk4Core16DBaseFileWatcher11stopWatcherEv@Base 2.0.7.1
+ _ZN3Dtk4Core16DBaseFileWatcher12fileModifiedERK4QUrl@Base 2.0.7.1
+ _ZN3Dtk4Core16DBaseFileWatcher12startWatcherEv@Base 2.0.7.1
+ _ZN3Dtk4Core16DBaseFileWatcher14restartWatcherEv@Base 2.0.7.1
+ _ZN3Dtk4Core16DBaseFileWatcher14subfileCreatedERK4QUrl@Base 2.0.7.1
+ _ZN3Dtk4Core16DBaseFileWatcher16staticMetaObjectE@Base 2.0.7.1
+ _ZN3Dtk4Core16DBaseFileWatcher20fileAttributeChangedERK4QUrl@Base 2.0.7.1
+ _ZN3Dtk4Core16DBaseFileWatcher24setEnabledSubfileWatcherERK4QUrlb@Base 2.0.7.1
+ _ZN3Dtk4Core16DBaseFileWatcher9fileMovedERK4QUrlS4_@Base 2.0.7.1
+ _ZN3Dtk4Core16DBaseFileWatcherC1ERNS0_23DBaseFileWatcherPrivateERK4QUrlP7QObject@Base 2.0.7.1
+ _ZN3Dtk4Core16DBaseFileWatcherC2ERNS0_23DBaseFileWatcherPrivateERK4QUrlP7QObject@Base 2.0.7.1
+ _ZN3Dtk4Core16DBaseFileWatcherD0Ev@Base 2.0.7.1
+ _ZN3Dtk4Core16DBaseFileWatcherD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core16DBaseFileWatcherD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core16DSettingsBackend11qt_metacallEN11QMetaObject4CallEiPPv@Base 2.0.7.1
+ _ZN3Dtk4Core16DSettingsBackend11qt_metacastEPKc@Base 2.0.7.1
+ _ZN3Dtk4Core16DSettingsBackend13optionChangedERK7QStringRK8QVariant@Base 2.0.7.1
+ _ZN3Dtk4Core16DSettingsBackend16staticMetaObjectE@Base 2.0.7.1
+ _ZN3Dtk4Core16DSettingsBackend4syncEv@Base 2.0.7.1
+ _ZN3Dtk4Core16DSettingsBackend9setOptionERK7QStringRK8QVariant@Base 2.0.7.1
+ _ZN3Dtk4Core16GSettingsBackend11doSetOptionERK7QStringRK8QVariant@Base 2.0.7.1
+ _ZN3Dtk4Core16GSettingsBackend11qt_metacallEN11QMetaObject4CallEiPPv@Base 2.0.7.1
+ _ZN3Dtk4Core16GSettingsBackend11qt_metacastEPKc@Base 2.0.7.1
+ _ZN3Dtk4Core16GSettingsBackend16staticMetaObjectE@Base 2.0.7.1
+ _ZN3Dtk4Core16GSettingsBackend6doSyncEv@Base 2.0.7.1
+ _ZN3Dtk4Core16GSettingsBackendC1EPNS0_9DSettingsEP7QObject@Base 2.0.7.1
+ _ZN3Dtk4Core16GSettingsBackendC2EPNS0_9DSettingsEP7QObject@Base 2.0.7.1
+ _ZN3Dtk4Core16GSettingsBackendD0Ev@Base 2.0.7.1
+ _ZN3Dtk4Core16GSettingsBackendD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core16GSettingsBackendD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core18DDiskSizeFormatter4rateEi@Base 2.0.7.1
+ _ZN3Dtk4Core18DDiskSizeFormatterC1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core18DDiskSizeFormatterC2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core18DFileSystemWatcher10fileClosedERK7QStringS4_NS1_14QPrivateSignalE@Base 2.0.7.1
+ _ZN3Dtk4Core18DFileSystemWatcher10removePathERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core18DFileSystemWatcher11fileCreatedERK7QStringS4_NS1_14QPrivateSignalE@Base 2.0.7.1
+ _ZN3Dtk4Core18DFileSystemWatcher11fileDeletedERK7QStringS4_NS1_14QPrivateSignalE@Base 2.0.7.1
+ _ZN3Dtk4Core18DFileSystemWatcher11qt_metacallEN11QMetaObject4CallEiPPv@Base 2.0.7.1
+ _ZN3Dtk4Core18DFileSystemWatcher11qt_metacastEPKc@Base 2.0.7.1
+ _ZN3Dtk4Core18DFileSystemWatcher11removePathsERK11QStringList@Base 2.0.7.1
+ _ZN3Dtk4Core18DFileSystemWatcher12fileModifiedERK7QStringS4_NS1_14QPrivateSignalE@Base 2.0.7.1
+ _ZN3Dtk4Core18DFileSystemWatcher16staticMetaObjectE@Base 2.0.7.1
+ _ZN3Dtk4Core18DFileSystemWatcher20fileAttributeChangedERK7QStringS4_NS1_14QPrivateSignalE@Base 2.0.7.1
+ _ZN3Dtk4Core18DFileSystemWatcher7addPathERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core18DFileSystemWatcher8addPathsERK11QStringList@Base 2.0.7.1
+ _ZN3Dtk4Core18DFileSystemWatcher9fileMovedERK7QStringS4_S4_S4_NS1_14QPrivateSignalE@Base 2.0.7.1
+ _ZN3Dtk4Core18DFileSystemWatcherC1EP7QObject@Base 2.0.7.1
+ _ZN3Dtk4Core18DFileSystemWatcherC1ERK11QStringListP7QObject@Base 2.0.7.1
+ _ZN3Dtk4Core18DFileSystemWatcherC2EP7QObject@Base 2.0.7.1
+ _ZN3Dtk4Core18DFileSystemWatcherC2ERK11QStringListP7QObject@Base 2.0.7.1
+ _ZN3Dtk4Core18DFileSystemWatcherD0Ev@Base 2.0.7.1
+ _ZN3Dtk4Core18DFileSystemWatcherD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core18DFileSystemWatcherD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core18DTimeUnitFormatterC1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core18DTimeUnitFormatterC2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core18LoggerTimingHelper5startEPKcz@Base 2.0.7.1
+ _ZN3Dtk4Core18LoggerTimingHelper5startERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core18LoggerTimingHelperD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core18LoggerTimingHelperD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherManager10fileClosedERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherManager11fileDeletedERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherManager11qt_metacallEN11QMetaObject4CallEiPPv@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherManager11qt_metacastEPKc@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherManager12fileModifiedERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherManager14subfileCreatedERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherManager16staticMetaObjectE@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherManager20fileAttributeChangedERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherManager3addERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherManager6removeERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherManager9fileMovedERK7QStringS4_@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherManagerC1EP7QObject@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherManagerC2EP7QObject@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherManagerD0Ev@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherManagerD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherManagerD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherPrivate10formatPathERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherPrivate18_q_handleFileCloseERK7QStringS4_@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherPrivate18_q_handleFileMovedERK7QStringS4_S4_S4_@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherPrivate20_q_handleFileCreatedERK7QStringS4_@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherPrivate20_q_handleFileDeletedERK7QStringS4_@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherPrivate21_q_handleFileModifiedERK7QStringS4_@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherPrivate22filePathToWatcherCountE@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherPrivate29_q_handleFileAttributeChangedERK7QStringS4_@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherPrivate4stopEv@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherPrivate5startEv@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherPrivateD0Ev@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherPrivateD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core19DFileWatcherPrivateD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core19RollingFileAppender14removeOldFilesEv@Base 2.0.7.1
+ _ZN3Dtk4Core19RollingFileAppender14setDatePatternENS1_11DatePatternE@Base 2.0.7.1
+ _ZN3Dtk4Core19RollingFileAppender14setDatePatternERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core19RollingFileAppender16computeFrequencyEv@Base 2.0.7.1
+ _ZN3Dtk4Core19RollingFileAppender16setLogFilesLimitEi@Base 2.0.7.1
+ _ZN3Dtk4Core19RollingFileAppender19computeRollOverTimeEv@Base 2.0.7.1
+ _ZN3Dtk4Core19RollingFileAppender20setDatePatternStringERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core19RollingFileAppender6appendERK9QDateTimeNS0_6Logger8LogLevelEPKciS8_RK7QStringSB_@Base 2.0.7.1
+ _ZN3Dtk4Core19RollingFileAppender8rollOverEv@Base 2.0.7.1
+ _ZN3Dtk4Core19RollingFileAppenderC1ERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core19RollingFileAppenderC2ERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core19RollingFileAppenderD0Ev@Base 2.0.7.1
+ _ZN3Dtk4Core19RollingFileAppenderD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core19RollingFileAppenderD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core21DSettingsGroupPrivate9parseJsonERK7QStringRK11QJsonObject@Base 2.0.7.1
+ _ZN3Dtk4Core22AbstractStringAppender16qCleanupFuncinfoEPKc@Base 2.0.7.1
+ _ZN3Dtk4Core22AbstractStringAppender17stripFunctionNameEPKc@Base 2.0.7.1
+ _ZN3Dtk4Core22AbstractStringAppender9setFormatERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core22AbstractStringAppenderC1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core22AbstractStringAppenderC2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core22AbstractStringAppenderD0Ev@Base 2.0.7.1
+ _ZN3Dtk4Core22AbstractStringAppenderD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core22AbstractStringAppenderD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core22DAbstractUnitFormatterC1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core22DAbstractUnitFormatterC2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core22DAbstractUnitFormatterD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core22DAbstractUnitFormatterD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core22DSettingsOptionPrivate9parseJsonERK7QStringRK11QJsonObject@Base 2.0.7.1
+ _ZN3Dtk4Core23DBaseFileWatcherPrivate11watcherListE@Base 2.0.7.1
+ _ZN3Dtk4Core23DBaseFileWatcherPrivateC1EPNS0_16DBaseFileWatcherE@Base 2.0.7.1
+ _ZN3Dtk4Core23DBaseFileWatcherPrivateC2EPNS0_16DBaseFileWatcherE@Base 2.0.7.1
+ _ZN3Dtk4Core25DFileSystemWatcherPrivate11removePathsERK11QStringListPS2_S5_@Base 2.0.7.1
+ _ZN3Dtk4Core25DFileSystemWatcherPrivate13onFileChangedERK7QStringb@Base 2.0.7.1
+ _ZN3Dtk4Core25DFileSystemWatcherPrivate18_q_readFromInotifyEv@Base 2.0.7.1
+ _ZN3Dtk4Core25DFileSystemWatcherPrivate18onDirectoryChangedERK7QStringb@Base 2.0.7.1
+ _ZN3Dtk4Core25DFileSystemWatcherPrivate8addPathsERK11QStringListPS2_S5_@Base 2.0.7.1
+ _ZN3Dtk4Core25DFileSystemWatcherPrivateC1EiPNS0_18DFileSystemWatcherE@Base 2.0.7.1
+ _ZN3Dtk4Core25DFileSystemWatcherPrivateC2EiPNS0_18DFileSystemWatcherE@Base 2.0.7.1
+ _ZN3Dtk4Core25DFileSystemWatcherPrivateD0Ev@Base 2.0.7.1
+ _ZN3Dtk4Core25DFileSystemWatcherPrivateD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core25DFileSystemWatcherPrivateD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core26DFileWatcherManagerPrivateC1EPNS0_19DFileWatcherManagerE@Base 2.0.7.1
+ _ZN3Dtk4Core26DFileWatcherManagerPrivateC2EPNS0_19DFileWatcherManagerE@Base 2.0.7.1
+ _ZN3Dtk4Core26DFileWatcherManagerPrivateD0Ev@Base 2.0.7.1
+ _ZN3Dtk4Core26DFileWatcherManagerPrivateD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core26DFileWatcherManagerPrivateD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core6Logger11writeAssertEPKciS3_S3_@Base 2.0.7.1
+ _ZN3Dtk4Core6Logger13levelToStringENS1_8LogLevelE@Base 2.0.7.1
+ _ZN3Dtk4Core6Logger14globalInstanceEv@Base 2.0.7.1
+ _ZN3Dtk4Core6Logger15levelFromStringERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core6Logger16registerAppenderEPNS0_16AbstractAppenderE@Base 2.0.7.1
+ _ZN3Dtk4Core6Logger18setDefaultCategoryERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core6Logger19logToGlobalInstanceERK7QStringb@Base 2.0.7.1
+ _ZN3Dtk4Core6Logger24registerCategoryAppenderERK7QStringPNS0_16AbstractAppenderE@Base 2.0.7.1
+ _ZN3Dtk4Core6Logger5writeENS1_8LogLevelEPKciS4_S4_@Base 2.0.7.1
+ _ZN3Dtk4Core6Logger5writeENS1_8LogLevelEPKciS4_S4_RK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core6Logger5writeERK9QDateTimeNS1_8LogLevelEPKciS7_S7_RK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core6Logger5writeERK9QDateTimeNS1_8LogLevelEPKciS7_S7_RK7QStringb@Base 2.0.7.1
+ _ZN3Dtk4Core6LoggerC1ERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core6LoggerC1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core6LoggerC2ERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core6LoggerC2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core6LoggerD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core6LoggerD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core7DObjectC1EPS1_@Base 2.0.7.1
+ _ZN3Dtk4Core7DObjectC1ERNS0_14DObjectPrivateEPS1_@Base 2.0.7.1
+ _ZN3Dtk4Core7DObjectC2EPS1_@Base 2.0.7.1
+ _ZN3Dtk4Core7DObjectC2ERNS0_14DObjectPrivateEPS1_@Base 2.0.7.1
+ _ZN3Dtk4Core7DObjectD0Ev@Base 2.0.7.1
+ _ZN3Dtk4Core7DObjectD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core7DObjectD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core9DSettings10setBackendEPNS0_16DSettingsBackendE@Base 2.0.7.1
+ _ZN3Dtk4Core9DSettings11qt_metacallEN11QMetaObject4CallEiPPv@Base 2.0.7.1
+ _ZN3Dtk4Core9DSettings11qt_metacastEPKc@Base 2.0.7.1
+ _ZN3Dtk4Core9DSettings12fromJsonFileERK7QString@Base 2.0.7.1
+ _ZN3Dtk4Core9DSettings12valueChangedERK7QStringRK8QVariant@Base 2.0.7.1
+ _ZN3Dtk4Core9DSettings16staticMetaObjectE@Base 2.0.7.1
+ _ZN3Dtk4Core9DSettings4syncEv@Base 2.0.7.1
+ _ZN3Dtk4Core9DSettings5resetEv@Base 2.0.7.1
+ _ZN3Dtk4Core9DSettings8fromJsonERK10QByteArray@Base 2.0.7.1
+ _ZN3Dtk4Core9DSettings9loadValueEv@Base 2.0.7.1
+ _ZN3Dtk4Core9DSettings9parseJsonERK10QByteArray@Base 2.0.7.1
+ _ZN3Dtk4Core9DSettings9setOptionERK7QStringRK8QVariant@Base 2.0.7.1
+ _ZN3Dtk4Core9DSettingsC1EP7QObject@Base 2.0.7.1
+ _ZN3Dtk4Core9DSettingsC2EP7QObject@Base 2.0.7.1
+ _ZN3Dtk4Core9DSettingsD0Ev@Base 2.0.7.1
+ _ZN3Dtk4Core9DSettingsD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core9DSettingsD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core9LogDevice8readDataEPcx@Base 2.0.7.1
+ _ZN3Dtk4Core9LogDevice9writeDataEPKcx@Base 2.0.7.1
+ _ZN3Dtk4Core9LogDeviceD0Ev@Base 2.0.7.1
+ _ZN3Dtk4Core9LogDeviceD1Ev@Base 2.0.7.1
+ _ZN3Dtk4Core9LogDeviceD2Ev@Base 2.0.7.1
+ _ZN3Dtk4Core9qtifyNameERK7QString@Base 2.0.7.1
+ (optional=templinst)_ZN4QMapI7QString8QPointerIN3Dtk4Core15DSettingsOptionEEE13detach_helperEv@Base 2.0.7.1
+ (optional=templinst)_ZN4QMapI7QStringPN3Dtk4Core12DFileWatcherEE13detach_helperEv@Base 2.0.7.1
+ (optional=templinst)_ZN4QMapI7QStringiE13detach_helperEv@Base 2.0.7.1
+ (optional=templinst)_ZN4QMapI7QStringiED1Ev@Base 2.0.7.1
+ (optional=templinst)_ZN4QMapI7QStringiED2Ev@Base 2.0.7.1
+ (optional=templinst)_ZN4QMapI9QDateTime7QStringED1Ev@Base 2.0.7.1
+ (optional=templinst)_ZN4QMapI9QDateTime7QStringED2Ev@Base 2.0.7.1
+ (optional=templinst)_ZN4QMapIi7QStringED1Ev@Base 2.0.7.1
+ (optional=templinst)_ZN4QMapIi7QStringED2Ev@Base 2.0.7.1
+ (optional=templinst)_ZN5QHashI7QStringiE11deleteNode2EPN9QHashData4NodeE@Base 2.0.7.1
+ (optional=templinst)_ZN5QHashI7QStringiE13detach_helperEv@Base 2.0.7.1
+ (optional=templinst)_ZN5QHashI7QStringiE13duplicateNodeEPN9QHashData4NodeEPv@Base 2.0.7.1
+ (optional=templinst)_ZN5QHashIi15QHashDummyValueE11deleteNode2EPN9QHashData4NodeE@Base 2.0.7.1
+ (optional=templinst)_ZN5QHashIi15QHashDummyValueE13duplicateNodeEPN9QHashData4NodeEPv@Base 2.0.7.1
+ (optional=templinst)_ZN5QHashIi7QStringE11deleteNode2EPN9QHashData4NodeE@Base 2.0.7.1
+ (optional=templinst)_ZN5QHashIi7QStringE13detach_helperEv@Base 2.0.7.1
+ (optional=templinst)_ZN5QHashIi7QStringE13duplicateNodeEPN9QHashData4NodeEPv@Base 2.0.7.1
+ (optional=templinst)_ZN5QHashIi7QStringED1Ev@Base 2.0.7.1
+ (optional=templinst)_ZN5QHashIi7QStringED2Ev@Base 2.0.7.1
+ (optional=templinst)_ZN5QListI5QPairIdiEE18detach_helper_growEii@Base 2.0.7.1
+ (optional=templinst)_ZN5QListI5QPairIdiEE6appendERKS1_@Base 2.0.7.1
+ (optional=templinst)_ZN5QListI5QPairIdiEED1Ev@Base 2.0.7.1
+ (optional=templinst)_ZN5QListI5QPairIdiEED2Ev@Base 2.0.7.1
+ (optional=templinst)_ZN5QListI7QStringE13detach_helperEi@Base 2.0.7.1
+ (optional=templinst)_ZN5QListI7QStringE18detach_helper_growEii@Base 2.0.7.1
+ (optional=templinst)_ZN5QListI7QStringE6appendERKS0_@Base 2.0.7.1
+ (optional=templinst)_ZN5QListI7QStringE9removeAllERKS0_@Base 2.0.7.1
+ (optional=templinst)_ZN5QListI7QStringEC1ERKS1_@Base 2.0.7.1
+ (optional=templinst)_ZN5QListI7QStringEC2ERKS1_@Base 2.0.7.1
+ (optional=templinst)_ZN5QListI7QStringED1Ev@Base 2.0.7.1
+ (optional=templinst)_ZN5QListI7QStringED2Ev@Base 2.0.7.1
+ (optional=templinst)_ZN5QListI8QPointerIN3Dtk4Core14DSettingsGroupEEE13detach_helperEi@Base 2.0.7.1
+ (optional=templinst)_ZN5QListI8QPointerIN3Dtk4Core14DSettingsGroupEEE18detach_helper_growEii@Base 2.0.7.1
+ (optional=templinst)_ZN5QListI8QPointerIN3Dtk4Core14DSettingsGroupEEE6appendERKS4_@Base 2.0.7.1
+ (optional=templinst)_ZN5QListI8QPointerIN3Dtk4Core15DSettingsOptionEEE13detach_helperEi@Base 2.0.7.1
+ (optional=templinst)_ZN5QListI8QPointerIN3Dtk4Core15DSettingsOptionEEE18detach_helper_growEii@Base 2.0.7.1
+ (optional=templinst)_ZN5QListI8QPointerIN3Dtk4Core15DSettingsOptionEEE6appendERKS4_@Base 2.0.7.1
+ (optional=templinst)_ZN5QListI8QPointerIN3Dtk4Core15DSettingsOptionEEED1Ev@Base 2.0.7.1
+ (optional=templinst)_ZN5QListI8QPointerIN3Dtk4Core15DSettingsOptionEEED2Ev@Base 2.0.7.1
+ (optional=templinst)_ZN5QListI9QFileInfoE13detach_helperEi@Base 2.0.7.1
+ (optional=templinst)_ZN5QListI9QFileInfoED1Ev@Base 2.0.7.1
+ (optional=templinst)_ZN5QListI9QFileInfoED2Ev@Base 2.0.7.1
+ (optional=templinst)_ZN5QListIP13inotify_eventE18detach_helper_growEii@Base 2.0.7.1
+ (optional=templinst)_ZN5QListIP13inotify_eventE6appendERKS1_@Base 2.0.7.1
+ (optional=templinst)_ZN5QListIP13inotify_eventED1Ev@Base 2.0.7.1
+ (optional=templinst)_ZN5QListIP13inotify_eventED2Ev@Base 2.0.7.1
+ (optional=templinst)_ZN5QListIPN3Dtk4Core16AbstractAppenderEE18detach_helper_growEii@Base 2.0.7.1
+ (optional=templinst)_ZN5QListIPN3Dtk4Core16AbstractAppenderEE6appendERKS3_@Base 2.0.7.1
+ (optional=templinst)_ZN5QListIPN3Dtk4Core16AbstractAppenderEEC1ERKS4_@Base 2.0.7.1
+ (optional=templinst)_ZN5QListIPN3Dtk4Core16AbstractAppenderEEC2ERKS4_@Base 2.0.7.1
+ (optional=templinst)_ZN5QListIPN3Dtk4Core16AbstractAppenderEED1Ev@Base 2.0.7.1
+ (optional=templinst)_ZN5QListIPN3Dtk4Core16AbstractAppenderEED2Ev@Base 2.0.7.1
+ (optional=templinst)_ZN5QListIPN3Dtk4Core16DBaseFileWatcherEE13detach_helperEi@Base 2.0.7.1
+ (optional=templinst)_ZN5QListIPN3Dtk4Core16DBaseFileWatcherEE18detach_helper_growEii@Base 2.0.7.1
+ (optional=templinst)_ZN5QListIPN3Dtk4Core16DBaseFileWatcherEE6appendERKS3_@Base 2.0.7.1
+ (optional=templinst)_ZN5QListIPN3Dtk4Core16DBaseFileWatcherEE9removeOneERKS3_@Base 2.0.7.1
+ (optional=templinst)_ZN5QListIPN3Dtk4Core16DBaseFileWatcherEED1Ev@Base 2.0.7.1
+ (optional=templinst)_ZN5QListIPN3Dtk4Core16DBaseFileWatcherEED2Ev@Base 2.0.7.1
+ _ZN7QStringD1Ev@Base 2.0.7.1
+ _ZN7QStringD2Ev@Base 2.0.7.1
+ (optional=templinst)_ZN8QMapDataI7QStringPN3Dtk4Core12DFileWatcherEE7destroyEv@Base 2.0.7.1
+ (optional=templinst)_ZN8QMapDataI7QStringPN3Dtk4Core16AbstractAppenderEE7destroyEv@Base 2.0.7.1
+ (optional=templinst)_ZN8QMapDataI7QStringbE7destroyEv@Base 2.0.7.1
+ (optional=templinst)_ZN8QMapDataI7QStringiE7destroyEv@Base 2.0.7.1
+ (optional=templinst)_ZN8QMapDataIi7QStringE7destroyEv@Base 2.0.7.1
+ (optional=templinst)_ZN8QMapNodeI7QString8QPointerIN3Dtk4Core14DSettingsGroupEEE14destroySubTreeEv@Base 2.0.7.1
+ (optional=templinst)_ZN8QMapNodeI7QString8QPointerIN3Dtk4Core15DSettingsOptionEEE14destroySubTreeEv@Base 2.0.7.1
+ (optional=templinst)_ZN8QMapNodeI7QString8QVariantE14destroySubTreeEv@Base 2.0.7.1
+ (optional=templinst)_ZN8QMapNodeI7QStringPN3Dtk4Core12DFileWatcherEE14destroySubTreeEv@Base 2.0.7.1
+ (optional=templinst)_ZN8QMapNodeI7QStringPN3Dtk4Core16AbstractAppenderEE14destroySubTreeEv@Base 2.0.7.1
+ (optional=templinst)_ZN8QMapNodeI7QStringS0_E14destroySubTreeEv@Base 2.0.7.1
+ (optional=templinst)_ZN8QMapNodeI7QStringbE14destroySubTreeEv@Base 2.0.7.1
+ (optional=templinst)_ZN8QMapNodeI7QStringiE14destroySubTreeEv@Base 2.0.7.1
+ (optional=templinst)_ZN8QMapNodeI9QDateTime7QStringE14destroySubTreeEv@Base 2.0.7.1
+ (optional=templinst)_ZN8QMapNodeIi7QStringE14destroySubTreeEv@Base 2.0.7.1
+ _ZNK3Dtk4Core12DFileWatcher10metaObjectEv@Base 2.0.7.1
+ _ZNK3Dtk4Core12FileAppender4sizeEv@Base 2.0.7.1
+ _ZNK3Dtk4Core12FileAppender8fileNameEv@Base 2.0.7.1
+ _ZNK3Dtk4Core14DSettingsGroup10childGroupERK7QString@Base 2.0.7.1
+ _ZNK3Dtk4Core14DSettingsGroup10metaObjectEv@Base 2.0.7.1
+ _ZNK3Dtk4Core14DSettingsGroup11childGroupsEv@Base 2.0.7.1
+ _ZNK3Dtk4Core14DSettingsGroup11parentGroupEv@Base 2.0.7.1
+ _ZNK3Dtk4Core14DSettingsGroup12childOptionsEv@Base 2.0.7.1
+ _ZNK3Dtk4Core14DSettingsGroup3keyEv@Base 2.0.7.1
+ _ZNK3Dtk4Core14DSettingsGroup4nameEv@Base 2.0.7.1
+ _ZNK3Dtk4Core14DSettingsGroup6optionERK7QString@Base 2.0.7.1
+ _ZNK3Dtk4Core14DSettingsGroup7optionsEv@Base 2.0.7.1
+ _ZNK3Dtk4Core14DSettingsGroup8isHiddenEv@Base 2.0.7.1
+ _ZNK3Dtk4Core15ConsoleAppender6formatEv@Base 2.0.7.1
+ _ZNK3Dtk4Core15DSettingsOption10metaObjectEv@Base 2.0.7.1
+ _ZNK3Dtk4Core15DSettingsOption11parentGroupEv@Base 2.0.7.1
+ _ZNK3Dtk4Core15DSettingsOption12defaultValueEv@Base 2.0.7.1
+ _ZNK3Dtk4Core15DSettingsOption3keyEv@Base 2.0.7.1
+ _ZNK3Dtk4Core15DSettingsOption4dataERK7QString@Base 2.0.7.1
+ _ZNK3Dtk4Core15DSettingsOption4nameEv@Base 2.0.7.1
+ _ZNK3Dtk4Core15DSettingsOption5valueEv@Base 2.0.7.1
+ _ZNK3Dtk4Core15DSettingsOption8canResetEv@Base 2.0.7.1
+ _ZNK3Dtk4Core15DSettingsOption8isHiddenEv@Base 2.0.7.1
+ _ZNK3Dtk4Core15DSettingsOption8viewTypeEv@Base 2.0.7.1
+ _ZNK3Dtk4Core15QSettingBackend10metaObjectEv@Base 2.0.7.1
+ _ZNK3Dtk4Core15QSettingBackend4keysEv@Base 2.0.7.1
+ _ZNK3Dtk4Core15QSettingBackend9getOptionERK7QString@Base 2.0.7.1
+ _ZNK3Dtk4Core16AbstractAppender12detailsLevelEv@Base 2.0.7.1
+ _ZNK3Dtk4Core16DBaseFileWatcher10metaObjectEv@Base 2.0.7.1
+ _ZNK3Dtk4Core16DBaseFileWatcher7fileUrlEv@Base 2.0.7.1
+ _ZNK3Dtk4Core16DSettingsBackend10metaObjectEv@Base 2.0.7.1
+ _ZNK3Dtk4Core16GSettingsBackend10metaObjectEv@Base 2.0.7.1
+ _ZNK3Dtk4Core16GSettingsBackend4keysEv@Base 2.0.7.1
+ _ZNK3Dtk4Core16GSettingsBackend9getOptionERK7QString@Base 2.0.7.1
+ _ZNK3Dtk4Core17CuteMessageLogger5writeEPKcz@Base 2.0.7.1
+ _ZNK3Dtk4Core17CuteMessageLogger5writeERK7QString@Base 2.0.7.1
+ _ZNK3Dtk4Core17CuteMessageLogger5writeEv@Base 2.0.7.1
+ _ZNK3Dtk4Core18DDiskSizeFormatter15unitConvertRateEi@Base 2.0.7.1
+ _ZNK3Dtk4Core18DDiskSizeFormatter7unitMaxEv@Base 2.0.7.1
+ _ZNK3Dtk4Core18DDiskSizeFormatter7unitMinEv@Base 2.0.7.1
+ _ZNK3Dtk4Core18DDiskSizeFormatter7unitStrEi@Base 2.0.7.1
+ _ZNK3Dtk4Core18DFileSystemWatcher10metaObjectEv@Base 2.0.7.1
+ _ZNK3Dtk4Core18DFileSystemWatcher11directoriesEv@Base 2.0.7.1
+ _ZNK3Dtk4Core18DFileSystemWatcher5filesEv@Base 2.0.7.1
+ _ZNK3Dtk4Core18DTimeUnitFormatter15unitConvertRateEi@Base 2.0.7.1
+ _ZNK3Dtk4Core18DTimeUnitFormatter7unitMaxEv@Base 2.0.7.1
+ _ZNK3Dtk4Core18DTimeUnitFormatter7unitMinEv@Base 2.0.7.1
+ _ZNK3Dtk4Core18DTimeUnitFormatter7unitStrEi@Base 2.0.7.1
+ _ZNK3Dtk4Core19DFileWatcherManager10metaObjectEv@Base 2.0.7.1
+ _ZNK3Dtk4Core19RollingFileAppender11datePatternEv@Base 2.0.7.1
+ _ZNK3Dtk4Core19RollingFileAppender13logFilesLimitEv@Base 2.0.7.1
+ _ZNK3Dtk4Core19RollingFileAppender17datePatternStringEv@Base 2.0.7.1
+ _ZNK3Dtk4Core22AbstractStringAppender15formattedStringERK9QDateTimeNS0_6Logger8LogLevelEPKciS8_RK7QStringSB_@Base 2.0.7.1
+ _ZNK3Dtk4Core22AbstractStringAppender6formatEv@Base 2.0.7.1
+ _ZNK3Dtk4Core22DAbstractUnitFormatter12unitValueMaxEi@Base 2.0.7.1
+ _ZNK3Dtk4Core22DAbstractUnitFormatter12unitValueMinEi@Base 2.0.7.1
+ _ZNK3Dtk4Core22DAbstractUnitFormatter16formatAsUnitListEdi@Base 2.0.7.1
+ _ZNK3Dtk4Core22DAbstractUnitFormatter6formatEdi@Base 2.0.7.1
+ _ZNK3Dtk4Core22DAbstractUnitFormatter8formatAsEdii@Base 2.0.7.1
+ _ZNK3Dtk4Core25DFileSystemWatcherPrivate13getPathFromIDEi@Base 2.0.7.1
+ _ZNK3Dtk4Core6Logger15defaultCategoryEv@Base 2.0.7.1
+ _ZNK3Dtk4Core9DSettings10metaObjectEv@Base 2.0.7.1
+ _ZNK3Dtk4Core9DSettings4keysEv@Base 2.0.7.1
+ _ZNK3Dtk4Core9DSettings4metaEv@Base 2.0.7.1
+ _ZNK3Dtk4Core9DSettings5groupERK7QString@Base 2.0.7.1
+ _ZNK3Dtk4Core9DSettings5valueERK7QString@Base 2.0.7.1
+ _ZNK3Dtk4Core9DSettings6groupsEv@Base 2.0.7.1
+ _ZNK3Dtk4Core9DSettings6optionERK7QString@Base 2.0.7.1
+ _ZNK3Dtk4Core9DSettings7optionsEv@Base 2.0.7.1
+ _ZNK3Dtk4Core9DSettings9getOptionERK7QString@Base 2.0.7.1
+ _ZNK3Dtk4Core9DSettings9groupKeysEv@Base 2.0.7.1
+ (optional=templinst)_ZNK4QMapI7QString8QPointerIN3Dtk4Core15DSettingsOptionEEE6valuesEv@Base 2.0.7.1
+ (optional=templinst)_ZNK5QHashI7QStringiE8findNodeERKS0_Pj@Base 2.0.7.1
+ (optional=templinst)_ZNK8QMapDataI7QString8QVariantE8findNodeERKS0_@Base 2.0.7.1
+ (optional=templinst)_ZNK8QMapDataI7QStringPN3Dtk4Core12DFileWatcherEE8findNodeERKS0_@Base 2.0.7.1
+ (optional=templinst)_ZNK8QMapDataI7QStringiE8findNodeERKS0_@Base 2.0.7.1
+ (optional=templinst)_ZNK8QMapNodeI7QString8QPointerIN3Dtk4Core14DSettingsGroupEEE4copyEP8QMapDataIS0_S5_E@Base 2.0.7.1
+ (optional=templinst)_ZNK8QMapNodeI7QString8QPointerIN3Dtk4Core15DSettingsOptionEEE4copyEP8QMapDataIS0_S5_E@Base 2.0.7.1
+ (optional=templinst)_ZNK8QMapNodeI7QString8QVariantE4copyEP8QMapDataIS0_S1_E@Base 2.0.7.1
+ (optional=templinst)_ZNK8QMapNodeI7QStringPN3Dtk4Core12DFileWatcherEE4copyEP8QMapDataIS0_S4_E@Base 2.0.7.1
+ (optional=templinst)_ZNK8QMapNodeI7QStringPN3Dtk4Core16AbstractAppenderEE4copyEP8QMapDataIS0_S4_E@Base 2.0.7.1
+ (optional=templinst)_ZNK8QMapNodeI7QStringS0_E4copyEP8QMapDataIS0_S0_E@Base 2.0.7.1
+ (optional=templinst)_ZNK8QMapNodeI7QStringbE4copyEP8QMapDataIS0_bE@Base 2.0.7.1
+ (optional=templinst)_ZNK8QMapNodeI7QStringiE4copyEP8QMapDataIS0_iE@Base 2.0.7.1
+ (optional=templinst)_ZNK8QMapNodeI9QDateTime7QStringE4copyEP8QMapDataIS0_S1_E@Base 2.0.7.1
+ (optional=templinst)_ZNK8QMapNodeIi7QStringE4copyEP8QMapDataIiS0_E@Base 2.0.7.1
+ (optional=templinst)_ZNKSt5ctypeIcE8do_widenEc@Base 2.0.7.1
+ _ZTIN3Dtk4Core12DFileWatcherE@Base 2.0.7.1
+ _ZTIN3Dtk4Core12FileAppenderE@Base 2.0.7.1
+ _ZTIN3Dtk4Core14DObjectPrivateE@Base 2.0.7.1
+ _ZTIN3Dtk4Core14DSettingsGroupE@Base 2.0.7.1
+ _ZTIN3Dtk4Core15ConsoleAppenderE@Base 2.0.7.1
+ _ZTIN3Dtk4Core15DSettingsOptionE@Base 2.0.7.1
+ _ZTIN3Dtk4Core15QSettingBackendE@Base 2.0.7.1
+ _ZTIN3Dtk4Core16AbstractAppenderE@Base 2.0.7.1
+ _ZTIN3Dtk4Core16DBaseFileWatcherE@Base 2.0.7.1
+ _ZTIN3Dtk4Core16DSettingsBackendE@Base 2.0.7.1
+ _ZTIN3Dtk4Core16GSettingsBackendE@Base 2.0.7.1
+ _ZTIN3Dtk4Core18DDiskSizeFormatterE@Base 2.0.7.1
+ _ZTIN3Dtk4Core18DFileSystemWatcherE@Base 2.0.7.1
+ _ZTIN3Dtk4Core18DTimeUnitFormatterE@Base 2.0.7.1
+ _ZTIN3Dtk4Core19DFileWatcherManagerE@Base 2.0.7.1
+ _ZTIN3Dtk4Core19DFileWatcherPrivateE@Base 2.0.7.1
+ _ZTIN3Dtk4Core19RollingFileAppenderE@Base 2.0.7.1
+ _ZTIN3Dtk4Core22AbstractStringAppenderE@Base 2.0.7.1
+ _ZTIN3Dtk4Core22DAbstractUnitFormatterE@Base 2.0.7.1
+ _ZTIN3Dtk4Core23DBaseFileWatcherPrivateE@Base 2.0.7.1
+ _ZTIN3Dtk4Core25DFileSystemWatcherPrivateE@Base 2.0.7.1
+ _ZTIN3Dtk4Core26DFileWatcherManagerPrivateE@Base 2.0.7.1
+ _ZTIN3Dtk4Core7DObjectE@Base 2.0.7.1
+ _ZTIN3Dtk4Core9DSettingsE@Base 2.0.7.1
+ _ZTIN3Dtk4Core9LogDeviceE@Base 2.0.7.1
+ _ZTSN3Dtk4Core12DFileWatcherE@Base 2.0.7.1
+ _ZTSN3Dtk4Core12FileAppenderE@Base 2.0.7.1
+ _ZTSN3Dtk4Core14DObjectPrivateE@Base 2.0.7.1
+ _ZTSN3Dtk4Core14DSettingsGroupE@Base 2.0.7.1
+ _ZTSN3Dtk4Core15ConsoleAppenderE@Base 2.0.7.1
+ _ZTSN3Dtk4Core15DSettingsOptionE@Base 2.0.7.1
+ _ZTSN3Dtk4Core15QSettingBackendE@Base 2.0.7.1
+ _ZTSN3Dtk4Core16AbstractAppenderE@Base 2.0.7.1
+ _ZTSN3Dtk4Core16DBaseFileWatcherE@Base 2.0.7.1
+ _ZTSN3Dtk4Core16DSettingsBackendE@Base 2.0.7.1
+ _ZTSN3Dtk4Core16GSettingsBackendE@Base 2.0.7.1
+ _ZTSN3Dtk4Core18DDiskSizeFormatterE@Base 2.0.7.1
+ _ZTSN3Dtk4Core18DFileSystemWatcherE@Base 2.0.7.1
+ _ZTSN3Dtk4Core18DTimeUnitFormatterE@Base 2.0.7.1
+ _ZTSN3Dtk4Core19DFileWatcherManagerE@Base 2.0.7.1
+ _ZTSN3Dtk4Core19DFileWatcherPrivateE@Base 2.0.7.1
+ _ZTSN3Dtk4Core19RollingFileAppenderE@Base 2.0.7.1
+ _ZTSN3Dtk4Core22AbstractStringAppenderE@Base 2.0.7.1
+ _ZTSN3Dtk4Core22DAbstractUnitFormatterE@Base 2.0.7.1
+ _ZTSN3Dtk4Core23DBaseFileWatcherPrivateE@Base 2.0.7.1
+ _ZTSN3Dtk4Core25DFileSystemWatcherPrivateE@Base 2.0.7.1
+ _ZTSN3Dtk4Core26DFileWatcherManagerPrivateE@Base 2.0.7.1
+ _ZTSN3Dtk4Core7DObjectE@Base 2.0.7.1
+ _ZTSN3Dtk4Core9DSettingsE@Base 2.0.7.1
+ _ZTSN3Dtk4Core9LogDeviceE@Base 2.0.7.1
+ _ZTVN3Dtk4Core12DFileWatcherE@Base 2.0.7.1
+ _ZTVN3Dtk4Core12FileAppenderE@Base 2.0.7.1
+ _ZTVN3Dtk4Core14DObjectPrivateE@Base 2.0.7.1
+ _ZTVN3Dtk4Core14DSettingsGroupE@Base 2.0.7.1
+ _ZTVN3Dtk4Core15ConsoleAppenderE@Base 2.0.7.1
+ _ZTVN3Dtk4Core15DSettingsOptionE@Base 2.0.7.1
+ _ZTVN3Dtk4Core15QSettingBackendE@Base 2.0.7.1
+ _ZTVN3Dtk4Core16AbstractAppenderE@Base 2.0.7.1
+ _ZTVN3Dtk4Core16DBaseFileWatcherE@Base 2.0.7.1
+ _ZTVN3Dtk4Core16DSettingsBackendE@Base 2.0.7.1
+ _ZTVN3Dtk4Core16GSettingsBackendE@Base 2.0.7.1
+ _ZTVN3Dtk4Core18DDiskSizeFormatterE@Base 2.0.7.1
+ _ZTVN3Dtk4Core18DFileSystemWatcherE@Base 2.0.7.1
+ _ZTVN3Dtk4Core18DTimeUnitFormatterE@Base 2.0.7.1
+ _ZTVN3Dtk4Core19DFileWatcherManagerE@Base 2.0.7.1
+ _ZTVN3Dtk4Core19DFileWatcherPrivateE@Base 2.0.7.1
+ _ZTVN3Dtk4Core19RollingFileAppenderE@Base 2.0.7.1
+ _ZTVN3Dtk4Core22AbstractStringAppenderE@Base 2.0.7.1
+ _ZTVN3Dtk4Core22DAbstractUnitFormatterE@Base 2.0.7.1
+ _ZTVN3Dtk4Core23DBaseFileWatcherPrivateE@Base 2.0.7.1
+ _ZTVN3Dtk4Core25DFileSystemWatcherPrivateE@Base 2.0.7.1
+ _ZTVN3Dtk4Core26DFileWatcherManagerPrivateE@Base 2.0.7.1
+ _ZTVN3Dtk4Core7DObjectE@Base 2.0.7.1
+ _ZTVN3Dtk4Core9DSettingsE@Base 2.0.7.1
+ _ZTVN3Dtk4Core9LogDeviceE@Base 2.0.7.1
+ _ZZN3Dtk4Core11DLogManager8instanceEvE8instance@Base 2.0.7.1
+ (c++)"non-virtual thunk to Dtk::Core::DBaseFileWatcher::~DBaseFileWatcher()@Base" 2.0.7.1
+ (c++)"non-virtual thunk to Dtk::Core::DFileSystemWatcher::~DFileSystemWatcher()@Base" 2.0.7.1
+ (c++)"non-virtual thunk to Dtk::Core::DFileWatcher::~DFileWatcher()@Base" 2.0.7.1
+ (c++)"non-virtual thunk to Dtk::Core::DFileWatcherManager::~DFileWatcherManager()@Base" 2.0.7.1
diff --git a/debian/patches/0003-Workaround-qt-private-header-problem.patch b/debian/patches/0003-Workaround-qt-private-header-problem.patch
deleted file mode 100644 (file)
index 41c6c48..0000000
+++ /dev/null
@@ -1,9118 +0,0 @@
-From: Boyuan Yang <073plan@gmail.com>
-Date: Wed, 13 Dec 2017 20:11:35 +0800
-Subject: Workaround qt private header problem
-
-This patch provides Qt private headers needed by Deepin's
-qt5dxcb-plugin.
----
- libqt5xcbqpa-dev/5.10.1/qxcbbackingstore.h      |  85 +++
- libqt5xcbqpa-dev/5.10.1/qxcbclipboard.h         | 119 ++++
- libqt5xcbqpa-dev/5.10.1/qxcbconnection.h        | 776 ++++++++++++++++++++++++
- libqt5xcbqpa-dev/5.10.1/qxcbcursor.h            | 115 ++++
- libqt5xcbqpa-dev/5.10.1/qxcbdrag.h              | 180 ++++++
- libqt5xcbqpa-dev/5.10.1/qxcbexport.h            |  55 ++
- libqt5xcbqpa-dev/5.10.1/qxcbimage.h             |  62 ++
- libqt5xcbqpa-dev/5.10.1/qxcbintegration.h       | 152 +++++
- libqt5xcbqpa-dev/5.10.1/qxcbkeyboard.h          | 151 +++++
- libqt5xcbqpa-dev/5.10.1/qxcbmime.h              |  75 +++
- libqt5xcbqpa-dev/5.10.1/qxcbnativeinterface.h   | 161 +++++
- libqt5xcbqpa-dev/5.10.1/qxcbobject.h            |  64 ++
- libqt5xcbqpa-dev/5.10.1/qxcbscreen.h            | 245 ++++++++
- libqt5xcbqpa-dev/5.10.1/qxcbsessionmanager.h    |  96 +++
- libqt5xcbqpa-dev/5.10.1/qxcbsystemtraytracker.h |  85 +++
- libqt5xcbqpa-dev/5.10.1/qxcbvulkaninstance.h    |  79 +++
- libqt5xcbqpa-dev/5.10.1/qxcbvulkanwindow.h      |  65 ++
- libqt5xcbqpa-dev/5.10.1/qxcbwindow.h            | 299 +++++++++
- libqt5xcbqpa-dev/5.10.1/qxcbwmsupport.h         |  68 +++
- libqt5xcbqpa-dev/5.10.1/qxcbxsettings.h         |  71 +++
- libqt5xcbqpa-dev/5.9.2/qxcbbackingstore.h       |  85 +++
- libqt5xcbqpa-dev/5.9.2/qxcbclipboard.h          | 119 ++++
- libqt5xcbqpa-dev/5.9.2/qxcbconnection.h         | 775 +++++++++++++++++++++++
- libqt5xcbqpa-dev/5.9.2/qxcbcursor.h             | 115 ++++
- libqt5xcbqpa-dev/5.9.2/qxcbdrag.h               | 177 ++++++
- libqt5xcbqpa-dev/5.9.2/qxcbexport.h             |  55 ++
- libqt5xcbqpa-dev/5.9.2/qxcbimage.h              |  62 ++
- libqt5xcbqpa-dev/5.9.2/qxcbintegration.h        | 145 +++++
- libqt5xcbqpa-dev/5.9.2/qxcbkeyboard.h           | 151 +++++
- libqt5xcbqpa-dev/5.9.2/qxcbmime.h               |  75 +++
- libqt5xcbqpa-dev/5.9.2/qxcbnativeinterface.h    | 152 +++++
- libqt5xcbqpa-dev/5.9.2/qxcbobject.h             |  64 ++
- libqt5xcbqpa-dev/5.9.2/qxcbscreen.h             | 220 +++++++
- libqt5xcbqpa-dev/5.9.2/qxcbsessionmanager.h     |  96 +++
- libqt5xcbqpa-dev/5.9.2/qxcbsystemtraytracker.h  |  85 +++
- libqt5xcbqpa-dev/5.9.2/qxcbwindow.h             | 297 +++++++++
- libqt5xcbqpa-dev/5.9.2/qxcbwmsupport.h          |  68 +++
- libqt5xcbqpa-dev/5.9.2/qxcbxsettings.h          |  71 +++
- libqt5xcbqpa-dev/5.9.3                          |   1 +
- libqt5xcbqpa-dev/5.9.4/qxcbbackingstore.h       |  85 +++
- libqt5xcbqpa-dev/5.9.4/qxcbclipboard.h          | 119 ++++
- libqt5xcbqpa-dev/5.9.4/qxcbconnection.h         | 775 +++++++++++++++++++++++
- libqt5xcbqpa-dev/5.9.4/qxcbcursor.h             | 115 ++++
- libqt5xcbqpa-dev/5.9.4/qxcbdrag.h               | 181 ++++++
- libqt5xcbqpa-dev/5.9.4/qxcbexport.h             |  55 ++
- libqt5xcbqpa-dev/5.9.4/qxcbimage.h              |  62 ++
- libqt5xcbqpa-dev/5.9.4/qxcbintegration.h        | 145 +++++
- libqt5xcbqpa-dev/5.9.4/qxcbkeyboard.h           | 151 +++++
- libqt5xcbqpa-dev/5.9.4/qxcbmime.h               |  75 +++
- libqt5xcbqpa-dev/5.9.4/qxcbnativeinterface.h    | 152 +++++
- libqt5xcbqpa-dev/5.9.4/qxcbobject.h             |  64 ++
- libqt5xcbqpa-dev/5.9.4/qxcbscreen.h             | 220 +++++++
- libqt5xcbqpa-dev/5.9.4/qxcbsessionmanager.h     |  96 +++
- libqt5xcbqpa-dev/5.9.4/qxcbsystemtraytracker.h  |  85 +++
- libqt5xcbqpa-dev/5.9.4/qxcbwindow.h             | 297 +++++++++
- libqt5xcbqpa-dev/5.9.4/qxcbwmsupport.h          |  68 +++
- libqt5xcbqpa-dev/5.9.4/qxcbxsettings.h          |  71 +++
- libqt5xcbqpa-dev/5.9.5                          |   1 +
- libqt5xcbqpa-dev/5.9.6                          |   1 +
- 59 files changed, 8634 insertions(+)
- create mode 100644 libqt5xcbqpa-dev/5.10.1/qxcbbackingstore.h
- create mode 100644 libqt5xcbqpa-dev/5.10.1/qxcbclipboard.h
- create mode 100644 libqt5xcbqpa-dev/5.10.1/qxcbconnection.h
- create mode 100644 libqt5xcbqpa-dev/5.10.1/qxcbcursor.h
- create mode 100644 libqt5xcbqpa-dev/5.10.1/qxcbdrag.h
- create mode 100644 libqt5xcbqpa-dev/5.10.1/qxcbexport.h
- create mode 100644 libqt5xcbqpa-dev/5.10.1/qxcbimage.h
- create mode 100644 libqt5xcbqpa-dev/5.10.1/qxcbintegration.h
- create mode 100644 libqt5xcbqpa-dev/5.10.1/qxcbkeyboard.h
- create mode 100644 libqt5xcbqpa-dev/5.10.1/qxcbmime.h
- create mode 100644 libqt5xcbqpa-dev/5.10.1/qxcbnativeinterface.h
- create mode 100644 libqt5xcbqpa-dev/5.10.1/qxcbobject.h
- create mode 100644 libqt5xcbqpa-dev/5.10.1/qxcbscreen.h
- create mode 100644 libqt5xcbqpa-dev/5.10.1/qxcbsessionmanager.h
- create mode 100644 libqt5xcbqpa-dev/5.10.1/qxcbsystemtraytracker.h
- create mode 100644 libqt5xcbqpa-dev/5.10.1/qxcbvulkaninstance.h
- create mode 100644 libqt5xcbqpa-dev/5.10.1/qxcbvulkanwindow.h
- create mode 100644 libqt5xcbqpa-dev/5.10.1/qxcbwindow.h
- create mode 100644 libqt5xcbqpa-dev/5.10.1/qxcbwmsupport.h
- create mode 100644 libqt5xcbqpa-dev/5.10.1/qxcbxsettings.h
- create mode 100644 libqt5xcbqpa-dev/5.9.2/qxcbbackingstore.h
- create mode 100644 libqt5xcbqpa-dev/5.9.2/qxcbclipboard.h
- create mode 100644 libqt5xcbqpa-dev/5.9.2/qxcbconnection.h
- create mode 100644 libqt5xcbqpa-dev/5.9.2/qxcbcursor.h
- create mode 100644 libqt5xcbqpa-dev/5.9.2/qxcbdrag.h
- create mode 100644 libqt5xcbqpa-dev/5.9.2/qxcbexport.h
- create mode 100644 libqt5xcbqpa-dev/5.9.2/qxcbimage.h
- create mode 100644 libqt5xcbqpa-dev/5.9.2/qxcbintegration.h
- create mode 100644 libqt5xcbqpa-dev/5.9.2/qxcbkeyboard.h
- create mode 100644 libqt5xcbqpa-dev/5.9.2/qxcbmime.h
- create mode 100644 libqt5xcbqpa-dev/5.9.2/qxcbnativeinterface.h
- create mode 100644 libqt5xcbqpa-dev/5.9.2/qxcbobject.h
- create mode 100644 libqt5xcbqpa-dev/5.9.2/qxcbscreen.h
- create mode 100644 libqt5xcbqpa-dev/5.9.2/qxcbsessionmanager.h
- create mode 100644 libqt5xcbqpa-dev/5.9.2/qxcbsystemtraytracker.h
- create mode 100644 libqt5xcbqpa-dev/5.9.2/qxcbwindow.h
- create mode 100644 libqt5xcbqpa-dev/5.9.2/qxcbwmsupport.h
- create mode 100644 libqt5xcbqpa-dev/5.9.2/qxcbxsettings.h
- create mode 120000 libqt5xcbqpa-dev/5.9.3
- create mode 100644 libqt5xcbqpa-dev/5.9.4/qxcbbackingstore.h
- create mode 100644 libqt5xcbqpa-dev/5.9.4/qxcbclipboard.h
- create mode 100644 libqt5xcbqpa-dev/5.9.4/qxcbconnection.h
- create mode 100644 libqt5xcbqpa-dev/5.9.4/qxcbcursor.h
- create mode 100644 libqt5xcbqpa-dev/5.9.4/qxcbdrag.h
- create mode 100644 libqt5xcbqpa-dev/5.9.4/qxcbexport.h
- create mode 100644 libqt5xcbqpa-dev/5.9.4/qxcbimage.h
- create mode 100644 libqt5xcbqpa-dev/5.9.4/qxcbintegration.h
- create mode 100644 libqt5xcbqpa-dev/5.9.4/qxcbkeyboard.h
- create mode 100644 libqt5xcbqpa-dev/5.9.4/qxcbmime.h
- create mode 100644 libqt5xcbqpa-dev/5.9.4/qxcbnativeinterface.h
- create mode 100644 libqt5xcbqpa-dev/5.9.4/qxcbobject.h
- create mode 100644 libqt5xcbqpa-dev/5.9.4/qxcbscreen.h
- create mode 100644 libqt5xcbqpa-dev/5.9.4/qxcbsessionmanager.h
- create mode 100644 libqt5xcbqpa-dev/5.9.4/qxcbsystemtraytracker.h
- create mode 100644 libqt5xcbqpa-dev/5.9.4/qxcbwindow.h
- create mode 100644 libqt5xcbqpa-dev/5.9.4/qxcbwmsupport.h
- create mode 100644 libqt5xcbqpa-dev/5.9.4/qxcbxsettings.h
- create mode 120000 libqt5xcbqpa-dev/5.9.5
- create mode 120000 libqt5xcbqpa-dev/5.9.6
-
-diff --git a/libqt5xcbqpa-dev/5.10.1/qxcbbackingstore.h b/libqt5xcbqpa-dev/5.10.1/qxcbbackingstore.h
-new file mode 100644
-index 0000000..2e8fbfb
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.10.1/qxcbbackingstore.h
-@@ -0,0 +1,85 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBBACKINGSTORE_H
-+#define QXCBBACKINGSTORE_H
-+
-+#include <qpa/qplatformbackingstore.h>
-+#include <QtCore/QStack>
-+
-+#include <xcb/xcb.h>
-+
-+#include "qxcbobject.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbShmImage;
-+
-+class QXcbBackingStore : public QXcbObject, public QPlatformBackingStore
-+{
-+public:
-+    QXcbBackingStore(QWindow *window);
-+    ~QXcbBackingStore();
-+
-+    QPaintDevice *paintDevice() override;
-+    void flush(QWindow *window, const QRegion &region, const QPoint &offset) override;
-+#ifndef QT_NO_OPENGL
-+    void composeAndFlush(QWindow *window, const QRegion &region, const QPoint &offset,
-+                         QPlatformTextureList *textures,
-+                         bool translucentBackground) override;
-+#endif
-+    QImage toImage() const override;
-+
-+    QPlatformGraphicsBuffer *graphicsBuffer() const override;
-+
-+    void resize(const QSize &size, const QRegion &staticContents) override;
-+    bool scroll(const QRegion &area, int dx, int dy) override;
-+
-+    void beginPaint(const QRegion &) override;
-+    void endPaint() override;
-+
-+private:
-+    QXcbShmImage *m_image;
-+    QStack<QRegion> m_paintRegions;
-+    QImage m_rgbImage;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.10.1/qxcbclipboard.h b/libqt5xcbqpa-dev/5.10.1/qxcbclipboard.h
-new file mode 100644
-index 0000000..bfeae13
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.10.1/qxcbclipboard.h
-@@ -0,0 +1,119 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBCLIPBOARD_H
-+#define QXCBCLIPBOARD_H
-+
-+#include <qpa/qplatformclipboard.h>
-+#include <qxcbobject.h>
-+#include <xcb/xcb.h>
-+#include <xcb/xfixes.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+#ifndef QT_NO_CLIPBOARD
-+
-+class QXcbConnection;
-+class QXcbScreen;
-+class QXcbClipboardMime;
-+
-+class QXcbClipboard : public QXcbObject, public QPlatformClipboard
-+{
-+public:
-+    QXcbClipboard(QXcbConnection *connection);
-+    ~QXcbClipboard();
-+
-+    QMimeData *mimeData(QClipboard::Mode mode) override;
-+    void setMimeData(QMimeData *data, QClipboard::Mode mode) override;
-+
-+    bool supportsMode(QClipboard::Mode mode) const override;
-+    bool ownsMode(QClipboard::Mode mode) const override;
-+
-+    QXcbScreen *screen() const;
-+
-+    xcb_window_t requestor() const;
-+    void setRequestor(xcb_window_t window);
-+
-+    xcb_window_t owner() const;
-+
-+    void handleSelectionRequest(xcb_selection_request_event_t *event);
-+    void handleSelectionClearRequest(xcb_selection_clear_event_t *event);
-+    void handleXFixesSelectionRequest(xcb_xfixes_selection_notify_event_t *event);
-+
-+    bool clipboardReadProperty(xcb_window_t win, xcb_atom_t property, bool deleteProperty, QByteArray *buffer, int *size, xcb_atom_t *type, int *format);
-+    QByteArray clipboardReadIncrementalProperty(xcb_window_t win, xcb_atom_t property, int nbytes, bool nullterm);
-+
-+    QByteArray getDataInFormat(xcb_atom_t modeAtom, xcb_atom_t fmtatom);
-+
-+    void setProcessIncr(bool process) { m_incr_active = process; }
-+    bool processIncr() { return m_incr_active; }
-+    void incrTransactionPeeker(xcb_generic_event_t *ge, bool &accepted);
-+
-+    xcb_window_t getSelectionOwner(xcb_atom_t atom) const;
-+    QByteArray getSelection(xcb_atom_t selection, xcb_atom_t target, xcb_atom_t property, xcb_timestamp_t t = 0);
-+
-+private:
-+    xcb_generic_event_t *waitForClipboardEvent(xcb_window_t win, int type, int timeout, bool checkManager = false);
-+
-+    xcb_atom_t sendTargetsSelection(QMimeData *d, xcb_window_t window, xcb_atom_t property);
-+    xcb_atom_t sendSelection(QMimeData *d, xcb_atom_t target, xcb_window_t window, xcb_atom_t property);
-+
-+    xcb_atom_t atomForMode(QClipboard::Mode mode) const;
-+    QClipboard::Mode modeForAtom(xcb_atom_t atom) const;
-+
-+    // Selection and Clipboard
-+    QScopedPointer<QXcbClipboardMime> m_xClipboard[2];
-+    QMimeData *m_clientClipboard[2];
-+    xcb_timestamp_t m_timestamp[2];
-+
-+    xcb_window_t m_requestor = XCB_NONE;
-+    xcb_window_t m_owner = XCB_NONE;
-+
-+    static const int clipboard_timeout;
-+
-+    bool m_incr_active = false;
-+    bool m_clipboard_closing = false;
-+    xcb_timestamp_t m_incr_receive_time = 0;
-+};
-+
-+#endif // QT_NO_CLIPBOARD
-+
-+QT_END_NAMESPACE
-+
-+#endif // QXCBCLIPBOARD_H
-diff --git a/libqt5xcbqpa-dev/5.10.1/qxcbconnection.h b/libqt5xcbqpa-dev/5.10.1/qxcbconnection.h
-new file mode 100644
-index 0000000..999dc06
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.10.1/qxcbconnection.h
-@@ -0,0 +1,776 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBCONNECTION_H
-+#define QXCBCONNECTION_H
-+
-+#include <xcb/xcb.h>
-+#include <xcb/randr.h>
-+
-+#include <QtGui/private/qtguiglobal_p.h>
-+#include "qxcbexport.h"
-+#include <QHash>
-+#include <QList>
-+#include <QMutex>
-+#include <QObject>
-+#include <QThread>
-+#include <QVector>
-+#include <QVarLengthArray>
-+#include <qpa/qwindowsysteminterface.h>
-+#include <QtCore/QLoggingCategory>
-+#include <QtCore/private/qglobal_p.h>
-+
-+#include <cstdlib>
-+#include <memory>
-+
-+// This is needed to make Qt compile together with XKB. xkb.h is using a variable
-+// which is called 'explicit', this is a reserved keyword in c++
-+#if QT_CONFIG(xkb)
-+#define explicit dont_use_cxx_explicit
-+#include <xcb/xkb.h>
-+#undef explicit
-+#endif
-+
-+#if QT_CONFIG(tabletevent)
-+#include <QTabletEvent>
-+#endif
-+
-+#if QT_CONFIG(xinput2)
-+#include <X11/extensions/XI2.h>
-+#ifdef XIScrollClass
-+#define XCB_USE_XINPUT21    // XI 2.1 adds smooth scrolling support
-+#ifdef XI_TouchBeginMask
-+#define XCB_USE_XINPUT22    // XI 2.2 adds multi-point touch support
-+#endif
-+#endif
-+#endif // QT_CONFIG(xinput2)
-+
-+struct xcb_randr_get_output_info_reply_t;
-+
-+QT_BEGIN_NAMESPACE
-+
-+Q_DECLARE_LOGGING_CATEGORY(lcQpaXInput)
-+Q_DECLARE_LOGGING_CATEGORY(lcQpaXInputDevices)
-+Q_DECLARE_LOGGING_CATEGORY(lcQpaXInputEvents)
-+Q_DECLARE_LOGGING_CATEGORY(lcQpaScreen)
-+Q_DECLARE_LOGGING_CATEGORY(lcQpaEvents)
-+Q_DECLARE_LOGGING_CATEGORY(lcQpaXcb)
-+Q_DECLARE_LOGGING_CATEGORY(lcQpaPeeker)
-+
-+class QXcbVirtualDesktop;
-+class QXcbScreen;
-+class QXcbWindow;
-+class QXcbDrag;
-+class QXcbKeyboard;
-+class QXcbClipboard;
-+class QXcbWMSupport;
-+class QXcbNativeInterface;
-+class QXcbSystemTrayTracker;
-+class QXcbGlIntegration;
-+
-+namespace QXcbAtom {
-+    enum Atom {
-+        // window-manager <-> client protocols
-+        WM_PROTOCOLS,
-+        WM_DELETE_WINDOW,
-+        WM_TAKE_FOCUS,
-+        _NET_WM_PING,
-+        _NET_WM_CONTEXT_HELP,
-+        _NET_WM_SYNC_REQUEST,
-+        _NET_WM_SYNC_REQUEST_COUNTER,
-+        MANAGER, // System tray notification
-+        _NET_SYSTEM_TRAY_OPCODE, // System tray operation
-+
-+        // ICCCM window state
-+        WM_STATE,
-+        WM_CHANGE_STATE,
-+        WM_CLASS,
-+        WM_NAME,
-+
-+        // Session management
-+        WM_CLIENT_LEADER,
-+        WM_WINDOW_ROLE,
-+        SM_CLIENT_ID,
-+
-+        // Clipboard
-+        CLIPBOARD,
-+        INCR,
-+        TARGETS,
-+        MULTIPLE,
-+        TIMESTAMP,
-+        SAVE_TARGETS,
-+        CLIP_TEMPORARY,
-+        _QT_SELECTION,
-+        _QT_CLIPBOARD_SENTINEL,
-+        _QT_SELECTION_SENTINEL,
-+        CLIPBOARD_MANAGER,
-+
-+        RESOURCE_MANAGER,
-+
-+        _XSETROOT_ID,
-+
-+        _QT_SCROLL_DONE,
-+        _QT_INPUT_ENCODING,
-+
-+        // Qt/XCB specific
-+        _QT_CLOSE_CONNECTION,
-+
-+        _MOTIF_WM_HINTS,
-+
-+        DTWM_IS_RUNNING,
-+        ENLIGHTENMENT_DESKTOP,
-+        _DT_SAVE_MODE,
-+        _SGI_DESKS_MANAGER,
-+
-+        // EWMH (aka NETWM)
-+        _NET_SUPPORTED,
-+        _NET_VIRTUAL_ROOTS,
-+        _NET_WORKAREA,
-+
-+        _NET_MOVERESIZE_WINDOW,
-+        _NET_WM_MOVERESIZE,
-+
-+        _NET_WM_NAME,
-+        _NET_WM_ICON_NAME,
-+        _NET_WM_ICON,
-+
-+        _NET_WM_PID,
-+
-+        _NET_WM_WINDOW_OPACITY,
-+
-+        _NET_WM_STATE,
-+        _NET_WM_STATE_ABOVE,
-+        _NET_WM_STATE_BELOW,
-+        _NET_WM_STATE_FULLSCREEN,
-+        _NET_WM_STATE_MAXIMIZED_HORZ,
-+        _NET_WM_STATE_MAXIMIZED_VERT,
-+        _NET_WM_STATE_MODAL,
-+        _NET_WM_STATE_STAYS_ON_TOP,
-+        _NET_WM_STATE_DEMANDS_ATTENTION,
-+
-+        _NET_WM_USER_TIME,
-+        _NET_WM_USER_TIME_WINDOW,
-+        _NET_WM_FULL_PLACEMENT,
-+
-+        _NET_WM_WINDOW_TYPE,
-+        _NET_WM_WINDOW_TYPE_DESKTOP,
-+        _NET_WM_WINDOW_TYPE_DOCK,
-+        _NET_WM_WINDOW_TYPE_TOOLBAR,
-+        _NET_WM_WINDOW_TYPE_MENU,
-+        _NET_WM_WINDOW_TYPE_UTILITY,
-+        _NET_WM_WINDOW_TYPE_SPLASH,
-+        _NET_WM_WINDOW_TYPE_DIALOG,
-+        _NET_WM_WINDOW_TYPE_DROPDOWN_MENU,
-+        _NET_WM_WINDOW_TYPE_POPUP_MENU,
-+        _NET_WM_WINDOW_TYPE_TOOLTIP,
-+        _NET_WM_WINDOW_TYPE_NOTIFICATION,
-+        _NET_WM_WINDOW_TYPE_COMBO,
-+        _NET_WM_WINDOW_TYPE_DND,
-+        _NET_WM_WINDOW_TYPE_NORMAL,
-+        _KDE_NET_WM_WINDOW_TYPE_OVERRIDE,
-+
-+        _KDE_NET_WM_FRAME_STRUT,
-+        _NET_FRAME_EXTENTS,
-+
-+        _NET_STARTUP_INFO,
-+        _NET_STARTUP_INFO_BEGIN,
-+
-+        _NET_SUPPORTING_WM_CHECK,
-+
-+        _NET_WM_CM_S0,
-+
-+        _NET_SYSTEM_TRAY_VISUAL,
-+
-+        _NET_ACTIVE_WINDOW,
-+
-+        // Property formats
-+        TEXT,
-+        UTF8_STRING,
-+        CARDINAL,
-+
-+        // Xdnd
-+        XdndEnter,
-+        XdndPosition,
-+        XdndStatus,
-+        XdndLeave,
-+        XdndDrop,
-+        XdndFinished,
-+        XdndTypelist,
-+        XdndActionList,
-+
-+        XdndSelection,
-+
-+        XdndAware,
-+        XdndProxy,
-+
-+        XdndActionCopy,
-+        XdndActionLink,
-+        XdndActionMove,
-+        XdndActionPrivate,
-+
-+        // Motif DND
-+        _MOTIF_DRAG_AND_DROP_MESSAGE,
-+        _MOTIF_DRAG_INITIATOR_INFO,
-+        _MOTIF_DRAG_RECEIVER_INFO,
-+        _MOTIF_DRAG_WINDOW,
-+        _MOTIF_DRAG_TARGETS,
-+
-+        XmTRANSFER_SUCCESS,
-+        XmTRANSFER_FAILURE,
-+
-+        // Xkb
-+        _XKB_RULES_NAMES,
-+
-+        // XEMBED
-+        _XEMBED,
-+        _XEMBED_INFO,
-+
-+        // XInput2
-+        ButtonLeft,
-+        ButtonMiddle,
-+        ButtonRight,
-+        ButtonWheelUp,
-+        ButtonWheelDown,
-+        ButtonHorizWheelLeft,
-+        ButtonHorizWheelRight,
-+        AbsMTPositionX,
-+        AbsMTPositionY,
-+        AbsMTTouchMajor,
-+        AbsMTTouchMinor,
-+        AbsMTOrientation,
-+        AbsMTPressure,
-+        AbsMTTrackingID,
-+        MaxContacts,
-+        RelX,
-+        RelY,
-+        // XInput2 tablet
-+        AbsX,
-+        AbsY,
-+        AbsPressure,
-+        AbsTiltX,
-+        AbsTiltY,
-+        AbsWheel,
-+        AbsDistance,
-+        WacomSerialIDs,
-+        INTEGER,
-+        RelHorizWheel,
-+        RelVertWheel,
-+        RelHorizScroll,
-+        RelVertScroll,
-+
-+        _XSETTINGS_SETTINGS,
-+
-+        _COMPIZ_DECOR_PENDING,
-+        _COMPIZ_DECOR_REQUEST,
-+        _COMPIZ_DECOR_DELETE_PIXMAP,
-+        _COMPIZ_TOOLKIT_ACTION,
-+        _GTK_LOAD_ICONTHEMES,
-+
-+        NPredefinedAtoms,
-+
-+        _QT_SETTINGS_TIMESTAMP = NPredefinedAtoms,
-+        NAtoms
-+    };
-+}
-+
-+typedef QVarLengthArray<xcb_generic_event_t *, 64> QXcbEventArray;
-+
-+class QXcbConnection;
-+class QXcbEventReader : public QThread
-+{
-+    Q_OBJECT
-+public:
-+    QXcbEventReader(QXcbConnection *connection);
-+
-+    void run() override;
-+
-+    QXcbEventArray *lock();
-+    void unlock();
-+
-+    void start();
-+
-+    void registerEventDispatcher(QAbstractEventDispatcher *dispatcher);
-+
-+signals:
-+    void eventPending();
-+
-+private slots:
-+    void registerForEvents();
-+
-+private:
-+    void addEvent(xcb_generic_event_t *event);
-+
-+    QMutex m_mutex;
-+    QXcbEventArray m_events;
-+    QXcbConnection *m_connection;
-+};
-+
-+class QXcbWindowEventListener
-+{
-+public:
-+    virtual ~QXcbWindowEventListener() {}
-+    virtual bool handleGenericEvent(xcb_generic_event_t *, long *) { return false; }
-+
-+    virtual void handleExposeEvent(const xcb_expose_event_t *) {}
-+    virtual void handleClientMessageEvent(const xcb_client_message_event_t *) {}
-+    virtual void handleConfigureNotifyEvent(const xcb_configure_notify_event_t *) {}
-+    virtual void handleMapNotifyEvent(const xcb_map_notify_event_t *) {}
-+    virtual void handleUnmapNotifyEvent(const xcb_unmap_notify_event_t *) {}
-+    virtual void handleDestroyNotifyEvent(const xcb_destroy_notify_event_t *) {}
-+    virtual void handleButtonPressEvent(const xcb_button_press_event_t *) {}
-+    virtual void handleButtonReleaseEvent(const xcb_button_release_event_t *) {}
-+    virtual void handleMotionNotifyEvent(const xcb_motion_notify_event_t *) {}
-+    virtual void handleEnterNotifyEvent(const xcb_enter_notify_event_t *) {}
-+    virtual void handleLeaveNotifyEvent(const xcb_leave_notify_event_t *) {}
-+    virtual void handleFocusInEvent(const xcb_focus_in_event_t *) {}
-+    virtual void handleFocusOutEvent(const xcb_focus_out_event_t *) {}
-+    virtual void handlePropertyNotifyEvent(const xcb_property_notify_event_t *) {}
-+#if QT_CONFIG(xinput2)
-+    virtual void handleXIMouseEvent(xcb_ge_event_t *, Qt::MouseEventSource = Qt::MouseEventNotSynthesized) {}
-+    virtual void handleXIEnterLeave(xcb_ge_event_t *) {}
-+#endif
-+    virtual QXcbWindow *toWindow() { return 0; }
-+};
-+
-+typedef QHash<xcb_window_t, QXcbWindowEventListener *> WindowMapper;
-+
-+class QXcbSyncWindowRequest : public QEvent
-+{
-+public:
-+    QXcbSyncWindowRequest(QXcbWindow *w) : QEvent(QEvent::Type(QEvent::User + 1)), m_window(w) { }
-+
-+    QXcbWindow *window() const { return m_window; }
-+    void invalidate();
-+
-+private:
-+    QXcbWindow *m_window;
-+};
-+
-+class QAbstractEventDispatcher;
-+class Q_XCB_EXPORT QXcbConnection : public QObject
-+{
-+    Q_OBJECT
-+public:
-+    QXcbConnection(QXcbNativeInterface *nativeInterface, bool canGrabServer, xcb_visualid_t defaultVisualId, const char *displayName = 0);
-+    ~QXcbConnection();
-+
-+    QXcbConnection *connection() const { return const_cast<QXcbConnection *>(this); }
-+    bool isConnected() const;
-+
-+    const QList<QXcbVirtualDesktop *> &virtualDesktops() const { return m_virtualDesktops; }
-+    const QList<QXcbScreen *> &screens() const { return m_screens; }
-+    int primaryScreenNumber() const { return m_primaryScreenNumber; }
-+    QXcbVirtualDesktop *primaryVirtualDesktop() const { return m_virtualDesktops.value(m_primaryScreenNumber); }
-+    QXcbScreen *primaryScreen() const;
-+
-+    inline xcb_atom_t atom(QXcbAtom::Atom atom) const { return m_allAtoms[atom]; }
-+    QXcbAtom::Atom qatom(xcb_atom_t atom) const;
-+    xcb_atom_t internAtom(const char *name);
-+    QByteArray atomName(xcb_atom_t atom);
-+
-+    const char *displayName() const { return m_displayName.constData(); }
-+    xcb_connection_t *xcb_connection() const { return m_connection; }
-+    const xcb_setup_t *setup() const { return m_setup; }
-+    const xcb_format_t *formatForDepth(uint8_t depth) const;
-+
-+    QXcbKeyboard *keyboard() const { return m_keyboard; }
-+
-+#ifndef QT_NO_CLIPBOARD
-+    QXcbClipboard *clipboard() const { return m_clipboard; }
-+#endif
-+#ifndef QT_NO_DRAGANDDROP
-+    QXcbDrag *drag() const { return m_drag; }
-+#endif
-+
-+    QXcbWMSupport *wmSupport() const { return m_wmSupport.data(); }
-+    xcb_window_t rootWindow();
-+    xcb_window_t clientLeader();
-+
-+    bool hasDefaultVisualId() const { return m_defaultVisualId != UINT_MAX; }
-+    xcb_visualid_t defaultVisualId() const { return m_defaultVisualId; }
-+
-+#if QT_CONFIG(xcb_xlib)
-+    void *xlib_display() const;
-+    void *createVisualInfoForDefaultVisualId() const;
-+#endif
-+    void sync();
-+
-+    void handleXcbError(xcb_generic_error_t *error);
-+    void handleXcbEvent(xcb_generic_event_t *event);
-+    void printXcbEvent(const QLoggingCategory &log, const char *message,
-+                       xcb_generic_event_t *event) const;
-+
-+    void addWindowEventListener(xcb_window_t id, QXcbWindowEventListener *eventListener);
-+    void removeWindowEventListener(xcb_window_t id);
-+    QXcbWindowEventListener *windowEventListenerFromId(xcb_window_t id);
-+    QXcbWindow *platformWindowFromId(xcb_window_t id);
-+
-+    template<typename T>
-+    inline xcb_generic_event_t *checkEvent(T &checker);
-+
-+    typedef bool (*PeekFunc)(QXcbConnection *, xcb_generic_event_t *);
-+    void addPeekFunc(PeekFunc f);
-+
-+    // Peek at all queued events
-+    qint32 generatePeekerId();
-+    bool removePeekerId(qint32 peekerId);
-+    enum PeekOption { PeekDefault = 0, PeekFromCachedIndex = 1 }; // see qx11info_x11.h
-+    Q_DECLARE_FLAGS(PeekOptions, PeekOption)
-+    typedef bool (*PeekerCallback)(xcb_generic_event_t *event, void *peekerData);
-+    bool peekEventQueue(PeekerCallback peeker, void *peekerData = nullptr,
-+                        PeekOptions option = PeekDefault, qint32 peekerId = -1);
-+
-+    inline xcb_timestamp_t time() const { return m_time; }
-+    inline void setTime(xcb_timestamp_t t) { if (t > m_time) m_time = t; }
-+
-+    inline xcb_timestamp_t netWmUserTime() const { return m_netWmUserTime; }
-+    inline void setNetWmUserTime(xcb_timestamp_t t) { if (t > m_netWmUserTime) m_netWmUserTime = t; }
-+
-+    bool hasXFixes() const { return has_xfixes; }
-+    bool hasXShape() const { return has_shape_extension; }
-+    bool hasXRandr() const { return has_randr_extension; }
-+    bool hasInputShape() const { return has_input_shape; }
-+    bool hasXKB() const { return has_xkb; }
-+    bool hasXRender() const { return has_render_extension; }
-+    bool hasXInput2() const { return m_xi2Enabled; }
-+
-+    bool threadedEventHandling() const { return m_reader->isRunning(); }
-+
-+    xcb_timestamp_t getTimestamp();
-+    xcb_window_t getSelectionOwner(xcb_atom_t atom) const;
-+    xcb_window_t getQtSelectionOwner();
-+
-+    void setButtonState(Qt::MouseButton button, bool down) { m_buttonState.setFlag(button, down); }
-+    Qt::MouseButtons buttonState() const { return m_buttonState; }
-+    Qt::MouseButton translateMouseButton(xcb_button_t s);
-+
-+    QXcbWindow *focusWindow() const { return m_focusWindow; }
-+    void setFocusWindow(QWindow *);
-+    QXcbWindow *mouseGrabber() const { return m_mouseGrabber; }
-+    void setMouseGrabber(QXcbWindow *);
-+    QXcbWindow *mousePressWindow() const { return m_mousePressWindow; }
-+    void setMousePressWindow(QXcbWindow *);
-+
-+    QByteArray startupId() const { return m_startupId; }
-+    void setStartupId(const QByteArray &nextId) { m_startupId = nextId; }
-+    void clearStartupId() { m_startupId.clear(); }
-+
-+    void grabServer();
-+    void ungrabServer();
-+
-+    QXcbNativeInterface *nativeInterface() const { return m_nativeInterface; }
-+
-+    QXcbSystemTrayTracker *systemTrayTracker() const;
-+    static bool xEmbedSystemTrayAvailable();
-+    static bool xEmbedSystemTrayVisualHasAlphaChannel();
-+
-+#if QT_CONFIG(xinput2)
-+    void xi2SelectStateEvents();
-+    void xi2SelectDeviceEvents(xcb_window_t window);
-+    void xi2SelectDeviceEventsCompatibility(xcb_window_t window);
-+    bool xi2SetMouseGrabEnabled(xcb_window_t w, bool grab);
-+    bool xi2MouseEventsDisabled() const;
-+    bool isAtLeastXI21() const { return m_xi2Enabled && m_xi2Minor >= 1; }
-+    bool isAtLeastXI22() const { return m_xi2Enabled && m_xi2Minor >= 2; }
-+    Qt::MouseButton xiToQtMouseButton(uint32_t b);
-+#ifdef XCB_USE_XINPUT21
-+    void xi2UpdateScrollingDevices();
-+#endif
-+#ifdef XCB_USE_XINPUT22
-+    bool startSystemResizeForTouchBegin(xcb_window_t window, const QPoint &point, Qt::Corner corner);
-+    bool isTouchScreen(int id);
-+#endif
-+#endif
-+    QXcbEventReader *eventReader() const { return m_reader; }
-+
-+    bool canGrab() const { return m_canGrabServer; }
-+
-+    QXcbGlIntegration *glIntegration() const { return m_glIntegration; }
-+
-+protected:
-+    bool event(QEvent *e) override;
-+
-+public slots:
-+    void flush() { xcb_flush(m_connection); }
-+
-+private slots:
-+    void processXcbEvents();
-+
-+private:
-+    void initializeAllAtoms();
-+    void sendConnectionEvent(QXcbAtom::Atom atom, uint id = 0);
-+    void initializeXFixes();
-+    void initializeXRender();
-+    void initializeXRandr();
-+    void initializeXinerama();
-+    void initializeXShape();
-+    void initializeXKB();
-+    void handleClientMessageEvent(const xcb_client_message_event_t *event);
-+    QXcbScreen* findScreenForCrtc(xcb_window_t rootWindow, xcb_randr_crtc_t crtc) const;
-+    QXcbScreen* findScreenForOutput(xcb_window_t rootWindow, xcb_randr_output_t output) const;
-+    QXcbVirtualDesktop* virtualDesktopForRootWindow(xcb_window_t rootWindow) const;
-+    void updateScreens(const xcb_randr_notify_event_t *event);
-+    bool checkOutputIsPrimary(xcb_window_t rootWindow, xcb_randr_output_t output);
-+    void updateScreen(QXcbScreen *screen, const xcb_randr_output_change_t &outputChange);
-+    QXcbScreen *createScreen(QXcbVirtualDesktop *virtualDesktop,
-+                             const xcb_randr_output_change_t &outputChange,
-+                             xcb_randr_get_output_info_reply_t *outputInfo);
-+    void destroyScreen(QXcbScreen *screen);
-+    void initializeScreens();
-+    bool compressEvent(xcb_generic_event_t *event, int currentIndex, QXcbEventArray *eventqueue) const;
-+
-+    bool m_xi2Enabled = false;
-+#if QT_CONFIG(xinput2)
-+    int m_xi2Minor = -1;
-+    void initializeXInput2();
-+    void xi2SetupDevice(void *info, bool removeExisting = true);
-+    void xi2SetupDevices();
-+    struct TouchDeviceData {
-+        QTouchDevice *qtTouchDevice = nullptr;
-+        QHash<int, QWindowSystemInterface::TouchPoint> touchPoints;
-+        QHash<int, QPointF> pointPressedPosition; // in screen coordinates where each point was pressed
-+        struct ValuatorClassInfo {
-+            double min = 0;
-+            double max = 0;
-+            int number = -1;
-+            QXcbAtom::Atom label;
-+        };
-+        QVector<ValuatorClassInfo> valuatorInfo;
-+
-+        // Stuff that is relevant only for touchpads
-+        QPointF firstPressedPosition;        // in screen coordinates where the first point was pressed
-+        QPointF firstPressedNormalPosition;  // device coordinates (0 to 1, 0 to 1) where the first point was pressed
-+        QSizeF size;                         // device size in mm
-+        bool providesTouchOrientation = false;
-+    };
-+    TouchDeviceData *populateTouchDevices(void *info);
-+    TouchDeviceData *touchDeviceForId(int id);
-+    void xi2HandleEvent(xcb_ge_event_t *event);
-+    void xi2HandleHierarchyEvent(void *event);
-+    void xi2HandleDeviceChangedEvent(void *event);
-+    int m_xiOpCode, m_xiEventBase, m_xiErrorBase;
-+#ifdef XCB_USE_XINPUT22
-+    void xi2ProcessTouch(void *xiDevEvent, QXcbWindow *platformWindow);
-+#endif // XCB_USE_XINPUT22
-+#if QT_CONFIG(tabletevent)
-+    struct TabletData {
-+        int deviceId = 0;
-+        QTabletEvent::PointerType pointerType = QTabletEvent::UnknownPointer;
-+        QTabletEvent::TabletDevice tool = QTabletEvent::Stylus;
-+        Qt::MouseButtons buttons = 0;
-+        qint64 serialId = 0;
-+        bool inProximity = false;
-+        struct ValuatorClassInfo {
-+            double minVal = 0;
-+            double maxVal = 0;
-+            double curVal = 0;
-+            int number = -1;
-+        };
-+        QHash<int, ValuatorClassInfo> valuatorInfo;
-+    };
-+    friend class QTypeInfo<TabletData>;
-+    friend class QTypeInfo<TabletData::ValuatorClassInfo>;
-+    bool xi2HandleTabletEvent(const void *event, TabletData *tabletData);
-+    void xi2ReportTabletEvent(const void *event, TabletData *tabletData);
-+    QVector<TabletData> m_tabletData;
-+    TabletData *tabletDataForDevice(int id);
-+#endif // QT_CONFIG(tabletevent)
-+    struct ScrollingDevice {
-+        int deviceId = 0;
-+        int verticalIndex = 0;
-+        int horizontalIndex = 0;
-+        double verticalIncrement = 0;
-+        double horizontalIncrement = 0;
-+        Qt::Orientations orientations = 0;
-+        Qt::Orientations legacyOrientations = 0;
-+        QPointF lastScrollPosition;
-+    };
-+    QHash<int, ScrollingDevice> m_scrollingDevices;
-+#ifdef XCB_USE_XINPUT21
-+    void xi2HandleScrollEvent(void *event, ScrollingDevice &scrollingDevice);
-+    void xi2UpdateScrollingDevice(ScrollingDevice &scrollingDevice);
-+    ScrollingDevice *scrollingDeviceForId(int id);
-+#endif
-+
-+    static bool xi2GetValuatorValueIfSet(const void *event, int valuatorNum, double *value);
-+    static void xi2PrepareXIGenericDeviceEvent(xcb_ge_event_t *event);
-+#endif
-+
-+    xcb_connection_t *m_connection = nullptr;
-+    const xcb_setup_t *m_setup = nullptr;
-+    const bool m_canGrabServer;
-+    const xcb_visualid_t m_defaultVisualId;
-+
-+    QList<QXcbVirtualDesktop *> m_virtualDesktops;
-+    QList<QXcbScreen *> m_screens;
-+    int m_primaryScreenNumber = 0;
-+
-+    xcb_atom_t m_allAtoms[QXcbAtom::NAtoms];
-+
-+    xcb_timestamp_t m_time = XCB_CURRENT_TIME;
-+    xcb_timestamp_t m_netWmUserTime = XCB_CURRENT_TIME;
-+
-+    QByteArray m_displayName;
-+
-+    QXcbKeyboard *m_keyboard = nullptr;
-+#ifndef QT_NO_CLIPBOARD
-+    QXcbClipboard *m_clipboard = nullptr;
-+#endif
-+#ifndef QT_NO_DRAGANDDROP
-+    QXcbDrag *m_drag = nullptr;
-+#endif
-+    QScopedPointer<QXcbWMSupport> m_wmSupport;
-+    QXcbNativeInterface *m_nativeInterface = nullptr;
-+
-+#if QT_CONFIG(xcb_xlib)
-+    void *m_xlib_display = nullptr;
-+#endif
-+    QXcbEventReader *m_reader = nullptr;
-+
-+#if QT_CONFIG(xinput2)
-+    QHash<int, TouchDeviceData> m_touchDevices;
-+#ifdef XCB_USE_XINPUT22
-+    struct StartSystemResizeInfo {
-+        xcb_window_t window = XCB_NONE;
-+        uint16_t deviceid;
-+        uint32_t pointid;
-+        Qt::Corner corner;
-+    } m_startSystemResizeInfo;
-+#endif
-+#endif
-+    WindowMapper m_mapper;
-+
-+    QVector<PeekFunc> m_peekFuncs;
-+
-+    uint32_t xfixes_first_event = 0;
-+    uint32_t xrandr_first_event = 0;
-+    uint32_t xkb_first_event = 0;
-+
-+    bool has_xfixes = false;
-+    bool has_xinerama_extension = false;
-+    bool has_shape_extension = false;
-+    bool has_randr_extension = false;
-+    bool has_input_shape;
-+    bool has_xkb = false;
-+    bool has_render_extension = false;
-+
-+    Qt::MouseButtons m_buttonState = 0;
-+
-+    QXcbWindow *m_focusWindow = nullptr;
-+    QXcbWindow *m_mouseGrabber = nullptr;
-+    QXcbWindow *m_mousePressWindow = nullptr;
-+
-+    xcb_window_t m_clientLeader = 0;
-+    QByteArray m_startupId;
-+    QXcbSystemTrayTracker *m_systemTrayTracker = nullptr;
-+    QXcbGlIntegration *m_glIntegration = nullptr;
-+    bool m_xiGrab = false;
-+
-+    xcb_window_t m_qtSelectionOwner = 0;
-+
-+    bool m_mainEventLoopFlushedQueue = false;
-+    qint32 m_peekerIdSource = 0;
-+    bool m_peekerIndexCacheDirty = false;
-+    QHash<qint32, qint32> m_peekerToCachedIndex;
-+    friend class QXcbEventReader;
-+};
-+#if QT_CONFIG(xinput2)
-+#if QT_CONFIG(tabletevent)
-+Q_DECLARE_TYPEINFO(QXcbConnection::TabletData::ValuatorClassInfo, Q_PRIMITIVE_TYPE);
-+Q_DECLARE_TYPEINFO(QXcbConnection::TabletData, Q_MOVABLE_TYPE);
-+#endif
-+#endif
-+
-+template<typename T>
-+xcb_generic_event_t *QXcbConnection::checkEvent(T &checker)
-+{
-+    QXcbEventArray *eventqueue = m_reader->lock();
-+
-+    for (int i = 0; i < eventqueue->size(); ++i) {
-+        xcb_generic_event_t *event = eventqueue->at(i);
-+        if (checker.checkEvent(event)) {
-+            (*eventqueue)[i] = 0;
-+            m_reader->unlock();
-+            return event;
-+        }
-+    }
-+    m_reader->unlock();
-+    return 0;
-+}
-+
-+class QXcbConnectionGrabber
-+{
-+public:
-+    QXcbConnectionGrabber(QXcbConnection *connection);
-+    ~QXcbConnectionGrabber();
-+    void release();
-+private:
-+    QXcbConnection *m_connection;
-+};
-+
-+#define Q_XCB_REPLY_CONNECTION_ARG(connection, ...) connection
-+
-+#define Q_XCB_REPLY(call, ...) \
-+    std::unique_ptr<call##_reply_t, decltype(std::free) *>( \
-+        call##_reply(Q_XCB_REPLY_CONNECTION_ARG(__VA_ARGS__), call(__VA_ARGS__), nullptr), \
-+        std::free \
-+    )
-+
-+#define Q_XCB_REPLY_UNCHECKED(call, ...) \
-+    std::unique_ptr<call##_reply_t, decltype(std::free) *>( \
-+        call##_reply(Q_XCB_REPLY_CONNECTION_ARG(__VA_ARGS__), call##_unchecked(__VA_ARGS__), nullptr), \
-+        std::free \
-+    )
-+
-+template <typename T>
-+union q_padded_xcb_event {
-+  T event;
-+  char padding[32];
-+};
-+
-+// The xcb_send_event() requires all events to have 32 bytes. It calls memcpy() on the
-+// passed in event. If the passed in event is less than 32 bytes, memcpy() reaches into
-+// unrelated memory.
-+#define Q_DECLARE_XCB_EVENT(event_var, event_type) \
-+    q_padded_xcb_event<event_type> store = {}; \
-+    auto &event_var = store.event;
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.10.1/qxcbcursor.h b/libqt5xcbqpa-dev/5.10.1/qxcbcursor.h
-new file mode 100644
-index 0000000..e3f8851
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.10.1/qxcbcursor.h
-@@ -0,0 +1,115 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBCURSOR_H
-+#define QXCBCURSOR_H
-+
-+#include <qpa/qplatformcursor.h>
-+#include "qxcbscreen.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+#ifndef QT_NO_CURSOR
-+
-+struct QXcbCursorCacheKey
-+{
-+    explicit QXcbCursorCacheKey(const QCursor &c);
-+    explicit QXcbCursorCacheKey(Qt::CursorShape s) : shape(s), bitmapCacheKey(0), maskCacheKey(0) {}
-+    QXcbCursorCacheKey() : shape(Qt::CustomCursor), bitmapCacheKey(0), maskCacheKey(0) {}
-+
-+    Qt::CursorShape shape;
-+    qint64 bitmapCacheKey;
-+    qint64 maskCacheKey;
-+};
-+
-+inline bool operator==(const QXcbCursorCacheKey &k1, const QXcbCursorCacheKey &k2)
-+{
-+    return k1.shape == k2.shape && k1.bitmapCacheKey == k2.bitmapCacheKey && k1.maskCacheKey == k2.maskCacheKey;
-+}
-+
-+inline uint qHash(const QXcbCursorCacheKey &k, uint seed) Q_DECL_NOTHROW
-+{
-+    return (uint(k.shape) + uint(k.bitmapCacheKey) + uint(k.maskCacheKey)) ^ seed;
-+}
-+
-+#endif // !QT_NO_CURSOR
-+
-+class QXcbCursor : public QXcbObject, public QPlatformCursor
-+{
-+public:
-+    QXcbCursor(QXcbConnection *conn, QXcbScreen *screen);
-+    ~QXcbCursor();
-+#ifndef QT_NO_CURSOR
-+    void changeCursor(QCursor *cursor, QWindow *widget) override;
-+#endif
-+    QPoint pos() const override;
-+    void setPos(const QPoint &pos) override;
-+
-+    static void queryPointer(QXcbConnection *c, QXcbVirtualDesktop **virtualDesktop, QPoint *pos, int *keybMask = 0);
-+
-+#ifndef QT_NO_CURSOR
-+    xcb_cursor_t xcbCursor(const QCursor &c) const
-+        { return m_cursorHash.value(QXcbCursorCacheKey(c), xcb_cursor_t(0)); }
-+#endif
-+
-+private:
-+#ifndef QT_NO_CURSOR
-+    typedef QHash<QXcbCursorCacheKey, xcb_cursor_t> CursorHash;
-+
-+    xcb_cursor_t createFontCursor(int cshape);
-+    xcb_cursor_t createBitmapCursor(QCursor *cursor);
-+    xcb_cursor_t createNonStandardCursor(int cshape);
-+#endif
-+
-+    QXcbScreen *m_screen;
-+#ifndef QT_NO_CURSOR
-+    CursorHash m_cursorHash;
-+#endif
-+#if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
-+    static void cursorThemePropertyChanged(QXcbVirtualDesktop *screen,
-+                                           const QByteArray &name,
-+                                           const QVariant &property,
-+                                           void *handle);
-+#endif
-+    bool m_gtkCursorThemeInitialized;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.10.1/qxcbdrag.h b/libqt5xcbqpa-dev/5.10.1/qxcbdrag.h
-new file mode 100644
-index 0000000..31f1c47
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.10.1/qxcbdrag.h
-@@ -0,0 +1,180 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the QtGui module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBDRAG_H
-+#define QXCBDRAG_H
-+
-+#include <qpa/qplatformdrag.h>
-+#include <private/qsimpledrag_p.h>
-+#include <qxcbobject.h>
-+#include <xcb/xcb.h>
-+#include <qpoint.h>
-+#include <qrect.h>
-+#include <qsharedpointer.h>
-+#include <qpointer.h>
-+#include <qvector.h>
-+#include <qdatetime.h>
-+#include <qpixmap.h>
-+#include <qbackingstore.h>
-+
-+#include <QtCore/QDebug>
-+
-+QT_BEGIN_NAMESPACE
-+
-+#ifndef QT_NO_DRAGANDDROP
-+
-+class QWindow;
-+class QPlatformWindow;
-+class QXcbConnection;
-+class QXcbWindow;
-+class QXcbDropData;
-+class QXcbScreen;
-+class QDrag;
-+class QShapedPixmapWindow;
-+
-+class QXcbDrag : public QXcbObject, public QBasicDrag
-+{
-+public:
-+    QXcbDrag(QXcbConnection *c);
-+    ~QXcbDrag();
-+
-+    bool eventFilter(QObject *o, QEvent *e) override;
-+
-+    void startDrag() override;
-+    void cancel() override;
-+    void move(const QPoint &globalPos) override;
-+    void drop(const QPoint &globalPos) override;
-+    void endDrag() override;
-+
-+    void handleEnter(QPlatformWindow *window, const xcb_client_message_event_t *event, xcb_window_t proxy = 0);
-+    void handlePosition(QPlatformWindow *w, const xcb_client_message_event_t *event);
-+    void handleLeave(QPlatformWindow *w, const xcb_client_message_event_t *event);
-+    void handleDrop(QPlatformWindow *, const xcb_client_message_event_t *event);
-+
-+    void handleStatus(const xcb_client_message_event_t *event);
-+    void handleSelectionRequest(const xcb_selection_request_event_t *event);
-+    void handleFinished(const xcb_client_message_event_t *event);
-+
-+    bool dndEnable(QXcbWindow *win, bool on);
-+    bool ownsDragObject() const override;
-+
-+    void updatePixmap();
-+    xcb_timestamp_t targetTime() { return target_time; }
-+
-+protected:
-+    void timerEvent(QTimerEvent* e) override;
-+
-+private:
-+    friend class QXcbDropData;
-+
-+    void init();
-+
-+    void handle_xdnd_position(QPlatformWindow *w, const xcb_client_message_event_t *event);
-+    void handle_xdnd_status(const xcb_client_message_event_t *event);
-+    void send_leave();
-+
-+    Qt::DropAction toDropAction(xcb_atom_t atom) const;
-+    xcb_atom_t toXdndAction(Qt::DropAction a) const;
-+
-+    QPointer<QWindow> initiatorWindow;
-+    QPointer<QWindow> currentWindow;
-+    QPoint currentPosition;
-+
-+    QXcbDropData *m_dropData;
-+    Qt::DropAction accepted_drop_action;
-+
-+    QWindow *desktop_proxy;
-+
-+    xcb_atom_t xdnd_dragsource;
-+
-+    // the types in this drop. 100 is no good, but at least it's big.
-+    enum { xdnd_max_type = 100 };
-+    QVector<xcb_atom_t> xdnd_types;
-+
-+    // timestamp from XdndPosition and XdndDroptime for retrieving the data
-+    xcb_timestamp_t target_time;
-+    xcb_timestamp_t source_time;
-+
-+    // rectangle in which the answer will be the same
-+    QRect source_sameanswer;
-+    bool waiting_for_status;
-+
-+    // helpers for setting executed drop action outside application
-+    bool dropped;
-+    bool canceled;
-+
-+    // top-level window we sent position to last.
-+    xcb_window_t current_target;
-+    // window to send events to (always valid if current_target)
-+    xcb_window_t current_proxy_target;
-+
-+    QXcbVirtualDesktop *current_virtual_desktop;
-+
-+    // 10 minute timer used to discard old XdndDrop transactions
-+    enum { XdndDropTransactionTimeout = 600000 };
-+    int cleanup_timer;
-+
-+    QVector<xcb_atom_t> drag_types;
-+
-+    struct Transaction
-+    {
-+        xcb_timestamp_t timestamp;
-+        xcb_window_t target;
-+        xcb_window_t proxy_target;
-+        QPlatformWindow *targetWindow;
-+//        QWidget *embedding_widget;
-+        QPointer<QDrag> drag;
-+        QTime time;
-+    };
-+    friend class QTypeInfo<Transaction>;
-+    QVector<Transaction> transactions;
-+
-+    int transaction_expiry_timer;
-+    void restartDropExpiryTimer();
-+    int findTransactionByWindow(xcb_window_t window);
-+    int findTransactionByTime(xcb_timestamp_t timestamp);
-+    xcb_window_t findRealWindow(const QPoint & pos, xcb_window_t w, int md, bool ignoreNonXdndAwareWindows);
-+};
-+Q_DECLARE_TYPEINFO(QXcbDrag::Transaction, Q_MOVABLE_TYPE);
-+
-+#endif // QT_NO_DRAGANDDROP
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.10.1/qxcbexport.h b/libqt5xcbqpa-dev/5.10.1/qxcbexport.h
-new file mode 100644
-index 0000000..4db23a9
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.10.1/qxcbexport.h
-@@ -0,0 +1,55 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBEXPORT_H
-+#define QXCBEXPORT_H
-+
-+#include <QtCore/qglobal.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+#  if defined(QT_BUILD_XCB_PLUGIN)
-+#    define Q_XCB_EXPORT Q_DECL_EXPORT
-+#  else
-+#    define Q_XCB_EXPORT Q_DECL_IMPORT
-+#  endif
-+
-+QT_END_NAMESPACE
-+#endif //QXCBEXPORT_H
-+
-diff --git a/libqt5xcbqpa-dev/5.10.1/qxcbimage.h b/libqt5xcbqpa-dev/5.10.1/qxcbimage.h
-new file mode 100644
-index 0000000..a9071a4
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.10.1/qxcbimage.h
-@@ -0,0 +1,62 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBIMAGE_H
-+#define QXCBIMAGE_H
-+
-+#include "qxcbscreen.h"
-+#include <QtCore/QPair>
-+#include <QtGui/QImage>
-+#include <QtGui/QPixmap>
-+#include <xcb/xcb_image.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+QImage::Format qt_xcb_imageFormatForVisual(QXcbConnection *connection,
-+                                           uint8_t depth, const xcb_visualtype_t *visual);
-+QPixmap qt_xcb_pixmapFromXPixmap(QXcbConnection *connection, xcb_pixmap_t pixmap,
-+                                 int width, int height, int depth,
-+                                 const xcb_visualtype_t *visual);
-+xcb_pixmap_t qt_xcb_XPixmapFromBitmap(QXcbScreen *screen, const QImage &image);
-+xcb_cursor_t qt_xcb_createCursorXRender(QXcbScreen *screen, const QImage &image,
-+                                        const QPoint &spot);
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.10.1/qxcbintegration.h b/libqt5xcbqpa-dev/5.10.1/qxcbintegration.h
-new file mode 100644
-index 0000000..186b6c5
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.10.1/qxcbintegration.h
-@@ -0,0 +1,152 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBINTEGRATION_H
-+#define QXCBINTEGRATION_H
-+
-+#include <QtGui/private/qtguiglobal_p.h>
-+#include <qpa/qplatformintegration.h>
-+#include <qpa/qplatformscreen.h>
-+
-+#include "qxcbexport.h"
-+
-+#include <xcb/xcb.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbConnection;
-+class QAbstractEventDispatcher;
-+class QXcbNativeInterface;
-+class QXcbScreen;
-+
-+class Q_XCB_EXPORT QXcbIntegration : public QPlatformIntegration
-+{
-+public:
-+    QXcbIntegration(const QStringList &parameters, int &argc, char **argv);
-+    ~QXcbIntegration();
-+
-+    QPlatformPixmap *createPlatformPixmap(QPlatformPixmap::PixelType type) const override;
-+    QPlatformWindow *createPlatformWindow(QWindow *window) const override;
-+    QPlatformWindow *createForeignWindow(QWindow *window, WId nativeHandle) const override;
-+#ifndef QT_NO_OPENGL
-+    QPlatformOpenGLContext *createPlatformOpenGLContext(QOpenGLContext *context) const override;
-+#endif
-+    QPlatformBackingStore *createPlatformBackingStore(QWindow *window) const override;
-+
-+    QPlatformOffscreenSurface *createPlatformOffscreenSurface(QOffscreenSurface *surface) const override;
-+
-+    bool hasCapability(Capability cap) const override;
-+    QAbstractEventDispatcher *createEventDispatcher() const override;
-+    void initialize() override;
-+
-+    void moveToScreen(QWindow *window, int screen);
-+
-+    QPlatformFontDatabase *fontDatabase() const override;
-+
-+    QPlatformNativeInterface *nativeInterface()const override;
-+
-+#ifndef QT_NO_CLIPBOARD
-+    QPlatformClipboard *clipboard() const override;
-+#endif
-+#ifndef QT_NO_DRAGANDDROP
-+    QPlatformDrag *drag() const override;
-+#endif
-+
-+    QPlatformInputContext *inputContext() const override;
-+
-+#ifndef QT_NO_ACCESSIBILITY
-+    QPlatformAccessibility *accessibility() const override;
-+#endif
-+
-+    QPlatformServices *services() const override;
-+
-+    Qt::KeyboardModifiers queryKeyboardModifiers() const override;
-+    QList<int> possibleKeys(const QKeyEvent *e) const override;
-+
-+    QStringList themeNames() const override;
-+    QPlatformTheme *createPlatformTheme(const QString &name) const override;
-+    QVariant styleHint(StyleHint hint) const override;
-+
-+    QXcbConnection *defaultConnection() const { return m_connections.first(); }
-+
-+    QByteArray wmClass() const;
-+
-+#if QT_CONFIG(xcb_sm)
-+    QPlatformSessionManager *createPlatformSessionManager(const QString &id, const QString &key) const override;
-+#endif
-+
-+    void sync() override;
-+
-+    void beep() const override;
-+
-+    bool nativePaintingEnabled() const;
-+
-+#if QT_CONFIG(vulkan)
-+    QPlatformVulkanInstance *createPlatformVulkanInstance(QVulkanInstance *instance) const override;
-+#endif
-+
-+    static QXcbIntegration *instance() { return m_instance; }
-+
-+private:
-+    QList<QXcbConnection *> m_connections;
-+
-+    QScopedPointer<QPlatformFontDatabase> m_fontDatabase;
-+    QScopedPointer<QXcbNativeInterface> m_nativeInterface;
-+
-+    QScopedPointer<QPlatformInputContext> m_inputContext;
-+
-+#ifndef QT_NO_ACCESSIBILITY
-+    mutable QScopedPointer<QPlatformAccessibility> m_accessibility;
-+#endif
-+
-+    QScopedPointer<QPlatformServices> m_services;
-+
-+    friend class QXcbConnection; // access QPlatformIntegration::screenAdded()
-+
-+    mutable QByteArray m_wmClass;
-+    const char *m_instanceName;
-+    bool m_canGrab;
-+    xcb_visualid_t m_defaultVisualId;
-+
-+    static QXcbIntegration *m_instance;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.10.1/qxcbkeyboard.h b/libqt5xcbqpa-dev/5.10.1/qxcbkeyboard.h
-new file mode 100644
-index 0000000..7f1c51f
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.10.1/qxcbkeyboard.h
-@@ -0,0 +1,151 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBKEYBOARD_H
-+#define QXCBKEYBOARD_H
-+
-+#include "qxcbobject.h"
-+
-+#include <xcb/xcb_keysyms.h>
-+
-+#include <xkbcommon/xkbcommon.h>
-+#if QT_CONFIG(xkb)
-+#include <xkbcommon/xkbcommon-x11.h>
-+#endif
-+
-+#include <QEvent>
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QWindow;
-+
-+class QXcbKeyboard : public QXcbObject
-+{
-+public:
-+    QXcbKeyboard(QXcbConnection *connection);
-+
-+    ~QXcbKeyboard();
-+
-+    void handleKeyPressEvent(const xcb_key_press_event_t *event);
-+    void handleKeyReleaseEvent(const xcb_key_release_event_t *event);
-+    void handleMappingNotifyEvent(const void *event);
-+
-+    Qt::KeyboardModifiers translateModifiers(int s) const;
-+    void updateKeymap();
-+    QList<int> possibleKeys(const QKeyEvent *e) const;
-+
-+    // when XKEYBOARD not present on the X server
-+    void updateXKBMods();
-+    quint32 xkbModMask(quint16 state);
-+    void updateXKBStateFromCore(quint16 state);
-+#if QT_CONFIG(xinput2)
-+    void updateXKBStateFromXI(void *modInfo, void *groupInfo);
-+#endif
-+#if QT_CONFIG(xkb)
-+    // when XKEYBOARD is present on the X server
-+    int coreDeviceId() const { return core_device_id; }
-+    void updateXKBState(xcb_xkb_state_notify_event_t *state);
-+#endif
-+
-+protected:
-+    void handleKeyEvent(xcb_window_t sourceWindow, QEvent::Type type, xcb_keycode_t code, quint16 state, xcb_timestamp_t time);
-+
-+    void resolveMaskConflicts();
-+    QString lookupString(struct xkb_state *state, xcb_keycode_t code) const;
-+    int keysymToQtKey(xcb_keysym_t keysym) const;
-+    int keysymToQtKey(xcb_keysym_t keysym, Qt::KeyboardModifiers &modifiers, const QString &text) const;
-+    void printKeymapError(const char *error) const;
-+
-+    void readXKBConfig();
-+    void clearXKBConfig();
-+    // when XKEYBOARD not present on the X server
-+    void updateModifiers();
-+    // when XKEYBOARD is present on the X server
-+    void updateVModMapping();
-+    void updateVModToRModMapping();
-+
-+    xkb_keysym_t lookupLatinKeysym(xkb_keycode_t keycode) const;
-+    void checkForLatinLayout();
-+
-+private:
-+    void updateXKBStateFromState(struct xkb_state *kb_state, quint16 state);
-+
-+    bool m_config = false;
-+    xcb_keycode_t m_autorepeat_code = 0;
-+
-+    struct xkb_context *xkb_context = nullptr;
-+    struct xkb_keymap *xkb_keymap = nullptr;
-+    struct xkb_state *xkb_state = nullptr;
-+    struct xkb_rule_names xkb_names;
-+    mutable struct xkb_keymap *latin_keymap = nullptr;
-+
-+    struct _mod_masks {
-+        uint alt;
-+        uint altgr;
-+        uint meta;
-+        uint super;
-+        uint hyper;
-+    };
-+
-+    _mod_masks rmod_masks;
-+
-+    // when XKEYBOARD not present on the X server
-+    xcb_key_symbols_t *m_key_symbols;
-+    struct _xkb_mods {
-+        xkb_mod_index_t shift;
-+        xkb_mod_index_t lock;
-+        xkb_mod_index_t control;
-+        xkb_mod_index_t mod1;
-+        xkb_mod_index_t mod2;
-+        xkb_mod_index_t mod3;
-+        xkb_mod_index_t mod4;
-+        xkb_mod_index_t mod5;
-+    };
-+    _xkb_mods xkb_mods;
-+#if QT_CONFIG(xkb)
-+    // when XKEYBOARD is present on the X server
-+    _mod_masks vmod_masks;
-+    int core_device_id;
-+#endif
-+    bool m_hasLatinLayout = false;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.10.1/qxcbmime.h b/libqt5xcbqpa-dev/5.10.1/qxcbmime.h
-new file mode 100644
-index 0000000..561631a
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.10.1/qxcbmime.h
-@@ -0,0 +1,75 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBMIME_H
-+#define QXCBMIME_H
-+
-+#include <private/qdnd_p.h>
-+
-+#include <QtGui/QClipboard>
-+
-+#include "qxcbintegration.h"
-+#include "qxcbconnection.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+#if !(defined(QT_NO_DRAGANDDROP) && defined(QT_NO_CLIPBOARD))
-+
-+class QXcbMime : public QInternalMimeData {
-+    Q_OBJECT
-+public:
-+    QXcbMime();
-+    ~QXcbMime();
-+
-+    static QVector<xcb_atom_t> mimeAtomsForFormat(QXcbConnection *connection, const QString &format);
-+    static QString mimeAtomToString(QXcbConnection *connection, xcb_atom_t a);
-+    static bool mimeDataForAtom(QXcbConnection *connection, xcb_atom_t a, QMimeData *mimeData, QByteArray *data,
-+                                xcb_atom_t *atomFormat, int *dataFormat);
-+    static QVariant mimeConvertToFormat(QXcbConnection *connection, xcb_atom_t a, const QByteArray &data, const QString &format,
-+                                        QVariant::Type requestedType, const QByteArray &encoding);
-+    static xcb_atom_t mimeAtomForFormat(QXcbConnection *connection, const QString &format, QVariant::Type requestedType,
-+                                        const QVector<xcb_atom_t> &atoms, QByteArray *requestedEncoding);
-+};
-+
-+#endif // !(defined(QT_NO_DRAGANDDROP) && defined(QT_NO_CLIPBOARD))
-+
-+
-+QT_END_NAMESPACE
-+
-+#endif // QXCBMIME_H
-diff --git a/libqt5xcbqpa-dev/5.10.1/qxcbnativeinterface.h b/libqt5xcbqpa-dev/5.10.1/qxcbnativeinterface.h
-new file mode 100644
-index 0000000..fb0db72
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.10.1/qxcbnativeinterface.h
-@@ -0,0 +1,161 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBNATIVEINTERFACE_H
-+#define QXCBNATIVEINTERFACE_H
-+
-+#include <qpa/qplatformnativeinterface.h>
-+#include <xcb/xcb.h>
-+
-+#include <QtCore/QRect>
-+
-+#include "qxcbexport.h"
-+#include "qxcbconnection.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbScreen;
-+class QXcbNativeInterfaceHandler;
-+
-+class Q_XCB_EXPORT QXcbNativeInterface : public QPlatformNativeInterface
-+{
-+    Q_OBJECT
-+public:
-+    enum ResourceType {
-+        Display,
-+        Connection,
-+        Screen,
-+        AppTime,
-+        AppUserTime,
-+        ScreenHintStyle,
-+        StartupId,
-+        TrayWindow,
-+        GetTimestamp,
-+        X11Screen,
-+        RootWindow,
-+        ScreenSubpixelType,
-+        ScreenAntialiasingEnabled,
-+        AtspiBus,
-+        CompositingEnabled,
-+        VkSurface,
-+        GeneratePeekerId,
-+        RemovePeekerId,
-+        PeekEventQueue
-+    };
-+
-+    QXcbNativeInterface();
-+
-+    void *nativeResourceForIntegration(const QByteArray &resource) override;
-+    void *nativeResourceForContext(const QByteArray &resourceString, QOpenGLContext *context) override;
-+    void *nativeResourceForScreen(const QByteArray &resource, QScreen *screen) override;
-+    void *nativeResourceForWindow(const QByteArray &resourceString, QWindow *window) override;
-+    void *nativeResourceForBackingStore(const QByteArray &resource, QBackingStore *backingStore) override;
-+#ifndef QT_NO_CURSOR
-+    void *nativeResourceForCursor(const QByteArray &resource, const QCursor &cursor) override;
-+#endif
-+
-+    NativeResourceForIntegrationFunction nativeResourceFunctionForIntegration(const QByteArray &resource) override;
-+    NativeResourceForContextFunction nativeResourceFunctionForContext(const QByteArray &resource) override;
-+    NativeResourceForScreenFunction nativeResourceFunctionForScreen(const QByteArray &resource) override;
-+    NativeResourceForWindowFunction nativeResourceFunctionForWindow(const QByteArray &resource) override;
-+    NativeResourceForBackingStoreFunction nativeResourceFunctionForBackingStore(const QByteArray &resource) override;
-+
-+    QFunctionPointer platformFunction(const QByteArray &function) const override;
-+
-+    inline const QByteArray &genericEventFilterType() const { return m_genericEventFilterType; }
-+
-+    void *displayForWindow(QWindow *window);
-+    void *connectionForWindow(QWindow *window);
-+    void *screenForWindow(QWindow *window);
-+    void *appTime(const QXcbScreen *screen);
-+    void *appUserTime(const QXcbScreen *screen);
-+    void *getTimestamp(const QXcbScreen *screen);
-+    void *startupId();
-+    void *x11Screen();
-+    void *rootWindow();
-+    void *display();
-+    void *atspiBus();
-+    void *connection();
-+    static void setStartupId(const char *);
-+    static void setAppTime(QScreen *screen, xcb_timestamp_t time);
-+    static void setAppUserTime(QScreen *screen, xcb_timestamp_t time);
-+
-+    static qint32 generatePeekerId();
-+    static bool removePeekerId(qint32 peekerId);
-+    static bool peekEventQueue(QXcbConnection::PeekerCallback peeker, void *peekerData = nullptr,
-+                               QXcbConnection::PeekOptions option = QXcbConnection::PeekDefault,
-+                               qint32 peekerId = -1);
-+
-+    Q_INVOKABLE bool systemTrayAvailable(const QScreen *screen) const;
-+    Q_INVOKABLE void setParentRelativeBackPixmap(QWindow *window);
-+    Q_INVOKABLE bool systrayVisualHasAlphaChannel();
-+    Q_INVOKABLE bool requestSystemTrayWindowDock(const QWindow *window);
-+    Q_INVOKABLE QRect systemTrayWindowGlobalGeometry(const QWindow *window);
-+
-+    void addHandler(QXcbNativeInterfaceHandler *handler);
-+    void removeHandler(QXcbNativeInterfaceHandler *handler);
-+signals:
-+    void systemTrayWindowChanged(QScreen *screen);
-+
-+private:
-+    xcb_window_t locateSystemTray(xcb_connection_t *conn, const QXcbScreen *screen);
-+
-+    const QByteArray m_genericEventFilterType;
-+
-+    xcb_atom_t m_sysTraySelectionAtom = XCB_ATOM_NONE;
-+
-+    static QXcbScreen *qPlatformScreenForWindow(QWindow *window);
-+
-+    QList<QXcbNativeInterfaceHandler *> m_handlers;
-+    NativeResourceForIntegrationFunction handlerNativeResourceFunctionForIntegration(const QByteArray &resource) const;
-+    NativeResourceForContextFunction handlerNativeResourceFunctionForContext(const QByteArray &resource) const;
-+    NativeResourceForScreenFunction handlerNativeResourceFunctionForScreen(const QByteArray &resource) const;
-+    NativeResourceForWindowFunction handlerNativeResourceFunctionForWindow(const QByteArray &resource) const;
-+    NativeResourceForBackingStoreFunction handlerNativeResourceFunctionForBackingStore(const QByteArray &resource) const;
-+    QFunctionPointer handlerPlatformFunction(const QByteArray &function) const;
-+    void *handlerNativeResourceForIntegration(const QByteArray &resource) const;
-+    void *handlerNativeResourceForContext(const QByteArray &resource, QOpenGLContext *context) const;
-+    void *handlerNativeResourceForScreen(const QByteArray &resource, QScreen *screen) const;
-+    void *handlerNativeResourceForWindow(const QByteArray &resource, QWindow *window) const;
-+    void *handlerNativeResourceForBackingStore(const QByteArray &resource, QBackingStore *backingStore) const;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif // QXCBNATIVEINTERFACE_H
-diff --git a/libqt5xcbqpa-dev/5.10.1/qxcbobject.h b/libqt5xcbqpa-dev/5.10.1/qxcbobject.h
-new file mode 100644
-index 0000000..1b98d93
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.10.1/qxcbobject.h
-@@ -0,0 +1,64 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBOBJECT_H
-+#define QXCBOBJECT_H
-+
-+#include "qxcbconnection.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbObject
-+{
-+public:
-+    QXcbObject(QXcbConnection *connection = 0) : m_connection(connection) {}
-+
-+    void setConnection(QXcbConnection *connection) { m_connection = connection; }
-+    QXcbConnection *connection() const { return m_connection; }
-+
-+    xcb_atom_t atom(QXcbAtom::Atom atom) const { return m_connection->atom(atom); }
-+    xcb_connection_t *xcb_connection() const { return m_connection->xcb_connection(); }
-+
-+private:
-+    QXcbConnection *m_connection;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.10.1/qxcbscreen.h b/libqt5xcbqpa-dev/5.10.1/qxcbscreen.h
-new file mode 100644
-index 0000000..842738b
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.10.1/qxcbscreen.h
-@@ -0,0 +1,245 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBSCREEN_H
-+#define QXCBSCREEN_H
-+
-+#include <qpa/qplatformscreen.h>
-+#include <QtCore/QString>
-+
-+#include <xcb/xcb.h>
-+#include <xcb/randr.h>
-+#include <xcb/xfixes.h>
-+#include <xcb/xinerama.h>
-+
-+#include "qxcbobject.h"
-+#include "qxcbscreen.h"
-+
-+#include <private/qfontengine_p.h>
-+
-+#include <QtEdidSupport/private/qedidparser_p.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbConnection;
-+class QXcbCursor;
-+class QXcbXSettings;
-+#ifndef QT_NO_DEBUG_STREAM
-+class QDebug;
-+#endif
-+
-+class QXcbVirtualDesktop : public QXcbObject
-+{
-+public:
-+    QXcbVirtualDesktop(QXcbConnection *connection, xcb_screen_t *screen, int number);
-+    ~QXcbVirtualDesktop();
-+
-+    xcb_screen_t *screen() const { return m_screen; }
-+    int number() const { return m_number; }
-+    QSize size() const { return QSize(m_screen->width_in_pixels, m_screen->height_in_pixels); }
-+    QSize physicalSize() const { return QSize(m_screen->width_in_millimeters, m_screen->height_in_millimeters); }
-+    xcb_window_t root() const { return m_screen->root; }
-+    QXcbScreen *screenAt(const QPoint &pos) const;
-+
-+    QList<QPlatformScreen *> screens() const { return m_screens; }
-+    void setScreens(QList<QPlatformScreen *> sl) { m_screens = sl; }
-+    void removeScreen(QPlatformScreen *s) { m_screens.removeOne(s); }
-+    void addScreen(QPlatformScreen *s);
-+    void setPrimaryScreen(QPlatformScreen *s);
-+
-+    QXcbXSettings *xSettings() const;
-+
-+    bool compositingActive() const;
-+
-+    QRect workArea() const { return m_workArea; }
-+    void updateWorkArea();
-+
-+    void handleXFixesSelectionNotify(xcb_xfixes_selection_notify_event_t *notify_event);
-+    void subscribeToXFixesSelectionNotify();
-+
-+    int forcedDpi() const { return m_forcedDpi; }
-+    QFontEngine::HintStyle hintStyle() const { return m_hintStyle; }
-+    QFontEngine::SubpixelAntialiasingType subpixelType() const { return m_subpixelType; }
-+    int antialiasingEnabled() const { return m_antialiasingEnabled; }
-+
-+    QString windowManagerName() const { return m_windowManagerName; }
-+    bool syncRequestSupported() const { return m_syncRequestSupported; }
-+
-+    QSurfaceFormat surfaceFormatFor(const QSurfaceFormat &format) const;
-+
-+    const xcb_visualtype_t *visualForFormat(const QSurfaceFormat &format) const;
-+    const xcb_visualtype_t *visualForId(xcb_visualid_t) const;
-+    quint8 depthOfVisual(xcb_visualid_t) const;
-+
-+private:
-+    QRect getWorkArea() const;
-+
-+    static bool xResource(const QByteArray &identifier,
-+                          const QByteArray &expectedIdentifier,
-+                          QByteArray &stringValue);
-+    void readXResources();
-+
-+    xcb_screen_t *m_screen;
-+    const int m_number;
-+    QList<QPlatformScreen *> m_screens;
-+
-+    QXcbXSettings *m_xSettings = nullptr;
-+    xcb_atom_t m_net_wm_cm_atom = 0;
-+    bool m_compositingActive = false;
-+
-+    QRect m_workArea;
-+
-+    int m_forcedDpi = -1;
-+    QFontEngine::HintStyle m_hintStyle = QFontEngine::HintStyle(-1);
-+    QFontEngine::SubpixelAntialiasingType m_subpixelType = QFontEngine::SubpixelAntialiasingType(-1);
-+    int m_antialiasingEnabled = -1;
-+    QString m_windowManagerName;
-+    bool m_syncRequestSupported = false;
-+    QMap<xcb_visualid_t, xcb_visualtype_t> m_visuals;
-+    QMap<xcb_visualid_t, quint8> m_visualDepths;
-+};
-+
-+class Q_XCB_EXPORT QXcbScreen : public QXcbObject, public QPlatformScreen
-+{
-+public:
-+    QXcbScreen(QXcbConnection *connection, QXcbVirtualDesktop *virtualDesktop,
-+               xcb_randr_output_t outputId, xcb_randr_get_output_info_reply_t *outputInfo,
-+               const xcb_xinerama_screen_info_t *xineramaScreenInfo = Q_NULLPTR, int xineramaScreenIdx = -1);
-+    ~QXcbScreen();
-+
-+    QString getOutputName(xcb_randr_get_output_info_reply_t *outputInfo);
-+
-+    QPixmap grabWindow(WId window, int x, int y, int width, int height) const override;
-+
-+    QWindow *topLevelAt(const QPoint &point) const override;
-+
-+    QString manufacturer() const override;
-+    QString model() const override;
-+    QString serialNumber() const override;
-+
-+    QRect geometry() const override { return m_geometry; }
-+    QRect availableGeometry() const override;
-+    int depth() const override { return screen()->root_depth; }
-+    QImage::Format format() const override;
-+    QSizeF physicalSize() const override { return m_sizeMillimeters; }
-+    QSize virtualSize() const { return m_virtualSize; }
-+    QSizeF physicalVirtualSize() const { return m_virtualSizeMillimeters; }
-+    QDpi virtualDpi() const;
-+    QDpi logicalDpi() const override;
-+    qreal pixelDensity() const override;
-+    QPlatformCursor *cursor() const override;
-+    qreal refreshRate() const override { return m_refreshRate; }
-+    Qt::ScreenOrientation orientation() const override { return m_orientation; }
-+    QList<QPlatformScreen *> virtualSiblings() const override { return m_virtualDesktop->screens(); }
-+    QXcbVirtualDesktop *virtualDesktop() const { return m_virtualDesktop; }
-+
-+    void setPrimary(bool primary) { m_primary = primary; }
-+    bool isPrimary() const { return m_primary; }
-+
-+    int screenNumber() const { return m_virtualDesktop->number(); }
-+    static int virtualDesktopNumberStatic(const QScreen *screen);
-+
-+    xcb_screen_t *screen() const { return m_virtualDesktop->screen(); }
-+    xcb_window_t root() const { return screen()->root; }
-+    xcb_randr_output_t output() const { return m_output; }
-+    xcb_randr_crtc_t crtc() const { return m_crtc; }
-+    xcb_randr_mode_t mode() const { return m_mode; }
-+
-+    void setOutput(xcb_randr_output_t outputId,
-+                   xcb_randr_get_output_info_reply_t *outputInfo);
-+    void setCrtc(xcb_randr_crtc_t crtc) { m_crtc = crtc; }
-+
-+    void windowShown(QXcbWindow *window);
-+    QString windowManagerName() const { return m_virtualDesktop->windowManagerName(); }
-+    bool syncRequestSupported() const { return m_virtualDesktop->syncRequestSupported(); }
-+
-+    QSurfaceFormat surfaceFormatFor(const QSurfaceFormat &format) const;
-+
-+    const xcb_visualtype_t *visualForFormat(const QSurfaceFormat &format) const { return m_virtualDesktop->visualForFormat(format); }
-+    const xcb_visualtype_t *visualForId(xcb_visualid_t visualid) const;
-+    quint8 depthOfVisual(xcb_visualid_t visualid) const { return m_virtualDesktop->depthOfVisual(visualid); }
-+
-+    QString name() const override { return m_outputName; }
-+
-+    void handleScreenChange(xcb_randr_screen_change_notify_event_t *change_event);
-+    void updateGeometry(const QRect &geometry, uint8_t rotation);
-+    void updateGeometry(xcb_timestamp_t timestamp = XCB_TIME_CURRENT_TIME);
-+    void updateAvailableGeometry();
-+    void updateRefreshRate(xcb_randr_mode_t mode);
-+
-+    QFontEngine::HintStyle hintStyle() const { return m_virtualDesktop->hintStyle(); }
-+    QFontEngine::SubpixelAntialiasingType subpixelType() const { return m_virtualDesktop->subpixelType(); }
-+    int antialiasingEnabled() const { return m_virtualDesktop->antialiasingEnabled(); }
-+
-+    QXcbXSettings *xSettings() const;
-+
-+private:
-+    void sendStartupMessage(const QByteArray &message) const;
-+
-+    QByteArray getOutputProperty(xcb_atom_t atom) const;
-+    QByteArray getEdid() const;
-+
-+    QXcbVirtualDesktop *m_virtualDesktop;
-+    xcb_randr_output_t m_output;
-+    xcb_randr_crtc_t m_crtc;
-+    xcb_randr_mode_t m_mode = XCB_NONE;
-+    bool m_primary = false;
-+    uint8_t m_rotation = XCB_RANDR_ROTATION_ROTATE_0;
-+
-+    QString m_outputName;
-+    QSizeF m_outputSizeMillimeters;
-+    QSizeF m_sizeMillimeters;
-+    QRect m_geometry;
-+    QRect m_availableGeometry;
-+    QSize m_virtualSize;
-+    QSizeF m_virtualSizeMillimeters;
-+    Qt::ScreenOrientation m_orientation = Qt::PrimaryOrientation;
-+    QXcbCursor *m_cursor;
-+    int m_refreshRate = 60;
-+    int m_pixelDensity = 1;
-+    QEdidParser m_edid;
-+};
-+
-+#ifndef QT_NO_DEBUG_STREAM
-+Q_GUI_EXPORT QDebug operator<<(QDebug, const QXcbScreen *);
-+#endif
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.10.1/qxcbsessionmanager.h b/libqt5xcbqpa-dev/5.10.1/qxcbsessionmanager.h
-new file mode 100644
-index 0000000..0ad9445
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.10.1/qxcbsessionmanager.h
-@@ -0,0 +1,96 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2013 Teo Mrnjavac <teo@kde.org>
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBSESSIONMANAGER_H
-+#define QXCBSESSIONMANAGER_H
-+
-+//
-+//  W A R N I N G
-+//  -------------
-+//
-+// This file is part of the QPA API and is not meant to be used
-+// in applications. Usage of this API may make your code
-+// source and binary incompatible with future versions of Qt.
-+//
-+
-+#include <qpa/qplatformsessionmanager.h>
-+
-+#ifndef QT_NO_SESSIONMANAGER
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QEventLoop;
-+
-+class QXcbSessionManager : public QPlatformSessionManager
-+{
-+public:
-+    QXcbSessionManager(const QString &id, const QString &key);
-+    virtual ~QXcbSessionManager();
-+
-+    void *handle() const;
-+
-+    void setSessionId(const QString &id) { m_sessionId = id; }
-+    void setSessionKey(const QString &key) { m_sessionKey = key; }
-+
-+    bool allowsInteraction() override;
-+    bool allowsErrorInteraction() override;
-+    void release() override;
-+
-+    void cancel() override;
-+
-+    void setManagerProperty(const QString &name, const QString &value) override;
-+    void setManagerProperty(const QString &name, const QStringList &value) override;
-+
-+    bool isPhase2() const override;
-+    void requestPhase2() override;
-+
-+    void exitEventLoop();
-+
-+private:
-+    QEventLoop *m_eventLoop;
-+
-+    Q_DISABLE_COPY(QXcbSessionManager)
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif //QT_NO_SESSIONMANAGER
-+
-+#endif //QXCBSESSIONMANAGER_H
-diff --git a/libqt5xcbqpa-dev/5.10.1/qxcbsystemtraytracker.h b/libqt5xcbqpa-dev/5.10.1/qxcbsystemtraytracker.h
-new file mode 100644
-index 0000000..a95b937
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.10.1/qxcbsystemtraytracker.h
-@@ -0,0 +1,85 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBSYSTEMTRAYTRACKER_H
-+#define QXCBSYSTEMTRAYTRACKER_H
-+
-+#include "qxcbconnection.h"
-+
-+#include <xcb/xcb.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbConnection;
-+class QScreen;
-+
-+class QXcbSystemTrayTracker : public QObject, public QXcbWindowEventListener
-+{
-+    Q_OBJECT
-+public:
-+    static QXcbSystemTrayTracker *create(QXcbConnection *connection);
-+
-+    xcb_window_t trayWindow();
-+    void requestSystemTrayWindowDock(xcb_window_t window) const;
-+    QRect systemTrayWindowGlobalGeometry(xcb_window_t window) const;
-+
-+    void notifyManagerClientMessageEvent(const xcb_client_message_event_t *);
-+
-+    void handleDestroyNotifyEvent(const xcb_destroy_notify_event_t *) override;
-+
-+    bool visualHasAlphaChannel();
-+signals:
-+    void systemTrayWindowChanged(QScreen *screen);
-+
-+private:
-+    explicit QXcbSystemTrayTracker(QXcbConnection *connection,
-+                                   xcb_atom_t trayAtom,
-+                                   xcb_atom_t selection);
-+    static xcb_window_t locateTrayWindow(const QXcbConnection *connection, xcb_atom_t selection);
-+    void emitSystemTrayWindowChanged();
-+
-+    const xcb_atom_t m_selection;
-+    const xcb_atom_t m_trayAtom;
-+    QXcbConnection *m_connection;
-+    xcb_window_t m_trayWindow = 0;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif // QXCBSYSTEMTRAYTRACKER_H
-diff --git a/libqt5xcbqpa-dev/5.10.1/qxcbvulkaninstance.h b/libqt5xcbqpa-dev/5.10.1/qxcbvulkaninstance.h
-new file mode 100644
-index 0000000..dbe057d
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.10.1/qxcbvulkaninstance.h
-@@ -0,0 +1,79 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBVULKANINSTANCE_H
-+#define QXCBVULKANINSTANCE_H
-+
-+#if defined(VULKAN_H_) && !defined(VK_USE_PLATFORM_XCB_KHR)
-+#error "vulkan.h included without xcb WSI"
-+#endif
-+
-+#define VK_USE_PLATFORM_XCB_KHR
-+
-+#include <QtVulkanSupport/private/qbasicvulkanplatforminstance_p.h>
-+#include <QLibrary>
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbWindow;
-+
-+class QXcbVulkanInstance : public QBasicPlatformVulkanInstance
-+{
-+public:
-+    QXcbVulkanInstance(QVulkanInstance *instance);
-+    ~QXcbVulkanInstance();
-+
-+    void createOrAdoptInstance() override;
-+    bool supportsPresent(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, QWindow *window) override;
-+    void presentQueued(QWindow *window) override;
-+
-+    VkSurfaceKHR createSurface(QXcbWindow *window);
-+    void destroySurface(VkSurfaceKHR surface);
-+
-+private:
-+    QVulkanInstance *m_instance;
-+    QLibrary m_lib;
-+    PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR m_getPhysDevPresSupport;
-+    PFN_vkCreateXcbSurfaceKHR m_createSurface;
-+    PFN_vkDestroySurfaceKHR m_destroySurface;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif // QXCBVULKANINSTANCE_H
-diff --git a/libqt5xcbqpa-dev/5.10.1/qxcbvulkanwindow.h b/libqt5xcbqpa-dev/5.10.1/qxcbvulkanwindow.h
-new file mode 100644
-index 0000000..43c9682
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.10.1/qxcbvulkanwindow.h
-@@ -0,0 +1,65 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBVULKANWINDOW_H
-+#define QXCBVULKANWINDOW_H
-+
-+#include "qxcbwindow.h"
-+#include "qxcbvulkaninstance.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbVulkanWindow : public QXcbWindow
-+{
-+public:
-+    QXcbVulkanWindow(QWindow *window);
-+    ~QXcbVulkanWindow();
-+
-+    VkSurfaceKHR *surface();
-+
-+protected:
-+    void resolveFormat(const QSurfaceFormat &format) override;
-+
-+private:
-+    VkSurfaceKHR m_surface;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif // QXCBVULKANWINDOW_H
-diff --git a/libqt5xcbqpa-dev/5.10.1/qxcbwindow.h b/libqt5xcbqpa-dev/5.10.1/qxcbwindow.h
-new file mode 100644
-index 0000000..1ce9b0a
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.10.1/qxcbwindow.h
-@@ -0,0 +1,299 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBWINDOW_H
-+#define QXCBWINDOW_H
-+
-+#include <qpa/qplatformwindow.h>
-+#include <QtGui/QSurfaceFormat>
-+#include <QtGui/QImage>
-+
-+#include <xcb/xcb.h>
-+#include <xcb/sync.h>
-+
-+#include "qxcbobject.h"
-+
-+#include <QtPlatformHeaders/qxcbwindowfunctions.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbScreen;
-+class QXcbSyncWindowRequest;
-+class QIcon;
-+
-+class Q_XCB_EXPORT QXcbWindow : public QXcbObject, public QXcbWindowEventListener, public QPlatformWindow
-+{
-+public:
-+    enum NetWmState {
-+        NetWmStateAbove = 0x1,
-+        NetWmStateBelow = 0x2,
-+        NetWmStateFullScreen = 0x4,
-+        NetWmStateMaximizedHorz = 0x8,
-+        NetWmStateMaximizedVert = 0x10,
-+        NetWmStateModal = 0x20,
-+        NetWmStateStaysOnTop = 0x40,
-+        NetWmStateDemandsAttention = 0x80
-+    };
-+
-+    Q_DECLARE_FLAGS(NetWmStates, NetWmState)
-+
-+    QXcbWindow(QWindow *window);
-+    ~QXcbWindow();
-+
-+    void setGeometry(const QRect &rect) override;
-+
-+    QMargins frameMargins() const override;
-+
-+    void setVisible(bool visible) override;
-+    void setWindowFlags(Qt::WindowFlags flags) override;
-+    void setWindowState(Qt::WindowStates state) override;
-+    WId winId() const override;
-+    void setParent(const QPlatformWindow *window) override;
-+
-+    bool isExposed() const override;
-+    bool isEmbedded() const override;
-+    QPoint mapToGlobal(const QPoint &pos) const override;
-+    QPoint mapFromGlobal(const QPoint &pos) const override;
-+
-+    void setWindowTitle(const QString &title) override;
-+    void setWindowIconText(const QString &title);
-+    void setWindowIcon(const QIcon &icon) override;
-+    void raise() override;
-+    void lower() override;
-+    void propagateSizeHints() override;
-+
-+    void requestActivateWindow() override;
-+
-+    bool setKeyboardGrabEnabled(bool grab) override;
-+    bool setMouseGrabEnabled(bool grab) override;
-+
-+    void setCursor(xcb_cursor_t cursor, bool isBitmapCursor);
-+
-+    QSurfaceFormat format() const override;
-+
-+    void windowEvent(QEvent *event) override;
-+
-+    bool startSystemResize(const QPoint &pos, Qt::Corner corner) override;
-+
-+    void setOpacity(qreal level) override;
-+    void setMask(const QRegion &region) override;
-+
-+    void setAlertState(bool enabled) override;
-+    bool isAlertState() const override { return m_alertState; }
-+
-+    xcb_window_t xcb_window() const { return m_window; }
-+    uint depth() const { return m_depth; }
-+    QImage::Format imageFormat() const { return m_imageFormat; }
-+    bool imageNeedsRgbSwap() const { return m_imageRgbSwap; }
-+
-+    bool handleGenericEvent(xcb_generic_event_t *event, long *result)  override;
-+
-+    void handleExposeEvent(const xcb_expose_event_t *event) override;
-+    void handleClientMessageEvent(const xcb_client_message_event_t *event) override;
-+    void handleConfigureNotifyEvent(const xcb_configure_notify_event_t *event) override;
-+    void handleMapNotifyEvent(const xcb_map_notify_event_t *event) override;
-+    void handleUnmapNotifyEvent(const xcb_unmap_notify_event_t *event) override;
-+    void handleButtonPressEvent(const xcb_button_press_event_t *event) override;
-+    void handleButtonReleaseEvent(const xcb_button_release_event_t *event) override;
-+    void handleMotionNotifyEvent(const xcb_motion_notify_event_t *event) override;
-+
-+    void handleEnterNotifyEvent(const xcb_enter_notify_event_t *event) override;
-+    void handleLeaveNotifyEvent(const xcb_leave_notify_event_t *event) override;
-+    void handleFocusInEvent(const xcb_focus_in_event_t *event) override;
-+    void handleFocusOutEvent(const xcb_focus_out_event_t *event) override;
-+    void handlePropertyNotifyEvent(const xcb_property_notify_event_t *event) override;
-+#if QT_CONFIG(xinput2)
-+    void handleXIMouseEvent(xcb_ge_event_t *, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized) override;
-+    void handleXIEnterLeave(xcb_ge_event_t *) override;
-+#endif
-+
-+    QXcbWindow *toWindow() override;
-+
-+    void handleMouseEvent(xcb_timestamp_t time, const QPoint &local, const QPoint &global,
-+                          Qt::KeyboardModifiers modifiers, Qt::MouseEventSource source);
-+
-+    void updateNetWmUserTime(xcb_timestamp_t timestamp);
-+
-+    static void setWmWindowTypeStatic(QWindow *window, QXcbWindowFunctions::WmWindowTypes windowTypes);
-+    static void setWmWindowRoleStatic(QWindow *window, const QByteArray &role);
-+    static uint visualIdStatic(QWindow *window);
-+
-+    QXcbWindowFunctions::WmWindowTypes wmWindowTypes() const;
-+    void setWmWindowType(QXcbWindowFunctions::WmWindowTypes types, Qt::WindowFlags flags);
-+    void setWmWindowRole(const QByteArray &role);
-+
-+    static void setWindowIconTextStatic(QWindow *window, const QString &text);
-+
-+    static void setParentRelativeBackPixmapStatic(QWindow *window);
-+    void setParentRelativeBackPixmap();
-+
-+    static bool requestSystemTrayWindowDockStatic(const QWindow *window);
-+    bool requestSystemTrayWindowDock() const;
-+
-+    static QRect systemTrayWindowGlobalGeometryStatic(const QWindow *window);
-+    QRect systemTrayWindowGlobalGeometry() const;
-+    uint visualId() const;
-+
-+    bool needsSync() const;
-+
-+    void postSyncWindowRequest();
-+    void clearSyncWindowRequest() { m_pendingSyncRequest = 0; }
-+
-+    QXcbScreen *xcbScreen() const;
-+
-+    bool doStartSystemResize(const QPoint &globalPos, Qt::Corner corner);
-+
-+    virtual void create();
-+    virtual void destroy();
-+
-+public Q_SLOTS:
-+    void updateSyncRequestCounter();
-+
-+protected:
-+    virtual void resolveFormat(const QSurfaceFormat &format) { m_format = format; }
-+    virtual const xcb_visualtype_t *createVisual();
-+
-+    QXcbScreen *parentScreen();
-+
-+    QXcbScreen *initialScreen() const;
-+    void changeNetWmState(bool set, xcb_atom_t one, xcb_atom_t two = 0);
-+    NetWmStates netWmStates();
-+    void setNetWmStates(NetWmStates);
-+
-+    void setMotifWindowFlags(Qt::WindowFlags flags);
-+    void setNetWmStateWindowFlags(Qt::WindowFlags flags);
-+
-+    void updateMotifWmHintsBeforeMap();
-+    void updateNetWmStateBeforeMap();
-+
-+    void setTransparentForMouseEvents(bool transparent);
-+    void updateDoesNotAcceptFocus(bool doesNotAcceptFocus);
-+
-+    QRect windowToWmGeometry(QRect r) const;
-+    void sendXEmbedMessage(xcb_window_t window, quint32 message,
-+                           quint32 detail = 0, quint32 data1 = 0, quint32 data2 = 0);
-+    void handleXEmbedMessage(const xcb_client_message_event_t *event);
-+
-+    void show();
-+    void hide();
-+
-+    bool relayFocusToModalWindow() const;
-+    void doFocusIn();
-+    void doFocusOut();
-+
-+    bool compressExposeEvent(QRegion &exposeRegion);
-+
-+    void handleButtonPressEvent(int event_x, int event_y, int root_x, int root_y,
-+                                int detail, Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized);
-+
-+    void handleButtonReleaseEvent(int event_x, int event_y, int root_x, int root_y,
-+                                  int detail, Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized);
-+
-+    void handleMotionNotifyEvent(int event_x, int event_y, int root_x, int root_y,
-+                                 Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized);
-+
-+    void handleEnterNotifyEvent(int event_x, int event_y, int root_x, int root_y,
-+                                quint8 mode, quint8 detail, xcb_timestamp_t timestamp);
-+
-+    void handleLeaveNotifyEvent(int root_x, int root_y,
-+                                quint8 mode, quint8 detail, xcb_timestamp_t timestamp);
-+
-+    xcb_window_t m_window = 0;
-+    xcb_colormap_t m_cmap = 0;
-+
-+    uint m_depth = 0;
-+    QImage::Format m_imageFormat = QImage::Format_ARGB32_Premultiplied;
-+    bool m_imageRgbSwap = false;
-+
-+    xcb_sync_int64_t m_syncValue;
-+    xcb_sync_counter_t m_syncCounter = 0;
-+
-+    Qt::WindowStates m_windowState = Qt::WindowNoState;
-+
-+    xcb_gravity_t m_gravity = XCB_GRAVITY_STATIC;
-+
-+    bool m_mapped = false;
-+    bool m_transparent = false;
-+    bool m_usingSyncProtocol = false;
-+    bool m_deferredActivation = false;
-+    bool m_embedded = false;
-+    bool m_alertState = false;
-+    bool m_minimized = false;
-+    xcb_window_t m_netWmUserTimeWindow = XCB_NONE;
-+
-+    QSurfaceFormat m_format;
-+
-+    mutable bool m_dirtyFrameMargins = false;
-+    mutable QMargins m_frameMargins;
-+
-+    QRegion m_exposeRegion;
-+    QSize m_oldWindowSize;
-+
-+    xcb_visualid_t m_visualId = 0;
-+    // Last sent state. Initialized to an invalid state, on purpose.
-+    Qt::WindowStates m_lastWindowStateEvent = Qt::WindowActive;
-+
-+    enum SyncState {
-+        NoSyncNeeded,
-+        SyncReceived,
-+        SyncAndConfigureReceived
-+    };
-+    SyncState m_syncState = NoSyncNeeded;
-+
-+    QXcbSyncWindowRequest *m_pendingSyncRequest = nullptr;
-+    xcb_cursor_t m_currentBitmapCursor = XCB_CURSOR_NONE;
-+};
-+
-+class QXcbForeignWindow : public QXcbWindow
-+{
-+public:
-+    QXcbForeignWindow(QWindow *window, WId nativeHandle)
-+        : QXcbWindow(window) { m_window = nativeHandle; }
-+    ~QXcbForeignWindow();
-+    bool isForeignWindow() const override { return true; }
-+
-+protected:
-+    void create() override {} // No-op
-+};
-+
-+QT_END_NAMESPACE
-+
-+Q_DECLARE_METATYPE(QXcbWindow*)
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.10.1/qxcbwmsupport.h b/libqt5xcbqpa-dev/5.10.1/qxcbwmsupport.h
-new file mode 100644
-index 0000000..b5de5b7
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.10.1/qxcbwmsupport.h
-@@ -0,0 +1,68 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+#ifndef QXCBWMSUPPORT_H
-+#define QXCBWMSUPPORT_H
-+
-+#include "qxcbobject.h"
-+#include "qxcbconnection.h"
-+#include <qvector.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbWMSupport : public QXcbObject
-+{
-+public:
-+    QXcbWMSupport(QXcbConnection *c);
-+
-+
-+    bool isSupportedByWM(xcb_atom_t atom) const;
-+    const QVector<xcb_window_t> &virtualRoots() const { return net_virtual_roots; }
-+
-+private:
-+    friend class QXcbConnection;
-+    void updateNetWMAtoms();
-+    void updateVirtualRoots();
-+
-+    QVector<xcb_atom_t> net_wm_atoms;
-+    QVector<xcb_window_t> net_virtual_roots;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.10.1/qxcbxsettings.h b/libqt5xcbqpa-dev/5.10.1/qxcbxsettings.h
-new file mode 100644
-index 0000000..ab1f784
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.10.1/qxcbxsettings.h
-@@ -0,0 +1,71 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBXSETTINGS_H
-+#define QXCBXSETTINGS_H
-+
-+#include "qxcbscreen.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbXSettingsPrivate;
-+
-+class QXcbXSettings : public QXcbWindowEventListener
-+{
-+    Q_DECLARE_PRIVATE(QXcbXSettings)
-+public:
-+    QXcbXSettings(QXcbVirtualDesktop *screen);
-+    ~QXcbXSettings();
-+    bool initialized() const;
-+
-+    QVariant setting(const QByteArray &property) const;
-+
-+    typedef void (*PropertyChangeFunc)(QXcbVirtualDesktop *screen, const QByteArray &name, const QVariant &property, void *handle);
-+    void registerCallbackForProperty(const QByteArray &property, PropertyChangeFunc func, void *handle);
-+    void removeCallbackForHandle(const QByteArray &property, void *handle);
-+    void removeCallbackForHandle(void *handle);
-+
-+    void handlePropertyNotifyEvent(const xcb_property_notify_event_t *event) override;
-+private:
-+    QXcbXSettingsPrivate *d_ptr;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif // QXCBXSETTINGS_H
-diff --git a/libqt5xcbqpa-dev/5.9.2/qxcbbackingstore.h b/libqt5xcbqpa-dev/5.9.2/qxcbbackingstore.h
-new file mode 100644
-index 0000000..94b5994
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.2/qxcbbackingstore.h
-@@ -0,0 +1,85 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBBACKINGSTORE_H
-+#define QXCBBACKINGSTORE_H
-+
-+#include <qpa/qplatformbackingstore.h>
-+#include <QtCore/QStack>
-+
-+#include <xcb/xcb.h>
-+
-+#include "qxcbobject.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbShmImage;
-+
-+class QXcbBackingStore : public QXcbObject, public QPlatformBackingStore
-+{
-+public:
-+    QXcbBackingStore(QWindow *window);
-+    ~QXcbBackingStore();
-+
-+    QPaintDevice *paintDevice() override;
-+    void flush(QWindow *window, const QRegion &region, const QPoint &offset) override;
-+#ifndef QT_NO_OPENGL
-+    void composeAndFlush(QWindow *window, const QRegion &region, const QPoint &offset,
-+                         QPlatformTextureList *textures, QOpenGLContext *context,
-+                         bool translucentBackground) override;
-+#endif
-+    QImage toImage() const override;
-+
-+    QPlatformGraphicsBuffer *graphicsBuffer() const override;
-+
-+    void resize(const QSize &size, const QRegion &staticContents) override;
-+    bool scroll(const QRegion &area, int dx, int dy) override;
-+
-+    void beginPaint(const QRegion &) override;
-+    void endPaint() override;
-+
-+private:
-+    QXcbShmImage *m_image;
-+    QStack<QRegion> m_paintRegions;
-+    QImage m_rgbImage;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.9.2/qxcbclipboard.h b/libqt5xcbqpa-dev/5.9.2/qxcbclipboard.h
-new file mode 100644
-index 0000000..bfeae13
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.2/qxcbclipboard.h
-@@ -0,0 +1,119 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBCLIPBOARD_H
-+#define QXCBCLIPBOARD_H
-+
-+#include <qpa/qplatformclipboard.h>
-+#include <qxcbobject.h>
-+#include <xcb/xcb.h>
-+#include <xcb/xfixes.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+#ifndef QT_NO_CLIPBOARD
-+
-+class QXcbConnection;
-+class QXcbScreen;
-+class QXcbClipboardMime;
-+
-+class QXcbClipboard : public QXcbObject, public QPlatformClipboard
-+{
-+public:
-+    QXcbClipboard(QXcbConnection *connection);
-+    ~QXcbClipboard();
-+
-+    QMimeData *mimeData(QClipboard::Mode mode) override;
-+    void setMimeData(QMimeData *data, QClipboard::Mode mode) override;
-+
-+    bool supportsMode(QClipboard::Mode mode) const override;
-+    bool ownsMode(QClipboard::Mode mode) const override;
-+
-+    QXcbScreen *screen() const;
-+
-+    xcb_window_t requestor() const;
-+    void setRequestor(xcb_window_t window);
-+
-+    xcb_window_t owner() const;
-+
-+    void handleSelectionRequest(xcb_selection_request_event_t *event);
-+    void handleSelectionClearRequest(xcb_selection_clear_event_t *event);
-+    void handleXFixesSelectionRequest(xcb_xfixes_selection_notify_event_t *event);
-+
-+    bool clipboardReadProperty(xcb_window_t win, xcb_atom_t property, bool deleteProperty, QByteArray *buffer, int *size, xcb_atom_t *type, int *format);
-+    QByteArray clipboardReadIncrementalProperty(xcb_window_t win, xcb_atom_t property, int nbytes, bool nullterm);
-+
-+    QByteArray getDataInFormat(xcb_atom_t modeAtom, xcb_atom_t fmtatom);
-+
-+    void setProcessIncr(bool process) { m_incr_active = process; }
-+    bool processIncr() { return m_incr_active; }
-+    void incrTransactionPeeker(xcb_generic_event_t *ge, bool &accepted);
-+
-+    xcb_window_t getSelectionOwner(xcb_atom_t atom) const;
-+    QByteArray getSelection(xcb_atom_t selection, xcb_atom_t target, xcb_atom_t property, xcb_timestamp_t t = 0);
-+
-+private:
-+    xcb_generic_event_t *waitForClipboardEvent(xcb_window_t win, int type, int timeout, bool checkManager = false);
-+
-+    xcb_atom_t sendTargetsSelection(QMimeData *d, xcb_window_t window, xcb_atom_t property);
-+    xcb_atom_t sendSelection(QMimeData *d, xcb_atom_t target, xcb_window_t window, xcb_atom_t property);
-+
-+    xcb_atom_t atomForMode(QClipboard::Mode mode) const;
-+    QClipboard::Mode modeForAtom(xcb_atom_t atom) const;
-+
-+    // Selection and Clipboard
-+    QScopedPointer<QXcbClipboardMime> m_xClipboard[2];
-+    QMimeData *m_clientClipboard[2];
-+    xcb_timestamp_t m_timestamp[2];
-+
-+    xcb_window_t m_requestor = XCB_NONE;
-+    xcb_window_t m_owner = XCB_NONE;
-+
-+    static const int clipboard_timeout;
-+
-+    bool m_incr_active = false;
-+    bool m_clipboard_closing = false;
-+    xcb_timestamp_t m_incr_receive_time = 0;
-+};
-+
-+#endif // QT_NO_CLIPBOARD
-+
-+QT_END_NAMESPACE
-+
-+#endif // QXCBCLIPBOARD_H
-diff --git a/libqt5xcbqpa-dev/5.9.2/qxcbconnection.h b/libqt5xcbqpa-dev/5.9.2/qxcbconnection.h
-new file mode 100644
-index 0000000..edbc8d8
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.2/qxcbconnection.h
-@@ -0,0 +1,775 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBCONNECTION_H
-+#define QXCBCONNECTION_H
-+
-+#include <xcb/xcb.h>
-+#include <xcb/randr.h>
-+
-+#include <QtGui/private/qtguiglobal_p.h>
-+#include "qxcbexport.h"
-+#include <QHash>
-+#include <QList>
-+#include <QMutex>
-+#include <QObject>
-+#include <QThread>
-+#include <QVector>
-+#include <QVarLengthArray>
-+#include <qpa/qwindowsysteminterface.h>
-+#include <QtCore/QLoggingCategory>
-+#include <QtCore/private/qglobal_p.h>
-+
-+// This is needed to make Qt compile together with XKB. xkb.h is using a variable
-+// which is called 'explicit', this is a reserved keyword in c++
-+#if QT_CONFIG(xkb)
-+#define explicit dont_use_cxx_explicit
-+#include <xcb/xkb.h>
-+#undef explicit
-+#endif
-+
-+#if QT_CONFIG(tabletevent)
-+#include <QTabletEvent>
-+#endif
-+
-+#if QT_CONFIG(xinput2)
-+#include <X11/extensions/XI2.h>
-+#ifdef XIScrollClass
-+#define XCB_USE_XINPUT21    // XI 2.1 adds smooth scrolling support
-+#ifdef XI_TouchBeginMask
-+#define XCB_USE_XINPUT22    // XI 2.2 adds multi-point touch support
-+#endif
-+#endif
-+struct XInput2TouchDeviceData;
-+#endif // QT_CONFIG(xinput2)
-+
-+struct xcb_randr_get_output_info_reply_t;
-+
-+//#define Q_XCB_DEBUG
-+
-+QT_BEGIN_NAMESPACE
-+
-+Q_DECLARE_LOGGING_CATEGORY(lcQpaXInput)
-+Q_DECLARE_LOGGING_CATEGORY(lcQpaXInputDevices)
-+Q_DECLARE_LOGGING_CATEGORY(lcQpaXInputEvents)
-+Q_DECLARE_LOGGING_CATEGORY(lcQpaScreen)
-+
-+class QXcbVirtualDesktop;
-+class QXcbScreen;
-+class QXcbWindow;
-+class QXcbDrag;
-+class QXcbKeyboard;
-+class QXcbClipboard;
-+class QXcbWMSupport;
-+class QXcbNativeInterface;
-+class QXcbSystemTrayTracker;
-+class QXcbGlIntegration;
-+
-+namespace QXcbAtom {
-+    enum Atom {
-+        // window-manager <-> client protocols
-+        WM_PROTOCOLS,
-+        WM_DELETE_WINDOW,
-+        WM_TAKE_FOCUS,
-+        _NET_WM_PING,
-+        _NET_WM_CONTEXT_HELP,
-+        _NET_WM_SYNC_REQUEST,
-+        _NET_WM_SYNC_REQUEST_COUNTER,
-+        MANAGER, // System tray notification
-+        _NET_SYSTEM_TRAY_OPCODE, // System tray operation
-+
-+        // ICCCM window state
-+        WM_STATE,
-+        WM_CHANGE_STATE,
-+        WM_CLASS,
-+        WM_NAME,
-+
-+        // Session management
-+        WM_CLIENT_LEADER,
-+        WM_WINDOW_ROLE,
-+        SM_CLIENT_ID,
-+
-+        // Clipboard
-+        CLIPBOARD,
-+        INCR,
-+        TARGETS,
-+        MULTIPLE,
-+        TIMESTAMP,
-+        SAVE_TARGETS,
-+        CLIP_TEMPORARY,
-+        _QT_SELECTION,
-+        _QT_CLIPBOARD_SENTINEL,
-+        _QT_SELECTION_SENTINEL,
-+        CLIPBOARD_MANAGER,
-+
-+        RESOURCE_MANAGER,
-+
-+        _XSETROOT_ID,
-+
-+        _QT_SCROLL_DONE,
-+        _QT_INPUT_ENCODING,
-+
-+        // Qt/XCB specific
-+        _QT_CLOSE_CONNECTION,
-+
-+        _MOTIF_WM_HINTS,
-+
-+        DTWM_IS_RUNNING,
-+        ENLIGHTENMENT_DESKTOP,
-+        _DT_SAVE_MODE,
-+        _SGI_DESKS_MANAGER,
-+
-+        // EWMH (aka NETWM)
-+        _NET_SUPPORTED,
-+        _NET_VIRTUAL_ROOTS,
-+        _NET_WORKAREA,
-+
-+        _NET_MOVERESIZE_WINDOW,
-+        _NET_WM_MOVERESIZE,
-+
-+        _NET_WM_NAME,
-+        _NET_WM_ICON_NAME,
-+        _NET_WM_ICON,
-+
-+        _NET_WM_PID,
-+
-+        _NET_WM_WINDOW_OPACITY,
-+
-+        _NET_WM_STATE,
-+        _NET_WM_STATE_ABOVE,
-+        _NET_WM_STATE_BELOW,
-+        _NET_WM_STATE_FULLSCREEN,
-+        _NET_WM_STATE_MAXIMIZED_HORZ,
-+        _NET_WM_STATE_MAXIMIZED_VERT,
-+        _NET_WM_STATE_MODAL,
-+        _NET_WM_STATE_STAYS_ON_TOP,
-+        _NET_WM_STATE_DEMANDS_ATTENTION,
-+
-+        _NET_WM_USER_TIME,
-+        _NET_WM_USER_TIME_WINDOW,
-+        _NET_WM_FULL_PLACEMENT,
-+
-+        _NET_WM_WINDOW_TYPE,
-+        _NET_WM_WINDOW_TYPE_DESKTOP,
-+        _NET_WM_WINDOW_TYPE_DOCK,
-+        _NET_WM_WINDOW_TYPE_TOOLBAR,
-+        _NET_WM_WINDOW_TYPE_MENU,
-+        _NET_WM_WINDOW_TYPE_UTILITY,
-+        _NET_WM_WINDOW_TYPE_SPLASH,
-+        _NET_WM_WINDOW_TYPE_DIALOG,
-+        _NET_WM_WINDOW_TYPE_DROPDOWN_MENU,
-+        _NET_WM_WINDOW_TYPE_POPUP_MENU,
-+        _NET_WM_WINDOW_TYPE_TOOLTIP,
-+        _NET_WM_WINDOW_TYPE_NOTIFICATION,
-+        _NET_WM_WINDOW_TYPE_COMBO,
-+        _NET_WM_WINDOW_TYPE_DND,
-+        _NET_WM_WINDOW_TYPE_NORMAL,
-+        _KDE_NET_WM_WINDOW_TYPE_OVERRIDE,
-+
-+        _KDE_NET_WM_FRAME_STRUT,
-+        _NET_FRAME_EXTENTS,
-+
-+        _NET_STARTUP_INFO,
-+        _NET_STARTUP_INFO_BEGIN,
-+
-+        _NET_SUPPORTING_WM_CHECK,
-+
-+        _NET_WM_CM_S0,
-+
-+        _NET_SYSTEM_TRAY_VISUAL,
-+
-+        _NET_ACTIVE_WINDOW,
-+
-+        // Property formats
-+        TEXT,
-+        UTF8_STRING,
-+        CARDINAL,
-+
-+        // Xdnd
-+        XdndEnter,
-+        XdndPosition,
-+        XdndStatus,
-+        XdndLeave,
-+        XdndDrop,
-+        XdndFinished,
-+        XdndTypelist,
-+        XdndActionList,
-+
-+        XdndSelection,
-+
-+        XdndAware,
-+        XdndProxy,
-+
-+        XdndActionCopy,
-+        XdndActionLink,
-+        XdndActionMove,
-+        XdndActionPrivate,
-+
-+        // Motif DND
-+        _MOTIF_DRAG_AND_DROP_MESSAGE,
-+        _MOTIF_DRAG_INITIATOR_INFO,
-+        _MOTIF_DRAG_RECEIVER_INFO,
-+        _MOTIF_DRAG_WINDOW,
-+        _MOTIF_DRAG_TARGETS,
-+
-+        XmTRANSFER_SUCCESS,
-+        XmTRANSFER_FAILURE,
-+
-+        // Xkb
-+        _XKB_RULES_NAMES,
-+
-+        // XEMBED
-+        _XEMBED,
-+        _XEMBED_INFO,
-+
-+        // XInput2
-+        ButtonLeft,
-+        ButtonMiddle,
-+        ButtonRight,
-+        ButtonWheelUp,
-+        ButtonWheelDown,
-+        ButtonHorizWheelLeft,
-+        ButtonHorizWheelRight,
-+        AbsMTPositionX,
-+        AbsMTPositionY,
-+        AbsMTTouchMajor,
-+        AbsMTTouchMinor,
-+        AbsMTOrientation,
-+        AbsMTPressure,
-+        AbsMTTrackingID,
-+        MaxContacts,
-+        RelX,
-+        RelY,
-+        // XInput2 tablet
-+        AbsX,
-+        AbsY,
-+        AbsPressure,
-+        AbsTiltX,
-+        AbsTiltY,
-+        AbsWheel,
-+        AbsDistance,
-+        WacomSerialIDs,
-+        INTEGER,
-+        RelHorizWheel,
-+        RelVertWheel,
-+        RelHorizScroll,
-+        RelVertScroll,
-+
-+        _XSETTINGS_SETTINGS,
-+
-+        _COMPIZ_DECOR_PENDING,
-+        _COMPIZ_DECOR_REQUEST,
-+        _COMPIZ_DECOR_DELETE_PIXMAP,
-+        _COMPIZ_TOOLKIT_ACTION,
-+        _GTK_LOAD_ICONTHEMES,
-+
-+        NPredefinedAtoms,
-+
-+        _QT_SETTINGS_TIMESTAMP = NPredefinedAtoms,
-+        NAtoms
-+    };
-+}
-+
-+typedef QVarLengthArray<xcb_generic_event_t *, 64> QXcbEventArray;
-+
-+class QXcbConnection;
-+class QXcbEventReader : public QThread
-+{
-+    Q_OBJECT
-+public:
-+    QXcbEventReader(QXcbConnection *connection);
-+
-+    void run() override;
-+
-+    QXcbEventArray *lock();
-+    void unlock();
-+
-+    void start();
-+
-+    void registerEventDispatcher(QAbstractEventDispatcher *dispatcher);
-+
-+signals:
-+    void eventPending();
-+
-+private slots:
-+    void registerForEvents();
-+
-+private:
-+    void addEvent(xcb_generic_event_t *event);
-+
-+    QMutex m_mutex;
-+    QXcbEventArray m_events;
-+    QXcbConnection *m_connection;
-+};
-+
-+class QXcbWindowEventListener
-+{
-+public:
-+    virtual ~QXcbWindowEventListener() {}
-+    virtual bool handleGenericEvent(xcb_generic_event_t *, long *) { return false; }
-+
-+    virtual void handleExposeEvent(const xcb_expose_event_t *) {}
-+    virtual void handleClientMessageEvent(const xcb_client_message_event_t *) {}
-+    virtual void handleConfigureNotifyEvent(const xcb_configure_notify_event_t *) {}
-+    virtual void handleMapNotifyEvent(const xcb_map_notify_event_t *) {}
-+    virtual void handleUnmapNotifyEvent(const xcb_unmap_notify_event_t *) {}
-+    virtual void handleDestroyNotifyEvent(const xcb_destroy_notify_event_t *) {}
-+    virtual void handleButtonPressEvent(const xcb_button_press_event_t *) {}
-+    virtual void handleButtonReleaseEvent(const xcb_button_release_event_t *) {}
-+    virtual void handleMotionNotifyEvent(const xcb_motion_notify_event_t *) {}
-+    virtual void handleEnterNotifyEvent(const xcb_enter_notify_event_t *) {}
-+    virtual void handleLeaveNotifyEvent(const xcb_leave_notify_event_t *) {}
-+    virtual void handleFocusInEvent(const xcb_focus_in_event_t *) {}
-+    virtual void handleFocusOutEvent(const xcb_focus_out_event_t *) {}
-+    virtual void handlePropertyNotifyEvent(const xcb_property_notify_event_t *) {}
-+#ifdef XCB_USE_XINPUT22
-+    virtual void handleXIMouseEvent(xcb_ge_event_t *, Qt::MouseEventSource = Qt::MouseEventNotSynthesized) {}
-+    virtual void handleXIEnterLeave(xcb_ge_event_t *) {}
-+#endif
-+    virtual QXcbWindow *toWindow() { return 0; }
-+};
-+
-+typedef QHash<xcb_window_t, QXcbWindowEventListener *> WindowMapper;
-+
-+class QXcbSyncWindowRequest : public QEvent
-+{
-+public:
-+    QXcbSyncWindowRequest(QXcbWindow *w) : QEvent(QEvent::Type(QEvent::User + 1)), m_window(w) { }
-+
-+    QXcbWindow *window() const { return m_window; }
-+    void invalidate();
-+
-+private:
-+    QXcbWindow *m_window;
-+};
-+
-+class QAbstractEventDispatcher;
-+class Q_XCB_EXPORT QXcbConnection : public QObject
-+{
-+    Q_OBJECT
-+public:
-+    QXcbConnection(QXcbNativeInterface *nativeInterface, bool canGrabServer, xcb_visualid_t defaultVisualId, const char *displayName = 0);
-+    ~QXcbConnection();
-+
-+    QXcbConnection *connection() const { return const_cast<QXcbConnection *>(this); }
-+    bool isConnected() const;
-+
-+    const QList<QXcbVirtualDesktop *> &virtualDesktops() const { return m_virtualDesktops; }
-+    const QList<QXcbScreen *> &screens() const { return m_screens; }
-+    int primaryScreenNumber() const { return m_primaryScreenNumber; }
-+    QXcbVirtualDesktop *primaryVirtualDesktop() const { return m_virtualDesktops.value(m_primaryScreenNumber); }
-+    QXcbScreen *primaryScreen() const;
-+
-+    inline xcb_atom_t atom(QXcbAtom::Atom atom) const { return m_allAtoms[atom]; }
-+    QXcbAtom::Atom qatom(xcb_atom_t atom) const;
-+    xcb_atom_t internAtom(const char *name);
-+    QByteArray atomName(xcb_atom_t atom);
-+
-+    const char *displayName() const { return m_displayName.constData(); }
-+    xcb_connection_t *xcb_connection() const { return m_connection; }
-+    const xcb_setup_t *setup() const { return m_setup; }
-+    const xcb_format_t *formatForDepth(uint8_t depth) const;
-+
-+    QXcbKeyboard *keyboard() const { return m_keyboard; }
-+
-+#ifndef QT_NO_CLIPBOARD
-+    QXcbClipboard *clipboard() const { return m_clipboard; }
-+#endif
-+#ifndef QT_NO_DRAGANDDROP
-+    QXcbDrag *drag() const { return m_drag; }
-+#endif
-+
-+    QXcbWMSupport *wmSupport() const { return m_wmSupport.data(); }
-+    xcb_window_t rootWindow();
-+    xcb_window_t clientLeader();
-+
-+    bool hasDefaultVisualId() const { return m_defaultVisualId != UINT_MAX; }
-+    xcb_visualid_t defaultVisualId() const { return m_defaultVisualId; }
-+
-+#if QT_CONFIG(xcb_xlib)
-+    void *xlib_display() const;
-+    void *createVisualInfoForDefaultVisualId() const;
-+#endif
-+
-+#if QT_CONFIG(xinput2)
-+    void xi2Select(xcb_window_t window);
-+    void xi2SelectStateEvents();
-+#endif
-+#ifdef XCB_USE_XINPUT21
-+    bool isAtLeastXI21() const { return m_xi2Enabled && m_xi2Minor >= 1; }
-+#else
-+    bool isAtLeastXI21() const { return false; }
-+#endif
-+#ifdef XCB_USE_XINPUT22
-+    bool isAtLeastXI22() const { return m_xi2Enabled && m_xi2Minor >= 2; }
-+#else
-+    bool isAtLeastXI22() const { return false; }
-+#endif
-+
-+    void sync();
-+
-+    void handleXcbError(xcb_generic_error_t *error);
-+    void handleXcbEvent(xcb_generic_event_t *event);
-+
-+    void addWindowEventListener(xcb_window_t id, QXcbWindowEventListener *eventListener);
-+    void removeWindowEventListener(xcb_window_t id);
-+    QXcbWindowEventListener *windowEventListenerFromId(xcb_window_t id);
-+    QXcbWindow *platformWindowFromId(xcb_window_t id);
-+
-+    template<typename T>
-+    inline xcb_generic_event_t *checkEvent(T &checker);
-+
-+    typedef bool (*PeekFunc)(QXcbConnection *, xcb_generic_event_t *);
-+    void addPeekFunc(PeekFunc f);
-+
-+    inline xcb_timestamp_t time() const { return m_time; }
-+    inline void setTime(xcb_timestamp_t t) { if (t > m_time) m_time = t; }
-+
-+    inline xcb_timestamp_t netWmUserTime() const { return m_netWmUserTime; }
-+    inline void setNetWmUserTime(xcb_timestamp_t t) { if (t > m_netWmUserTime) m_netWmUserTime = t; }
-+
-+    bool hasXFixes() const { return xfixes_first_event > 0; }
-+    bool hasXShape() const { return has_shape_extension; }
-+    bool hasXRandr() const { return has_randr_extension; }
-+    bool hasInputShape() const { return has_input_shape; }
-+    bool hasXKB() const { return has_xkb; }
-+
-+    bool supportsThreadedRendering() const { return m_reader->isRunning(); }
-+    bool threadedEventHandling() const { return m_reader->isRunning(); }
-+
-+    xcb_timestamp_t getTimestamp();
-+    xcb_window_t getSelectionOwner(xcb_atom_t atom) const;
-+    xcb_window_t getQtSelectionOwner();
-+
-+    void setButton(Qt::MouseButton button, bool down) { m_buttons.setFlag(button, down); }
-+    Qt::MouseButtons buttons() const { return m_buttons; }
-+    Qt::MouseButton translateMouseButton(xcb_button_t s);
-+
-+    QXcbWindow *focusWindow() const { return m_focusWindow; }
-+    void setFocusWindow(QWindow *);
-+    QXcbWindow *mouseGrabber() const { return m_mouseGrabber; }
-+    void setMouseGrabber(QXcbWindow *);
-+    QXcbWindow *mousePressWindow() const { return m_mousePressWindow; }
-+    void setMousePressWindow(QXcbWindow *);
-+
-+    QByteArray startupId() const { return m_startupId; }
-+    void setStartupId(const QByteArray &nextId) { m_startupId = nextId; }
-+    void clearStartupId() { m_startupId.clear(); }
-+
-+    void grabServer();
-+    void ungrabServer();
-+
-+    QXcbNativeInterface *nativeInterface() const { return m_nativeInterface; }
-+
-+    QXcbSystemTrayTracker *systemTrayTracker() const;
-+    static bool xEmbedSystemTrayAvailable();
-+    static bool xEmbedSystemTrayVisualHasAlphaChannel();
-+
-+#ifdef XCB_USE_XINPUT21
-+    void handleEnterEvent();
-+#endif
-+
-+#ifdef XCB_USE_XINPUT22
-+    bool startSystemResizeForTouchBegin(xcb_window_t window, const QPoint &point, Qt::Corner corner);
-+    bool xi2SetMouseGrabEnabled(xcb_window_t w, bool grab);
-+#endif
-+    Qt::MouseButton xiToQtMouseButton(uint32_t b);
-+
-+    QXcbEventReader *eventReader() const { return m_reader; }
-+
-+    bool canGrab() const { return m_canGrabServer; }
-+
-+    QXcbGlIntegration *glIntegration() const { return m_glIntegration; }
-+
-+#ifdef XCB_USE_XINPUT22
-+    bool xi2MouseEvents() const;
-+    bool isTouchScreen(int id) const;
-+#endif
-+
-+protected:
-+    bool event(QEvent *e) override;
-+
-+public slots:
-+    void flush() { xcb_flush(m_connection); }
-+
-+private slots:
-+    void processXcbEvents();
-+
-+private:
-+    void initializeAllAtoms();
-+    void sendConnectionEvent(QXcbAtom::Atom atom, uint id = 0);
-+    void initializeXFixes();
-+    void initializeXRender();
-+    void initializeXRandr();
-+    void initializeXinerama();
-+    void initializeXShape();
-+    void initializeXKB();
-+    void handleClientMessageEvent(const xcb_client_message_event_t *event);
-+    QXcbScreen* findScreenForCrtc(xcb_window_t rootWindow, xcb_randr_crtc_t crtc) const;
-+    QXcbScreen* findScreenForOutput(xcb_window_t rootWindow, xcb_randr_output_t output) const;
-+    QXcbVirtualDesktop* virtualDesktopForRootWindow(xcb_window_t rootWindow) const;
-+    void updateScreens(const xcb_randr_notify_event_t *event);
-+    bool checkOutputIsPrimary(xcb_window_t rootWindow, xcb_randr_output_t output);
-+    void updateScreen(QXcbScreen *screen, const xcb_randr_output_change_t &outputChange);
-+    QXcbScreen *createScreen(QXcbVirtualDesktop *virtualDesktop,
-+                             const xcb_randr_output_change_t &outputChange,
-+                             xcb_randr_get_output_info_reply_t *outputInfo);
-+    void destroyScreen(QXcbScreen *screen);
-+    void initializeScreens();
-+    bool compressEvent(xcb_generic_event_t *event, int currentIndex, QXcbEventArray *eventqueue) const;
-+#if QT_CONFIG(xinput2)
-+    bool m_xi2Enabled = false;
-+    int m_xi2Minor = 2;
-+    void initializeXInput2();
-+    void finalizeXInput2();
-+    void xi2SetupDevices();
-+    XInput2TouchDeviceData *touchDeviceForId(int id);
-+    void xi2HandleEvent(xcb_ge_event_t *event);
-+    void xi2HandleHierachyEvent(void *event);
-+    void xi2HandleDeviceChangedEvent(void *event);
-+    int m_xiOpCode, m_xiEventBase, m_xiErrorBase;
-+#ifdef XCB_USE_XINPUT22
-+    void xi2ProcessTouch(void *xiDevEvent, QXcbWindow *platformWindow);
-+#endif // XCB_USE_XINPUT22
-+#if QT_CONFIG(tabletevent)
-+    struct TabletData {
-+        int deviceId = 0;
-+        QTabletEvent::PointerType pointerType = QTabletEvent::UnknownPointer;
-+        QTabletEvent::TabletDevice tool = QTabletEvent::Stylus;
-+        Qt::MouseButtons buttons = 0;
-+        qint64 serialId = 0;
-+        bool inProximity = false;
-+        struct ValuatorClassInfo {
-+            double minVal = 0;
-+            double maxVal = 0;
-+            double curVal = 0;
-+            int number = -1;
-+        };
-+        QHash<int, ValuatorClassInfo> valuatorInfo;
-+    };
-+    friend class QTypeInfo<TabletData>;
-+    friend class QTypeInfo<TabletData::ValuatorClassInfo>;
-+    bool xi2HandleTabletEvent(const void *event, TabletData *tabletData);
-+    void xi2ReportTabletEvent(const void *event, TabletData *tabletData);
-+    QVector<TabletData> m_tabletData;
-+    TabletData *tabletDataForDevice(int id);
-+#endif // QT_CONFIG(tabletevent)
-+    struct ScrollingDevice {
-+        int deviceId = 0;
-+        int verticalIndex = 0;
-+        int horizontalIndex = 0;
-+        double verticalIncrement = 0;
-+        double horizontalIncrement = 0;
-+        Qt::Orientations orientations = 0;
-+        Qt::Orientations legacyOrientations = 0;
-+        QPointF lastScrollPosition;
-+    };
-+    void updateScrollingDevice(ScrollingDevice& scrollingDevice, int num_classes, void *classes);
-+    void xi2HandleScrollEvent(void *event, ScrollingDevice &scrollingDevice);
-+    QHash<int, ScrollingDevice> m_scrollingDevices;
-+
-+    static bool xi2GetValuatorValueIfSet(const void *event, int valuatorNum, double *value);
-+    static void xi2PrepareXIGenericDeviceEvent(xcb_ge_event_t *event);
-+#endif
-+
-+    xcb_connection_t *m_connection = nullptr;
-+    const xcb_setup_t *m_setup = nullptr;
-+    const bool m_canGrabServer;
-+    const xcb_visualid_t m_defaultVisualId;
-+
-+    QList<QXcbVirtualDesktop *> m_virtualDesktops;
-+    QList<QXcbScreen *> m_screens;
-+    int m_primaryScreenNumber = 0;
-+
-+    xcb_atom_t m_allAtoms[QXcbAtom::NAtoms];
-+
-+    xcb_timestamp_t m_time = XCB_CURRENT_TIME;
-+    xcb_timestamp_t m_netWmUserTime = XCB_CURRENT_TIME;
-+
-+    QByteArray m_displayName;
-+
-+    QXcbKeyboard *m_keyboard = nullptr;
-+#ifndef QT_NO_CLIPBOARD
-+    QXcbClipboard *m_clipboard = nullptr;
-+#endif
-+#ifndef QT_NO_DRAGANDDROP
-+    QXcbDrag *m_drag = nullptr;
-+#endif
-+    QScopedPointer<QXcbWMSupport> m_wmSupport;
-+    QXcbNativeInterface *m_nativeInterface = nullptr;
-+
-+#if QT_CONFIG(xcb_xlib)
-+    void *m_xlib_display = nullptr;
-+#endif
-+    QXcbEventReader *m_reader = nullptr;
-+#if QT_CONFIG(xinput2)
-+    QHash<int, XInput2TouchDeviceData*> m_touchDevices;
-+#ifdef XCB_USE_XINPUT22
-+    struct StartSystemResizeInfo {
-+        xcb_window_t window;
-+        uint16_t deviceid;
-+        uint32_t pointid;
-+        Qt::Corner corner;
-+    } m_startSystemResizeInfo;
-+#endif
-+#endif
-+#ifdef Q_XCB_DEBUG
-+    struct CallInfo {
-+        int sequence;
-+        QByteArray file;
-+        int line;
-+    };
-+    QVector<CallInfo> m_callLog;
-+    QMutex m_callLogMutex;
-+    void log(const char *file, int line, int sequence);
-+    template <typename cookie_t>
-+    friend cookie_t q_xcb_call_template(const cookie_t &cookie, QXcbConnection *connection,
-+                                        const char *file, int line);
-+    template <typename reply_t>
-+    friend reply_t *q_xcb_call_template(reply_t *reply, QXcbConnection *connection,
-+                                        const char *file, int line);
-+#endif
-+
-+    WindowMapper m_mapper;
-+
-+    QVector<PeekFunc> m_peekFuncs;
-+
-+    uint32_t xfixes_first_event = 0;
-+    uint32_t xrandr_first_event = 0;
-+    uint32_t xkb_first_event = 0;
-+
-+    bool has_xinerama_extension = false;
-+    bool has_shape_extension = false;
-+    bool has_randr_extension = false;
-+    bool has_input_shape;
-+    bool has_xkb = false;
-+
-+    Qt::MouseButtons m_buttons = 0;
-+
-+    QXcbWindow *m_focusWindow = nullptr;
-+    QXcbWindow *m_mouseGrabber = nullptr;
-+    QXcbWindow *m_mousePressWindow = nullptr;
-+
-+    xcb_window_t m_clientLeader = 0;
-+    QByteArray m_startupId;
-+    QXcbSystemTrayTracker *m_systemTrayTracker = nullptr;
-+    QXcbGlIntegration *m_glIntegration = nullptr;
-+    bool m_xiGrab = false;
-+
-+    xcb_window_t m_qtSelectionOwner = 0;
-+
-+    friend class QXcbEventReader;
-+};
-+#if QT_CONFIG(xinput2)
-+#if QT_CONFIG(tabletevent)
-+Q_DECLARE_TYPEINFO(QXcbConnection::TabletData::ValuatorClassInfo, Q_PRIMITIVE_TYPE);
-+Q_DECLARE_TYPEINFO(QXcbConnection::TabletData, Q_MOVABLE_TYPE);
-+#endif
-+#endif
-+
-+#define DISPLAY_FROM_XCB(object) (reinterpret_cast<Display *>(object->connection()->xlib_display()))
-+#define CREATE_VISUALINFO_FROM_DEFAULT_VISUALID(object) ((XVisualInfo *)(object->connection()->createVisualInfoForDefaultVisualId()))
-+
-+template<typename T>
-+xcb_generic_event_t *QXcbConnection::checkEvent(T &checker)
-+{
-+    QXcbEventArray *eventqueue = m_reader->lock();
-+
-+    for (int i = 0; i < eventqueue->size(); ++i) {
-+        xcb_generic_event_t *event = eventqueue->at(i);
-+        if (checker.checkEvent(event)) {
-+            (*eventqueue)[i] = 0;
-+            m_reader->unlock();
-+            return event;
-+        }
-+    }
-+    m_reader->unlock();
-+    return 0;
-+}
-+
-+class QXcbConnectionGrabber
-+{
-+public:
-+    QXcbConnectionGrabber(QXcbConnection *connection);
-+    ~QXcbConnectionGrabber();
-+    void release();
-+private:
-+    QXcbConnection *m_connection;
-+};
-+
-+template <typename T>
-+union q_padded_xcb_event {
-+  T event;
-+  char padding[32];
-+};
-+
-+// The xcb_send_event() requires all events to have 32 bytes. It calls memcpy() on the
-+// passed in event. If the passed in event is less than 32 bytes, memcpy() reaches into
-+// unrelated memory.
-+#define Q_DECLARE_XCB_EVENT(event_var, event_type) \
-+    q_padded_xcb_event<event_type> store = {}; \
-+    auto &event_var = store.event;
-+
-+#ifdef Q_XCB_DEBUG
-+template <typename cookie_t>
-+cookie_t q_xcb_call_template(const cookie_t &cookie, QXcbConnection *connection, const char *file,
-+                             int line)
-+{
-+    connection->log(file, line, cookie.sequence);
-+    return cookie;
-+}
-+
-+template <typename reply_t>
-+reply_t *q_xcb_call_template(reply_t *reply, QXcbConnection *connection, const char *file, int line)
-+{
-+    connection->log(file, line, reply->sequence);
-+    return reply;
-+}
-+#define Q_XCB_CALL(x) q_xcb_call_template(x, connection(), __FILE__, __LINE__)
-+#define Q_XCB_CALL2(x, connection) q_xcb_call_template(x, connection, __FILE__, __LINE__)
-+#define Q_XCB_NOOP(c) q_xcb_call_template(xcb_no_operation(c->xcb_connection()), c, __FILE__, __LINE__);
-+#else
-+#define Q_XCB_CALL(x) x
-+#define Q_XCB_CALL2(x, connection) x
-+#define Q_XCB_NOOP(c) (void)c;
-+#endif
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.9.2/qxcbcursor.h b/libqt5xcbqpa-dev/5.9.2/qxcbcursor.h
-new file mode 100644
-index 0000000..e3f8851
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.2/qxcbcursor.h
-@@ -0,0 +1,115 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBCURSOR_H
-+#define QXCBCURSOR_H
-+
-+#include <qpa/qplatformcursor.h>
-+#include "qxcbscreen.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+#ifndef QT_NO_CURSOR
-+
-+struct QXcbCursorCacheKey
-+{
-+    explicit QXcbCursorCacheKey(const QCursor &c);
-+    explicit QXcbCursorCacheKey(Qt::CursorShape s) : shape(s), bitmapCacheKey(0), maskCacheKey(0) {}
-+    QXcbCursorCacheKey() : shape(Qt::CustomCursor), bitmapCacheKey(0), maskCacheKey(0) {}
-+
-+    Qt::CursorShape shape;
-+    qint64 bitmapCacheKey;
-+    qint64 maskCacheKey;
-+};
-+
-+inline bool operator==(const QXcbCursorCacheKey &k1, const QXcbCursorCacheKey &k2)
-+{
-+    return k1.shape == k2.shape && k1.bitmapCacheKey == k2.bitmapCacheKey && k1.maskCacheKey == k2.maskCacheKey;
-+}
-+
-+inline uint qHash(const QXcbCursorCacheKey &k, uint seed) Q_DECL_NOTHROW
-+{
-+    return (uint(k.shape) + uint(k.bitmapCacheKey) + uint(k.maskCacheKey)) ^ seed;
-+}
-+
-+#endif // !QT_NO_CURSOR
-+
-+class QXcbCursor : public QXcbObject, public QPlatformCursor
-+{
-+public:
-+    QXcbCursor(QXcbConnection *conn, QXcbScreen *screen);
-+    ~QXcbCursor();
-+#ifndef QT_NO_CURSOR
-+    void changeCursor(QCursor *cursor, QWindow *widget) override;
-+#endif
-+    QPoint pos() const override;
-+    void setPos(const QPoint &pos) override;
-+
-+    static void queryPointer(QXcbConnection *c, QXcbVirtualDesktop **virtualDesktop, QPoint *pos, int *keybMask = 0);
-+
-+#ifndef QT_NO_CURSOR
-+    xcb_cursor_t xcbCursor(const QCursor &c) const
-+        { return m_cursorHash.value(QXcbCursorCacheKey(c), xcb_cursor_t(0)); }
-+#endif
-+
-+private:
-+#ifndef QT_NO_CURSOR
-+    typedef QHash<QXcbCursorCacheKey, xcb_cursor_t> CursorHash;
-+
-+    xcb_cursor_t createFontCursor(int cshape);
-+    xcb_cursor_t createBitmapCursor(QCursor *cursor);
-+    xcb_cursor_t createNonStandardCursor(int cshape);
-+#endif
-+
-+    QXcbScreen *m_screen;
-+#ifndef QT_NO_CURSOR
-+    CursorHash m_cursorHash;
-+#endif
-+#if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
-+    static void cursorThemePropertyChanged(QXcbVirtualDesktop *screen,
-+                                           const QByteArray &name,
-+                                           const QVariant &property,
-+                                           void *handle);
-+#endif
-+    bool m_gtkCursorThemeInitialized;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.9.2/qxcbdrag.h b/libqt5xcbqpa-dev/5.9.2/qxcbdrag.h
-new file mode 100644
-index 0000000..2d152ed
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.2/qxcbdrag.h
-@@ -0,0 +1,177 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the QtGui module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBDRAG_H
-+#define QXCBDRAG_H
-+
-+#include <qpa/qplatformdrag.h>
-+#include <private/qsimpledrag_p.h>
-+#include <qxcbobject.h>
-+#include <xcb/xcb.h>
-+#include <qpoint.h>
-+#include <qrect.h>
-+#include <qsharedpointer.h>
-+#include <qpointer.h>
-+#include <qvector.h>
-+#include <qdatetime.h>
-+#include <qpixmap.h>
-+#include <qbackingstore.h>
-+
-+#include <QtCore/QDebug>
-+
-+QT_BEGIN_NAMESPACE
-+
-+#ifndef QT_NO_DRAGANDDROP
-+
-+class QWindow;
-+class QPlatformWindow;
-+class QXcbConnection;
-+class QXcbWindow;
-+class QXcbDropData;
-+class QXcbScreen;
-+class QDrag;
-+class QShapedPixmapWindow;
-+
-+class QXcbDrag : public QXcbObject, public QBasicDrag
-+{
-+public:
-+    QXcbDrag(QXcbConnection *c);
-+    ~QXcbDrag();
-+
-+    QMimeData *platformDropData() override;
-+    bool eventFilter(QObject *o, QEvent *e) override;
-+
-+    void startDrag() override;
-+    void cancel() override;
-+    void move(const QPoint &globalPos) override;
-+    void drop(const QPoint &globalPos) override;
-+    void endDrag() override;
-+
-+    void handleEnter(QPlatformWindow *window, const xcb_client_message_event_t *event, xcb_window_t proxy = 0);
-+    void handlePosition(QPlatformWindow *w, const xcb_client_message_event_t *event);
-+    void handleLeave(QPlatformWindow *w, const xcb_client_message_event_t *event);
-+    void handleDrop(QPlatformWindow *, const xcb_client_message_event_t *event);
-+
-+    void handleStatus(const xcb_client_message_event_t *event);
-+    void handleSelectionRequest(const xcb_selection_request_event_t *event);
-+    void handleFinished(const xcb_client_message_event_t *event);
-+
-+    bool dndEnable(QXcbWindow *win, bool on);
-+    bool ownsDragObject() const override;
-+
-+    void updatePixmap();
-+    xcb_timestamp_t targetTime() { return target_time; }
-+
-+protected:
-+    void timerEvent(QTimerEvent* e) override;
-+
-+private:
-+    friend class QXcbDropData;
-+
-+    void init();
-+
-+    void handle_xdnd_position(QPlatformWindow *w, const xcb_client_message_event_t *event);
-+    void handle_xdnd_status(const xcb_client_message_event_t *event);
-+    void send_leave();
-+
-+    Qt::DropAction toDropAction(xcb_atom_t atom) const;
-+    xcb_atom_t toXdndAction(Qt::DropAction a) const;
-+
-+    QPointer<QWindow> initiatorWindow;
-+    QPointer<QWindow> currentWindow;
-+    QPoint currentPosition;
-+
-+    QXcbDropData *dropData;
-+    Qt::DropAction accepted_drop_action;
-+
-+    QWindow *desktop_proxy;
-+
-+    xcb_atom_t xdnd_dragsource;
-+
-+    // the types in this drop. 100 is no good, but at least it's big.
-+    enum { xdnd_max_type = 100 };
-+    QVector<xcb_atom_t> xdnd_types;
-+
-+    // timestamp from XdndPosition and XdndDroptime for retrieving the data
-+    xcb_timestamp_t target_time;
-+    xcb_timestamp_t source_time;
-+
-+    // rectangle in which the answer will be the same
-+    QRect source_sameanswer;
-+    bool waiting_for_status;
-+
-+    // top-level window we sent position to last.
-+    xcb_window_t current_target;
-+    // window to send events to (always valid if current_target)
-+    xcb_window_t current_proxy_target;
-+
-+    QXcbVirtualDesktop *current_virtual_desktop;
-+
-+    // 10 minute timer used to discard old XdndDrop transactions
-+    enum { XdndDropTransactionTimeout = 600000 };
-+    int cleanup_timer;
-+
-+    QVector<xcb_atom_t> drag_types;
-+
-+    struct Transaction
-+    {
-+        xcb_timestamp_t timestamp;
-+        xcb_window_t target;
-+        xcb_window_t proxy_target;
-+        QPlatformWindow *targetWindow;
-+//        QWidget *embedding_widget;
-+        QPointer<QDrag> drag;
-+        QTime time;
-+    };
-+    friend class QTypeInfo<Transaction>;
-+    QVector<Transaction> transactions;
-+
-+    int transaction_expiry_timer;
-+    void restartDropExpiryTimer();
-+    int findTransactionByWindow(xcb_window_t window);
-+    int findTransactionByTime(xcb_timestamp_t timestamp);
-+    xcb_window_t findRealWindow(const QPoint & pos, xcb_window_t w, int md, bool ignoreNonXdndAwareWindows);
-+};
-+Q_DECLARE_TYPEINFO(QXcbDrag::Transaction, Q_MOVABLE_TYPE);
-+
-+#endif // QT_NO_DRAGANDDROP
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.9.2/qxcbexport.h b/libqt5xcbqpa-dev/5.9.2/qxcbexport.h
-new file mode 100644
-index 0000000..4db23a9
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.2/qxcbexport.h
-@@ -0,0 +1,55 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBEXPORT_H
-+#define QXCBEXPORT_H
-+
-+#include <QtCore/qglobal.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+#  if defined(QT_BUILD_XCB_PLUGIN)
-+#    define Q_XCB_EXPORT Q_DECL_EXPORT
-+#  else
-+#    define Q_XCB_EXPORT Q_DECL_IMPORT
-+#  endif
-+
-+QT_END_NAMESPACE
-+#endif //QXCBEXPORT_H
-+
-diff --git a/libqt5xcbqpa-dev/5.9.2/qxcbimage.h b/libqt5xcbqpa-dev/5.9.2/qxcbimage.h
-new file mode 100644
-index 0000000..a9071a4
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.2/qxcbimage.h
-@@ -0,0 +1,62 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBIMAGE_H
-+#define QXCBIMAGE_H
-+
-+#include "qxcbscreen.h"
-+#include <QtCore/QPair>
-+#include <QtGui/QImage>
-+#include <QtGui/QPixmap>
-+#include <xcb/xcb_image.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+QImage::Format qt_xcb_imageFormatForVisual(QXcbConnection *connection,
-+                                           uint8_t depth, const xcb_visualtype_t *visual);
-+QPixmap qt_xcb_pixmapFromXPixmap(QXcbConnection *connection, xcb_pixmap_t pixmap,
-+                                 int width, int height, int depth,
-+                                 const xcb_visualtype_t *visual);
-+xcb_pixmap_t qt_xcb_XPixmapFromBitmap(QXcbScreen *screen, const QImage &image);
-+xcb_cursor_t qt_xcb_createCursorXRender(QXcbScreen *screen, const QImage &image,
-+                                        const QPoint &spot);
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.9.2/qxcbintegration.h b/libqt5xcbqpa-dev/5.9.2/qxcbintegration.h
-new file mode 100644
-index 0000000..b3d72c1
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.2/qxcbintegration.h
-@@ -0,0 +1,145 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBINTEGRATION_H
-+#define QXCBINTEGRATION_H
-+
-+#include <QtGui/private/qtguiglobal_p.h>
-+#include <qpa/qplatformintegration.h>
-+#include <qpa/qplatformscreen.h>
-+
-+#include "qxcbexport.h"
-+
-+#include <xcb/xcb.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbConnection;
-+class QAbstractEventDispatcher;
-+class QXcbNativeInterface;
-+class QXcbScreen;
-+
-+class Q_XCB_EXPORT QXcbIntegration : public QPlatformIntegration
-+{
-+public:
-+    QXcbIntegration(const QStringList &parameters, int &argc, char **argv);
-+    ~QXcbIntegration();
-+
-+    QPlatformWindow *createPlatformWindow(QWindow *window) const override;
-+    QPlatformWindow *createForeignWindow(QWindow *window, WId nativeHandle) const override;
-+#ifndef QT_NO_OPENGL
-+    QPlatformOpenGLContext *createPlatformOpenGLContext(QOpenGLContext *context) const override;
-+#endif
-+    QPlatformBackingStore *createPlatformBackingStore(QWindow *window) const override;
-+
-+    QPlatformOffscreenSurface *createPlatformOffscreenSurface(QOffscreenSurface *surface) const override;
-+
-+    bool hasCapability(Capability cap) const override;
-+    QAbstractEventDispatcher *createEventDispatcher() const override;
-+    void initialize() override;
-+
-+    void moveToScreen(QWindow *window, int screen);
-+
-+    QPlatformFontDatabase *fontDatabase() const override;
-+
-+    QPlatformNativeInterface *nativeInterface()const override;
-+
-+#ifndef QT_NO_CLIPBOARD
-+    QPlatformClipboard *clipboard() const override;
-+#endif
-+#ifndef QT_NO_DRAGANDDROP
-+    QPlatformDrag *drag() const override;
-+#endif
-+
-+    QPlatformInputContext *inputContext() const override;
-+
-+#ifndef QT_NO_ACCESSIBILITY
-+    QPlatformAccessibility *accessibility() const override;
-+#endif
-+
-+    QPlatformServices *services() const override;
-+
-+    Qt::KeyboardModifiers queryKeyboardModifiers() const override;
-+    QList<int> possibleKeys(const QKeyEvent *e) const override;
-+
-+    QStringList themeNames() const override;
-+    QPlatformTheme *createPlatformTheme(const QString &name) const override;
-+    QVariant styleHint(StyleHint hint) const override;
-+
-+    QXcbConnection *defaultConnection() const { return m_connections.first(); }
-+
-+    QByteArray wmClass() const;
-+
-+#if QT_CONFIG(xcb_sm)
-+    QPlatformSessionManager *createPlatformSessionManager(const QString &id, const QString &key) const override;
-+#endif
-+
-+    void sync() override;
-+
-+    void beep() const override;
-+
-+    static QXcbIntegration *instance() { return m_instance; }
-+
-+private:
-+    QList<QXcbConnection *> m_connections;
-+
-+    QScopedPointer<QPlatformFontDatabase> m_fontDatabase;
-+    QScopedPointer<QXcbNativeInterface> m_nativeInterface;
-+
-+    QScopedPointer<QPlatformInputContext> m_inputContext;
-+
-+#ifndef QT_NO_ACCESSIBILITY
-+    mutable QScopedPointer<QPlatformAccessibility> m_accessibility;
-+#endif
-+
-+    QScopedPointer<QPlatformServices> m_services;
-+
-+    friend class QXcbConnection; // access QPlatformIntegration::screenAdded()
-+
-+    mutable QByteArray m_wmClass;
-+    const char *m_instanceName;
-+    bool m_canGrab;
-+    xcb_visualid_t m_defaultVisualId;
-+
-+    static QXcbIntegration *m_instance;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.9.2/qxcbkeyboard.h b/libqt5xcbqpa-dev/5.9.2/qxcbkeyboard.h
-new file mode 100644
-index 0000000..74f9da0
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.2/qxcbkeyboard.h
-@@ -0,0 +1,151 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBKEYBOARD_H
-+#define QXCBKEYBOARD_H
-+
-+#include "qxcbobject.h"
-+
-+#include <xcb/xcb_keysyms.h>
-+
-+#include <xkbcommon/xkbcommon.h>
-+#if QT_CONFIG(xkb)
-+#include <xkbcommon/xkbcommon-x11.h>
-+#endif
-+
-+#include <QEvent>
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QWindow;
-+
-+class QXcbKeyboard : public QXcbObject
-+{
-+public:
-+    QXcbKeyboard(QXcbConnection *connection);
-+
-+    ~QXcbKeyboard();
-+
-+    void handleKeyPressEvent(const xcb_key_press_event_t *event);
-+    void handleKeyReleaseEvent(const xcb_key_release_event_t *event);
-+    void handleMappingNotifyEvent(const void *event);
-+
-+    Qt::KeyboardModifiers translateModifiers(int s) const;
-+    void updateKeymap();
-+    QList<int> possibleKeys(const QKeyEvent *e) const;
-+
-+    // when XKEYBOARD not present on the X server
-+    void updateXKBMods();
-+    quint32 xkbModMask(quint16 state);
-+    void updateXKBStateFromCore(quint16 state);
-+#ifdef XCB_USE_XINPUT22
-+    void updateXKBStateFromXI(void *modInfo, void *groupInfo);
-+#endif
-+#if QT_CONFIG(xkb)
-+    // when XKEYBOARD is present on the X server
-+    int coreDeviceId() const { return core_device_id; }
-+    void updateXKBState(xcb_xkb_state_notify_event_t *state);
-+#endif
-+
-+protected:
-+    void handleKeyEvent(xcb_window_t sourceWindow, QEvent::Type type, xcb_keycode_t code, quint16 state, xcb_timestamp_t time);
-+
-+    void resolveMaskConflicts();
-+    QString lookupString(struct xkb_state *state, xcb_keycode_t code) const;
-+    int keysymToQtKey(xcb_keysym_t keysym) const;
-+    int keysymToQtKey(xcb_keysym_t keysym, Qt::KeyboardModifiers &modifiers, const QString &text) const;
-+    void printKeymapError(const char *error) const;
-+
-+    void readXKBConfig();
-+    void clearXKBConfig();
-+    // when XKEYBOARD not present on the X server
-+    void updateModifiers();
-+    // when XKEYBOARD is present on the X server
-+    void updateVModMapping();
-+    void updateVModToRModMapping();
-+
-+    xkb_keysym_t lookupLatinKeysym(xkb_keycode_t keycode) const;
-+    void checkForLatinLayout();
-+
-+private:
-+    void updateXKBStateFromState(struct xkb_state *kb_state, quint16 state);
-+
-+    bool m_config = false;
-+    xcb_keycode_t m_autorepeat_code = 0;
-+
-+    struct xkb_context *xkb_context = nullptr;
-+    struct xkb_keymap *xkb_keymap = nullptr;
-+    struct xkb_state *xkb_state = nullptr;
-+    struct xkb_rule_names xkb_names;
-+    mutable struct xkb_keymap *latin_keymap = nullptr;
-+
-+    struct _mod_masks {
-+        uint alt;
-+        uint altgr;
-+        uint meta;
-+        uint super;
-+        uint hyper;
-+    };
-+
-+    _mod_masks rmod_masks;
-+
-+    // when XKEYBOARD not present on the X server
-+    xcb_key_symbols_t *m_key_symbols;
-+    struct _xkb_mods {
-+        xkb_mod_index_t shift;
-+        xkb_mod_index_t lock;
-+        xkb_mod_index_t control;
-+        xkb_mod_index_t mod1;
-+        xkb_mod_index_t mod2;
-+        xkb_mod_index_t mod3;
-+        xkb_mod_index_t mod4;
-+        xkb_mod_index_t mod5;
-+    };
-+    _xkb_mods xkb_mods;
-+#if QT_CONFIG(xkb)
-+    // when XKEYBOARD is present on the X server
-+    _mod_masks vmod_masks;
-+    int core_device_id;
-+#endif
-+    bool m_hasLatinLayout = false;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.9.2/qxcbmime.h b/libqt5xcbqpa-dev/5.9.2/qxcbmime.h
-new file mode 100644
-index 0000000..561631a
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.2/qxcbmime.h
-@@ -0,0 +1,75 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBMIME_H
-+#define QXCBMIME_H
-+
-+#include <private/qdnd_p.h>
-+
-+#include <QtGui/QClipboard>
-+
-+#include "qxcbintegration.h"
-+#include "qxcbconnection.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+#if !(defined(QT_NO_DRAGANDDROP) && defined(QT_NO_CLIPBOARD))
-+
-+class QXcbMime : public QInternalMimeData {
-+    Q_OBJECT
-+public:
-+    QXcbMime();
-+    ~QXcbMime();
-+
-+    static QVector<xcb_atom_t> mimeAtomsForFormat(QXcbConnection *connection, const QString &format);
-+    static QString mimeAtomToString(QXcbConnection *connection, xcb_atom_t a);
-+    static bool mimeDataForAtom(QXcbConnection *connection, xcb_atom_t a, QMimeData *mimeData, QByteArray *data,
-+                                xcb_atom_t *atomFormat, int *dataFormat);
-+    static QVariant mimeConvertToFormat(QXcbConnection *connection, xcb_atom_t a, const QByteArray &data, const QString &format,
-+                                        QVariant::Type requestedType, const QByteArray &encoding);
-+    static xcb_atom_t mimeAtomForFormat(QXcbConnection *connection, const QString &format, QVariant::Type requestedType,
-+                                        const QVector<xcb_atom_t> &atoms, QByteArray *requestedEncoding);
-+};
-+
-+#endif // !(defined(QT_NO_DRAGANDDROP) && defined(QT_NO_CLIPBOARD))
-+
-+
-+QT_END_NAMESPACE
-+
-+#endif // QXCBMIME_H
-diff --git a/libqt5xcbqpa-dev/5.9.2/qxcbnativeinterface.h b/libqt5xcbqpa-dev/5.9.2/qxcbnativeinterface.h
-new file mode 100644
-index 0000000..4186d77
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.2/qxcbnativeinterface.h
-@@ -0,0 +1,152 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBNATIVEINTERFACE_H
-+#define QXCBNATIVEINTERFACE_H
-+
-+#include <qpa/qplatformnativeinterface.h>
-+#include <xcb/xcb.h>
-+
-+#include <QtCore/QRect>
-+
-+#include "qxcbexport.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QWidget;
-+class QXcbScreen;
-+class QXcbConnection;
-+class QXcbNativeInterfaceHandler;
-+
-+class Q_XCB_EXPORT QXcbNativeInterface : public QPlatformNativeInterface
-+{
-+    Q_OBJECT
-+public:
-+    enum ResourceType {
-+        Display,
-+        Connection,
-+        Screen,
-+        AppTime,
-+        AppUserTime,
-+        ScreenHintStyle,
-+        StartupId,
-+        TrayWindow,
-+        GetTimestamp,
-+        X11Screen,
-+        RootWindow,
-+        ScreenSubpixelType,
-+        ScreenAntialiasingEnabled,
-+        AtspiBus,
-+        CompositingEnabled
-+    };
-+
-+    QXcbNativeInterface();
-+
-+    void *nativeResourceForIntegration(const QByteArray &resource) override;
-+    void *nativeResourceForContext(const QByteArray &resourceString, QOpenGLContext *context) override;
-+    void *nativeResourceForScreen(const QByteArray &resource, QScreen *screen) override;
-+    void *nativeResourceForWindow(const QByteArray &resourceString, QWindow *window) override;
-+    void *nativeResourceForBackingStore(const QByteArray &resource, QBackingStore *backingStore) override;
-+#ifndef QT_NO_CURSOR
-+    void *nativeResourceForCursor(const QByteArray &resource, const QCursor &cursor) override;
-+#endif
-+
-+    NativeResourceForIntegrationFunction nativeResourceFunctionForIntegration(const QByteArray &resource) override;
-+    NativeResourceForContextFunction nativeResourceFunctionForContext(const QByteArray &resource) override;
-+    NativeResourceForScreenFunction nativeResourceFunctionForScreen(const QByteArray &resource) override;
-+    NativeResourceForWindowFunction nativeResourceFunctionForWindow(const QByteArray &resource) override;
-+    NativeResourceForBackingStoreFunction nativeResourceFunctionForBackingStore(const QByteArray &resource) override;
-+
-+    QFunctionPointer platformFunction(const QByteArray &function) const override;
-+
-+    inline const QByteArray &genericEventFilterType() const { return m_genericEventFilterType; }
-+
-+    void *displayForWindow(QWindow *window);
-+    void *connectionForWindow(QWindow *window);
-+    void *screenForWindow(QWindow *window);
-+    void *appTime(const QXcbScreen *screen);
-+    void *appUserTime(const QXcbScreen *screen);
-+    void *getTimestamp(const QXcbScreen *screen);
-+    void *startupId();
-+    void *x11Screen();
-+    void *rootWindow();
-+    void *display();
-+    void *atspiBus();
-+    void *connection();
-+    static void setStartupId(const char *);
-+    static void setAppTime(QScreen *screen, xcb_timestamp_t time);
-+    static void setAppUserTime(QScreen *screen, xcb_timestamp_t time);
-+
-+    Q_INVOKABLE bool systemTrayAvailable(const QScreen *screen) const;
-+    Q_INVOKABLE void setParentRelativeBackPixmap(QWindow *window);
-+    Q_INVOKABLE bool systrayVisualHasAlphaChannel();
-+    Q_INVOKABLE bool requestSystemTrayWindowDock(const QWindow *window);
-+    Q_INVOKABLE QRect systemTrayWindowGlobalGeometry(const QWindow *window);
-+
-+    void addHandler(QXcbNativeInterfaceHandler *handler);
-+    void removeHandler(QXcbNativeInterfaceHandler *handler);
-+signals:
-+    void systemTrayWindowChanged(QScreen *screen);
-+
-+private:
-+    xcb_window_t locateSystemTray(xcb_connection_t *conn, const QXcbScreen *screen);
-+
-+    const QByteArray m_genericEventFilterType;
-+
-+    xcb_atom_t m_sysTraySelectionAtom = XCB_ATOM_NONE;
-+
-+    static QXcbScreen *qPlatformScreenForWindow(QWindow *window);
-+
-+    QList<QXcbNativeInterfaceHandler *> m_handlers;
-+    NativeResourceForIntegrationFunction handlerNativeResourceFunctionForIntegration(const QByteArray &resource) const;
-+    NativeResourceForContextFunction handlerNativeResourceFunctionForContext(const QByteArray &resource) const;
-+    NativeResourceForScreenFunction handlerNativeResourceFunctionForScreen(const QByteArray &resource) const;
-+    NativeResourceForWindowFunction handlerNativeResourceFunctionForWindow(const QByteArray &resource) const;
-+    NativeResourceForBackingStoreFunction handlerNativeResourceFunctionForBackingStore(const QByteArray &resource) const;
-+    QFunctionPointer handlerPlatformFunction(const QByteArray &function) const;
-+    void *handlerNativeResourceForIntegration(const QByteArray &resource) const;
-+    void *handlerNativeResourceForContext(const QByteArray &resource, QOpenGLContext *context) const;
-+    void *handlerNativeResourceForScreen(const QByteArray &resource, QScreen *screen) const;
-+    void *handlerNativeResourceForWindow(const QByteArray &resource, QWindow *window) const;
-+    void *handlerNativeResourceForBackingStore(const QByteArray &resource, QBackingStore *backingStore) const;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif // QXCBNATIVEINTERFACE_H
-diff --git a/libqt5xcbqpa-dev/5.9.2/qxcbobject.h b/libqt5xcbqpa-dev/5.9.2/qxcbobject.h
-new file mode 100644
-index 0000000..1b98d93
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.2/qxcbobject.h
-@@ -0,0 +1,64 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBOBJECT_H
-+#define QXCBOBJECT_H
-+
-+#include "qxcbconnection.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbObject
-+{
-+public:
-+    QXcbObject(QXcbConnection *connection = 0) : m_connection(connection) {}
-+
-+    void setConnection(QXcbConnection *connection) { m_connection = connection; }
-+    QXcbConnection *connection() const { return m_connection; }
-+
-+    xcb_atom_t atom(QXcbAtom::Atom atom) const { return m_connection->atom(atom); }
-+    xcb_connection_t *xcb_connection() const { return m_connection->xcb_connection(); }
-+
-+private:
-+    QXcbConnection *m_connection;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.9.2/qxcbscreen.h b/libqt5xcbqpa-dev/5.9.2/qxcbscreen.h
-new file mode 100644
-index 0000000..4163be2
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.2/qxcbscreen.h
-@@ -0,0 +1,220 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBSCREEN_H
-+#define QXCBSCREEN_H
-+
-+#include <qpa/qplatformscreen.h>
-+#include <QtCore/QString>
-+
-+#include <xcb/xcb.h>
-+#include <xcb/randr.h>
-+#include <xcb/xfixes.h>
-+#include <xcb/xinerama.h>
-+
-+#include "qxcbobject.h"
-+#include "qxcbscreen.h"
-+
-+#include <private/qfontengine_p.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbConnection;
-+class QXcbCursor;
-+class QXcbXSettings;
-+#ifndef QT_NO_DEBUG_STREAM
-+class QDebug;
-+#endif
-+
-+class QXcbVirtualDesktop : public QXcbObject
-+{
-+public:
-+    QXcbVirtualDesktop(QXcbConnection *connection, xcb_screen_t *screen, int number);
-+    ~QXcbVirtualDesktop();
-+
-+    xcb_screen_t *screen() const { return m_screen; }
-+    int number() const { return m_number; }
-+    QSize size() const { return QSize(m_screen->width_in_pixels, m_screen->height_in_pixels); }
-+    QSize physicalSize() const { return QSize(m_screen->width_in_millimeters, m_screen->height_in_millimeters); }
-+    xcb_window_t root() const { return m_screen->root; }
-+    QXcbScreen *screenAt(const QPoint &pos) const;
-+
-+    QList<QPlatformScreen *> screens() const { return m_screens; }
-+    void setScreens(QList<QPlatformScreen *> sl) { m_screens = sl; }
-+    void removeScreen(QPlatformScreen *s) { m_screens.removeOne(s); }
-+    void addScreen(QPlatformScreen *s);
-+    void setPrimaryScreen(QPlatformScreen *s);
-+
-+    QXcbXSettings *xSettings() const;
-+
-+    bool compositingActive() const;
-+
-+    QRect workArea() const { return m_workArea; }
-+    void updateWorkArea();
-+
-+    void handleXFixesSelectionNotify(xcb_xfixes_selection_notify_event_t *notify_event);
-+    void subscribeToXFixesSelectionNotify();
-+
-+private:
-+    QRect getWorkArea() const;
-+
-+    xcb_screen_t *m_screen;
-+    const int m_number;
-+    QList<QPlatformScreen *> m_screens;
-+
-+    QXcbXSettings *m_xSettings = nullptr;
-+    xcb_atom_t m_net_wm_cm_atom = 0;
-+    bool m_compositingActive = false;
-+
-+    QRect m_workArea;
-+};
-+
-+class Q_XCB_EXPORT QXcbScreen : public QXcbObject, public QPlatformScreen
-+{
-+public:
-+    QXcbScreen(QXcbConnection *connection, QXcbVirtualDesktop *virtualDesktop,
-+               xcb_randr_output_t outputId, xcb_randr_get_output_info_reply_t *outputInfo,
-+               const xcb_xinerama_screen_info_t *xineramaScreenInfo = Q_NULLPTR, int xineramaScreenIdx = -1);
-+    ~QXcbScreen();
-+
-+    QString getOutputName(xcb_randr_get_output_info_reply_t *outputInfo);
-+
-+    QPixmap grabWindow(WId window, int x, int y, int width, int height) const override;
-+
-+    QWindow *topLevelAt(const QPoint &point) const override;
-+
-+    QRect geometry() const override { return m_geometry; }
-+    QRect availableGeometry() const override {return m_availableGeometry;}
-+    int depth() const override { return screen()->root_depth; }
-+    QImage::Format format() const override;
-+    QSizeF physicalSize() const override { return m_sizeMillimeters; }
-+    QSize virtualSize() const { return m_virtualSize; }
-+    QSizeF physicalVirtualSize() const { return m_virtualSizeMillimeters; }
-+    QDpi virtualDpi() const;
-+    QDpi logicalDpi() const override;
-+    qreal pixelDensity() const override;
-+    QPlatformCursor *cursor() const override;
-+    qreal refreshRate() const override { return m_refreshRate; }
-+    Qt::ScreenOrientation orientation() const override { return m_orientation; }
-+    QList<QPlatformScreen *> virtualSiblings() const override { return m_virtualDesktop->screens(); }
-+    QXcbVirtualDesktop *virtualDesktop() const { return m_virtualDesktop; }
-+
-+    void setPrimary(bool primary) { m_primary = primary; }
-+    bool isPrimary() const { return m_primary; }
-+
-+    int screenNumber() const { return m_virtualDesktop->number(); }
-+    static int virtualDesktopNumberStatic(const QScreen *screen);
-+
-+    xcb_screen_t *screen() const { return m_virtualDesktop->screen(); }
-+    xcb_window_t root() const { return screen()->root; }
-+    xcb_randr_output_t output() const { return m_output; }
-+    xcb_randr_crtc_t crtc() const { return m_crtc; }
-+    xcb_randr_mode_t mode() const { return m_mode; }
-+
-+    void setOutput(xcb_randr_output_t outputId,
-+                   xcb_randr_get_output_info_reply_t *outputInfo);
-+    void setCrtc(xcb_randr_crtc_t crtc) { m_crtc = crtc; }
-+
-+    void windowShown(QXcbWindow *window);
-+    QString windowManagerName() const { return m_windowManagerName; }
-+    bool syncRequestSupported() const { return m_syncRequestSupported; }
-+
-+    QSurfaceFormat surfaceFormatFor(const QSurfaceFormat &format) const;
-+
-+    const xcb_visualtype_t *visualForFormat(const QSurfaceFormat &format) const;
-+    const xcb_visualtype_t *visualForId(xcb_visualid_t) const;
-+    quint8 depthOfVisual(xcb_visualid_t) const;
-+
-+    QString name() const override { return m_outputName; }
-+
-+    void handleScreenChange(xcb_randr_screen_change_notify_event_t *change_event);
-+    void updateGeometry(const QRect &geom, uint8_t rotation);
-+    void updateGeometry(xcb_timestamp_t timestamp = XCB_TIME_CURRENT_TIME);
-+    void updateAvailableGeometry();
-+    void updateRefreshRate(xcb_randr_mode_t mode);
-+
-+    void readXResources();
-+
-+    QFontEngine::HintStyle hintStyle() const { return m_hintStyle; }
-+    QFontEngine::SubpixelAntialiasingType subpixelType() const { return m_subpixelType; }
-+    int antialiasingEnabled() const { return m_antialiasingEnabled; }
-+
-+    QXcbXSettings *xSettings() const;
-+
-+private:
-+    static bool xResource(const QByteArray &identifier,
-+                          const QByteArray &expectedIdentifier,
-+                          QByteArray &stringValue);
-+    void sendStartupMessage(const QByteArray &message) const;
-+
-+    QXcbVirtualDesktop *m_virtualDesktop;
-+    xcb_randr_output_t m_output;
-+    xcb_randr_crtc_t m_crtc;
-+    xcb_randr_mode_t m_mode = XCB_NONE;
-+    bool m_primary = false;
-+    uint8_t m_rotation = XCB_RANDR_ROTATION_ROTATE_0;
-+
-+    QString m_outputName;
-+    QSizeF m_outputSizeMillimeters;
-+    QSizeF m_sizeMillimeters;
-+    QRect m_geometry;
-+    QRect m_availableGeometry;
-+    QSize m_virtualSize;
-+    QSizeF m_virtualSizeMillimeters;
-+    Qt::ScreenOrientation m_orientation = Qt::PrimaryOrientation;
-+    QString m_windowManagerName;
-+    bool m_syncRequestSupported = false;
-+    QMap<xcb_visualid_t, xcb_visualtype_t> m_visuals;
-+    QMap<xcb_visualid_t, quint8> m_visualDepths;
-+    QXcbCursor *m_cursor;
-+    int m_refreshRate = 60;
-+    int m_forcedDpi = -1;
-+    int m_pixelDensity = 1;
-+    QFontEngine::HintStyle m_hintStyle = QFontEngine::HintStyle(-1);
-+    QFontEngine::SubpixelAntialiasingType m_subpixelType = QFontEngine::SubpixelAntialiasingType(-1);
-+    int m_antialiasingEnabled = -1;
-+};
-+
-+#ifndef QT_NO_DEBUG_STREAM
-+Q_GUI_EXPORT QDebug operator<<(QDebug, const QXcbScreen *);
-+#endif
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.9.2/qxcbsessionmanager.h b/libqt5xcbqpa-dev/5.9.2/qxcbsessionmanager.h
-new file mode 100644
-index 0000000..0ad9445
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.2/qxcbsessionmanager.h
-@@ -0,0 +1,96 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2013 Teo Mrnjavac <teo@kde.org>
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBSESSIONMANAGER_H
-+#define QXCBSESSIONMANAGER_H
-+
-+//
-+//  W A R N I N G
-+//  -------------
-+//
-+// This file is part of the QPA API and is not meant to be used
-+// in applications. Usage of this API may make your code
-+// source and binary incompatible with future versions of Qt.
-+//
-+
-+#include <qpa/qplatformsessionmanager.h>
-+
-+#ifndef QT_NO_SESSIONMANAGER
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QEventLoop;
-+
-+class QXcbSessionManager : public QPlatformSessionManager
-+{
-+public:
-+    QXcbSessionManager(const QString &id, const QString &key);
-+    virtual ~QXcbSessionManager();
-+
-+    void *handle() const;
-+
-+    void setSessionId(const QString &id) { m_sessionId = id; }
-+    void setSessionKey(const QString &key) { m_sessionKey = key; }
-+
-+    bool allowsInteraction() override;
-+    bool allowsErrorInteraction() override;
-+    void release() override;
-+
-+    void cancel() override;
-+
-+    void setManagerProperty(const QString &name, const QString &value) override;
-+    void setManagerProperty(const QString &name, const QStringList &value) override;
-+
-+    bool isPhase2() const override;
-+    void requestPhase2() override;
-+
-+    void exitEventLoop();
-+
-+private:
-+    QEventLoop *m_eventLoop;
-+
-+    Q_DISABLE_COPY(QXcbSessionManager)
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif //QT_NO_SESSIONMANAGER
-+
-+#endif //QXCBSESSIONMANAGER_H
-diff --git a/libqt5xcbqpa-dev/5.9.2/qxcbsystemtraytracker.h b/libqt5xcbqpa-dev/5.9.2/qxcbsystemtraytracker.h
-new file mode 100644
-index 0000000..a95b937
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.2/qxcbsystemtraytracker.h
-@@ -0,0 +1,85 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBSYSTEMTRAYTRACKER_H
-+#define QXCBSYSTEMTRAYTRACKER_H
-+
-+#include "qxcbconnection.h"
-+
-+#include <xcb/xcb.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbConnection;
-+class QScreen;
-+
-+class QXcbSystemTrayTracker : public QObject, public QXcbWindowEventListener
-+{
-+    Q_OBJECT
-+public:
-+    static QXcbSystemTrayTracker *create(QXcbConnection *connection);
-+
-+    xcb_window_t trayWindow();
-+    void requestSystemTrayWindowDock(xcb_window_t window) const;
-+    QRect systemTrayWindowGlobalGeometry(xcb_window_t window) const;
-+
-+    void notifyManagerClientMessageEvent(const xcb_client_message_event_t *);
-+
-+    void handleDestroyNotifyEvent(const xcb_destroy_notify_event_t *) override;
-+
-+    bool visualHasAlphaChannel();
-+signals:
-+    void systemTrayWindowChanged(QScreen *screen);
-+
-+private:
-+    explicit QXcbSystemTrayTracker(QXcbConnection *connection,
-+                                   xcb_atom_t trayAtom,
-+                                   xcb_atom_t selection);
-+    static xcb_window_t locateTrayWindow(const QXcbConnection *connection, xcb_atom_t selection);
-+    void emitSystemTrayWindowChanged();
-+
-+    const xcb_atom_t m_selection;
-+    const xcb_atom_t m_trayAtom;
-+    QXcbConnection *m_connection;
-+    xcb_window_t m_trayWindow = 0;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif // QXCBSYSTEMTRAYTRACKER_H
-diff --git a/libqt5xcbqpa-dev/5.9.2/qxcbwindow.h b/libqt5xcbqpa-dev/5.9.2/qxcbwindow.h
-new file mode 100644
-index 0000000..f38343b
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.2/qxcbwindow.h
-@@ -0,0 +1,297 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBWINDOW_H
-+#define QXCBWINDOW_H
-+
-+#include <qpa/qplatformwindow.h>
-+#include <QtGui/QSurfaceFormat>
-+#include <QtGui/QImage>
-+
-+#include <xcb/xcb.h>
-+#include <xcb/sync.h>
-+
-+#include "qxcbobject.h"
-+
-+#include <QtPlatformHeaders/qxcbwindowfunctions.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbScreen;
-+class QXcbSyncWindowRequest;
-+class QIcon;
-+
-+class Q_XCB_EXPORT QXcbWindow : public QXcbObject, public QXcbWindowEventListener, public QPlatformWindow
-+{
-+public:
-+    enum NetWmState {
-+        NetWmStateAbove = 0x1,
-+        NetWmStateBelow = 0x2,
-+        NetWmStateFullScreen = 0x4,
-+        NetWmStateMaximizedHorz = 0x8,
-+        NetWmStateMaximizedVert = 0x10,
-+        NetWmStateModal = 0x20,
-+        NetWmStateStaysOnTop = 0x40,
-+        NetWmStateDemandsAttention = 0x80
-+    };
-+
-+    Q_DECLARE_FLAGS(NetWmStates, NetWmState)
-+
-+    QXcbWindow(QWindow *window);
-+    ~QXcbWindow();
-+
-+    void setGeometry(const QRect &rect) override;
-+
-+    QMargins frameMargins() const override;
-+
-+    void setVisible(bool visible) override;
-+    void setWindowFlags(Qt::WindowFlags flags) override;
-+    void setWindowState(Qt::WindowState state) override;
-+    WId winId() const override;
-+    void setParent(const QPlatformWindow *window) override;
-+
-+    bool isExposed() const override;
-+    bool isEmbedded() const override;
-+    QPoint mapToGlobal(const QPoint &pos) const override;
-+    QPoint mapFromGlobal(const QPoint &pos) const override;
-+
-+    void setWindowTitle(const QString &title) override;
-+    void setWindowIconText(const QString &title);
-+    void setWindowIcon(const QIcon &icon) override;
-+    void raise() override;
-+    void lower() override;
-+    void propagateSizeHints() override;
-+
-+    void requestActivateWindow() override;
-+
-+    bool setKeyboardGrabEnabled(bool grab) override;
-+    bool setMouseGrabEnabled(bool grab) override;
-+
-+    void setCursor(xcb_cursor_t cursor, bool isBitmapCursor);
-+
-+    QSurfaceFormat format() const override;
-+
-+    void windowEvent(QEvent *event) override;
-+
-+    bool startSystemResize(const QPoint &pos, Qt::Corner corner) override;
-+
-+    void setOpacity(qreal level) override;
-+    void setMask(const QRegion &region) override;
-+
-+    void setAlertState(bool enabled) override;
-+    bool isAlertState() const override { return m_alertState; }
-+
-+    xcb_window_t xcb_window() const { return m_window; }
-+    uint depth() const { return m_depth; }
-+    QImage::Format imageFormat() const { return m_imageFormat; }
-+    bool imageNeedsRgbSwap() const { return m_imageRgbSwap; }
-+
-+    bool handleGenericEvent(xcb_generic_event_t *event, long *result)  override;
-+
-+    void handleExposeEvent(const xcb_expose_event_t *event) override;
-+    void handleClientMessageEvent(const xcb_client_message_event_t *event) override;
-+    void handleConfigureNotifyEvent(const xcb_configure_notify_event_t *event) override;
-+    void handleMapNotifyEvent(const xcb_map_notify_event_t *event) override;
-+    void handleUnmapNotifyEvent(const xcb_unmap_notify_event_t *event) override;
-+    void handleButtonPressEvent(const xcb_button_press_event_t *event) override;
-+    void handleButtonReleaseEvent(const xcb_button_release_event_t *event) override;
-+    void handleMotionNotifyEvent(const xcb_motion_notify_event_t *event) override;
-+
-+    void handleEnterNotifyEvent(const xcb_enter_notify_event_t *event) override;
-+    void handleLeaveNotifyEvent(const xcb_leave_notify_event_t *event) override;
-+    void handleFocusInEvent(const xcb_focus_in_event_t *event) override;
-+    void handleFocusOutEvent(const xcb_focus_out_event_t *event) override;
-+    void handlePropertyNotifyEvent(const xcb_property_notify_event_t *event) override;
-+#ifdef XCB_USE_XINPUT22
-+    void handleXIMouseEvent(xcb_ge_event_t *, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized) override;
-+    void handleXIEnterLeave(xcb_ge_event_t *) override;
-+#endif
-+
-+    QXcbWindow *toWindow() override;
-+
-+    void handleMouseEvent(xcb_timestamp_t time, const QPoint &local, const QPoint &global,
-+                          Qt::KeyboardModifiers modifiers, Qt::MouseEventSource source);
-+
-+    void updateNetWmUserTime(xcb_timestamp_t timestamp);
-+
-+    static void setWmWindowTypeStatic(QWindow *window, QXcbWindowFunctions::WmWindowTypes windowTypes);
-+    static void setWmWindowRoleStatic(QWindow *window, const QByteArray &role);
-+    static uint visualIdStatic(QWindow *window);
-+
-+    QXcbWindowFunctions::WmWindowTypes wmWindowTypes() const;
-+    void setWmWindowType(QXcbWindowFunctions::WmWindowTypes types, Qt::WindowFlags flags);
-+    void setWmWindowRole(const QByteArray &role);
-+
-+    static void setWindowIconTextStatic(QWindow *window, const QString &text);
-+
-+    static void setParentRelativeBackPixmapStatic(QWindow *window);
-+    void setParentRelativeBackPixmap();
-+
-+    static bool requestSystemTrayWindowDockStatic(const QWindow *window);
-+    bool requestSystemTrayWindowDock() const;
-+
-+    static QRect systemTrayWindowGlobalGeometryStatic(const QWindow *window);
-+    QRect systemTrayWindowGlobalGeometry() const;
-+    uint visualId() const;
-+
-+    bool needsSync() const;
-+
-+    void postSyncWindowRequest();
-+    void clearSyncWindowRequest() { m_pendingSyncRequest = 0; }
-+
-+    QXcbScreen *xcbScreen() const;
-+
-+    bool doStartSystemResize(const QPoint &globalPos, Qt::Corner corner);
-+
-+    virtual void create();
-+    virtual void destroy();
-+
-+public Q_SLOTS:
-+    void updateSyncRequestCounter();
-+
-+protected:
-+    virtual void resolveFormat(const QSurfaceFormat &format) { m_format = format; }
-+    virtual const xcb_visualtype_t *createVisual();
-+
-+    QXcbScreen *parentScreen();
-+
-+    QXcbScreen *initialScreen() const;
-+    void changeNetWmState(bool set, xcb_atom_t one, xcb_atom_t two = 0);
-+    NetWmStates netWmStates();
-+    void setNetWmStates(NetWmStates);
-+
-+    void setMotifWindowFlags(Qt::WindowFlags flags);
-+    void setNetWmStateWindowFlags(Qt::WindowFlags flags);
-+
-+    void updateMotifWmHintsBeforeMap();
-+    void updateNetWmStateBeforeMap();
-+
-+    void setTransparentForMouseEvents(bool transparent);
-+    void updateDoesNotAcceptFocus(bool doesNotAcceptFocus);
-+
-+    QRect windowToWmGeometry(QRect r) const;
-+    void sendXEmbedMessage(xcb_window_t window, quint32 message,
-+                           quint32 detail = 0, quint32 data1 = 0, quint32 data2 = 0);
-+    void handleXEmbedMessage(const xcb_client_message_event_t *event);
-+
-+    void show();
-+    void hide();
-+
-+    bool relayFocusToModalWindow() const;
-+    void doFocusIn();
-+    void doFocusOut();
-+
-+    bool compressExposeEvent(QRegion &exposeRegion);
-+
-+    void handleButtonPressEvent(int event_x, int event_y, int root_x, int root_y,
-+                                int detail, Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized);
-+
-+    void handleButtonReleaseEvent(int event_x, int event_y, int root_x, int root_y,
-+                                  int detail, Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized);
-+
-+    void handleMotionNotifyEvent(int event_x, int event_y, int root_x, int root_y,
-+                                 Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized);
-+
-+    void handleEnterNotifyEvent(int event_x, int event_y, int root_x, int root_y,
-+                                quint8 mode, quint8 detail, xcb_timestamp_t timestamp);
-+
-+    void handleLeaveNotifyEvent(int root_x, int root_y,
-+                                quint8 mode, quint8 detail, xcb_timestamp_t timestamp);
-+
-+    xcb_window_t m_window = 0;
-+    xcb_colormap_t m_cmap = 0;
-+
-+    uint m_depth = 0;
-+    QImage::Format m_imageFormat = QImage::Format_ARGB32_Premultiplied;
-+    bool m_imageRgbSwap = false;
-+
-+    xcb_sync_int64_t m_syncValue;
-+    xcb_sync_counter_t m_syncCounter = 0;
-+
-+    Qt::WindowState m_windowState = Qt::WindowNoState;
-+
-+    xcb_gravity_t m_gravity = XCB_GRAVITY_STATIC;
-+
-+    bool m_mapped = false;
-+    bool m_transparent = false;
-+    bool m_usingSyncProtocol = false;
-+    bool m_deferredActivation = false;
-+    bool m_embedded = false;
-+    bool m_alertState = false;
-+    xcb_window_t m_netWmUserTimeWindow = XCB_NONE;
-+
-+    QSurfaceFormat m_format;
-+
-+    mutable bool m_dirtyFrameMargins = false;
-+    mutable QMargins m_frameMargins;
-+
-+    QRegion m_exposeRegion;
-+    QSize m_oldWindowSize;
-+
-+    xcb_visualid_t m_visualId = 0;
-+    int m_lastWindowStateEvent = -1;
-+
-+    enum SyncState {
-+        NoSyncNeeded,
-+        SyncReceived,
-+        SyncAndConfigureReceived
-+    };
-+    SyncState m_syncState = NoSyncNeeded;
-+
-+    QXcbSyncWindowRequest *m_pendingSyncRequest = nullptr;
-+    xcb_cursor_t m_currentBitmapCursor = XCB_CURSOR_NONE;
-+};
-+
-+class QXcbForeignWindow : public QXcbWindow
-+{
-+public:
-+    QXcbForeignWindow(QWindow *window, WId nativeHandle)
-+        : QXcbWindow(window) { m_window = nativeHandle; }
-+    ~QXcbForeignWindow();
-+    bool isForeignWindow() const override { return true; }
-+
-+protected:
-+    void create() override {} // No-op
-+};
-+
-+QT_END_NAMESPACE
-+
-+Q_DECLARE_METATYPE(QXcbWindow*)
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.9.2/qxcbwmsupport.h b/libqt5xcbqpa-dev/5.9.2/qxcbwmsupport.h
-new file mode 100644
-index 0000000..b5de5b7
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.2/qxcbwmsupport.h
-@@ -0,0 +1,68 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+#ifndef QXCBWMSUPPORT_H
-+#define QXCBWMSUPPORT_H
-+
-+#include "qxcbobject.h"
-+#include "qxcbconnection.h"
-+#include <qvector.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbWMSupport : public QXcbObject
-+{
-+public:
-+    QXcbWMSupport(QXcbConnection *c);
-+
-+
-+    bool isSupportedByWM(xcb_atom_t atom) const;
-+    const QVector<xcb_window_t> &virtualRoots() const { return net_virtual_roots; }
-+
-+private:
-+    friend class QXcbConnection;
-+    void updateNetWMAtoms();
-+    void updateVirtualRoots();
-+
-+    QVector<xcb_atom_t> net_wm_atoms;
-+    QVector<xcb_window_t> net_virtual_roots;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.9.2/qxcbxsettings.h b/libqt5xcbqpa-dev/5.9.2/qxcbxsettings.h
-new file mode 100644
-index 0000000..ab1f784
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.2/qxcbxsettings.h
-@@ -0,0 +1,71 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBXSETTINGS_H
-+#define QXCBXSETTINGS_H
-+
-+#include "qxcbscreen.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbXSettingsPrivate;
-+
-+class QXcbXSettings : public QXcbWindowEventListener
-+{
-+    Q_DECLARE_PRIVATE(QXcbXSettings)
-+public:
-+    QXcbXSettings(QXcbVirtualDesktop *screen);
-+    ~QXcbXSettings();
-+    bool initialized() const;
-+
-+    QVariant setting(const QByteArray &property) const;
-+
-+    typedef void (*PropertyChangeFunc)(QXcbVirtualDesktop *screen, const QByteArray &name, const QVariant &property, void *handle);
-+    void registerCallbackForProperty(const QByteArray &property, PropertyChangeFunc func, void *handle);
-+    void removeCallbackForHandle(const QByteArray &property, void *handle);
-+    void removeCallbackForHandle(void *handle);
-+
-+    void handlePropertyNotifyEvent(const xcb_property_notify_event_t *event) override;
-+private:
-+    QXcbXSettingsPrivate *d_ptr;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif // QXCBXSETTINGS_H
-diff --git a/libqt5xcbqpa-dev/5.9.3 b/libqt5xcbqpa-dev/5.9.3
-new file mode 120000
-index 0000000..2151dbd
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.3
-@@ -0,0 +1 @@
-+5.9.2
-\ No newline at end of file
-diff --git a/libqt5xcbqpa-dev/5.9.4/qxcbbackingstore.h b/libqt5xcbqpa-dev/5.9.4/qxcbbackingstore.h
-new file mode 100644
-index 0000000..94b5994
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.4/qxcbbackingstore.h
-@@ -0,0 +1,85 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBBACKINGSTORE_H
-+#define QXCBBACKINGSTORE_H
-+
-+#include <qpa/qplatformbackingstore.h>
-+#include <QtCore/QStack>
-+
-+#include <xcb/xcb.h>
-+
-+#include "qxcbobject.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbShmImage;
-+
-+class QXcbBackingStore : public QXcbObject, public QPlatformBackingStore
-+{
-+public:
-+    QXcbBackingStore(QWindow *window);
-+    ~QXcbBackingStore();
-+
-+    QPaintDevice *paintDevice() override;
-+    void flush(QWindow *window, const QRegion &region, const QPoint &offset) override;
-+#ifndef QT_NO_OPENGL
-+    void composeAndFlush(QWindow *window, const QRegion &region, const QPoint &offset,
-+                         QPlatformTextureList *textures, QOpenGLContext *context,
-+                         bool translucentBackground) override;
-+#endif
-+    QImage toImage() const override;
-+
-+    QPlatformGraphicsBuffer *graphicsBuffer() const override;
-+
-+    void resize(const QSize &size, const QRegion &staticContents) override;
-+    bool scroll(const QRegion &area, int dx, int dy) override;
-+
-+    void beginPaint(const QRegion &) override;
-+    void endPaint() override;
-+
-+private:
-+    QXcbShmImage *m_image;
-+    QStack<QRegion> m_paintRegions;
-+    QImage m_rgbImage;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.9.4/qxcbclipboard.h b/libqt5xcbqpa-dev/5.9.4/qxcbclipboard.h
-new file mode 100644
-index 0000000..bfeae13
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.4/qxcbclipboard.h
-@@ -0,0 +1,119 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBCLIPBOARD_H
-+#define QXCBCLIPBOARD_H
-+
-+#include <qpa/qplatformclipboard.h>
-+#include <qxcbobject.h>
-+#include <xcb/xcb.h>
-+#include <xcb/xfixes.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+#ifndef QT_NO_CLIPBOARD
-+
-+class QXcbConnection;
-+class QXcbScreen;
-+class QXcbClipboardMime;
-+
-+class QXcbClipboard : public QXcbObject, public QPlatformClipboard
-+{
-+public:
-+    QXcbClipboard(QXcbConnection *connection);
-+    ~QXcbClipboard();
-+
-+    QMimeData *mimeData(QClipboard::Mode mode) override;
-+    void setMimeData(QMimeData *data, QClipboard::Mode mode) override;
-+
-+    bool supportsMode(QClipboard::Mode mode) const override;
-+    bool ownsMode(QClipboard::Mode mode) const override;
-+
-+    QXcbScreen *screen() const;
-+
-+    xcb_window_t requestor() const;
-+    void setRequestor(xcb_window_t window);
-+
-+    xcb_window_t owner() const;
-+
-+    void handleSelectionRequest(xcb_selection_request_event_t *event);
-+    void handleSelectionClearRequest(xcb_selection_clear_event_t *event);
-+    void handleXFixesSelectionRequest(xcb_xfixes_selection_notify_event_t *event);
-+
-+    bool clipboardReadProperty(xcb_window_t win, xcb_atom_t property, bool deleteProperty, QByteArray *buffer, int *size, xcb_atom_t *type, int *format);
-+    QByteArray clipboardReadIncrementalProperty(xcb_window_t win, xcb_atom_t property, int nbytes, bool nullterm);
-+
-+    QByteArray getDataInFormat(xcb_atom_t modeAtom, xcb_atom_t fmtatom);
-+
-+    void setProcessIncr(bool process) { m_incr_active = process; }
-+    bool processIncr() { return m_incr_active; }
-+    void incrTransactionPeeker(xcb_generic_event_t *ge, bool &accepted);
-+
-+    xcb_window_t getSelectionOwner(xcb_atom_t atom) const;
-+    QByteArray getSelection(xcb_atom_t selection, xcb_atom_t target, xcb_atom_t property, xcb_timestamp_t t = 0);
-+
-+private:
-+    xcb_generic_event_t *waitForClipboardEvent(xcb_window_t win, int type, int timeout, bool checkManager = false);
-+
-+    xcb_atom_t sendTargetsSelection(QMimeData *d, xcb_window_t window, xcb_atom_t property);
-+    xcb_atom_t sendSelection(QMimeData *d, xcb_atom_t target, xcb_window_t window, xcb_atom_t property);
-+
-+    xcb_atom_t atomForMode(QClipboard::Mode mode) const;
-+    QClipboard::Mode modeForAtom(xcb_atom_t atom) const;
-+
-+    // Selection and Clipboard
-+    QScopedPointer<QXcbClipboardMime> m_xClipboard[2];
-+    QMimeData *m_clientClipboard[2];
-+    xcb_timestamp_t m_timestamp[2];
-+
-+    xcb_window_t m_requestor = XCB_NONE;
-+    xcb_window_t m_owner = XCB_NONE;
-+
-+    static const int clipboard_timeout;
-+
-+    bool m_incr_active = false;
-+    bool m_clipboard_closing = false;
-+    xcb_timestamp_t m_incr_receive_time = 0;
-+};
-+
-+#endif // QT_NO_CLIPBOARD
-+
-+QT_END_NAMESPACE
-+
-+#endif // QXCBCLIPBOARD_H
-diff --git a/libqt5xcbqpa-dev/5.9.4/qxcbconnection.h b/libqt5xcbqpa-dev/5.9.4/qxcbconnection.h
-new file mode 100644
-index 0000000..edbc8d8
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.4/qxcbconnection.h
-@@ -0,0 +1,775 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBCONNECTION_H
-+#define QXCBCONNECTION_H
-+
-+#include <xcb/xcb.h>
-+#include <xcb/randr.h>
-+
-+#include <QtGui/private/qtguiglobal_p.h>
-+#include "qxcbexport.h"
-+#include <QHash>
-+#include <QList>
-+#include <QMutex>
-+#include <QObject>
-+#include <QThread>
-+#include <QVector>
-+#include <QVarLengthArray>
-+#include <qpa/qwindowsysteminterface.h>
-+#include <QtCore/QLoggingCategory>
-+#include <QtCore/private/qglobal_p.h>
-+
-+// This is needed to make Qt compile together with XKB. xkb.h is using a variable
-+// which is called 'explicit', this is a reserved keyword in c++
-+#if QT_CONFIG(xkb)
-+#define explicit dont_use_cxx_explicit
-+#include <xcb/xkb.h>
-+#undef explicit
-+#endif
-+
-+#if QT_CONFIG(tabletevent)
-+#include <QTabletEvent>
-+#endif
-+
-+#if QT_CONFIG(xinput2)
-+#include <X11/extensions/XI2.h>
-+#ifdef XIScrollClass
-+#define XCB_USE_XINPUT21    // XI 2.1 adds smooth scrolling support
-+#ifdef XI_TouchBeginMask
-+#define XCB_USE_XINPUT22    // XI 2.2 adds multi-point touch support
-+#endif
-+#endif
-+struct XInput2TouchDeviceData;
-+#endif // QT_CONFIG(xinput2)
-+
-+struct xcb_randr_get_output_info_reply_t;
-+
-+//#define Q_XCB_DEBUG
-+
-+QT_BEGIN_NAMESPACE
-+
-+Q_DECLARE_LOGGING_CATEGORY(lcQpaXInput)
-+Q_DECLARE_LOGGING_CATEGORY(lcQpaXInputDevices)
-+Q_DECLARE_LOGGING_CATEGORY(lcQpaXInputEvents)
-+Q_DECLARE_LOGGING_CATEGORY(lcQpaScreen)
-+
-+class QXcbVirtualDesktop;
-+class QXcbScreen;
-+class QXcbWindow;
-+class QXcbDrag;
-+class QXcbKeyboard;
-+class QXcbClipboard;
-+class QXcbWMSupport;
-+class QXcbNativeInterface;
-+class QXcbSystemTrayTracker;
-+class QXcbGlIntegration;
-+
-+namespace QXcbAtom {
-+    enum Atom {
-+        // window-manager <-> client protocols
-+        WM_PROTOCOLS,
-+        WM_DELETE_WINDOW,
-+        WM_TAKE_FOCUS,
-+        _NET_WM_PING,
-+        _NET_WM_CONTEXT_HELP,
-+        _NET_WM_SYNC_REQUEST,
-+        _NET_WM_SYNC_REQUEST_COUNTER,
-+        MANAGER, // System tray notification
-+        _NET_SYSTEM_TRAY_OPCODE, // System tray operation
-+
-+        // ICCCM window state
-+        WM_STATE,
-+        WM_CHANGE_STATE,
-+        WM_CLASS,
-+        WM_NAME,
-+
-+        // Session management
-+        WM_CLIENT_LEADER,
-+        WM_WINDOW_ROLE,
-+        SM_CLIENT_ID,
-+
-+        // Clipboard
-+        CLIPBOARD,
-+        INCR,
-+        TARGETS,
-+        MULTIPLE,
-+        TIMESTAMP,
-+        SAVE_TARGETS,
-+        CLIP_TEMPORARY,
-+        _QT_SELECTION,
-+        _QT_CLIPBOARD_SENTINEL,
-+        _QT_SELECTION_SENTINEL,
-+        CLIPBOARD_MANAGER,
-+
-+        RESOURCE_MANAGER,
-+
-+        _XSETROOT_ID,
-+
-+        _QT_SCROLL_DONE,
-+        _QT_INPUT_ENCODING,
-+
-+        // Qt/XCB specific
-+        _QT_CLOSE_CONNECTION,
-+
-+        _MOTIF_WM_HINTS,
-+
-+        DTWM_IS_RUNNING,
-+        ENLIGHTENMENT_DESKTOP,
-+        _DT_SAVE_MODE,
-+        _SGI_DESKS_MANAGER,
-+
-+        // EWMH (aka NETWM)
-+        _NET_SUPPORTED,
-+        _NET_VIRTUAL_ROOTS,
-+        _NET_WORKAREA,
-+
-+        _NET_MOVERESIZE_WINDOW,
-+        _NET_WM_MOVERESIZE,
-+
-+        _NET_WM_NAME,
-+        _NET_WM_ICON_NAME,
-+        _NET_WM_ICON,
-+
-+        _NET_WM_PID,
-+
-+        _NET_WM_WINDOW_OPACITY,
-+
-+        _NET_WM_STATE,
-+        _NET_WM_STATE_ABOVE,
-+        _NET_WM_STATE_BELOW,
-+        _NET_WM_STATE_FULLSCREEN,
-+        _NET_WM_STATE_MAXIMIZED_HORZ,
-+        _NET_WM_STATE_MAXIMIZED_VERT,
-+        _NET_WM_STATE_MODAL,
-+        _NET_WM_STATE_STAYS_ON_TOP,
-+        _NET_WM_STATE_DEMANDS_ATTENTION,
-+
-+        _NET_WM_USER_TIME,
-+        _NET_WM_USER_TIME_WINDOW,
-+        _NET_WM_FULL_PLACEMENT,
-+
-+        _NET_WM_WINDOW_TYPE,
-+        _NET_WM_WINDOW_TYPE_DESKTOP,
-+        _NET_WM_WINDOW_TYPE_DOCK,
-+        _NET_WM_WINDOW_TYPE_TOOLBAR,
-+        _NET_WM_WINDOW_TYPE_MENU,
-+        _NET_WM_WINDOW_TYPE_UTILITY,
-+        _NET_WM_WINDOW_TYPE_SPLASH,
-+        _NET_WM_WINDOW_TYPE_DIALOG,
-+        _NET_WM_WINDOW_TYPE_DROPDOWN_MENU,
-+        _NET_WM_WINDOW_TYPE_POPUP_MENU,
-+        _NET_WM_WINDOW_TYPE_TOOLTIP,
-+        _NET_WM_WINDOW_TYPE_NOTIFICATION,
-+        _NET_WM_WINDOW_TYPE_COMBO,
-+        _NET_WM_WINDOW_TYPE_DND,
-+        _NET_WM_WINDOW_TYPE_NORMAL,
-+        _KDE_NET_WM_WINDOW_TYPE_OVERRIDE,
-+
-+        _KDE_NET_WM_FRAME_STRUT,
-+        _NET_FRAME_EXTENTS,
-+
-+        _NET_STARTUP_INFO,
-+        _NET_STARTUP_INFO_BEGIN,
-+
-+        _NET_SUPPORTING_WM_CHECK,
-+
-+        _NET_WM_CM_S0,
-+
-+        _NET_SYSTEM_TRAY_VISUAL,
-+
-+        _NET_ACTIVE_WINDOW,
-+
-+        // Property formats
-+        TEXT,
-+        UTF8_STRING,
-+        CARDINAL,
-+
-+        // Xdnd
-+        XdndEnter,
-+        XdndPosition,
-+        XdndStatus,
-+        XdndLeave,
-+        XdndDrop,
-+        XdndFinished,
-+        XdndTypelist,
-+        XdndActionList,
-+
-+        XdndSelection,
-+
-+        XdndAware,
-+        XdndProxy,
-+
-+        XdndActionCopy,
-+        XdndActionLink,
-+        XdndActionMove,
-+        XdndActionPrivate,
-+
-+        // Motif DND
-+        _MOTIF_DRAG_AND_DROP_MESSAGE,
-+        _MOTIF_DRAG_INITIATOR_INFO,
-+        _MOTIF_DRAG_RECEIVER_INFO,
-+        _MOTIF_DRAG_WINDOW,
-+        _MOTIF_DRAG_TARGETS,
-+
-+        XmTRANSFER_SUCCESS,
-+        XmTRANSFER_FAILURE,
-+
-+        // Xkb
-+        _XKB_RULES_NAMES,
-+
-+        // XEMBED
-+        _XEMBED,
-+        _XEMBED_INFO,
-+
-+        // XInput2
-+        ButtonLeft,
-+        ButtonMiddle,
-+        ButtonRight,
-+        ButtonWheelUp,
-+        ButtonWheelDown,
-+        ButtonHorizWheelLeft,
-+        ButtonHorizWheelRight,
-+        AbsMTPositionX,
-+        AbsMTPositionY,
-+        AbsMTTouchMajor,
-+        AbsMTTouchMinor,
-+        AbsMTOrientation,
-+        AbsMTPressure,
-+        AbsMTTrackingID,
-+        MaxContacts,
-+        RelX,
-+        RelY,
-+        // XInput2 tablet
-+        AbsX,
-+        AbsY,
-+        AbsPressure,
-+        AbsTiltX,
-+        AbsTiltY,
-+        AbsWheel,
-+        AbsDistance,
-+        WacomSerialIDs,
-+        INTEGER,
-+        RelHorizWheel,
-+        RelVertWheel,
-+        RelHorizScroll,
-+        RelVertScroll,
-+
-+        _XSETTINGS_SETTINGS,
-+
-+        _COMPIZ_DECOR_PENDING,
-+        _COMPIZ_DECOR_REQUEST,
-+        _COMPIZ_DECOR_DELETE_PIXMAP,
-+        _COMPIZ_TOOLKIT_ACTION,
-+        _GTK_LOAD_ICONTHEMES,
-+
-+        NPredefinedAtoms,
-+
-+        _QT_SETTINGS_TIMESTAMP = NPredefinedAtoms,
-+        NAtoms
-+    };
-+}
-+
-+typedef QVarLengthArray<xcb_generic_event_t *, 64> QXcbEventArray;
-+
-+class QXcbConnection;
-+class QXcbEventReader : public QThread
-+{
-+    Q_OBJECT
-+public:
-+    QXcbEventReader(QXcbConnection *connection);
-+
-+    void run() override;
-+
-+    QXcbEventArray *lock();
-+    void unlock();
-+
-+    void start();
-+
-+    void registerEventDispatcher(QAbstractEventDispatcher *dispatcher);
-+
-+signals:
-+    void eventPending();
-+
-+private slots:
-+    void registerForEvents();
-+
-+private:
-+    void addEvent(xcb_generic_event_t *event);
-+
-+    QMutex m_mutex;
-+    QXcbEventArray m_events;
-+    QXcbConnection *m_connection;
-+};
-+
-+class QXcbWindowEventListener
-+{
-+public:
-+    virtual ~QXcbWindowEventListener() {}
-+    virtual bool handleGenericEvent(xcb_generic_event_t *, long *) { return false; }
-+
-+    virtual void handleExposeEvent(const xcb_expose_event_t *) {}
-+    virtual void handleClientMessageEvent(const xcb_client_message_event_t *) {}
-+    virtual void handleConfigureNotifyEvent(const xcb_configure_notify_event_t *) {}
-+    virtual void handleMapNotifyEvent(const xcb_map_notify_event_t *) {}
-+    virtual void handleUnmapNotifyEvent(const xcb_unmap_notify_event_t *) {}
-+    virtual void handleDestroyNotifyEvent(const xcb_destroy_notify_event_t *) {}
-+    virtual void handleButtonPressEvent(const xcb_button_press_event_t *) {}
-+    virtual void handleButtonReleaseEvent(const xcb_button_release_event_t *) {}
-+    virtual void handleMotionNotifyEvent(const xcb_motion_notify_event_t *) {}
-+    virtual void handleEnterNotifyEvent(const xcb_enter_notify_event_t *) {}
-+    virtual void handleLeaveNotifyEvent(const xcb_leave_notify_event_t *) {}
-+    virtual void handleFocusInEvent(const xcb_focus_in_event_t *) {}
-+    virtual void handleFocusOutEvent(const xcb_focus_out_event_t *) {}
-+    virtual void handlePropertyNotifyEvent(const xcb_property_notify_event_t *) {}
-+#ifdef XCB_USE_XINPUT22
-+    virtual void handleXIMouseEvent(xcb_ge_event_t *, Qt::MouseEventSource = Qt::MouseEventNotSynthesized) {}
-+    virtual void handleXIEnterLeave(xcb_ge_event_t *) {}
-+#endif
-+    virtual QXcbWindow *toWindow() { return 0; }
-+};
-+
-+typedef QHash<xcb_window_t, QXcbWindowEventListener *> WindowMapper;
-+
-+class QXcbSyncWindowRequest : public QEvent
-+{
-+public:
-+    QXcbSyncWindowRequest(QXcbWindow *w) : QEvent(QEvent::Type(QEvent::User + 1)), m_window(w) { }
-+
-+    QXcbWindow *window() const { return m_window; }
-+    void invalidate();
-+
-+private:
-+    QXcbWindow *m_window;
-+};
-+
-+class QAbstractEventDispatcher;
-+class Q_XCB_EXPORT QXcbConnection : public QObject
-+{
-+    Q_OBJECT
-+public:
-+    QXcbConnection(QXcbNativeInterface *nativeInterface, bool canGrabServer, xcb_visualid_t defaultVisualId, const char *displayName = 0);
-+    ~QXcbConnection();
-+
-+    QXcbConnection *connection() const { return const_cast<QXcbConnection *>(this); }
-+    bool isConnected() const;
-+
-+    const QList<QXcbVirtualDesktop *> &virtualDesktops() const { return m_virtualDesktops; }
-+    const QList<QXcbScreen *> &screens() const { return m_screens; }
-+    int primaryScreenNumber() const { return m_primaryScreenNumber; }
-+    QXcbVirtualDesktop *primaryVirtualDesktop() const { return m_virtualDesktops.value(m_primaryScreenNumber); }
-+    QXcbScreen *primaryScreen() const;
-+
-+    inline xcb_atom_t atom(QXcbAtom::Atom atom) const { return m_allAtoms[atom]; }
-+    QXcbAtom::Atom qatom(xcb_atom_t atom) const;
-+    xcb_atom_t internAtom(const char *name);
-+    QByteArray atomName(xcb_atom_t atom);
-+
-+    const char *displayName() const { return m_displayName.constData(); }
-+    xcb_connection_t *xcb_connection() const { return m_connection; }
-+    const xcb_setup_t *setup() const { return m_setup; }
-+    const xcb_format_t *formatForDepth(uint8_t depth) const;
-+
-+    QXcbKeyboard *keyboard() const { return m_keyboard; }
-+
-+#ifndef QT_NO_CLIPBOARD
-+    QXcbClipboard *clipboard() const { return m_clipboard; }
-+#endif
-+#ifndef QT_NO_DRAGANDDROP
-+    QXcbDrag *drag() const { return m_drag; }
-+#endif
-+
-+    QXcbWMSupport *wmSupport() const { return m_wmSupport.data(); }
-+    xcb_window_t rootWindow();
-+    xcb_window_t clientLeader();
-+
-+    bool hasDefaultVisualId() const { return m_defaultVisualId != UINT_MAX; }
-+    xcb_visualid_t defaultVisualId() const { return m_defaultVisualId; }
-+
-+#if QT_CONFIG(xcb_xlib)
-+    void *xlib_display() const;
-+    void *createVisualInfoForDefaultVisualId() const;
-+#endif
-+
-+#if QT_CONFIG(xinput2)
-+    void xi2Select(xcb_window_t window);
-+    void xi2SelectStateEvents();
-+#endif
-+#ifdef XCB_USE_XINPUT21
-+    bool isAtLeastXI21() const { return m_xi2Enabled && m_xi2Minor >= 1; }
-+#else
-+    bool isAtLeastXI21() const { return false; }
-+#endif
-+#ifdef XCB_USE_XINPUT22
-+    bool isAtLeastXI22() const { return m_xi2Enabled && m_xi2Minor >= 2; }
-+#else
-+    bool isAtLeastXI22() const { return false; }
-+#endif
-+
-+    void sync();
-+
-+    void handleXcbError(xcb_generic_error_t *error);
-+    void handleXcbEvent(xcb_generic_event_t *event);
-+
-+    void addWindowEventListener(xcb_window_t id, QXcbWindowEventListener *eventListener);
-+    void removeWindowEventListener(xcb_window_t id);
-+    QXcbWindowEventListener *windowEventListenerFromId(xcb_window_t id);
-+    QXcbWindow *platformWindowFromId(xcb_window_t id);
-+
-+    template<typename T>
-+    inline xcb_generic_event_t *checkEvent(T &checker);
-+
-+    typedef bool (*PeekFunc)(QXcbConnection *, xcb_generic_event_t *);
-+    void addPeekFunc(PeekFunc f);
-+
-+    inline xcb_timestamp_t time() const { return m_time; }
-+    inline void setTime(xcb_timestamp_t t) { if (t > m_time) m_time = t; }
-+
-+    inline xcb_timestamp_t netWmUserTime() const { return m_netWmUserTime; }
-+    inline void setNetWmUserTime(xcb_timestamp_t t) { if (t > m_netWmUserTime) m_netWmUserTime = t; }
-+
-+    bool hasXFixes() const { return xfixes_first_event > 0; }
-+    bool hasXShape() const { return has_shape_extension; }
-+    bool hasXRandr() const { return has_randr_extension; }
-+    bool hasInputShape() const { return has_input_shape; }
-+    bool hasXKB() const { return has_xkb; }
-+
-+    bool supportsThreadedRendering() const { return m_reader->isRunning(); }
-+    bool threadedEventHandling() const { return m_reader->isRunning(); }
-+
-+    xcb_timestamp_t getTimestamp();
-+    xcb_window_t getSelectionOwner(xcb_atom_t atom) const;
-+    xcb_window_t getQtSelectionOwner();
-+
-+    void setButton(Qt::MouseButton button, bool down) { m_buttons.setFlag(button, down); }
-+    Qt::MouseButtons buttons() const { return m_buttons; }
-+    Qt::MouseButton translateMouseButton(xcb_button_t s);
-+
-+    QXcbWindow *focusWindow() const { return m_focusWindow; }
-+    void setFocusWindow(QWindow *);
-+    QXcbWindow *mouseGrabber() const { return m_mouseGrabber; }
-+    void setMouseGrabber(QXcbWindow *);
-+    QXcbWindow *mousePressWindow() const { return m_mousePressWindow; }
-+    void setMousePressWindow(QXcbWindow *);
-+
-+    QByteArray startupId() const { return m_startupId; }
-+    void setStartupId(const QByteArray &nextId) { m_startupId = nextId; }
-+    void clearStartupId() { m_startupId.clear(); }
-+
-+    void grabServer();
-+    void ungrabServer();
-+
-+    QXcbNativeInterface *nativeInterface() const { return m_nativeInterface; }
-+
-+    QXcbSystemTrayTracker *systemTrayTracker() const;
-+    static bool xEmbedSystemTrayAvailable();
-+    static bool xEmbedSystemTrayVisualHasAlphaChannel();
-+
-+#ifdef XCB_USE_XINPUT21
-+    void handleEnterEvent();
-+#endif
-+
-+#ifdef XCB_USE_XINPUT22
-+    bool startSystemResizeForTouchBegin(xcb_window_t window, const QPoint &point, Qt::Corner corner);
-+    bool xi2SetMouseGrabEnabled(xcb_window_t w, bool grab);
-+#endif
-+    Qt::MouseButton xiToQtMouseButton(uint32_t b);
-+
-+    QXcbEventReader *eventReader() const { return m_reader; }
-+
-+    bool canGrab() const { return m_canGrabServer; }
-+
-+    QXcbGlIntegration *glIntegration() const { return m_glIntegration; }
-+
-+#ifdef XCB_USE_XINPUT22
-+    bool xi2MouseEvents() const;
-+    bool isTouchScreen(int id) const;
-+#endif
-+
-+protected:
-+    bool event(QEvent *e) override;
-+
-+public slots:
-+    void flush() { xcb_flush(m_connection); }
-+
-+private slots:
-+    void processXcbEvents();
-+
-+private:
-+    void initializeAllAtoms();
-+    void sendConnectionEvent(QXcbAtom::Atom atom, uint id = 0);
-+    void initializeXFixes();
-+    void initializeXRender();
-+    void initializeXRandr();
-+    void initializeXinerama();
-+    void initializeXShape();
-+    void initializeXKB();
-+    void handleClientMessageEvent(const xcb_client_message_event_t *event);
-+    QXcbScreen* findScreenForCrtc(xcb_window_t rootWindow, xcb_randr_crtc_t crtc) const;
-+    QXcbScreen* findScreenForOutput(xcb_window_t rootWindow, xcb_randr_output_t output) const;
-+    QXcbVirtualDesktop* virtualDesktopForRootWindow(xcb_window_t rootWindow) const;
-+    void updateScreens(const xcb_randr_notify_event_t *event);
-+    bool checkOutputIsPrimary(xcb_window_t rootWindow, xcb_randr_output_t output);
-+    void updateScreen(QXcbScreen *screen, const xcb_randr_output_change_t &outputChange);
-+    QXcbScreen *createScreen(QXcbVirtualDesktop *virtualDesktop,
-+                             const xcb_randr_output_change_t &outputChange,
-+                             xcb_randr_get_output_info_reply_t *outputInfo);
-+    void destroyScreen(QXcbScreen *screen);
-+    void initializeScreens();
-+    bool compressEvent(xcb_generic_event_t *event, int currentIndex, QXcbEventArray *eventqueue) const;
-+#if QT_CONFIG(xinput2)
-+    bool m_xi2Enabled = false;
-+    int m_xi2Minor = 2;
-+    void initializeXInput2();
-+    void finalizeXInput2();
-+    void xi2SetupDevices();
-+    XInput2TouchDeviceData *touchDeviceForId(int id);
-+    void xi2HandleEvent(xcb_ge_event_t *event);
-+    void xi2HandleHierachyEvent(void *event);
-+    void xi2HandleDeviceChangedEvent(void *event);
-+    int m_xiOpCode, m_xiEventBase, m_xiErrorBase;
-+#ifdef XCB_USE_XINPUT22
-+    void xi2ProcessTouch(void *xiDevEvent, QXcbWindow *platformWindow);
-+#endif // XCB_USE_XINPUT22
-+#if QT_CONFIG(tabletevent)
-+    struct TabletData {
-+        int deviceId = 0;
-+        QTabletEvent::PointerType pointerType = QTabletEvent::UnknownPointer;
-+        QTabletEvent::TabletDevice tool = QTabletEvent::Stylus;
-+        Qt::MouseButtons buttons = 0;
-+        qint64 serialId = 0;
-+        bool inProximity = false;
-+        struct ValuatorClassInfo {
-+            double minVal = 0;
-+            double maxVal = 0;
-+            double curVal = 0;
-+            int number = -1;
-+        };
-+        QHash<int, ValuatorClassInfo> valuatorInfo;
-+    };
-+    friend class QTypeInfo<TabletData>;
-+    friend class QTypeInfo<TabletData::ValuatorClassInfo>;
-+    bool xi2HandleTabletEvent(const void *event, TabletData *tabletData);
-+    void xi2ReportTabletEvent(const void *event, TabletData *tabletData);
-+    QVector<TabletData> m_tabletData;
-+    TabletData *tabletDataForDevice(int id);
-+#endif // QT_CONFIG(tabletevent)
-+    struct ScrollingDevice {
-+        int deviceId = 0;
-+        int verticalIndex = 0;
-+        int horizontalIndex = 0;
-+        double verticalIncrement = 0;
-+        double horizontalIncrement = 0;
-+        Qt::Orientations orientations = 0;
-+        Qt::Orientations legacyOrientations = 0;
-+        QPointF lastScrollPosition;
-+    };
-+    void updateScrollingDevice(ScrollingDevice& scrollingDevice, int num_classes, void *classes);
-+    void xi2HandleScrollEvent(void *event, ScrollingDevice &scrollingDevice);
-+    QHash<int, ScrollingDevice> m_scrollingDevices;
-+
-+    static bool xi2GetValuatorValueIfSet(const void *event, int valuatorNum, double *value);
-+    static void xi2PrepareXIGenericDeviceEvent(xcb_ge_event_t *event);
-+#endif
-+
-+    xcb_connection_t *m_connection = nullptr;
-+    const xcb_setup_t *m_setup = nullptr;
-+    const bool m_canGrabServer;
-+    const xcb_visualid_t m_defaultVisualId;
-+
-+    QList<QXcbVirtualDesktop *> m_virtualDesktops;
-+    QList<QXcbScreen *> m_screens;
-+    int m_primaryScreenNumber = 0;
-+
-+    xcb_atom_t m_allAtoms[QXcbAtom::NAtoms];
-+
-+    xcb_timestamp_t m_time = XCB_CURRENT_TIME;
-+    xcb_timestamp_t m_netWmUserTime = XCB_CURRENT_TIME;
-+
-+    QByteArray m_displayName;
-+
-+    QXcbKeyboard *m_keyboard = nullptr;
-+#ifndef QT_NO_CLIPBOARD
-+    QXcbClipboard *m_clipboard = nullptr;
-+#endif
-+#ifndef QT_NO_DRAGANDDROP
-+    QXcbDrag *m_drag = nullptr;
-+#endif
-+    QScopedPointer<QXcbWMSupport> m_wmSupport;
-+    QXcbNativeInterface *m_nativeInterface = nullptr;
-+
-+#if QT_CONFIG(xcb_xlib)
-+    void *m_xlib_display = nullptr;
-+#endif
-+    QXcbEventReader *m_reader = nullptr;
-+#if QT_CONFIG(xinput2)
-+    QHash<int, XInput2TouchDeviceData*> m_touchDevices;
-+#ifdef XCB_USE_XINPUT22
-+    struct StartSystemResizeInfo {
-+        xcb_window_t window;
-+        uint16_t deviceid;
-+        uint32_t pointid;
-+        Qt::Corner corner;
-+    } m_startSystemResizeInfo;
-+#endif
-+#endif
-+#ifdef Q_XCB_DEBUG
-+    struct CallInfo {
-+        int sequence;
-+        QByteArray file;
-+        int line;
-+    };
-+    QVector<CallInfo> m_callLog;
-+    QMutex m_callLogMutex;
-+    void log(const char *file, int line, int sequence);
-+    template <typename cookie_t>
-+    friend cookie_t q_xcb_call_template(const cookie_t &cookie, QXcbConnection *connection,
-+                                        const char *file, int line);
-+    template <typename reply_t>
-+    friend reply_t *q_xcb_call_template(reply_t *reply, QXcbConnection *connection,
-+                                        const char *file, int line);
-+#endif
-+
-+    WindowMapper m_mapper;
-+
-+    QVector<PeekFunc> m_peekFuncs;
-+
-+    uint32_t xfixes_first_event = 0;
-+    uint32_t xrandr_first_event = 0;
-+    uint32_t xkb_first_event = 0;
-+
-+    bool has_xinerama_extension = false;
-+    bool has_shape_extension = false;
-+    bool has_randr_extension = false;
-+    bool has_input_shape;
-+    bool has_xkb = false;
-+
-+    Qt::MouseButtons m_buttons = 0;
-+
-+    QXcbWindow *m_focusWindow = nullptr;
-+    QXcbWindow *m_mouseGrabber = nullptr;
-+    QXcbWindow *m_mousePressWindow = nullptr;
-+
-+    xcb_window_t m_clientLeader = 0;
-+    QByteArray m_startupId;
-+    QXcbSystemTrayTracker *m_systemTrayTracker = nullptr;
-+    QXcbGlIntegration *m_glIntegration = nullptr;
-+    bool m_xiGrab = false;
-+
-+    xcb_window_t m_qtSelectionOwner = 0;
-+
-+    friend class QXcbEventReader;
-+};
-+#if QT_CONFIG(xinput2)
-+#if QT_CONFIG(tabletevent)
-+Q_DECLARE_TYPEINFO(QXcbConnection::TabletData::ValuatorClassInfo, Q_PRIMITIVE_TYPE);
-+Q_DECLARE_TYPEINFO(QXcbConnection::TabletData, Q_MOVABLE_TYPE);
-+#endif
-+#endif
-+
-+#define DISPLAY_FROM_XCB(object) (reinterpret_cast<Display *>(object->connection()->xlib_display()))
-+#define CREATE_VISUALINFO_FROM_DEFAULT_VISUALID(object) ((XVisualInfo *)(object->connection()->createVisualInfoForDefaultVisualId()))
-+
-+template<typename T>
-+xcb_generic_event_t *QXcbConnection::checkEvent(T &checker)
-+{
-+    QXcbEventArray *eventqueue = m_reader->lock();
-+
-+    for (int i = 0; i < eventqueue->size(); ++i) {
-+        xcb_generic_event_t *event = eventqueue->at(i);
-+        if (checker.checkEvent(event)) {
-+            (*eventqueue)[i] = 0;
-+            m_reader->unlock();
-+            return event;
-+        }
-+    }
-+    m_reader->unlock();
-+    return 0;
-+}
-+
-+class QXcbConnectionGrabber
-+{
-+public:
-+    QXcbConnectionGrabber(QXcbConnection *connection);
-+    ~QXcbConnectionGrabber();
-+    void release();
-+private:
-+    QXcbConnection *m_connection;
-+};
-+
-+template <typename T>
-+union q_padded_xcb_event {
-+  T event;
-+  char padding[32];
-+};
-+
-+// The xcb_send_event() requires all events to have 32 bytes. It calls memcpy() on the
-+// passed in event. If the passed in event is less than 32 bytes, memcpy() reaches into
-+// unrelated memory.
-+#define Q_DECLARE_XCB_EVENT(event_var, event_type) \
-+    q_padded_xcb_event<event_type> store = {}; \
-+    auto &event_var = store.event;
-+
-+#ifdef Q_XCB_DEBUG
-+template <typename cookie_t>
-+cookie_t q_xcb_call_template(const cookie_t &cookie, QXcbConnection *connection, const char *file,
-+                             int line)
-+{
-+    connection->log(file, line, cookie.sequence);
-+    return cookie;
-+}
-+
-+template <typename reply_t>
-+reply_t *q_xcb_call_template(reply_t *reply, QXcbConnection *connection, const char *file, int line)
-+{
-+    connection->log(file, line, reply->sequence);
-+    return reply;
-+}
-+#define Q_XCB_CALL(x) q_xcb_call_template(x, connection(), __FILE__, __LINE__)
-+#define Q_XCB_CALL2(x, connection) q_xcb_call_template(x, connection, __FILE__, __LINE__)
-+#define Q_XCB_NOOP(c) q_xcb_call_template(xcb_no_operation(c->xcb_connection()), c, __FILE__, __LINE__);
-+#else
-+#define Q_XCB_CALL(x) x
-+#define Q_XCB_CALL2(x, connection) x
-+#define Q_XCB_NOOP(c) (void)c;
-+#endif
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.9.4/qxcbcursor.h b/libqt5xcbqpa-dev/5.9.4/qxcbcursor.h
-new file mode 100644
-index 0000000..e3f8851
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.4/qxcbcursor.h
-@@ -0,0 +1,115 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBCURSOR_H
-+#define QXCBCURSOR_H
-+
-+#include <qpa/qplatformcursor.h>
-+#include "qxcbscreen.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+#ifndef QT_NO_CURSOR
-+
-+struct QXcbCursorCacheKey
-+{
-+    explicit QXcbCursorCacheKey(const QCursor &c);
-+    explicit QXcbCursorCacheKey(Qt::CursorShape s) : shape(s), bitmapCacheKey(0), maskCacheKey(0) {}
-+    QXcbCursorCacheKey() : shape(Qt::CustomCursor), bitmapCacheKey(0), maskCacheKey(0) {}
-+
-+    Qt::CursorShape shape;
-+    qint64 bitmapCacheKey;
-+    qint64 maskCacheKey;
-+};
-+
-+inline bool operator==(const QXcbCursorCacheKey &k1, const QXcbCursorCacheKey &k2)
-+{
-+    return k1.shape == k2.shape && k1.bitmapCacheKey == k2.bitmapCacheKey && k1.maskCacheKey == k2.maskCacheKey;
-+}
-+
-+inline uint qHash(const QXcbCursorCacheKey &k, uint seed) Q_DECL_NOTHROW
-+{
-+    return (uint(k.shape) + uint(k.bitmapCacheKey) + uint(k.maskCacheKey)) ^ seed;
-+}
-+
-+#endif // !QT_NO_CURSOR
-+
-+class QXcbCursor : public QXcbObject, public QPlatformCursor
-+{
-+public:
-+    QXcbCursor(QXcbConnection *conn, QXcbScreen *screen);
-+    ~QXcbCursor();
-+#ifndef QT_NO_CURSOR
-+    void changeCursor(QCursor *cursor, QWindow *widget) override;
-+#endif
-+    QPoint pos() const override;
-+    void setPos(const QPoint &pos) override;
-+
-+    static void queryPointer(QXcbConnection *c, QXcbVirtualDesktop **virtualDesktop, QPoint *pos, int *keybMask = 0);
-+
-+#ifndef QT_NO_CURSOR
-+    xcb_cursor_t xcbCursor(const QCursor &c) const
-+        { return m_cursorHash.value(QXcbCursorCacheKey(c), xcb_cursor_t(0)); }
-+#endif
-+
-+private:
-+#ifndef QT_NO_CURSOR
-+    typedef QHash<QXcbCursorCacheKey, xcb_cursor_t> CursorHash;
-+
-+    xcb_cursor_t createFontCursor(int cshape);
-+    xcb_cursor_t createBitmapCursor(QCursor *cursor);
-+    xcb_cursor_t createNonStandardCursor(int cshape);
-+#endif
-+
-+    QXcbScreen *m_screen;
-+#ifndef QT_NO_CURSOR
-+    CursorHash m_cursorHash;
-+#endif
-+#if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
-+    static void cursorThemePropertyChanged(QXcbVirtualDesktop *screen,
-+                                           const QByteArray &name,
-+                                           const QVariant &property,
-+                                           void *handle);
-+#endif
-+    bool m_gtkCursorThemeInitialized;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.9.4/qxcbdrag.h b/libqt5xcbqpa-dev/5.9.4/qxcbdrag.h
-new file mode 100644
-index 0000000..9e1ee46
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.4/qxcbdrag.h
-@@ -0,0 +1,181 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the QtGui module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBDRAG_H
-+#define QXCBDRAG_H
-+
-+#include <qpa/qplatformdrag.h>
-+#include <private/qsimpledrag_p.h>
-+#include <qxcbobject.h>
-+#include <xcb/xcb.h>
-+#include <qpoint.h>
-+#include <qrect.h>
-+#include <qsharedpointer.h>
-+#include <qpointer.h>
-+#include <qvector.h>
-+#include <qdatetime.h>
-+#include <qpixmap.h>
-+#include <qbackingstore.h>
-+
-+#include <QtCore/QDebug>
-+
-+QT_BEGIN_NAMESPACE
-+
-+#ifndef QT_NO_DRAGANDDROP
-+
-+class QWindow;
-+class QPlatformWindow;
-+class QXcbConnection;
-+class QXcbWindow;
-+class QXcbDropData;
-+class QXcbScreen;
-+class QDrag;
-+class QShapedPixmapWindow;
-+
-+class QXcbDrag : public QXcbObject, public QBasicDrag
-+{
-+public:
-+    QXcbDrag(QXcbConnection *c);
-+    ~QXcbDrag();
-+
-+    QMimeData *platformDropData() override;
-+    bool eventFilter(QObject *o, QEvent *e) override;
-+
-+    void startDrag() override;
-+    void cancel() override;
-+    void move(const QPoint &globalPos) override;
-+    void drop(const QPoint &globalPos) override;
-+    void endDrag() override;
-+
-+    void handleEnter(QPlatformWindow *window, const xcb_client_message_event_t *event, xcb_window_t proxy = 0);
-+    void handlePosition(QPlatformWindow *w, const xcb_client_message_event_t *event);
-+    void handleLeave(QPlatformWindow *w, const xcb_client_message_event_t *event);
-+    void handleDrop(QPlatformWindow *, const xcb_client_message_event_t *event);
-+
-+    void handleStatus(const xcb_client_message_event_t *event);
-+    void handleSelectionRequest(const xcb_selection_request_event_t *event);
-+    void handleFinished(const xcb_client_message_event_t *event);
-+
-+    bool dndEnable(QXcbWindow *win, bool on);
-+    bool ownsDragObject() const override;
-+
-+    void updatePixmap();
-+    xcb_timestamp_t targetTime() { return target_time; }
-+
-+protected:
-+    void timerEvent(QTimerEvent* e) override;
-+
-+private:
-+    friend class QXcbDropData;
-+
-+    void init();
-+
-+    void handle_xdnd_position(QPlatformWindow *w, const xcb_client_message_event_t *event);
-+    void handle_xdnd_status(const xcb_client_message_event_t *event);
-+    void send_leave();
-+
-+    Qt::DropAction toDropAction(xcb_atom_t atom) const;
-+    xcb_atom_t toXdndAction(Qt::DropAction a) const;
-+
-+    QPointer<QWindow> initiatorWindow;
-+    QPointer<QWindow> currentWindow;
-+    QPoint currentPosition;
-+
-+    QXcbDropData *dropData;
-+    Qt::DropAction accepted_drop_action;
-+
-+    QWindow *desktop_proxy;
-+
-+    xcb_atom_t xdnd_dragsource;
-+
-+    // the types in this drop. 100 is no good, but at least it's big.
-+    enum { xdnd_max_type = 100 };
-+    QVector<xcb_atom_t> xdnd_types;
-+
-+    // timestamp from XdndPosition and XdndDroptime for retrieving the data
-+    xcb_timestamp_t target_time;
-+    xcb_timestamp_t source_time;
-+
-+    // rectangle in which the answer will be the same
-+    QRect source_sameanswer;
-+    bool waiting_for_status;
-+
-+    // helpers for setting executed drop action outside application
-+    bool dropped;
-+    bool canceled;
-+
-+    // top-level window we sent position to last.
-+    xcb_window_t current_target;
-+    // window to send events to (always valid if current_target)
-+    xcb_window_t current_proxy_target;
-+
-+    QXcbVirtualDesktop *current_virtual_desktop;
-+
-+    // 10 minute timer used to discard old XdndDrop transactions
-+    enum { XdndDropTransactionTimeout = 600000 };
-+    int cleanup_timer;
-+
-+    QVector<xcb_atom_t> drag_types;
-+
-+    struct Transaction
-+    {
-+        xcb_timestamp_t timestamp;
-+        xcb_window_t target;
-+        xcb_window_t proxy_target;
-+        QPlatformWindow *targetWindow;
-+//        QWidget *embedding_widget;
-+        QPointer<QDrag> drag;
-+        QTime time;
-+    };
-+    friend class QTypeInfo<Transaction>;
-+    QVector<Transaction> transactions;
-+
-+    int transaction_expiry_timer;
-+    void restartDropExpiryTimer();
-+    int findTransactionByWindow(xcb_window_t window);
-+    int findTransactionByTime(xcb_timestamp_t timestamp);
-+    xcb_window_t findRealWindow(const QPoint & pos, xcb_window_t w, int md, bool ignoreNonXdndAwareWindows);
-+};
-+Q_DECLARE_TYPEINFO(QXcbDrag::Transaction, Q_MOVABLE_TYPE);
-+
-+#endif // QT_NO_DRAGANDDROP
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.9.4/qxcbexport.h b/libqt5xcbqpa-dev/5.9.4/qxcbexport.h
-new file mode 100644
-index 0000000..4db23a9
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.4/qxcbexport.h
-@@ -0,0 +1,55 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBEXPORT_H
-+#define QXCBEXPORT_H
-+
-+#include <QtCore/qglobal.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+#  if defined(QT_BUILD_XCB_PLUGIN)
-+#    define Q_XCB_EXPORT Q_DECL_EXPORT
-+#  else
-+#    define Q_XCB_EXPORT Q_DECL_IMPORT
-+#  endif
-+
-+QT_END_NAMESPACE
-+#endif //QXCBEXPORT_H
-+
-diff --git a/libqt5xcbqpa-dev/5.9.4/qxcbimage.h b/libqt5xcbqpa-dev/5.9.4/qxcbimage.h
-new file mode 100644
-index 0000000..a9071a4
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.4/qxcbimage.h
-@@ -0,0 +1,62 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBIMAGE_H
-+#define QXCBIMAGE_H
-+
-+#include "qxcbscreen.h"
-+#include <QtCore/QPair>
-+#include <QtGui/QImage>
-+#include <QtGui/QPixmap>
-+#include <xcb/xcb_image.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+QImage::Format qt_xcb_imageFormatForVisual(QXcbConnection *connection,
-+                                           uint8_t depth, const xcb_visualtype_t *visual);
-+QPixmap qt_xcb_pixmapFromXPixmap(QXcbConnection *connection, xcb_pixmap_t pixmap,
-+                                 int width, int height, int depth,
-+                                 const xcb_visualtype_t *visual);
-+xcb_pixmap_t qt_xcb_XPixmapFromBitmap(QXcbScreen *screen, const QImage &image);
-+xcb_cursor_t qt_xcb_createCursorXRender(QXcbScreen *screen, const QImage &image,
-+                                        const QPoint &spot);
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.9.4/qxcbintegration.h b/libqt5xcbqpa-dev/5.9.4/qxcbintegration.h
-new file mode 100644
-index 0000000..b3d72c1
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.4/qxcbintegration.h
-@@ -0,0 +1,145 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBINTEGRATION_H
-+#define QXCBINTEGRATION_H
-+
-+#include <QtGui/private/qtguiglobal_p.h>
-+#include <qpa/qplatformintegration.h>
-+#include <qpa/qplatformscreen.h>
-+
-+#include "qxcbexport.h"
-+
-+#include <xcb/xcb.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbConnection;
-+class QAbstractEventDispatcher;
-+class QXcbNativeInterface;
-+class QXcbScreen;
-+
-+class Q_XCB_EXPORT QXcbIntegration : public QPlatformIntegration
-+{
-+public:
-+    QXcbIntegration(const QStringList &parameters, int &argc, char **argv);
-+    ~QXcbIntegration();
-+
-+    QPlatformWindow *createPlatformWindow(QWindow *window) const override;
-+    QPlatformWindow *createForeignWindow(QWindow *window, WId nativeHandle) const override;
-+#ifndef QT_NO_OPENGL
-+    QPlatformOpenGLContext *createPlatformOpenGLContext(QOpenGLContext *context) const override;
-+#endif
-+    QPlatformBackingStore *createPlatformBackingStore(QWindow *window) const override;
-+
-+    QPlatformOffscreenSurface *createPlatformOffscreenSurface(QOffscreenSurface *surface) const override;
-+
-+    bool hasCapability(Capability cap) const override;
-+    QAbstractEventDispatcher *createEventDispatcher() const override;
-+    void initialize() override;
-+
-+    void moveToScreen(QWindow *window, int screen);
-+
-+    QPlatformFontDatabase *fontDatabase() const override;
-+
-+    QPlatformNativeInterface *nativeInterface()const override;
-+
-+#ifndef QT_NO_CLIPBOARD
-+    QPlatformClipboard *clipboard() const override;
-+#endif
-+#ifndef QT_NO_DRAGANDDROP
-+    QPlatformDrag *drag() const override;
-+#endif
-+
-+    QPlatformInputContext *inputContext() const override;
-+
-+#ifndef QT_NO_ACCESSIBILITY
-+    QPlatformAccessibility *accessibility() const override;
-+#endif
-+
-+    QPlatformServices *services() const override;
-+
-+    Qt::KeyboardModifiers queryKeyboardModifiers() const override;
-+    QList<int> possibleKeys(const QKeyEvent *e) const override;
-+
-+    QStringList themeNames() const override;
-+    QPlatformTheme *createPlatformTheme(const QString &name) const override;
-+    QVariant styleHint(StyleHint hint) const override;
-+
-+    QXcbConnection *defaultConnection() const { return m_connections.first(); }
-+
-+    QByteArray wmClass() const;
-+
-+#if QT_CONFIG(xcb_sm)
-+    QPlatformSessionManager *createPlatformSessionManager(const QString &id, const QString &key) const override;
-+#endif
-+
-+    void sync() override;
-+
-+    void beep() const override;
-+
-+    static QXcbIntegration *instance() { return m_instance; }
-+
-+private:
-+    QList<QXcbConnection *> m_connections;
-+
-+    QScopedPointer<QPlatformFontDatabase> m_fontDatabase;
-+    QScopedPointer<QXcbNativeInterface> m_nativeInterface;
-+
-+    QScopedPointer<QPlatformInputContext> m_inputContext;
-+
-+#ifndef QT_NO_ACCESSIBILITY
-+    mutable QScopedPointer<QPlatformAccessibility> m_accessibility;
-+#endif
-+
-+    QScopedPointer<QPlatformServices> m_services;
-+
-+    friend class QXcbConnection; // access QPlatformIntegration::screenAdded()
-+
-+    mutable QByteArray m_wmClass;
-+    const char *m_instanceName;
-+    bool m_canGrab;
-+    xcb_visualid_t m_defaultVisualId;
-+
-+    static QXcbIntegration *m_instance;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.9.4/qxcbkeyboard.h b/libqt5xcbqpa-dev/5.9.4/qxcbkeyboard.h
-new file mode 100644
-index 0000000..74f9da0
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.4/qxcbkeyboard.h
-@@ -0,0 +1,151 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBKEYBOARD_H
-+#define QXCBKEYBOARD_H
-+
-+#include "qxcbobject.h"
-+
-+#include <xcb/xcb_keysyms.h>
-+
-+#include <xkbcommon/xkbcommon.h>
-+#if QT_CONFIG(xkb)
-+#include <xkbcommon/xkbcommon-x11.h>
-+#endif
-+
-+#include <QEvent>
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QWindow;
-+
-+class QXcbKeyboard : public QXcbObject
-+{
-+public:
-+    QXcbKeyboard(QXcbConnection *connection);
-+
-+    ~QXcbKeyboard();
-+
-+    void handleKeyPressEvent(const xcb_key_press_event_t *event);
-+    void handleKeyReleaseEvent(const xcb_key_release_event_t *event);
-+    void handleMappingNotifyEvent(const void *event);
-+
-+    Qt::KeyboardModifiers translateModifiers(int s) const;
-+    void updateKeymap();
-+    QList<int> possibleKeys(const QKeyEvent *e) const;
-+
-+    // when XKEYBOARD not present on the X server
-+    void updateXKBMods();
-+    quint32 xkbModMask(quint16 state);
-+    void updateXKBStateFromCore(quint16 state);
-+#ifdef XCB_USE_XINPUT22
-+    void updateXKBStateFromXI(void *modInfo, void *groupInfo);
-+#endif
-+#if QT_CONFIG(xkb)
-+    // when XKEYBOARD is present on the X server
-+    int coreDeviceId() const { return core_device_id; }
-+    void updateXKBState(xcb_xkb_state_notify_event_t *state);
-+#endif
-+
-+protected:
-+    void handleKeyEvent(xcb_window_t sourceWindow, QEvent::Type type, xcb_keycode_t code, quint16 state, xcb_timestamp_t time);
-+
-+    void resolveMaskConflicts();
-+    QString lookupString(struct xkb_state *state, xcb_keycode_t code) const;
-+    int keysymToQtKey(xcb_keysym_t keysym) const;
-+    int keysymToQtKey(xcb_keysym_t keysym, Qt::KeyboardModifiers &modifiers, const QString &text) const;
-+    void printKeymapError(const char *error) const;
-+
-+    void readXKBConfig();
-+    void clearXKBConfig();
-+    // when XKEYBOARD not present on the X server
-+    void updateModifiers();
-+    // when XKEYBOARD is present on the X server
-+    void updateVModMapping();
-+    void updateVModToRModMapping();
-+
-+    xkb_keysym_t lookupLatinKeysym(xkb_keycode_t keycode) const;
-+    void checkForLatinLayout();
-+
-+private:
-+    void updateXKBStateFromState(struct xkb_state *kb_state, quint16 state);
-+
-+    bool m_config = false;
-+    xcb_keycode_t m_autorepeat_code = 0;
-+
-+    struct xkb_context *xkb_context = nullptr;
-+    struct xkb_keymap *xkb_keymap = nullptr;
-+    struct xkb_state *xkb_state = nullptr;
-+    struct xkb_rule_names xkb_names;
-+    mutable struct xkb_keymap *latin_keymap = nullptr;
-+
-+    struct _mod_masks {
-+        uint alt;
-+        uint altgr;
-+        uint meta;
-+        uint super;
-+        uint hyper;
-+    };
-+
-+    _mod_masks rmod_masks;
-+
-+    // when XKEYBOARD not present on the X server
-+    xcb_key_symbols_t *m_key_symbols;
-+    struct _xkb_mods {
-+        xkb_mod_index_t shift;
-+        xkb_mod_index_t lock;
-+        xkb_mod_index_t control;
-+        xkb_mod_index_t mod1;
-+        xkb_mod_index_t mod2;
-+        xkb_mod_index_t mod3;
-+        xkb_mod_index_t mod4;
-+        xkb_mod_index_t mod5;
-+    };
-+    _xkb_mods xkb_mods;
-+#if QT_CONFIG(xkb)
-+    // when XKEYBOARD is present on the X server
-+    _mod_masks vmod_masks;
-+    int core_device_id;
-+#endif
-+    bool m_hasLatinLayout = false;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.9.4/qxcbmime.h b/libqt5xcbqpa-dev/5.9.4/qxcbmime.h
-new file mode 100644
-index 0000000..561631a
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.4/qxcbmime.h
-@@ -0,0 +1,75 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBMIME_H
-+#define QXCBMIME_H
-+
-+#include <private/qdnd_p.h>
-+
-+#include <QtGui/QClipboard>
-+
-+#include "qxcbintegration.h"
-+#include "qxcbconnection.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+#if !(defined(QT_NO_DRAGANDDROP) && defined(QT_NO_CLIPBOARD))
-+
-+class QXcbMime : public QInternalMimeData {
-+    Q_OBJECT
-+public:
-+    QXcbMime();
-+    ~QXcbMime();
-+
-+    static QVector<xcb_atom_t> mimeAtomsForFormat(QXcbConnection *connection, const QString &format);
-+    static QString mimeAtomToString(QXcbConnection *connection, xcb_atom_t a);
-+    static bool mimeDataForAtom(QXcbConnection *connection, xcb_atom_t a, QMimeData *mimeData, QByteArray *data,
-+                                xcb_atom_t *atomFormat, int *dataFormat);
-+    static QVariant mimeConvertToFormat(QXcbConnection *connection, xcb_atom_t a, const QByteArray &data, const QString &format,
-+                                        QVariant::Type requestedType, const QByteArray &encoding);
-+    static xcb_atom_t mimeAtomForFormat(QXcbConnection *connection, const QString &format, QVariant::Type requestedType,
-+                                        const QVector<xcb_atom_t> &atoms, QByteArray *requestedEncoding);
-+};
-+
-+#endif // !(defined(QT_NO_DRAGANDDROP) && defined(QT_NO_CLIPBOARD))
-+
-+
-+QT_END_NAMESPACE
-+
-+#endif // QXCBMIME_H
-diff --git a/libqt5xcbqpa-dev/5.9.4/qxcbnativeinterface.h b/libqt5xcbqpa-dev/5.9.4/qxcbnativeinterface.h
-new file mode 100644
-index 0000000..4186d77
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.4/qxcbnativeinterface.h
-@@ -0,0 +1,152 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBNATIVEINTERFACE_H
-+#define QXCBNATIVEINTERFACE_H
-+
-+#include <qpa/qplatformnativeinterface.h>
-+#include <xcb/xcb.h>
-+
-+#include <QtCore/QRect>
-+
-+#include "qxcbexport.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QWidget;
-+class QXcbScreen;
-+class QXcbConnection;
-+class QXcbNativeInterfaceHandler;
-+
-+class Q_XCB_EXPORT QXcbNativeInterface : public QPlatformNativeInterface
-+{
-+    Q_OBJECT
-+public:
-+    enum ResourceType {
-+        Display,
-+        Connection,
-+        Screen,
-+        AppTime,
-+        AppUserTime,
-+        ScreenHintStyle,
-+        StartupId,
-+        TrayWindow,
-+        GetTimestamp,
-+        X11Screen,
-+        RootWindow,
-+        ScreenSubpixelType,
-+        ScreenAntialiasingEnabled,
-+        AtspiBus,
-+        CompositingEnabled
-+    };
-+
-+    QXcbNativeInterface();
-+
-+    void *nativeResourceForIntegration(const QByteArray &resource) override;
-+    void *nativeResourceForContext(const QByteArray &resourceString, QOpenGLContext *context) override;
-+    void *nativeResourceForScreen(const QByteArray &resource, QScreen *screen) override;
-+    void *nativeResourceForWindow(const QByteArray &resourceString, QWindow *window) override;
-+    void *nativeResourceForBackingStore(const QByteArray &resource, QBackingStore *backingStore) override;
-+#ifndef QT_NO_CURSOR
-+    void *nativeResourceForCursor(const QByteArray &resource, const QCursor &cursor) override;
-+#endif
-+
-+    NativeResourceForIntegrationFunction nativeResourceFunctionForIntegration(const QByteArray &resource) override;
-+    NativeResourceForContextFunction nativeResourceFunctionForContext(const QByteArray &resource) override;
-+    NativeResourceForScreenFunction nativeResourceFunctionForScreen(const QByteArray &resource) override;
-+    NativeResourceForWindowFunction nativeResourceFunctionForWindow(const QByteArray &resource) override;
-+    NativeResourceForBackingStoreFunction nativeResourceFunctionForBackingStore(const QByteArray &resource) override;
-+
-+    QFunctionPointer platformFunction(const QByteArray &function) const override;
-+
-+    inline const QByteArray &genericEventFilterType() const { return m_genericEventFilterType; }
-+
-+    void *displayForWindow(QWindow *window);
-+    void *connectionForWindow(QWindow *window);
-+    void *screenForWindow(QWindow *window);
-+    void *appTime(const QXcbScreen *screen);
-+    void *appUserTime(const QXcbScreen *screen);
-+    void *getTimestamp(const QXcbScreen *screen);
-+    void *startupId();
-+    void *x11Screen();
-+    void *rootWindow();
-+    void *display();
-+    void *atspiBus();
-+    void *connection();
-+    static void setStartupId(const char *);
-+    static void setAppTime(QScreen *screen, xcb_timestamp_t time);
-+    static void setAppUserTime(QScreen *screen, xcb_timestamp_t time);
-+
-+    Q_INVOKABLE bool systemTrayAvailable(const QScreen *screen) const;
-+    Q_INVOKABLE void setParentRelativeBackPixmap(QWindow *window);
-+    Q_INVOKABLE bool systrayVisualHasAlphaChannel();
-+    Q_INVOKABLE bool requestSystemTrayWindowDock(const QWindow *window);
-+    Q_INVOKABLE QRect systemTrayWindowGlobalGeometry(const QWindow *window);
-+
-+    void addHandler(QXcbNativeInterfaceHandler *handler);
-+    void removeHandler(QXcbNativeInterfaceHandler *handler);
-+signals:
-+    void systemTrayWindowChanged(QScreen *screen);
-+
-+private:
-+    xcb_window_t locateSystemTray(xcb_connection_t *conn, const QXcbScreen *screen);
-+
-+    const QByteArray m_genericEventFilterType;
-+
-+    xcb_atom_t m_sysTraySelectionAtom = XCB_ATOM_NONE;
-+
-+    static QXcbScreen *qPlatformScreenForWindow(QWindow *window);
-+
-+    QList<QXcbNativeInterfaceHandler *> m_handlers;
-+    NativeResourceForIntegrationFunction handlerNativeResourceFunctionForIntegration(const QByteArray &resource) const;
-+    NativeResourceForContextFunction handlerNativeResourceFunctionForContext(const QByteArray &resource) const;
-+    NativeResourceForScreenFunction handlerNativeResourceFunctionForScreen(const QByteArray &resource) const;
-+    NativeResourceForWindowFunction handlerNativeResourceFunctionForWindow(const QByteArray &resource) const;
-+    NativeResourceForBackingStoreFunction handlerNativeResourceFunctionForBackingStore(const QByteArray &resource) const;
-+    QFunctionPointer handlerPlatformFunction(const QByteArray &function) const;
-+    void *handlerNativeResourceForIntegration(const QByteArray &resource) const;
-+    void *handlerNativeResourceForContext(const QByteArray &resource, QOpenGLContext *context) const;
-+    void *handlerNativeResourceForScreen(const QByteArray &resource, QScreen *screen) const;
-+    void *handlerNativeResourceForWindow(const QByteArray &resource, QWindow *window) const;
-+    void *handlerNativeResourceForBackingStore(const QByteArray &resource, QBackingStore *backingStore) const;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif // QXCBNATIVEINTERFACE_H
-diff --git a/libqt5xcbqpa-dev/5.9.4/qxcbobject.h b/libqt5xcbqpa-dev/5.9.4/qxcbobject.h
-new file mode 100644
-index 0000000..1b98d93
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.4/qxcbobject.h
-@@ -0,0 +1,64 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBOBJECT_H
-+#define QXCBOBJECT_H
-+
-+#include "qxcbconnection.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbObject
-+{
-+public:
-+    QXcbObject(QXcbConnection *connection = 0) : m_connection(connection) {}
-+
-+    void setConnection(QXcbConnection *connection) { m_connection = connection; }
-+    QXcbConnection *connection() const { return m_connection; }
-+
-+    xcb_atom_t atom(QXcbAtom::Atom atom) const { return m_connection->atom(atom); }
-+    xcb_connection_t *xcb_connection() const { return m_connection->xcb_connection(); }
-+
-+private:
-+    QXcbConnection *m_connection;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.9.4/qxcbscreen.h b/libqt5xcbqpa-dev/5.9.4/qxcbscreen.h
-new file mode 100644
-index 0000000..4163be2
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.4/qxcbscreen.h
-@@ -0,0 +1,220 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBSCREEN_H
-+#define QXCBSCREEN_H
-+
-+#include <qpa/qplatformscreen.h>
-+#include <QtCore/QString>
-+
-+#include <xcb/xcb.h>
-+#include <xcb/randr.h>
-+#include <xcb/xfixes.h>
-+#include <xcb/xinerama.h>
-+
-+#include "qxcbobject.h"
-+#include "qxcbscreen.h"
-+
-+#include <private/qfontengine_p.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbConnection;
-+class QXcbCursor;
-+class QXcbXSettings;
-+#ifndef QT_NO_DEBUG_STREAM
-+class QDebug;
-+#endif
-+
-+class QXcbVirtualDesktop : public QXcbObject
-+{
-+public:
-+    QXcbVirtualDesktop(QXcbConnection *connection, xcb_screen_t *screen, int number);
-+    ~QXcbVirtualDesktop();
-+
-+    xcb_screen_t *screen() const { return m_screen; }
-+    int number() const { return m_number; }
-+    QSize size() const { return QSize(m_screen->width_in_pixels, m_screen->height_in_pixels); }
-+    QSize physicalSize() const { return QSize(m_screen->width_in_millimeters, m_screen->height_in_millimeters); }
-+    xcb_window_t root() const { return m_screen->root; }
-+    QXcbScreen *screenAt(const QPoint &pos) const;
-+
-+    QList<QPlatformScreen *> screens() const { return m_screens; }
-+    void setScreens(QList<QPlatformScreen *> sl) { m_screens = sl; }
-+    void removeScreen(QPlatformScreen *s) { m_screens.removeOne(s); }
-+    void addScreen(QPlatformScreen *s);
-+    void setPrimaryScreen(QPlatformScreen *s);
-+
-+    QXcbXSettings *xSettings() const;
-+
-+    bool compositingActive() const;
-+
-+    QRect workArea() const { return m_workArea; }
-+    void updateWorkArea();
-+
-+    void handleXFixesSelectionNotify(xcb_xfixes_selection_notify_event_t *notify_event);
-+    void subscribeToXFixesSelectionNotify();
-+
-+private:
-+    QRect getWorkArea() const;
-+
-+    xcb_screen_t *m_screen;
-+    const int m_number;
-+    QList<QPlatformScreen *> m_screens;
-+
-+    QXcbXSettings *m_xSettings = nullptr;
-+    xcb_atom_t m_net_wm_cm_atom = 0;
-+    bool m_compositingActive = false;
-+
-+    QRect m_workArea;
-+};
-+
-+class Q_XCB_EXPORT QXcbScreen : public QXcbObject, public QPlatformScreen
-+{
-+public:
-+    QXcbScreen(QXcbConnection *connection, QXcbVirtualDesktop *virtualDesktop,
-+               xcb_randr_output_t outputId, xcb_randr_get_output_info_reply_t *outputInfo,
-+               const xcb_xinerama_screen_info_t *xineramaScreenInfo = Q_NULLPTR, int xineramaScreenIdx = -1);
-+    ~QXcbScreen();
-+
-+    QString getOutputName(xcb_randr_get_output_info_reply_t *outputInfo);
-+
-+    QPixmap grabWindow(WId window, int x, int y, int width, int height) const override;
-+
-+    QWindow *topLevelAt(const QPoint &point) const override;
-+
-+    QRect geometry() const override { return m_geometry; }
-+    QRect availableGeometry() const override {return m_availableGeometry;}
-+    int depth() const override { return screen()->root_depth; }
-+    QImage::Format format() const override;
-+    QSizeF physicalSize() const override { return m_sizeMillimeters; }
-+    QSize virtualSize() const { return m_virtualSize; }
-+    QSizeF physicalVirtualSize() const { return m_virtualSizeMillimeters; }
-+    QDpi virtualDpi() const;
-+    QDpi logicalDpi() const override;
-+    qreal pixelDensity() const override;
-+    QPlatformCursor *cursor() const override;
-+    qreal refreshRate() const override { return m_refreshRate; }
-+    Qt::ScreenOrientation orientation() const override { return m_orientation; }
-+    QList<QPlatformScreen *> virtualSiblings() const override { return m_virtualDesktop->screens(); }
-+    QXcbVirtualDesktop *virtualDesktop() const { return m_virtualDesktop; }
-+
-+    void setPrimary(bool primary) { m_primary = primary; }
-+    bool isPrimary() const { return m_primary; }
-+
-+    int screenNumber() const { return m_virtualDesktop->number(); }
-+    static int virtualDesktopNumberStatic(const QScreen *screen);
-+
-+    xcb_screen_t *screen() const { return m_virtualDesktop->screen(); }
-+    xcb_window_t root() const { return screen()->root; }
-+    xcb_randr_output_t output() const { return m_output; }
-+    xcb_randr_crtc_t crtc() const { return m_crtc; }
-+    xcb_randr_mode_t mode() const { return m_mode; }
-+
-+    void setOutput(xcb_randr_output_t outputId,
-+                   xcb_randr_get_output_info_reply_t *outputInfo);
-+    void setCrtc(xcb_randr_crtc_t crtc) { m_crtc = crtc; }
-+
-+    void windowShown(QXcbWindow *window);
-+    QString windowManagerName() const { return m_windowManagerName; }
-+    bool syncRequestSupported() const { return m_syncRequestSupported; }
-+
-+    QSurfaceFormat surfaceFormatFor(const QSurfaceFormat &format) const;
-+
-+    const xcb_visualtype_t *visualForFormat(const QSurfaceFormat &format) const;
-+    const xcb_visualtype_t *visualForId(xcb_visualid_t) const;
-+    quint8 depthOfVisual(xcb_visualid_t) const;
-+
-+    QString name() const override { return m_outputName; }
-+
-+    void handleScreenChange(xcb_randr_screen_change_notify_event_t *change_event);
-+    void updateGeometry(const QRect &geom, uint8_t rotation);
-+    void updateGeometry(xcb_timestamp_t timestamp = XCB_TIME_CURRENT_TIME);
-+    void updateAvailableGeometry();
-+    void updateRefreshRate(xcb_randr_mode_t mode);
-+
-+    void readXResources();
-+
-+    QFontEngine::HintStyle hintStyle() const { return m_hintStyle; }
-+    QFontEngine::SubpixelAntialiasingType subpixelType() const { return m_subpixelType; }
-+    int antialiasingEnabled() const { return m_antialiasingEnabled; }
-+
-+    QXcbXSettings *xSettings() const;
-+
-+private:
-+    static bool xResource(const QByteArray &identifier,
-+                          const QByteArray &expectedIdentifier,
-+                          QByteArray &stringValue);
-+    void sendStartupMessage(const QByteArray &message) const;
-+
-+    QXcbVirtualDesktop *m_virtualDesktop;
-+    xcb_randr_output_t m_output;
-+    xcb_randr_crtc_t m_crtc;
-+    xcb_randr_mode_t m_mode = XCB_NONE;
-+    bool m_primary = false;
-+    uint8_t m_rotation = XCB_RANDR_ROTATION_ROTATE_0;
-+
-+    QString m_outputName;
-+    QSizeF m_outputSizeMillimeters;
-+    QSizeF m_sizeMillimeters;
-+    QRect m_geometry;
-+    QRect m_availableGeometry;
-+    QSize m_virtualSize;
-+    QSizeF m_virtualSizeMillimeters;
-+    Qt::ScreenOrientation m_orientation = Qt::PrimaryOrientation;
-+    QString m_windowManagerName;
-+    bool m_syncRequestSupported = false;
-+    QMap<xcb_visualid_t, xcb_visualtype_t> m_visuals;
-+    QMap<xcb_visualid_t, quint8> m_visualDepths;
-+    QXcbCursor *m_cursor;
-+    int m_refreshRate = 60;
-+    int m_forcedDpi = -1;
-+    int m_pixelDensity = 1;
-+    QFontEngine::HintStyle m_hintStyle = QFontEngine::HintStyle(-1);
-+    QFontEngine::SubpixelAntialiasingType m_subpixelType = QFontEngine::SubpixelAntialiasingType(-1);
-+    int m_antialiasingEnabled = -1;
-+};
-+
-+#ifndef QT_NO_DEBUG_STREAM
-+Q_GUI_EXPORT QDebug operator<<(QDebug, const QXcbScreen *);
-+#endif
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.9.4/qxcbsessionmanager.h b/libqt5xcbqpa-dev/5.9.4/qxcbsessionmanager.h
-new file mode 100644
-index 0000000..0ad9445
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.4/qxcbsessionmanager.h
-@@ -0,0 +1,96 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2013 Teo Mrnjavac <teo@kde.org>
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBSESSIONMANAGER_H
-+#define QXCBSESSIONMANAGER_H
-+
-+//
-+//  W A R N I N G
-+//  -------------
-+//
-+// This file is part of the QPA API and is not meant to be used
-+// in applications. Usage of this API may make your code
-+// source and binary incompatible with future versions of Qt.
-+//
-+
-+#include <qpa/qplatformsessionmanager.h>
-+
-+#ifndef QT_NO_SESSIONMANAGER
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QEventLoop;
-+
-+class QXcbSessionManager : public QPlatformSessionManager
-+{
-+public:
-+    QXcbSessionManager(const QString &id, const QString &key);
-+    virtual ~QXcbSessionManager();
-+
-+    void *handle() const;
-+
-+    void setSessionId(const QString &id) { m_sessionId = id; }
-+    void setSessionKey(const QString &key) { m_sessionKey = key; }
-+
-+    bool allowsInteraction() override;
-+    bool allowsErrorInteraction() override;
-+    void release() override;
-+
-+    void cancel() override;
-+
-+    void setManagerProperty(const QString &name, const QString &value) override;
-+    void setManagerProperty(const QString &name, const QStringList &value) override;
-+
-+    bool isPhase2() const override;
-+    void requestPhase2() override;
-+
-+    void exitEventLoop();
-+
-+private:
-+    QEventLoop *m_eventLoop;
-+
-+    Q_DISABLE_COPY(QXcbSessionManager)
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif //QT_NO_SESSIONMANAGER
-+
-+#endif //QXCBSESSIONMANAGER_H
-diff --git a/libqt5xcbqpa-dev/5.9.4/qxcbsystemtraytracker.h b/libqt5xcbqpa-dev/5.9.4/qxcbsystemtraytracker.h
-new file mode 100644
-index 0000000..a95b937
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.4/qxcbsystemtraytracker.h
-@@ -0,0 +1,85 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBSYSTEMTRAYTRACKER_H
-+#define QXCBSYSTEMTRAYTRACKER_H
-+
-+#include "qxcbconnection.h"
-+
-+#include <xcb/xcb.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbConnection;
-+class QScreen;
-+
-+class QXcbSystemTrayTracker : public QObject, public QXcbWindowEventListener
-+{
-+    Q_OBJECT
-+public:
-+    static QXcbSystemTrayTracker *create(QXcbConnection *connection);
-+
-+    xcb_window_t trayWindow();
-+    void requestSystemTrayWindowDock(xcb_window_t window) const;
-+    QRect systemTrayWindowGlobalGeometry(xcb_window_t window) const;
-+
-+    void notifyManagerClientMessageEvent(const xcb_client_message_event_t *);
-+
-+    void handleDestroyNotifyEvent(const xcb_destroy_notify_event_t *) override;
-+
-+    bool visualHasAlphaChannel();
-+signals:
-+    void systemTrayWindowChanged(QScreen *screen);
-+
-+private:
-+    explicit QXcbSystemTrayTracker(QXcbConnection *connection,
-+                                   xcb_atom_t trayAtom,
-+                                   xcb_atom_t selection);
-+    static xcb_window_t locateTrayWindow(const QXcbConnection *connection, xcb_atom_t selection);
-+    void emitSystemTrayWindowChanged();
-+
-+    const xcb_atom_t m_selection;
-+    const xcb_atom_t m_trayAtom;
-+    QXcbConnection *m_connection;
-+    xcb_window_t m_trayWindow = 0;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif // QXCBSYSTEMTRAYTRACKER_H
-diff --git a/libqt5xcbqpa-dev/5.9.4/qxcbwindow.h b/libqt5xcbqpa-dev/5.9.4/qxcbwindow.h
-new file mode 100644
-index 0000000..f38343b
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.4/qxcbwindow.h
-@@ -0,0 +1,297 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBWINDOW_H
-+#define QXCBWINDOW_H
-+
-+#include <qpa/qplatformwindow.h>
-+#include <QtGui/QSurfaceFormat>
-+#include <QtGui/QImage>
-+
-+#include <xcb/xcb.h>
-+#include <xcb/sync.h>
-+
-+#include "qxcbobject.h"
-+
-+#include <QtPlatformHeaders/qxcbwindowfunctions.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbScreen;
-+class QXcbSyncWindowRequest;
-+class QIcon;
-+
-+class Q_XCB_EXPORT QXcbWindow : public QXcbObject, public QXcbWindowEventListener, public QPlatformWindow
-+{
-+public:
-+    enum NetWmState {
-+        NetWmStateAbove = 0x1,
-+        NetWmStateBelow = 0x2,
-+        NetWmStateFullScreen = 0x4,
-+        NetWmStateMaximizedHorz = 0x8,
-+        NetWmStateMaximizedVert = 0x10,
-+        NetWmStateModal = 0x20,
-+        NetWmStateStaysOnTop = 0x40,
-+        NetWmStateDemandsAttention = 0x80
-+    };
-+
-+    Q_DECLARE_FLAGS(NetWmStates, NetWmState)
-+
-+    QXcbWindow(QWindow *window);
-+    ~QXcbWindow();
-+
-+    void setGeometry(const QRect &rect) override;
-+
-+    QMargins frameMargins() const override;
-+
-+    void setVisible(bool visible) override;
-+    void setWindowFlags(Qt::WindowFlags flags) override;
-+    void setWindowState(Qt::WindowState state) override;
-+    WId winId() const override;
-+    void setParent(const QPlatformWindow *window) override;
-+
-+    bool isExposed() const override;
-+    bool isEmbedded() const override;
-+    QPoint mapToGlobal(const QPoint &pos) const override;
-+    QPoint mapFromGlobal(const QPoint &pos) const override;
-+
-+    void setWindowTitle(const QString &title) override;
-+    void setWindowIconText(const QString &title);
-+    void setWindowIcon(const QIcon &icon) override;
-+    void raise() override;
-+    void lower() override;
-+    void propagateSizeHints() override;
-+
-+    void requestActivateWindow() override;
-+
-+    bool setKeyboardGrabEnabled(bool grab) override;
-+    bool setMouseGrabEnabled(bool grab) override;
-+
-+    void setCursor(xcb_cursor_t cursor, bool isBitmapCursor);
-+
-+    QSurfaceFormat format() const override;
-+
-+    void windowEvent(QEvent *event) override;
-+
-+    bool startSystemResize(const QPoint &pos, Qt::Corner corner) override;
-+
-+    void setOpacity(qreal level) override;
-+    void setMask(const QRegion &region) override;
-+
-+    void setAlertState(bool enabled) override;
-+    bool isAlertState() const override { return m_alertState; }
-+
-+    xcb_window_t xcb_window() const { return m_window; }
-+    uint depth() const { return m_depth; }
-+    QImage::Format imageFormat() const { return m_imageFormat; }
-+    bool imageNeedsRgbSwap() const { return m_imageRgbSwap; }
-+
-+    bool handleGenericEvent(xcb_generic_event_t *event, long *result)  override;
-+
-+    void handleExposeEvent(const xcb_expose_event_t *event) override;
-+    void handleClientMessageEvent(const xcb_client_message_event_t *event) override;
-+    void handleConfigureNotifyEvent(const xcb_configure_notify_event_t *event) override;
-+    void handleMapNotifyEvent(const xcb_map_notify_event_t *event) override;
-+    void handleUnmapNotifyEvent(const xcb_unmap_notify_event_t *event) override;
-+    void handleButtonPressEvent(const xcb_button_press_event_t *event) override;
-+    void handleButtonReleaseEvent(const xcb_button_release_event_t *event) override;
-+    void handleMotionNotifyEvent(const xcb_motion_notify_event_t *event) override;
-+
-+    void handleEnterNotifyEvent(const xcb_enter_notify_event_t *event) override;
-+    void handleLeaveNotifyEvent(const xcb_leave_notify_event_t *event) override;
-+    void handleFocusInEvent(const xcb_focus_in_event_t *event) override;
-+    void handleFocusOutEvent(const xcb_focus_out_event_t *event) override;
-+    void handlePropertyNotifyEvent(const xcb_property_notify_event_t *event) override;
-+#ifdef XCB_USE_XINPUT22
-+    void handleXIMouseEvent(xcb_ge_event_t *, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized) override;
-+    void handleXIEnterLeave(xcb_ge_event_t *) override;
-+#endif
-+
-+    QXcbWindow *toWindow() override;
-+
-+    void handleMouseEvent(xcb_timestamp_t time, const QPoint &local, const QPoint &global,
-+                          Qt::KeyboardModifiers modifiers, Qt::MouseEventSource source);
-+
-+    void updateNetWmUserTime(xcb_timestamp_t timestamp);
-+
-+    static void setWmWindowTypeStatic(QWindow *window, QXcbWindowFunctions::WmWindowTypes windowTypes);
-+    static void setWmWindowRoleStatic(QWindow *window, const QByteArray &role);
-+    static uint visualIdStatic(QWindow *window);
-+
-+    QXcbWindowFunctions::WmWindowTypes wmWindowTypes() const;
-+    void setWmWindowType(QXcbWindowFunctions::WmWindowTypes types, Qt::WindowFlags flags);
-+    void setWmWindowRole(const QByteArray &role);
-+
-+    static void setWindowIconTextStatic(QWindow *window, const QString &text);
-+
-+    static void setParentRelativeBackPixmapStatic(QWindow *window);
-+    void setParentRelativeBackPixmap();
-+
-+    static bool requestSystemTrayWindowDockStatic(const QWindow *window);
-+    bool requestSystemTrayWindowDock() const;
-+
-+    static QRect systemTrayWindowGlobalGeometryStatic(const QWindow *window);
-+    QRect systemTrayWindowGlobalGeometry() const;
-+    uint visualId() const;
-+
-+    bool needsSync() const;
-+
-+    void postSyncWindowRequest();
-+    void clearSyncWindowRequest() { m_pendingSyncRequest = 0; }
-+
-+    QXcbScreen *xcbScreen() const;
-+
-+    bool doStartSystemResize(const QPoint &globalPos, Qt::Corner corner);
-+
-+    virtual void create();
-+    virtual void destroy();
-+
-+public Q_SLOTS:
-+    void updateSyncRequestCounter();
-+
-+protected:
-+    virtual void resolveFormat(const QSurfaceFormat &format) { m_format = format; }
-+    virtual const xcb_visualtype_t *createVisual();
-+
-+    QXcbScreen *parentScreen();
-+
-+    QXcbScreen *initialScreen() const;
-+    void changeNetWmState(bool set, xcb_atom_t one, xcb_atom_t two = 0);
-+    NetWmStates netWmStates();
-+    void setNetWmStates(NetWmStates);
-+
-+    void setMotifWindowFlags(Qt::WindowFlags flags);
-+    void setNetWmStateWindowFlags(Qt::WindowFlags flags);
-+
-+    void updateMotifWmHintsBeforeMap();
-+    void updateNetWmStateBeforeMap();
-+
-+    void setTransparentForMouseEvents(bool transparent);
-+    void updateDoesNotAcceptFocus(bool doesNotAcceptFocus);
-+
-+    QRect windowToWmGeometry(QRect r) const;
-+    void sendXEmbedMessage(xcb_window_t window, quint32 message,
-+                           quint32 detail = 0, quint32 data1 = 0, quint32 data2 = 0);
-+    void handleXEmbedMessage(const xcb_client_message_event_t *event);
-+
-+    void show();
-+    void hide();
-+
-+    bool relayFocusToModalWindow() const;
-+    void doFocusIn();
-+    void doFocusOut();
-+
-+    bool compressExposeEvent(QRegion &exposeRegion);
-+
-+    void handleButtonPressEvent(int event_x, int event_y, int root_x, int root_y,
-+                                int detail, Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized);
-+
-+    void handleButtonReleaseEvent(int event_x, int event_y, int root_x, int root_y,
-+                                  int detail, Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized);
-+
-+    void handleMotionNotifyEvent(int event_x, int event_y, int root_x, int root_y,
-+                                 Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized);
-+
-+    void handleEnterNotifyEvent(int event_x, int event_y, int root_x, int root_y,
-+                                quint8 mode, quint8 detail, xcb_timestamp_t timestamp);
-+
-+    void handleLeaveNotifyEvent(int root_x, int root_y,
-+                                quint8 mode, quint8 detail, xcb_timestamp_t timestamp);
-+
-+    xcb_window_t m_window = 0;
-+    xcb_colormap_t m_cmap = 0;
-+
-+    uint m_depth = 0;
-+    QImage::Format m_imageFormat = QImage::Format_ARGB32_Premultiplied;
-+    bool m_imageRgbSwap = false;
-+
-+    xcb_sync_int64_t m_syncValue;
-+    xcb_sync_counter_t m_syncCounter = 0;
-+
-+    Qt::WindowState m_windowState = Qt::WindowNoState;
-+
-+    xcb_gravity_t m_gravity = XCB_GRAVITY_STATIC;
-+
-+    bool m_mapped = false;
-+    bool m_transparent = false;
-+    bool m_usingSyncProtocol = false;
-+    bool m_deferredActivation = false;
-+    bool m_embedded = false;
-+    bool m_alertState = false;
-+    xcb_window_t m_netWmUserTimeWindow = XCB_NONE;
-+
-+    QSurfaceFormat m_format;
-+
-+    mutable bool m_dirtyFrameMargins = false;
-+    mutable QMargins m_frameMargins;
-+
-+    QRegion m_exposeRegion;
-+    QSize m_oldWindowSize;
-+
-+    xcb_visualid_t m_visualId = 0;
-+    int m_lastWindowStateEvent = -1;
-+
-+    enum SyncState {
-+        NoSyncNeeded,
-+        SyncReceived,
-+        SyncAndConfigureReceived
-+    };
-+    SyncState m_syncState = NoSyncNeeded;
-+
-+    QXcbSyncWindowRequest *m_pendingSyncRequest = nullptr;
-+    xcb_cursor_t m_currentBitmapCursor = XCB_CURSOR_NONE;
-+};
-+
-+class QXcbForeignWindow : public QXcbWindow
-+{
-+public:
-+    QXcbForeignWindow(QWindow *window, WId nativeHandle)
-+        : QXcbWindow(window) { m_window = nativeHandle; }
-+    ~QXcbForeignWindow();
-+    bool isForeignWindow() const override { return true; }
-+
-+protected:
-+    void create() override {} // No-op
-+};
-+
-+QT_END_NAMESPACE
-+
-+Q_DECLARE_METATYPE(QXcbWindow*)
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.9.4/qxcbwmsupport.h b/libqt5xcbqpa-dev/5.9.4/qxcbwmsupport.h
-new file mode 100644
-index 0000000..b5de5b7
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.4/qxcbwmsupport.h
-@@ -0,0 +1,68 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+#ifndef QXCBWMSUPPORT_H
-+#define QXCBWMSUPPORT_H
-+
-+#include "qxcbobject.h"
-+#include "qxcbconnection.h"
-+#include <qvector.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbWMSupport : public QXcbObject
-+{
-+public:
-+    QXcbWMSupport(QXcbConnection *c);
-+
-+
-+    bool isSupportedByWM(xcb_atom_t atom) const;
-+    const QVector<xcb_window_t> &virtualRoots() const { return net_virtual_roots; }
-+
-+private:
-+    friend class QXcbConnection;
-+    void updateNetWMAtoms();
-+    void updateVirtualRoots();
-+
-+    QVector<xcb_atom_t> net_wm_atoms;
-+    QVector<xcb_window_t> net_virtual_roots;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff --git a/libqt5xcbqpa-dev/5.9.4/qxcbxsettings.h b/libqt5xcbqpa-dev/5.9.4/qxcbxsettings.h
-new file mode 100644
-index 0000000..ab1f784
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.4/qxcbxsettings.h
-@@ -0,0 +1,71 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the plugins of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXCBXSETTINGS_H
-+#define QXCBXSETTINGS_H
-+
-+#include "qxcbscreen.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QXcbXSettingsPrivate;
-+
-+class QXcbXSettings : public QXcbWindowEventListener
-+{
-+    Q_DECLARE_PRIVATE(QXcbXSettings)
-+public:
-+    QXcbXSettings(QXcbVirtualDesktop *screen);
-+    ~QXcbXSettings();
-+    bool initialized() const;
-+
-+    QVariant setting(const QByteArray &property) const;
-+
-+    typedef void (*PropertyChangeFunc)(QXcbVirtualDesktop *screen, const QByteArray &name, const QVariant &property, void *handle);
-+    void registerCallbackForProperty(const QByteArray &property, PropertyChangeFunc func, void *handle);
-+    void removeCallbackForHandle(const QByteArray &property, void *handle);
-+    void removeCallbackForHandle(void *handle);
-+
-+    void handlePropertyNotifyEvent(const xcb_property_notify_event_t *event) override;
-+private:
-+    QXcbXSettingsPrivate *d_ptr;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif // QXCBXSETTINGS_H
-diff --git a/libqt5xcbqpa-dev/5.9.5 b/libqt5xcbqpa-dev/5.9.5
-new file mode 120000
-index 0000000..d2d714f
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.5
-@@ -0,0 +1 @@
-+5.9.4
-\ No newline at end of file
-diff --git a/libqt5xcbqpa-dev/5.9.6 b/libqt5xcbqpa-dev/5.9.6
-new file mode 120000
-index 0000000..8487525
---- /dev/null
-+++ b/libqt5xcbqpa-dev/5.9.6
-@@ -0,0 +1 @@
-+5.9.5
-\ No newline at end of file
diff --git a/debian/patches/series b/debian/patches/series
deleted file mode 100644 (file)
index 0ea5738..0000000
+++ /dev/null
@@ -1 +0,0 @@
-0003-Workaround-qt-private-header-problem.patch
index 7f70ead5773b745659bea952a772a1a36627bd1e..06264e966b22a735b4d3bb02ae193ff6443cc462 100755 (executable)
@@ -1,29 +1,16 @@
 #!/usr/bin/make -f
-# -*- makefile -*-
-# Uncomment this to turn on verbose mode.
-# export DH_VERBOSE=1
-
-# see FEATURE AREAS in dpkg-buildflags(1)
-export DEB_BUILD_MAINT_OPTIONS = hardening=+all
-export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
-export QT_SELECT := 5
-
-# Retrieve version info
-include /usr/share/dpkg/pkg-info.mk
+DPKG_EXPORT_BUILDFLAGS = 1
+include /usr/share/dpkg/default.mk
+export QT_SELECT = qt5
 
 DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
 
-_QT_COMPAT_VERSION_LIST := 5.9.2 5.9.3 5.9.4 5.9.5 5.9.6 5.10.1
-_TMPDIR := debian/tmp
-
-#
-# DTK: Automatic version parsing
-#
 ifneq (,$(wildcard .git/config))
        CONFIG_VERSION=
 else
-_PACK_VER = $(shell echo $(DEB_VERSION) | awk -F'[+_~-]' '{print $$1}')
-_BUILD_VER = $(shell echo $(DEB_VERSION) | awk -F'[+_~-]' '{print $$2}' | sed 's/[^0-9]//g')
+VERSION = $(shell dpkg-parsechangelog -ldebian/changelog -SVersion)
+_PACK_VER = $(shell echo $(VERSION) | awk -F'[+_~-]' '{print $$1}')
+_BUILD_VER = $(shell echo $(VERSION) | awk -F'[+_~-]' '{print $$2}' | sed 's/[^0-9]//g')
 ifeq ($(_BUILD_VER),)
        CONFIG_VERSION = $(_PACK_VER)
 else
@@ -32,27 +19,13 @@ endif
 endif
 
 %:
-       dh $@ --with pkgkde_symbolshelper
+       dh $@ --parallel
 
 override_dh_auto_configure:
-       @echo "I: Current dtkcore VERSION is $(CONFIG_VERSION)"
        dh_auto_configure -- LIB_INSTALL_DIR=/usr/lib/$(DEB_HOST_MULTIARCH) VERSION=$(CONFIG_VERSION)
 
+override_dh_auto_test:
+       echo "skip auto test"
+
 override_dh_makeshlibs:
        dh_makeshlibs -V
-
-override_dh_missing:
-       # remove known useless test file
-       rm -f debian/tmp/usr/tests/tests/tests
-       dh_missing --fail-missing
-
-override_dh_installchangelogs:
-       dh_installchangelogs -k CHANGELOG.md
-
-override_dh_install:
-       for i in $(_QT_COMPAT_VERSION_LIST); do \
-               _QTXCBDIR=$(_TMPDIR)/usr/include/$(DEB_HOST_MULTIARCH)/qt5/QtXcb/$${i}/QtXcb/private ; \
-               mkdir -p $${_QTXCBDIR} ; \
-               cp -t $${_QTXCBDIR}/ libqt5xcbqpa-dev/$${i}/*.h ; \
-       done
-       dh_install
diff --git a/debian/watch b/debian/watch
deleted file mode 100644 (file)
index 05f23c6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-version=4
-opts="filenamemangle=s%(?:.*?)?v?(\d[\d.]*)\.tar\.gz%dtkcore-$1.tar.gz%" \
- https://github.com/linuxdeepin/dtkcore/tags \
- (?:.*?/)?(\d[\d.]*)\.tar\.gz debian uupdate
index f807fd19176b00ba456b7fd12c836fcdc3a4bedc..fb2644ca12fa52b9c1c8e6f6f6164bab58dc4ded 100644 (file)
@@ -195,7 +195,7 @@ void DSettingsOptionPrivate::parseJson(const QString &prefixKey, const QJsonObje
             }
             datas.insert(key, stringlist);
         } else {
-            datas.insert(key, value);
+            datas.insert(key, value.toVariant());
         }
     }
 }
index c976b8532558a1f37eaac71d41fbe81f6ea6d09a..afe939e01f3727fb06602cdc03aaab2fff6390d5 100644 (file)
@@ -150,7 +150,7 @@ static bool writeGSettingXML(Dtk::Core::DSettings *settings,
         auto value = settings->option(key)->value();
         auto gtype = gsettings_type_from_QVarint(value.type());
         if (gtype.isEmpty()) {
-            qDebug() << "skip unsupport type:" << value.type() << key;
+            qDebug() << "skip unsupported type:" << value.type() << key;
             continue;
         }