aboutsummaryrefslogtreecommitdiff
path: root/xpdf-qt
diff options
context:
space:
mode:
authorCalvin Morrison <calvin@pobox.com>2023-04-05 14:13:39 -0400
committerCalvin Morrison <calvin@pobox.com>2023-04-05 14:13:39 -0400
commit835e373b3eeaabcd0621ed6798ab500f37982fae (patch)
treedfa16b0e2e1b4956b38f693220eac4e607802133 /xpdf-qt
xpdf-no-select-disableHEADmaster
Diffstat (limited to 'xpdf-qt')
-rw-r--r--xpdf-qt/CMakeCache.txt376
-rw-r--r--xpdf-qt/CMakeFiles/3.18.4/CMakeCCompiler.cmake77
-rw-r--r--xpdf-qt/CMakeFiles/3.18.4/CMakeCXXCompiler.cmake89
-rwxr-xr-xxpdf-qt/CMakeFiles/3.18.4/CMakeDetermineCompilerABI_C.binbin0 -> 16544 bytes
-rwxr-xr-xxpdf-qt/CMakeFiles/3.18.4/CMakeDetermineCompilerABI_CXX.binbin0 -> 16560 bytes
-rw-r--r--xpdf-qt/CMakeFiles/3.18.4/CMakeSystem.cmake15
-rw-r--r--xpdf-qt/CMakeFiles/3.18.4/CompilerIdC/CMakeCCompilerId.c674
-rwxr-xr-xxpdf-qt/CMakeFiles/3.18.4/CompilerIdC/a.outbin0 -> 16704 bytes
-rw-r--r--xpdf-qt/CMakeFiles/3.18.4/CompilerIdCXX/CMakeCXXCompilerId.cpp663
-rwxr-xr-xxpdf-qt/CMakeFiles/3.18.4/CompilerIdCXX/a.outbin0 -> 16712 bytes
-rw-r--r--xpdf-qt/CMakeFiles/CMakeDirectoryInformation.cmake16
-rw-r--r--xpdf-qt/CMakeFiles/CMakeOutput.log439
-rw-r--r--xpdf-qt/CMakeFiles/Makefile.cmake119
-rw-r--r--xpdf-qt/CMakeFiles/Makefile298
-rw-r--r--xpdf-qt/CMakeFiles/TargetDirectories.txt2
-rw-r--r--xpdf-qt/CMakeFiles/cmake.check_cache1
-rw-r--r--xpdf-qt/CMakeFiles/progress.marks1
-rw-r--r--xpdf-qt/CMakeFiles/xpdf.dir/CXX.includecache1784
-rw-r--r--xpdf-qt/CMakeFiles/xpdf.dir/DependInfo.cmake53
-rw-r--r--xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.obin0 -> 127792 bytes
-rw-r--r--xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.obin0 -> 73152 bytes
-rw-r--r--xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.obin0 -> 500840 bytes
-rw-r--r--xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.obin0 -> 179736 bytes
-rw-r--r--xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.obin0 -> 35608 bytes
-rw-r--r--xpdf-qt/CMakeFiles/xpdf.dir/build.make479
-rw-r--r--xpdf-qt/CMakeFiles/xpdf.dir/cmake_clean.cmake23
-rw-r--r--xpdf-qt/CMakeFiles/xpdf.dir/depend.internal1412
-rw-r--r--xpdf-qt/CMakeFiles/xpdf.dir/depend.make1412
-rw-r--r--xpdf-qt/CMakeFiles/xpdf.dir/flags.make17
-rw-r--r--xpdf-qt/CMakeFiles/xpdf.dir/link.txt1
-rw-r--r--xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.obin0 -> 19352 bytes
-rw-r--r--xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.obin0 -> 54032 bytes
-rw-r--r--xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.obin0 -> 33280 bytes
-rw-r--r--xpdf-qt/CMakeFiles/xpdf.dir/progress.make16
-rw-r--r--xpdf-qt/CMakeFiles/xpdf.dir/qrc_icons.cpp.obin0 -> 20136 bytes
-rw-r--r--xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.obin0 -> 16152 bytes
-rw-r--r--xpdf-qt/CMakeLists.txt115
-rw-r--r--xpdf-qt/Makefile519
-rw-r--r--xpdf-qt/QtPDFCore.cc1176
-rw-r--r--xpdf-qt/QtPDFCore.h227
-rw-r--r--xpdf-qt/XpdfApp.cc499
-rw-r--r--xpdf-qt/XpdfApp.h99
-rw-r--r--xpdf-qt/XpdfViewer.cc4940
-rw-r--r--xpdf-qt/XpdfViewer.h508
-rw-r--r--xpdf-qt/XpdfWidget.cc2256
-rw-r--r--xpdf-qt/XpdfWidget.h1029
-rw-r--r--xpdf-qt/XpdfWidgetPrint.cc500
-rw-r--r--xpdf-qt/XpdfWidgetPrint.h24
-rw-r--r--xpdf-qt/back.svg10
-rw-r--r--xpdf-qt/cmake_install.cmake64
-rw-r--r--xpdf-qt/findNext.svg8
-rw-r--r--xpdf-qt/findPrevious.svg8
-rw-r--r--xpdf-qt/findSettings.svg9
-rw-r--r--xpdf-qt/fitPage.svg20
-rw-r--r--xpdf-qt/fitPageOn.svg20
-rw-r--r--xpdf-qt/fitWidth.svg14
-rw-r--r--xpdf-qt/fitWidthOn.svg14
-rw-r--r--xpdf-qt/forward.svg10
-rw-r--r--xpdf-qt/icons.qrc35
-rw-r--r--xpdf-qt/icons.qrc.depends35
-rw-r--r--xpdf-qt/indicator-icon-err0.svg12
-rw-r--r--xpdf-qt/indicator-icon-err1.svg12
-rw-r--r--xpdf-qt/indicator-icon-err2.svg12
-rw-r--r--xpdf-qt/indicator-icon-err3.svg12
-rw-r--r--xpdf-qt/indicator-icon-err4.svg12
-rw-r--r--xpdf-qt/indicator-icon-err5.svg12
-rw-r--r--xpdf-qt/indicator-icon-err6.svg12
-rw-r--r--xpdf-qt/indicator-icon-err7.svg12
-rw-r--r--xpdf-qt/indicator-icon0.svg10
-rw-r--r--xpdf-qt/indicator-icon1.svg10
-rw-r--r--xpdf-qt/indicator-icon2.svg10
-rw-r--r--xpdf-qt/indicator-icon3.svg10
-rw-r--r--xpdf-qt/indicator-icon4.svg10
-rw-r--r--xpdf-qt/indicator-icon5.svg10
-rw-r--r--xpdf-qt/indicator-icon6.svg10
-rw-r--r--xpdf-qt/indicator-icon7.svg10
-rw-r--r--xpdf-qt/moc_XpdfApp.cpp95
-rw-r--r--xpdf-qt/moc_XpdfApp.cpp_parameters28
-rw-r--r--xpdf-qt/moc_XpdfViewer.cpp654
-rw-r--r--xpdf-qt/moc_XpdfViewer.cpp_parameters28
-rw-r--r--xpdf-qt/moc_XpdfWidget.cpp463
-rw-r--r--xpdf-qt/moc_XpdfWidget.cpp_parameters28
-rw-r--r--xpdf-qt/qrc_icons.cpp1325
-rw-r--r--xpdf-qt/selectModeBlock.svg8
-rw-r--r--xpdf-qt/selectModeLinear.svg25
-rw-r--r--xpdf-qt/toggleSidebar.svg17
-rwxr-xr-xxpdf-qt/xpdfbin0 -> 3836272 bytes
-rw-r--r--xpdf-qt/xpdf-icon.icobin0 -> 8936 bytes
-rw-r--r--xpdf-qt/xpdf-icon.svg20
-rw-r--r--xpdf-qt/xpdf.cc59
-rw-r--r--xpdf-qt/xpdf.rc1
-rw-r--r--xpdf-qt/zoomIn.svg10
-rw-r--r--xpdf-qt/zoomOut.svg8
93 files changed, 22851 insertions, 0 deletions
diff --git a/xpdf-qt/CMakeCache.txt b/xpdf-qt/CMakeCache.txt
new file mode 100644
index 0000000..47f1b82
--- /dev/null
+++ b/xpdf-qt/CMakeCache.txt
@@ -0,0 +1,376 @@
+# This is the CMakeCache file.
+# For build in directory: /home/calvin/src/xpdf-4.04/xpdf-qt
+# It was generated by CMake: /usr/bin/cmake
+# You can edit this file to change values found and used by cmake.
+# If you do not want to change any of the values, simply exit the editor.
+# If you do want to change a value, simply edit, save, and exit the editor.
+# The syntax for the file is as follows:
+# KEY:TYPE=VALUE
+# KEY is the name of a variable in the cache.
+# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
+# VALUE is the current value for the KEY.
+
+########################
+# EXTERNAL cache entries
+########################
+
+//Path to a program.
+CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
+
+//Path to a program.
+CMAKE_AR:FILEPATH=/usr/bin/ar
+
+//For backwards compatibility, what version of CMake commands and
+// syntax should this version of CMake try to support.
+CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4
+
+//Choose the type of build, options are: None Debug Release RelWithDebInfo
+// MinSizeRel ...
+CMAKE_BUILD_TYPE:STRING=
+
+//Enable/Disable color output during build.
+CMAKE_COLOR_MAKEFILE:BOOL=ON
+
+//CXX compiler
+CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
+
+//A wrapper around 'ar' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-10
+
+//A wrapper around 'ranlib' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-10
+
+//Flags used by the CXX compiler during all build types.
+CMAKE_CXX_FLAGS:STRING=
+
+//Flags used by the CXX compiler during DEBUG builds.
+CMAKE_CXX_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the CXX compiler during MINSIZEREL builds.
+CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the CXX compiler during RELEASE builds.
+CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the CXX compiler during RELWITHDEBINFO builds.
+CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//C compiler
+CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
+
+//A wrapper around 'ar' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-10
+
+//A wrapper around 'ranlib' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-10
+
+//Flags used by the C compiler during all build types.
+CMAKE_C_FLAGS:STRING=
+
+//Flags used by the C compiler during DEBUG builds.
+CMAKE_C_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the C compiler during MINSIZEREL builds.
+CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the C compiler during RELEASE builds.
+CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the C compiler during RELWITHDEBINFO builds.
+CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//Path to a program.
+CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
+
+//Flags used by the linker during all build types.
+CMAKE_EXE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during DEBUG builds.
+CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during MINSIZEREL builds.
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during RELEASE builds.
+CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during RELWITHDEBINFO builds.
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Enable/Disable output of compile commands during generation.
+CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
+
+//Install path prefix, prepended onto install directories.
+CMAKE_INSTALL_PREFIX:PATH=/usr/local
+
+//Path to a program.
+CMAKE_LINKER:FILEPATH=/usr/bin/ld
+
+//Path to a program.
+CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake
+
+//Flags used by the linker during the creation of modules during
+// all build types.
+CMAKE_MODULE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of modules during
+// DEBUG builds.
+CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of modules during
+// MINSIZEREL builds.
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELEASE builds.
+CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELWITHDEBINFO builds.
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_NM:FILEPATH=/usr/bin/nm
+
+//Path to a program.
+CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
+
+//Path to a program.
+CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
+
+//Value Computed by CMake
+CMAKE_PROJECT_DESCRIPTION:STATIC=
+
+//Value Computed by CMake
+CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
+
+//Value Computed by CMake
+CMAKE_PROJECT_NAME:STATIC=Project
+
+//Path to a program.
+CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
+
+//Path to a program.
+CMAKE_READELF:FILEPATH=/usr/bin/readelf
+
+//Flags used by the linker during the creation of shared libraries
+// during all build types.
+CMAKE_SHARED_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during DEBUG builds.
+CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during MINSIZEREL builds.
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELEASE builds.
+CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELWITHDEBINFO builds.
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//If set, runtime paths are not added when installing shared libraries,
+// but are added when building.
+CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
+
+//If set, runtime paths are not added when using shared libraries.
+CMAKE_SKIP_RPATH:BOOL=NO
+
+//Flags used by the linker during the creation of static libraries
+// during all build types.
+CMAKE_STATIC_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during DEBUG builds.
+CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during MINSIZEREL builds.
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELEASE builds.
+CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELWITHDEBINFO builds.
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_STRIP:FILEPATH=/usr/bin/strip
+
+//If this value is on, makefiles will be generated without the
+// .SILENT directive, and all commands will be echoed to the console
+// during the make. This is useful for debugging only. With Visual
+// Studio IDE projects all commands are done without /nologo.
+CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
+
+//Single output directory for building all executables.
+EXECUTABLE_OUTPUT_PATH:PATH=
+
+//Single output directory for building all libraries.
+LIBRARY_OUTPUT_PATH:PATH=
+
+//Value Computed by CMake
+Project_BINARY_DIR:STATIC=/home/calvin/src/xpdf-4.04/xpdf-qt
+
+//Value Computed by CMake
+Project_SOURCE_DIR:STATIC=/home/calvin/src/xpdf-4.04/xpdf-qt
+
+
+########################
+# INTERNAL cache entries
+########################
+
+//ADVANCED property for variable: CMAKE_ADDR2LINE
+CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_AR
+CMAKE_AR-ADVANCED:INTERNAL=1
+//This is the directory where this CMakeCache.txt was created
+CMAKE_CACHEFILE_DIR:INTERNAL=/home/calvin/src/xpdf-4.04/xpdf-qt
+//Major version of cmake used to create the current loaded cache
+CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
+//Minor version of cmake used to create the current loaded cache
+CMAKE_CACHE_MINOR_VERSION:INTERNAL=18
+//Patch version of cmake used to create the current loaded cache
+CMAKE_CACHE_PATCH_VERSION:INTERNAL=4
+//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
+CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
+//Path to CMake executable.
+CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
+//Path to cpack program executable.
+CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
+//Path to ctest program executable.
+CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
+//ADVANCED property for variable: CMAKE_CXX_COMPILER
+CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
+CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
+CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS
+CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
+CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
+CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
+CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
+CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER
+CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER_AR
+CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
+CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS
+CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
+CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
+CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
+CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
+CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_DLLTOOL
+CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
+//Executable file format
+CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
+CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
+CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
+CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
+CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
+//Name of external makefile project generator.
+CMAKE_EXTRA_GENERATOR:INTERNAL=
+//Name of generator.
+CMAKE_GENERATOR:INTERNAL=Unix Makefiles
+//Generator instance identifier.
+CMAKE_GENERATOR_INSTANCE:INTERNAL=
+//Name of generator platform.
+CMAKE_GENERATOR_PLATFORM:INTERNAL=
+//Name of generator toolset.
+CMAKE_GENERATOR_TOOLSET:INTERNAL=
+//Source directory with the top level CMakeLists.txt file for this
+// project
+CMAKE_HOME_DIRECTORY:INTERNAL=/home/calvin/src/xpdf-4.04/xpdf-qt
+//Install .so files without execute permission.
+CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1
+//ADVANCED property for variable: CMAKE_LINKER
+CMAKE_LINKER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
+CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
+CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
+CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
+CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_NM
+CMAKE_NM-ADVANCED:INTERNAL=1
+//number of local generators
+CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJCOPY
+CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJDUMP
+CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
+//Platform information initialized
+CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_RANLIB
+CMAKE_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_READELF
+CMAKE_READELF-ADVANCED:INTERNAL=1
+//Path to CMake installation.
+CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.18
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
+CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
+CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
+CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
+CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_RPATH
+CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
+CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
+CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
+CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STRIP
+CMAKE_STRIP-ADVANCED:INTERNAL=1
+//uname command
+CMAKE_UNAME:INTERNAL=/usr/bin/uname
+//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
+CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
+
diff --git a/xpdf-qt/CMakeFiles/3.18.4/CMakeCCompiler.cmake b/xpdf-qt/CMakeFiles/3.18.4/CMakeCCompiler.cmake
new file mode 100644
index 0000000..e033eb1
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/3.18.4/CMakeCCompiler.cmake
@@ -0,0 +1,77 @@
+set(CMAKE_C_COMPILER "/usr/bin/cc")
+set(CMAKE_C_COMPILER_ARG1 "")
+set(CMAKE_C_COMPILER_ID "GNU")
+set(CMAKE_C_COMPILER_VERSION "10.2.1")
+set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
+set(CMAKE_C_COMPILER_WRAPPER "")
+set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11")
+set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert")
+set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
+set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
+set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
+
+set(CMAKE_C_PLATFORM_ID "Linux")
+set(CMAKE_C_SIMULATE_ID "")
+set(CMAKE_C_COMPILER_FRONTEND_VARIANT "")
+set(CMAKE_C_SIMULATE_VERSION "")
+
+
+
+
+set(CMAKE_AR "/usr/bin/ar")
+set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-10")
+set(CMAKE_RANLIB "/usr/bin/ranlib")
+set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-10")
+set(CMAKE_LINKER "/usr/bin/ld")
+set(CMAKE_MT "")
+set(CMAKE_COMPILER_IS_GNUCC 1)
+set(CMAKE_C_COMPILER_LOADED 1)
+set(CMAKE_C_COMPILER_WORKS TRUE)
+set(CMAKE_C_ABI_COMPILED TRUE)
+set(CMAKE_COMPILER_IS_MINGW )
+set(CMAKE_COMPILER_IS_CYGWIN )
+if(CMAKE_COMPILER_IS_CYGWIN)
+ set(CYGWIN 1)
+ set(UNIX 1)
+endif()
+
+set(CMAKE_C_COMPILER_ENV_VAR "CC")
+
+if(CMAKE_COMPILER_IS_MINGW)
+ set(MINGW 1)
+endif()
+set(CMAKE_C_COMPILER_ID_RUN 1)
+set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
+set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
+set(CMAKE_C_LINKER_PREFERENCE 10)
+
+# Save compiler ABI information.
+set(CMAKE_C_SIZEOF_DATA_PTR "8")
+set(CMAKE_C_COMPILER_ABI "ELF")
+set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+
+if(CMAKE_C_SIZEOF_DATA_PTR)
+ set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_C_COMPILER_ABI)
+ set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
+endif()
+
+if(CMAKE_C_LIBRARY_ARCHITECTURE)
+ set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+endif()
+
+set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
+if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
+ set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
+endif()
+
+
+
+
+
+set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/10/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
+set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s")
+set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/10;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
+set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
diff --git a/xpdf-qt/CMakeFiles/3.18.4/CMakeCXXCompiler.cmake b/xpdf-qt/CMakeFiles/3.18.4/CMakeCXXCompiler.cmake
new file mode 100644
index 0000000..7d1c1cf
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/3.18.4/CMakeCXXCompiler.cmake
@@ -0,0 +1,89 @@
+set(CMAKE_CXX_COMPILER "/usr/bin/c++")
+set(CMAKE_CXX_COMPILER_ARG1 "")
+set(CMAKE_CXX_COMPILER_ID "GNU")
+set(CMAKE_CXX_COMPILER_VERSION "10.2.1")
+set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
+set(CMAKE_CXX_COMPILER_WRAPPER "")
+set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
+set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20")
+set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
+set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
+set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
+set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
+set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
+
+set(CMAKE_CXX_PLATFORM_ID "Linux")
+set(CMAKE_CXX_SIMULATE_ID "")
+set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "")
+set(CMAKE_CXX_SIMULATE_VERSION "")
+
+
+
+
+set(CMAKE_AR "/usr/bin/ar")
+set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-10")
+set(CMAKE_RANLIB "/usr/bin/ranlib")
+set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-10")
+set(CMAKE_LINKER "/usr/bin/ld")
+set(CMAKE_MT "")
+set(CMAKE_COMPILER_IS_GNUCXX 1)
+set(CMAKE_CXX_COMPILER_LOADED 1)
+set(CMAKE_CXX_COMPILER_WORKS TRUE)
+set(CMAKE_CXX_ABI_COMPILED TRUE)
+set(CMAKE_COMPILER_IS_MINGW )
+set(CMAKE_COMPILER_IS_CYGWIN )
+if(CMAKE_COMPILER_IS_CYGWIN)
+ set(CYGWIN 1)
+ set(UNIX 1)
+endif()
+
+set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
+
+if(CMAKE_COMPILER_IS_MINGW)
+ set(MINGW 1)
+endif()
+set(CMAKE_CXX_COMPILER_ID_RUN 1)
+set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP)
+set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
+
+foreach (lang C OBJC OBJCXX)
+ if (CMAKE_${lang}_COMPILER_ID_RUN)
+ foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
+ list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
+ endforeach()
+ endif()
+endforeach()
+
+set(CMAKE_CXX_LINKER_PREFERENCE 30)
+set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
+
+# Save compiler ABI information.
+set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
+set(CMAKE_CXX_COMPILER_ABI "ELF")
+set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+
+if(CMAKE_CXX_SIZEOF_DATA_PTR)
+ set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_CXX_COMPILER_ABI)
+ set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
+endif()
+
+if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
+ set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+endif()
+
+set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
+if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
+ set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
+endif()
+
+
+
+
+
+set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/10;/usr/include/x86_64-linux-gnu/c++/10;/usr/include/c++/10/backward;/usr/lib/gcc/x86_64-linux-gnu/10/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
+set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
+set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/10;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
+set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
diff --git a/xpdf-qt/CMakeFiles/3.18.4/CMakeDetermineCompilerABI_C.bin b/xpdf-qt/CMakeFiles/3.18.4/CMakeDetermineCompilerABI_C.bin
new file mode 100755
index 0000000..9386501
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/3.18.4/CMakeDetermineCompilerABI_C.bin
Binary files differ
diff --git a/xpdf-qt/CMakeFiles/3.18.4/CMakeDetermineCompilerABI_CXX.bin b/xpdf-qt/CMakeFiles/3.18.4/CMakeDetermineCompilerABI_CXX.bin
new file mode 100755
index 0000000..1160b1d
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/3.18.4/CMakeDetermineCompilerABI_CXX.bin
Binary files differ
diff --git a/xpdf-qt/CMakeFiles/3.18.4/CMakeSystem.cmake b/xpdf-qt/CMakeFiles/3.18.4/CMakeSystem.cmake
new file mode 100644
index 0000000..319373a
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/3.18.4/CMakeSystem.cmake
@@ -0,0 +1,15 @@
+set(CMAKE_HOST_SYSTEM "Linux-5.10.0-12-amd64")
+set(CMAKE_HOST_SYSTEM_NAME "Linux")
+set(CMAKE_HOST_SYSTEM_VERSION "5.10.0-12-amd64")
+set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
+
+
+
+set(CMAKE_SYSTEM "Linux-5.10.0-12-amd64")
+set(CMAKE_SYSTEM_NAME "Linux")
+set(CMAKE_SYSTEM_VERSION "5.10.0-12-amd64")
+set(CMAKE_SYSTEM_PROCESSOR "x86_64")
+
+set(CMAKE_CROSSCOMPILING "FALSE")
+
+set(CMAKE_SYSTEM_LOADED 1)
diff --git a/xpdf-qt/CMakeFiles/3.18.4/CompilerIdC/CMakeCCompilerId.c b/xpdf-qt/CMakeFiles/3.18.4/CompilerIdC/CMakeCCompilerId.c
new file mode 100644
index 0000000..6c0aa93
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/3.18.4/CompilerIdC/CMakeCCompilerId.c
@@ -0,0 +1,674 @@
+#ifdef __cplusplus
+# error "A C++ compiler has been selected for C."
+#endif
+
+#if defined(__18CXX)
+# define ID_VOID_MAIN
+#endif
+#if defined(__CLASSIC_C__)
+/* cv-qualifiers did not exist in K&R C */
+# define const
+# define volatile
+#endif
+
+
+/* Version number components: V=Version, R=Revision, P=Patch
+ Version date components: YYYY=Year, MM=Month, DD=Day */
+
+#if defined(__INTEL_COMPILER) || defined(__ICC)
+# define COMPILER_ID "Intel"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_ID "GNU"
+# endif
+ /* __INTEL_COMPILER = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
+# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
+# if defined(__INTEL_COMPILER_UPDATE)
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
+# else
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
+# endif
+# if defined(__INTEL_COMPILER_BUILD_DATE)
+ /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
+# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
+# endif
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
+# elif defined(__GNUG__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(__PATHCC__)
+# define COMPILER_ID "PathScale"
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+
+#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
+# define COMPILER_ID "Embarcadero"
+# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
+# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
+# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
+
+#elif defined(__BORLANDC__)
+# define COMPILER_ID "Borland"
+ /* __BORLANDC__ = 0xVRR */
+# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
+# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
+
+#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
+# define COMPILER_ID "Watcom"
+ /* __WATCOMC__ = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__WATCOMC__)
+# define COMPILER_ID "OpenWatcom"
+ /* __WATCOMC__ = VVRP + 1100 */
+# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__SUNPRO_C)
+# define COMPILER_ID "SunPro"
+# if __SUNPRO_C >= 0x5100
+ /* __SUNPRO_C = 0xVRRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
+# else
+ /* __SUNPRO_CC = 0xVRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
+# endif
+
+#elif defined(__HP_cc)
+# define COMPILER_ID "HP"
+ /* __HP_cc = VVRRPP */
+# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
+# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
+# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
+
+#elif defined(__DECC)
+# define COMPILER_ID "Compaq"
+ /* __DECC_VER = VVRRTPPPP */
+# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
+# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
+# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
+
+#elif defined(__IBMC__) && defined(__COMPILER_VER__)
+# define COMPILER_ID "zOS"
+ /* __IBMC__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
+
+#elif defined(__ibmxl__) && defined(__clang__)
+# define COMPILER_ID "XLClang"
+# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
+# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
+# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
+# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
+
+
+#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
+# define COMPILER_ID "XL"
+ /* __IBMC__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
+
+#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
+# define COMPILER_ID "VisualAge"
+ /* __IBMC__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
+
+#elif defined(__PGI)
+# define COMPILER_ID "PGI"
+# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
+# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
+# if defined(__PGIC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
+# endif
+
+#elif defined(_CRAYC)
+# define COMPILER_ID "Cray"
+# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
+# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
+
+#elif defined(__TI_COMPILER_VERSION__)
+# define COMPILER_ID "TI"
+ /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
+# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
+# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
+# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
+
+#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
+# define COMPILER_ID "Fujitsu"
+
+#elif defined(__ghs__)
+# define COMPILER_ID "GHS"
+/* __GHS_VERSION_NUMBER = VVVVRP */
+# ifdef __GHS_VERSION_NUMBER
+# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
+# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
+# endif
+
+#elif defined(__TINYC__)
+# define COMPILER_ID "TinyCC"
+
+#elif defined(__BCC__)
+# define COMPILER_ID "Bruce"
+
+#elif defined(__SCO_VERSION__)
+# define COMPILER_ID "SCO"
+
+#elif defined(__ARMCC_VERSION) && !defined(__clang__)
+# define COMPILER_ID "ARMCC"
+#if __ARMCC_VERSION >= 1000000
+ /* __ARMCC_VERSION = VRRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#else
+ /* __ARMCC_VERSION = VRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#endif
+
+
+#elif defined(__clang__) && defined(__apple_build_version__)
+# define COMPILER_ID "AppleClang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
+
+#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
+# define COMPILER_ID "ARMClang"
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
+# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
+
+#elif defined(__clang__)
+# define COMPILER_ID "Clang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+
+#elif defined(__GNUC__)
+# define COMPILER_ID "GNU"
+# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
+# if defined(__GNUC_MINOR__)
+# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(_MSC_VER)
+# define COMPILER_ID "MSVC"
+ /* _MSC_VER = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
+# if defined(_MSC_FULL_VER)
+# if _MSC_VER >= 1400
+ /* _MSC_FULL_VER = VVRRPPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
+# else
+ /* _MSC_FULL_VER = VVRRPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
+# endif
+# endif
+# if defined(_MSC_BUILD)
+# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
+# endif
+
+#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
+# define COMPILER_ID "ADSP"
+#if defined(__VISUALDSPVERSION__)
+ /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
+# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
+# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
+#endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# define COMPILER_ID "IAR"
+# if defined(__VER__) && defined(__ICCARM__)
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
+# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
+# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__))
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
+# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
+# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# endif
+
+#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
+# define COMPILER_ID "SDCC"
+# if defined(__SDCC_VERSION_MAJOR)
+# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
+# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
+# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
+# else
+ /* SDCC = VRP */
+# define COMPILER_VERSION_MAJOR DEC(SDCC/100)
+# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(SDCC % 10)
+# endif
+
+
+/* These compilers are either not known or too old to define an
+ identification macro. Try to identify the platform and guess that
+ it is the native compiler. */
+#elif defined(__hpux) || defined(__hpua)
+# define COMPILER_ID "HP"
+
+#else /* unknown compiler */
+# define COMPILER_ID ""
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
+#ifdef SIMULATE_ID
+char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
+#endif
+
+#ifdef __QNXNTO__
+char const* qnxnto = "INFO" ":" "qnxnto[]";
+#endif
+
+#if defined(__CRAYXE) || defined(__CRAYXC)
+char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
+#endif
+
+#define STRINGIFY_HELPER(X) #X
+#define STRINGIFY(X) STRINGIFY_HELPER(X)
+
+/* Identify known platforms by name. */
+#if defined(__linux) || defined(__linux__) || defined(linux)
+# define PLATFORM_ID "Linux"
+
+#elif defined(__CYGWIN__)
+# define PLATFORM_ID "Cygwin"
+
+#elif defined(__MINGW32__)
+# define PLATFORM_ID "MinGW"
+
+#elif defined(__APPLE__)
+# define PLATFORM_ID "Darwin"
+
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+# define PLATFORM_ID "Windows"
+
+#elif defined(__FreeBSD__) || defined(__FreeBSD)
+# define PLATFORM_ID "FreeBSD"
+
+#elif defined(__NetBSD__) || defined(__NetBSD)
+# define PLATFORM_ID "NetBSD"
+
+#elif defined(__OpenBSD__) || defined(__OPENBSD)
+# define PLATFORM_ID "OpenBSD"
+
+#elif defined(__sun) || defined(sun)
+# define PLATFORM_ID "SunOS"
+
+#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
+# define PLATFORM_ID "AIX"
+
+#elif defined(__hpux) || defined(__hpux__)
+# define PLATFORM_ID "HP-UX"
+
+#elif defined(__HAIKU__)
+# define PLATFORM_ID "Haiku"
+
+#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
+# define PLATFORM_ID "BeOS"
+
+#elif defined(__QNX__) || defined(__QNXNTO__)
+# define PLATFORM_ID "QNX"
+
+#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
+# define PLATFORM_ID "Tru64"
+
+#elif defined(__riscos) || defined(__riscos__)
+# define PLATFORM_ID "RISCos"
+
+#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
+# define PLATFORM_ID "SINIX"
+
+#elif defined(__UNIX_SV__)
+# define PLATFORM_ID "UNIX_SV"
+
+#elif defined(__bsdos__)
+# define PLATFORM_ID "BSDOS"
+
+#elif defined(_MPRAS) || defined(MPRAS)
+# define PLATFORM_ID "MP-RAS"
+
+#elif defined(__osf) || defined(__osf__)
+# define PLATFORM_ID "OSF1"
+
+#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
+# define PLATFORM_ID "SCO_SV"
+
+#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
+# define PLATFORM_ID "ULTRIX"
+
+#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
+# define PLATFORM_ID "Xenix"
+
+#elif defined(__WATCOMC__)
+# if defined(__LINUX__)
+# define PLATFORM_ID "Linux"
+
+# elif defined(__DOS__)
+# define PLATFORM_ID "DOS"
+
+# elif defined(__OS2__)
+# define PLATFORM_ID "OS2"
+
+# elif defined(__WINDOWS__)
+# define PLATFORM_ID "Windows3x"
+
+# elif defined(__VXWORKS__)
+# define PLATFORM_ID "VxWorks"
+
+# else /* unknown platform */
+# define PLATFORM_ID
+# endif
+
+#elif defined(__INTEGRITY)
+# if defined(INT_178B)
+# define PLATFORM_ID "Integrity178"
+
+# else /* regular Integrity */
+# define PLATFORM_ID "Integrity"
+# endif
+
+#else /* unknown platform */
+# define PLATFORM_ID
+
+#endif
+
+/* For windows compilers MSVC and Intel we can determine
+ the architecture of the compiler being used. This is because
+ the compilers do not have flags that can change the architecture,
+ but rather depend on which compiler is being used
+*/
+#if defined(_WIN32) && defined(_MSC_VER)
+# if defined(_M_IA64)
+# define ARCHITECTURE_ID "IA64"
+
+# elif defined(_M_X64) || defined(_M_AMD64)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# elif defined(_M_ARM64)
+# define ARCHITECTURE_ID "ARM64"
+
+# elif defined(_M_ARM)
+# if _M_ARM == 4
+# define ARCHITECTURE_ID "ARMV4I"
+# elif _M_ARM == 5
+# define ARCHITECTURE_ID "ARMV5I"
+# else
+# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
+# endif
+
+# elif defined(_M_MIPS)
+# define ARCHITECTURE_ID "MIPS"
+
+# elif defined(_M_SH)
+# define ARCHITECTURE_ID "SHx"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__WATCOMC__)
+# if defined(_M_I86)
+# define ARCHITECTURE_ID "I86"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# if defined(__ICCARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__ICCRX__)
+# define ARCHITECTURE_ID "RX"
+
+# elif defined(__ICCRH850__)
+# define ARCHITECTURE_ID "RH850"
+
+# elif defined(__ICCRL78__)
+# define ARCHITECTURE_ID "RL78"
+
+# elif defined(__ICCRISCV__)
+# define ARCHITECTURE_ID "RISCV"
+
+# elif defined(__ICCAVR__)
+# define ARCHITECTURE_ID "AVR"
+
+# elif defined(__ICC430__)
+# define ARCHITECTURE_ID "MSP430"
+
+# elif defined(__ICCV850__)
+# define ARCHITECTURE_ID "V850"
+
+# elif defined(__ICC8051__)
+# define ARCHITECTURE_ID "8051"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__ghs__)
+# if defined(__PPC64__)
+# define ARCHITECTURE_ID "PPC64"
+
+# elif defined(__ppc__)
+# define ARCHITECTURE_ID "PPC"
+
+# elif defined(__ARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__x86_64__)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(__i386__)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+#else
+# define ARCHITECTURE_ID
+#endif
+
+/* Convert integer to decimal digit literals. */
+#define DEC(n) \
+ ('0' + (((n) / 10000000)%10)), \
+ ('0' + (((n) / 1000000)%10)), \
+ ('0' + (((n) / 100000)%10)), \
+ ('0' + (((n) / 10000)%10)), \
+ ('0' + (((n) / 1000)%10)), \
+ ('0' + (((n) / 100)%10)), \
+ ('0' + (((n) / 10)%10)), \
+ ('0' + ((n) % 10))
+
+/* Convert integer to hex digit literals. */
+#define HEX(n) \
+ ('0' + ((n)>>28 & 0xF)), \
+ ('0' + ((n)>>24 & 0xF)), \
+ ('0' + ((n)>>20 & 0xF)), \
+ ('0' + ((n)>>16 & 0xF)), \
+ ('0' + ((n)>>12 & 0xF)), \
+ ('0' + ((n)>>8 & 0xF)), \
+ ('0' + ((n)>>4 & 0xF)), \
+ ('0' + ((n) & 0xF))
+
+/* Construct a string literal encoding the version number components. */
+#ifdef COMPILER_VERSION_MAJOR
+char const info_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
+ COMPILER_VERSION_MAJOR,
+# ifdef COMPILER_VERSION_MINOR
+ '.', COMPILER_VERSION_MINOR,
+# ifdef COMPILER_VERSION_PATCH
+ '.', COMPILER_VERSION_PATCH,
+# ifdef COMPILER_VERSION_TWEAK
+ '.', COMPILER_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct a string literal encoding the internal version number. */
+#ifdef COMPILER_VERSION_INTERNAL
+char const info_version_internal[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
+ 'i','n','t','e','r','n','a','l','[',
+ COMPILER_VERSION_INTERNAL,']','\0'};
+#endif
+
+/* Construct a string literal encoding the version number components. */
+#ifdef SIMULATE_VERSION_MAJOR
+char const info_simulate_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
+ SIMULATE_VERSION_MAJOR,
+# ifdef SIMULATE_VERSION_MINOR
+ '.', SIMULATE_VERSION_MINOR,
+# ifdef SIMULATE_VERSION_PATCH
+ '.', SIMULATE_VERSION_PATCH,
+# ifdef SIMULATE_VERSION_TWEAK
+ '.', SIMULATE_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
+char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
+
+
+
+
+#if !defined(__STDC__)
+# if (defined(_MSC_VER) && !defined(__clang__)) \
+ || (defined(__ibmxl__) || defined(__IBMC__))
+# define C_DIALECT "90"
+# else
+# define C_DIALECT
+# endif
+#elif __STDC_VERSION__ >= 201000L
+# define C_DIALECT "11"
+#elif __STDC_VERSION__ >= 199901L
+# define C_DIALECT "99"
+#else
+# define C_DIALECT "90"
+#endif
+const char* info_language_dialect_default =
+ "INFO" ":" "dialect_default[" C_DIALECT "]";
+
+/*--------------------------------------------------------------------------*/
+
+#ifdef ID_VOID_MAIN
+void main() {}
+#else
+# if defined(__CLASSIC_C__)
+int main(argc, argv) int argc; char *argv[];
+# else
+int main(int argc, char* argv[])
+# endif
+{
+ int require = 0;
+ require += info_compiler[argc];
+ require += info_platform[argc];
+ require += info_arch[argc];
+#ifdef COMPILER_VERSION_MAJOR
+ require += info_version[argc];
+#endif
+#ifdef COMPILER_VERSION_INTERNAL
+ require += info_version_internal[argc];
+#endif
+#ifdef SIMULATE_ID
+ require += info_simulate[argc];
+#endif
+#ifdef SIMULATE_VERSION_MAJOR
+ require += info_simulate_version[argc];
+#endif
+#if defined(__CRAYXE) || defined(__CRAYXC)
+ require += info_cray[argc];
+#endif
+ require += info_language_dialect_default[argc];
+ (void)argv;
+ return require;
+}
+#endif
diff --git a/xpdf-qt/CMakeFiles/3.18.4/CompilerIdC/a.out b/xpdf-qt/CMakeFiles/3.18.4/CompilerIdC/a.out
new file mode 100755
index 0000000..dec38b4
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/3.18.4/CompilerIdC/a.out
Binary files differ
diff --git a/xpdf-qt/CMakeFiles/3.18.4/CompilerIdCXX/CMakeCXXCompilerId.cpp b/xpdf-qt/CMakeFiles/3.18.4/CompilerIdCXX/CMakeCXXCompilerId.cpp
new file mode 100644
index 0000000..37c21ca
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/3.18.4/CompilerIdCXX/CMakeCXXCompilerId.cpp
@@ -0,0 +1,663 @@
+/* This source file must have a .cpp extension so that all C++ compilers
+ recognize the extension without flags. Borland does not know .cxx for
+ example. */
+#ifndef __cplusplus
+# error "A C compiler has been selected for C++."
+#endif
+
+
+/* Version number components: V=Version, R=Revision, P=Patch
+ Version date components: YYYY=Year, MM=Month, DD=Day */
+
+#if defined(__COMO__)
+# define COMPILER_ID "Comeau"
+ /* __COMO_VERSION__ = VRR */
+# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
+# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
+
+#elif defined(__INTEL_COMPILER) || defined(__ICC)
+# define COMPILER_ID "Intel"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_ID "GNU"
+# endif
+ /* __INTEL_COMPILER = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
+# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
+# if defined(__INTEL_COMPILER_UPDATE)
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
+# else
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
+# endif
+# if defined(__INTEL_COMPILER_BUILD_DATE)
+ /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
+# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
+# endif
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
+# elif defined(__GNUG__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(__PATHCC__)
+# define COMPILER_ID "PathScale"
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+
+#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
+# define COMPILER_ID "Embarcadero"
+# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
+# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
+# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
+
+#elif defined(__BORLANDC__)
+# define COMPILER_ID "Borland"
+ /* __BORLANDC__ = 0xVRR */
+# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
+# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
+
+#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
+# define COMPILER_ID "Watcom"
+ /* __WATCOMC__ = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__WATCOMC__)
+# define COMPILER_ID "OpenWatcom"
+ /* __WATCOMC__ = VVRP + 1100 */
+# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__SUNPRO_CC)
+# define COMPILER_ID "SunPro"
+# if __SUNPRO_CC >= 0x5100
+ /* __SUNPRO_CC = 0xVRRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
+# else
+ /* __SUNPRO_CC = 0xVRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
+# endif
+
+#elif defined(__HP_aCC)
+# define COMPILER_ID "HP"
+ /* __HP_aCC = VVRRPP */
+# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
+# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
+# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
+
+#elif defined(__DECCXX)
+# define COMPILER_ID "Compaq"
+ /* __DECCXX_VER = VVRRTPPPP */
+# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
+# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
+# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
+
+#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
+# define COMPILER_ID "zOS"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__ibmxl__) && defined(__clang__)
+# define COMPILER_ID "XLClang"
+# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
+# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
+# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
+# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
+
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
+# define COMPILER_ID "XL"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
+# define COMPILER_ID "VisualAge"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__PGI)
+# define COMPILER_ID "PGI"
+# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
+# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
+# if defined(__PGIC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
+# endif
+
+#elif defined(_CRAYC)
+# define COMPILER_ID "Cray"
+# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
+# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
+
+#elif defined(__TI_COMPILER_VERSION__)
+# define COMPILER_ID "TI"
+ /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
+# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
+# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
+# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
+
+#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
+# define COMPILER_ID "Fujitsu"
+
+#elif defined(__ghs__)
+# define COMPILER_ID "GHS"
+/* __GHS_VERSION_NUMBER = VVVVRP */
+# ifdef __GHS_VERSION_NUMBER
+# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
+# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
+# endif
+
+#elif defined(__SCO_VERSION__)
+# define COMPILER_ID "SCO"
+
+#elif defined(__ARMCC_VERSION) && !defined(__clang__)
+# define COMPILER_ID "ARMCC"
+#if __ARMCC_VERSION >= 1000000
+ /* __ARMCC_VERSION = VRRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#else
+ /* __ARMCC_VERSION = VRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#endif
+
+
+#elif defined(__clang__) && defined(__apple_build_version__)
+# define COMPILER_ID "AppleClang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
+
+#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
+# define COMPILER_ID "ARMClang"
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
+# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
+
+#elif defined(__clang__)
+# define COMPILER_ID "Clang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+
+#elif defined(__GNUC__) || defined(__GNUG__)
+# define COMPILER_ID "GNU"
+# if defined(__GNUC__)
+# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
+# else
+# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(_MSC_VER)
+# define COMPILER_ID "MSVC"
+ /* _MSC_VER = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
+# if defined(_MSC_FULL_VER)
+# if _MSC_VER >= 1400
+ /* _MSC_FULL_VER = VVRRPPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
+# else
+ /* _MSC_FULL_VER = VVRRPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
+# endif
+# endif
+# if defined(_MSC_BUILD)
+# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
+# endif
+
+#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
+# define COMPILER_ID "ADSP"
+#if defined(__VISUALDSPVERSION__)
+ /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
+# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
+# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
+#endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# define COMPILER_ID "IAR"
+# if defined(__VER__) && defined(__ICCARM__)
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
+# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
+# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__))
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
+# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
+# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# endif
+
+
+/* These compilers are either not known or too old to define an
+ identification macro. Try to identify the platform and guess that
+ it is the native compiler. */
+#elif defined(__hpux) || defined(__hpua)
+# define COMPILER_ID "HP"
+
+#else /* unknown compiler */
+# define COMPILER_ID ""
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
+#ifdef SIMULATE_ID
+char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
+#endif
+
+#ifdef __QNXNTO__
+char const* qnxnto = "INFO" ":" "qnxnto[]";
+#endif
+
+#if defined(__CRAYXE) || defined(__CRAYXC)
+char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
+#endif
+
+#define STRINGIFY_HELPER(X) #X
+#define STRINGIFY(X) STRINGIFY_HELPER(X)
+
+/* Identify known platforms by name. */
+#if defined(__linux) || defined(__linux__) || defined(linux)
+# define PLATFORM_ID "Linux"
+
+#elif defined(__CYGWIN__)
+# define PLATFORM_ID "Cygwin"
+
+#elif defined(__MINGW32__)
+# define PLATFORM_ID "MinGW"
+
+#elif defined(__APPLE__)
+# define PLATFORM_ID "Darwin"
+
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+# define PLATFORM_ID "Windows"
+
+#elif defined(__FreeBSD__) || defined(__FreeBSD)
+# define PLATFORM_ID "FreeBSD"
+
+#elif defined(__NetBSD__) || defined(__NetBSD)
+# define PLATFORM_ID "NetBSD"
+
+#elif defined(__OpenBSD__) || defined(__OPENBSD)
+# define PLATFORM_ID "OpenBSD"
+
+#elif defined(__sun) || defined(sun)
+# define PLATFORM_ID "SunOS"
+
+#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
+# define PLATFORM_ID "AIX"
+
+#elif defined(__hpux) || defined(__hpux__)
+# define PLATFORM_ID "HP-UX"
+
+#elif defined(__HAIKU__)
+# define PLATFORM_ID "Haiku"
+
+#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
+# define PLATFORM_ID "BeOS"
+
+#elif defined(__QNX__) || defined(__QNXNTO__)
+# define PLATFORM_ID "QNX"
+
+#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
+# define PLATFORM_ID "Tru64"
+
+#elif defined(__riscos) || defined(__riscos__)
+# define PLATFORM_ID "RISCos"
+
+#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
+# define PLATFORM_ID "SINIX"
+
+#elif defined(__UNIX_SV__)
+# define PLATFORM_ID "UNIX_SV"
+
+#elif defined(__bsdos__)
+# define PLATFORM_ID "BSDOS"
+
+#elif defined(_MPRAS) || defined(MPRAS)
+# define PLATFORM_ID "MP-RAS"
+
+#elif defined(__osf) || defined(__osf__)
+# define PLATFORM_ID "OSF1"
+
+#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
+# define PLATFORM_ID "SCO_SV"
+
+#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
+# define PLATFORM_ID "ULTRIX"
+
+#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
+# define PLATFORM_ID "Xenix"
+
+#elif defined(__WATCOMC__)
+# if defined(__LINUX__)
+# define PLATFORM_ID "Linux"
+
+# elif defined(__DOS__)
+# define PLATFORM_ID "DOS"
+
+# elif defined(__OS2__)
+# define PLATFORM_ID "OS2"
+
+# elif defined(__WINDOWS__)
+# define PLATFORM_ID "Windows3x"
+
+# elif defined(__VXWORKS__)
+# define PLATFORM_ID "VxWorks"
+
+# else /* unknown platform */
+# define PLATFORM_ID
+# endif
+
+#elif defined(__INTEGRITY)
+# if defined(INT_178B)
+# define PLATFORM_ID "Integrity178"
+
+# else /* regular Integrity */
+# define PLATFORM_ID "Integrity"
+# endif
+
+#else /* unknown platform */
+# define PLATFORM_ID
+
+#endif
+
+/* For windows compilers MSVC and Intel we can determine
+ the architecture of the compiler being used. This is because
+ the compilers do not have flags that can change the architecture,
+ but rather depend on which compiler is being used
+*/
+#if defined(_WIN32) && defined(_MSC_VER)
+# if defined(_M_IA64)
+# define ARCHITECTURE_ID "IA64"
+
+# elif defined(_M_X64) || defined(_M_AMD64)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# elif defined(_M_ARM64)
+# define ARCHITECTURE_ID "ARM64"
+
+# elif defined(_M_ARM)
+# if _M_ARM == 4
+# define ARCHITECTURE_ID "ARMV4I"
+# elif _M_ARM == 5
+# define ARCHITECTURE_ID "ARMV5I"
+# else
+# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
+# endif
+
+# elif defined(_M_MIPS)
+# define ARCHITECTURE_ID "MIPS"
+
+# elif defined(_M_SH)
+# define ARCHITECTURE_ID "SHx"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__WATCOMC__)
+# if defined(_M_I86)
+# define ARCHITECTURE_ID "I86"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# if defined(__ICCARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__ICCRX__)
+# define ARCHITECTURE_ID "RX"
+
+# elif defined(__ICCRH850__)
+# define ARCHITECTURE_ID "RH850"
+
+# elif defined(__ICCRL78__)
+# define ARCHITECTURE_ID "RL78"
+
+# elif defined(__ICCRISCV__)
+# define ARCHITECTURE_ID "RISCV"
+
+# elif defined(__ICCAVR__)
+# define ARCHITECTURE_ID "AVR"
+
+# elif defined(__ICC430__)
+# define ARCHITECTURE_ID "MSP430"
+
+# elif defined(__ICCV850__)
+# define ARCHITECTURE_ID "V850"
+
+# elif defined(__ICC8051__)
+# define ARCHITECTURE_ID "8051"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__ghs__)
+# if defined(__PPC64__)
+# define ARCHITECTURE_ID "PPC64"
+
+# elif defined(__ppc__)
+# define ARCHITECTURE_ID "PPC"
+
+# elif defined(__ARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__x86_64__)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(__i386__)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+#else
+# define ARCHITECTURE_ID
+#endif
+
+/* Convert integer to decimal digit literals. */
+#define DEC(n) \
+ ('0' + (((n) / 10000000)%10)), \
+ ('0' + (((n) / 1000000)%10)), \
+ ('0' + (((n) / 100000)%10)), \
+ ('0' + (((n) / 10000)%10)), \
+ ('0' + (((n) / 1000)%10)), \
+ ('0' + (((n) / 100)%10)), \
+ ('0' + (((n) / 10)%10)), \
+ ('0' + ((n) % 10))
+
+/* Convert integer to hex digit literals. */
+#define HEX(n) \
+ ('0' + ((n)>>28 & 0xF)), \
+ ('0' + ((n)>>24 & 0xF)), \
+ ('0' + ((n)>>20 & 0xF)), \
+ ('0' + ((n)>>16 & 0xF)), \
+ ('0' + ((n)>>12 & 0xF)), \
+ ('0' + ((n)>>8 & 0xF)), \
+ ('0' + ((n)>>4 & 0xF)), \
+ ('0' + ((n) & 0xF))
+
+/* Construct a string literal encoding the version number components. */
+#ifdef COMPILER_VERSION_MAJOR
+char const info_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
+ COMPILER_VERSION_MAJOR,
+# ifdef COMPILER_VERSION_MINOR
+ '.', COMPILER_VERSION_MINOR,
+# ifdef COMPILER_VERSION_PATCH
+ '.', COMPILER_VERSION_PATCH,
+# ifdef COMPILER_VERSION_TWEAK
+ '.', COMPILER_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct a string literal encoding the internal version number. */
+#ifdef COMPILER_VERSION_INTERNAL
+char const info_version_internal[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
+ 'i','n','t','e','r','n','a','l','[',
+ COMPILER_VERSION_INTERNAL,']','\0'};
+#endif
+
+/* Construct a string literal encoding the version number components. */
+#ifdef SIMULATE_VERSION_MAJOR
+char const info_simulate_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
+ SIMULATE_VERSION_MAJOR,
+# ifdef SIMULATE_VERSION_MINOR
+ '.', SIMULATE_VERSION_MINOR,
+# ifdef SIMULATE_VERSION_PATCH
+ '.', SIMULATE_VERSION_PATCH,
+# ifdef SIMULATE_VERSION_TWEAK
+ '.', SIMULATE_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
+char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
+
+
+
+
+#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L
+# if defined(__INTEL_CXX11_MODE__)
+# if defined(__cpp_aggregate_nsdmi)
+# define CXX_STD 201402L
+# else
+# define CXX_STD 201103L
+# endif
+# else
+# define CXX_STD 199711L
+# endif
+#elif defined(_MSC_VER) && defined(_MSVC_LANG)
+# define CXX_STD _MSVC_LANG
+#else
+# define CXX_STD __cplusplus
+#endif
+
+const char* info_language_dialect_default = "INFO" ":" "dialect_default["
+#if CXX_STD > 201703L
+ "20"
+#elif CXX_STD >= 201703L
+ "17"
+#elif CXX_STD >= 201402L
+ "14"
+#elif CXX_STD >= 201103L
+ "11"
+#else
+ "98"
+#endif
+"]";
+
+/*--------------------------------------------------------------------------*/
+
+int main(int argc, char* argv[])
+{
+ int require = 0;
+ require += info_compiler[argc];
+ require += info_platform[argc];
+#ifdef COMPILER_VERSION_MAJOR
+ require += info_version[argc];
+#endif
+#ifdef COMPILER_VERSION_INTERNAL
+ require += info_version_internal[argc];
+#endif
+#ifdef SIMULATE_ID
+ require += info_simulate[argc];
+#endif
+#ifdef SIMULATE_VERSION_MAJOR
+ require += info_simulate_version[argc];
+#endif
+#if defined(__CRAYXE) || defined(__CRAYXC)
+ require += info_cray[argc];
+#endif
+ require += info_language_dialect_default[argc];
+ (void)argv;
+ return require;
+}
diff --git a/xpdf-qt/CMakeFiles/3.18.4/CompilerIdCXX/a.out b/xpdf-qt/CMakeFiles/3.18.4/CompilerIdCXX/a.out
new file mode 100755
index 0000000..5bf5fac
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/3.18.4/CompilerIdCXX/a.out
Binary files differ
diff --git a/xpdf-qt/CMakeFiles/CMakeDirectoryInformation.cmake b/xpdf-qt/CMakeFiles/CMakeDirectoryInformation.cmake
new file mode 100644
index 0000000..aef4d6c
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/CMakeDirectoryInformation.cmake
@@ -0,0 +1,16 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.18
+
+# Relative path conversion top directories.
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/calvin/src/xpdf-4.04")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/calvin/src/xpdf-4.04")
+
+# Force unix paths in dependencies.
+set(CMAKE_FORCE_UNIX_PATHS 1)
+
+
+# The C and CXX include file regular expressions for this directory.
+set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
+set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
+set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
+set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})
diff --git a/xpdf-qt/CMakeFiles/CMakeOutput.log b/xpdf-qt/CMakeFiles/CMakeOutput.log
new file mode 100644
index 0000000..de9cb8d
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/CMakeOutput.log
@@ -0,0 +1,439 @@
+The system is: Linux - 5.10.0-12-amd64 - x86_64
+Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
+Compiler: /usr/bin/cc
+Build flags:
+Id flags:
+
+The output was:
+0
+
+
+Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"
+
+The C compiler identification is GNU, found in "/home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/3.18.4/CompilerIdC/a.out"
+
+Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
+Compiler: /usr/bin/c++
+Build flags:
+Id flags:
+
+The output was:
+0
+
+
+Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"
+
+The CXX compiler identification is GNU, found in "/home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/3.18.4/CompilerIdCXX/a.out"
+
+Detecting C compiler ABI info compiled with the following output:
+Change Dir: /home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/bin/gmake cmTC_63b3f/fast && /usr/bin/gmake -f CMakeFiles/cmTC_63b3f.dir/build.make CMakeFiles/cmTC_63b3f.dir/build
+gmake[1]: Entering directory '/home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/CMakeTmp'
+Building C object CMakeFiles/cmTC_63b3f.dir/CMakeCCompilerABI.c.o
+/usr/bin/cc -v -o CMakeFiles/cmTC_63b3f.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.18/Modules/CMakeCCompilerABI.c
+Using built-in specs.
+COLLECT_GCC=/usr/bin/cc
+OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa:hsa
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Debian 10.2.1-6' --with-bugurl=file:///usr/share/doc/gcc-10/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-10 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-10-Km9U7s/gcc-10-10.2.1/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-10-Km9U7s/gcc-10-10.2.1/debian/tmp-gcn/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex
+Thread model: posix
+Supported LTO compression algorithms: zlib zstd
+gcc version 10.2.1 20210110 (Debian 10.2.1-6)
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_63b3f.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/10/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.18/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_63b3f.dir/CMakeCCompilerABI.c.o -version -fasynchronous-unwind-tables -o /tmp/ccjR73dl.s
+GNU C17 (Debian 10.2.1-6) version 10.2.1 20210110 (x86_64-linux-gnu)
+ compiled by GNU C version 10.2.1 20210110, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.0, isl version isl-0.23-GMP
+
+GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
+ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/10/include-fixed"
+ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/include"
+#include "..." search starts here:
+#include <...> search starts here:
+ /usr/lib/gcc/x86_64-linux-gnu/10/include
+ /usr/local/include
+ /usr/include/x86_64-linux-gnu
+ /usr/include
+End of search list.
+GNU C17 (Debian 10.2.1-6) version 10.2.1 20210110 (x86_64-linux-gnu)
+ compiled by GNU C version 10.2.1 20210110, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.0, isl version isl-0.23-GMP
+
+GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+Compiler executable checksum: 1f803793fa2e3418c492b25e7d3eac2f
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_63b3f.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
+ as -v --64 -o CMakeFiles/cmTC_63b3f.dir/CMakeCCompilerABI.c.o /tmp/ccjR73dl.s
+GNU assembler version 2.35.2 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.35.2
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_63b3f.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
+Linking C executable cmTC_63b3f
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_63b3f.dir/link.txt --verbose=1
+/usr/bin/cc -v -rdynamic CMakeFiles/cmTC_63b3f.dir/CMakeCCompilerABI.c.o -o cmTC_63b3f
+Using built-in specs.
+COLLECT_GCC=/usr/bin/cc
+COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/10/lto-wrapper
+OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa:hsa
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Debian 10.2.1-6' --with-bugurl=file:///usr/share/doc/gcc-10/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-10 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-10-Km9U7s/gcc-10-10.2.1/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-10-Km9U7s/gcc-10-10.2.1/debian/tmp-gcn/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex
+Thread model: posix
+Supported LTO compression algorithms: zlib zstd
+gcc version 10.2.1 20210110 (Debian 10.2.1-6)
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_63b3f' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/10/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/10/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/10/lto-wrapper -plugin-opt=-fresolution=/tmp/cckryhrJ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_63b3f /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/10/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/10 -L/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/10/../../.. CMakeFiles/cmTC_63b3f.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/10/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/crtn.o
+COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_63b3f' '-mtune=generic' '-march=x86-64'
+gmake[1]: Leaving directory '/home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/CMakeTmp'
+
+
+
+Parsed C implicit include dir info from above output: rv=done
+ found start of include info
+ found start of implicit include info
+ add: [/usr/lib/gcc/x86_64-linux-gnu/10/include]
+ add: [/usr/local/include]
+ add: [/usr/include/x86_64-linux-gnu]
+ add: [/usr/include]
+ end of search list found
+ collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/10/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/10/include]
+ collapse include dir [/usr/local/include] ==> [/usr/local/include]
+ collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu]
+ collapse include dir [/usr/include] ==> [/usr/include]
+ implicit include dirs: [/usr/lib/gcc/x86_64-linux-gnu/10/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include]
+
+
+Parsed C implicit link information from above output:
+ link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
+ ignore line: [Change Dir: /home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/CMakeTmp]
+ ignore line: []
+ ignore line: [Run Build Command(s):/usr/bin/gmake cmTC_63b3f/fast && /usr/bin/gmake -f CMakeFiles/cmTC_63b3f.dir/build.make CMakeFiles/cmTC_63b3f.dir/build]
+ ignore line: [gmake[1]: Entering directory '/home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/CMakeTmp']
+ ignore line: [Building C object CMakeFiles/cmTC_63b3f.dir/CMakeCCompilerABI.c.o]
+ ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_63b3f.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.18/Modules/CMakeCCompilerABI.c]
+ ignore line: [Using built-in specs.]
+ ignore line: [COLLECT_GCC=/usr/bin/cc]
+ ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa:hsa]
+ ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+ ignore line: [Target: x86_64-linux-gnu]
+ ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 10.2.1-6' --with-bugurl=file:///usr/share/doc/gcc-10/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-10 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-10-Km9U7s/gcc-10-10.2.1/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-10-Km9U7s/gcc-10-10.2.1/debian/tmp-gcn/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex]
+ ignore line: [Thread model: posix]
+ ignore line: [Supported LTO compression algorithms: zlib zstd]
+ ignore line: [gcc version 10.2.1 20210110 (Debian 10.2.1-6) ]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_63b3f.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
+ ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/10/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.18/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_63b3f.dir/CMakeCCompilerABI.c.o -version -fasynchronous-unwind-tables -o /tmp/ccjR73dl.s]
+ ignore line: [GNU C17 (Debian 10.2.1-6) version 10.2.1 20210110 (x86_64-linux-gnu)]
+ ignore line: [ compiled by GNU C version 10.2.1 20210110 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.0 isl version isl-0.23-GMP]
+ ignore line: []
+ ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+ ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"]
+ ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/10/include-fixed"]
+ ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/include"]
+ ignore line: [#include "..." search starts here:]
+ ignore line: [#include <...> search starts here:]
+ ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/10/include]
+ ignore line: [ /usr/local/include]
+ ignore line: [ /usr/include/x86_64-linux-gnu]
+ ignore line: [ /usr/include]
+ ignore line: [End of search list.]
+ ignore line: [GNU C17 (Debian 10.2.1-6) version 10.2.1 20210110 (x86_64-linux-gnu)]
+ ignore line: [ compiled by GNU C version 10.2.1 20210110 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.0 isl version isl-0.23-GMP]
+ ignore line: []
+ ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+ ignore line: [Compiler executable checksum: 1f803793fa2e3418c492b25e7d3eac2f]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_63b3f.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
+ ignore line: [ as -v --64 -o CMakeFiles/cmTC_63b3f.dir/CMakeCCompilerABI.c.o /tmp/ccjR73dl.s]
+ ignore line: [GNU assembler version 2.35.2 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.35.2]
+ ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/]
+ ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../:/lib/:/usr/lib/]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_63b3f.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
+ ignore line: [Linking C executable cmTC_63b3f]
+ ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_63b3f.dir/link.txt --verbose=1]
+ ignore line: [/usr/bin/cc -v -rdynamic CMakeFiles/cmTC_63b3f.dir/CMakeCCompilerABI.c.o -o cmTC_63b3f ]
+ ignore line: [Using built-in specs.]
+ ignore line: [COLLECT_GCC=/usr/bin/cc]
+ ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/10/lto-wrapper]
+ ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa:hsa]
+ ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+ ignore line: [Target: x86_64-linux-gnu]
+ ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 10.2.1-6' --with-bugurl=file:///usr/share/doc/gcc-10/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-10 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-10-Km9U7s/gcc-10-10.2.1/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-10-Km9U7s/gcc-10-10.2.1/debian/tmp-gcn/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex]
+ ignore line: [Thread model: posix]
+ ignore line: [Supported LTO compression algorithms: zlib zstd]
+ ignore line: [gcc version 10.2.1 20210110 (Debian 10.2.1-6) ]
+ ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/]
+ ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../:/lib/:/usr/lib/]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_63b3f' '-mtune=generic' '-march=x86-64']
+ link line: [ /usr/lib/gcc/x86_64-linux-gnu/10/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/10/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/10/lto-wrapper -plugin-opt=-fresolution=/tmp/cckryhrJ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_63b3f /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/10/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/10 -L/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/10/../../.. CMakeFiles/cmTC_63b3f.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/10/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/crtn.o]
+ arg [/usr/lib/gcc/x86_64-linux-gnu/10/collect2] ==> ignore
+ arg [-plugin] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/10/liblto_plugin.so] ==> ignore
+ arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/10/lto-wrapper] ==> ignore
+ arg [-plugin-opt=-fresolution=/tmp/cckryhrJ.res] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+ arg [-plugin-opt=-pass-through=-lc] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+ arg [--build-id] ==> ignore
+ arg [--eh-frame-hdr] ==> ignore
+ arg [-m] ==> ignore
+ arg [elf_x86_64] ==> ignore
+ arg [--hash-style=gnu] ==> ignore
+ arg [--as-needed] ==> ignore
+ arg [-export-dynamic] ==> ignore
+ arg [-dynamic-linker] ==> ignore
+ arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
+ arg [-pie] ==> ignore
+ arg [-o] ==> ignore
+ arg [cmTC_63b3f] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/crti.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/10/crtbeginS.o] ==> ignore
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/10] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/10]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib]
+ arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
+ arg [-L/lib/../lib] ==> dir [/lib/../lib]
+ arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
+ arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/10/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/10/../../..]
+ arg [CMakeFiles/cmTC_63b3f.dir/CMakeCCompilerABI.c.o] ==> ignore
+ arg [-lgcc] ==> lib [gcc]
+ arg [--push-state] ==> ignore
+ arg [--as-needed] ==> ignore
+ arg [-lgcc_s] ==> lib [gcc_s]
+ arg [--pop-state] ==> ignore
+ arg [-lc] ==> lib [c]
+ arg [-lgcc] ==> lib [gcc]
+ arg [--push-state] ==> ignore
+ arg [--as-needed] ==> ignore
+ arg [-lgcc_s] ==> lib [gcc_s]
+ arg [--pop-state] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/10/crtendS.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/crtn.o] ==> ignore
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/10] ==> [/usr/lib/gcc/x86_64-linux-gnu/10]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib] ==> [/usr/lib]
+ collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
+ collapse library dir [/lib/../lib] ==> [/lib]
+ collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+ collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/10/../../..] ==> [/usr/lib]
+ implicit libs: [gcc;gcc_s;c;gcc;gcc_s]
+ implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/10;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
+ implicit fwks: []
+
+
+Detecting CXX compiler ABI info compiled with the following output:
+Change Dir: /home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/bin/gmake cmTC_9b41c/fast && /usr/bin/gmake -f CMakeFiles/cmTC_9b41c.dir/build.make CMakeFiles/cmTC_9b41c.dir/build
+gmake[1]: Entering directory '/home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/CMakeTmp'
+Building CXX object CMakeFiles/cmTC_9b41c.dir/CMakeCXXCompilerABI.cpp.o
+/usr/bin/c++ -v -o CMakeFiles/cmTC_9b41c.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.18/Modules/CMakeCXXCompilerABI.cpp
+Using built-in specs.
+COLLECT_GCC=/usr/bin/c++
+OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa:hsa
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Debian 10.2.1-6' --with-bugurl=file:///usr/share/doc/gcc-10/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-10 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-10-Km9U7s/gcc-10-10.2.1/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-10-Km9U7s/gcc-10-10.2.1/debian/tmp-gcn/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex
+Thread model: posix
+Supported LTO compression algorithms: zlib zstd
+gcc version 10.2.1 20210110 (Debian 10.2.1-6)
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_9b41c.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/10/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.18/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_9b41c.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -o /tmp/cczUkCmh.s
+GNU C++14 (Debian 10.2.1-6) version 10.2.1 20210110 (x86_64-linux-gnu)
+ compiled by GNU C version 10.2.1 20210110, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.0, isl version isl-0.23-GMP
+
+GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/10"
+ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
+ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/10/include-fixed"
+ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/include"
+#include "..." search starts here:
+#include <...> search starts here:
+ /usr/include/c++/10
+ /usr/include/x86_64-linux-gnu/c++/10
+ /usr/include/c++/10/backward
+ /usr/lib/gcc/x86_64-linux-gnu/10/include
+ /usr/local/include
+ /usr/include/x86_64-linux-gnu
+ /usr/include
+End of search list.
+GNU C++14 (Debian 10.2.1-6) version 10.2.1 20210110 (x86_64-linux-gnu)
+ compiled by GNU C version 10.2.1 20210110, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.0, isl version isl-0.23-GMP
+
+GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+Compiler executable checksum: 048fcaee3460a99eb0d68522358720e1
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_9b41c.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ as -v --64 -o CMakeFiles/cmTC_9b41c.dir/CMakeCXXCompilerABI.cpp.o /tmp/cczUkCmh.s
+GNU assembler version 2.35.2 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.35.2
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_9b41c.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+Linking CXX executable cmTC_9b41c
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_9b41c.dir/link.txt --verbose=1
+/usr/bin/c++ -v -rdynamic CMakeFiles/cmTC_9b41c.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_9b41c
+Using built-in specs.
+COLLECT_GCC=/usr/bin/c++
+COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/10/lto-wrapper
+OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa:hsa
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Debian 10.2.1-6' --with-bugurl=file:///usr/share/doc/gcc-10/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-10 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-10-Km9U7s/gcc-10-10.2.1/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-10-Km9U7s/gcc-10-10.2.1/debian/tmp-gcn/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex
+Thread model: posix
+Supported LTO compression algorithms: zlib zstd
+gcc version 10.2.1 20210110 (Debian 10.2.1-6)
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_9b41c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/10/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/10/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/10/lto-wrapper -plugin-opt=-fresolution=/tmp/ccoQSRtJ.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_9b41c /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/10/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/10 -L/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/10/../../.. CMakeFiles/cmTC_9b41c.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/10/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/crtn.o
+COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_9b41c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+gmake[1]: Leaving directory '/home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/CMakeTmp'
+
+
+
+Parsed CXX implicit include dir info from above output: rv=done
+ found start of include info
+ found start of implicit include info
+ add: [/usr/include/c++/10]
+ add: [/usr/include/x86_64-linux-gnu/c++/10]
+ add: [/usr/include/c++/10/backward]
+ add: [/usr/lib/gcc/x86_64-linux-gnu/10/include]
+ add: [/usr/local/include]
+ add: [/usr/include/x86_64-linux-gnu]
+ add: [/usr/include]
+ end of search list found
+ collapse include dir [/usr/include/c++/10] ==> [/usr/include/c++/10]
+ collapse include dir [/usr/include/x86_64-linux-gnu/c++/10] ==> [/usr/include/x86_64-linux-gnu/c++/10]
+ collapse include dir [/usr/include/c++/10/backward] ==> [/usr/include/c++/10/backward]
+ collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/10/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/10/include]
+ collapse include dir [/usr/local/include] ==> [/usr/local/include]
+ collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu]
+ collapse include dir [/usr/include] ==> [/usr/include]
+ implicit include dirs: [/usr/include/c++/10;/usr/include/x86_64-linux-gnu/c++/10;/usr/include/c++/10/backward;/usr/lib/gcc/x86_64-linux-gnu/10/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include]
+
+
+Parsed CXX implicit link information from above output:
+ link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
+ ignore line: [Change Dir: /home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/CMakeTmp]
+ ignore line: []
+ ignore line: [Run Build Command(s):/usr/bin/gmake cmTC_9b41c/fast && /usr/bin/gmake -f CMakeFiles/cmTC_9b41c.dir/build.make CMakeFiles/cmTC_9b41c.dir/build]
+ ignore line: [gmake[1]: Entering directory '/home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/CMakeTmp']
+ ignore line: [Building CXX object CMakeFiles/cmTC_9b41c.dir/CMakeCXXCompilerABI.cpp.o]
+ ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_9b41c.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.18/Modules/CMakeCXXCompilerABI.cpp]
+ ignore line: [Using built-in specs.]
+ ignore line: [COLLECT_GCC=/usr/bin/c++]
+ ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa:hsa]
+ ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+ ignore line: [Target: x86_64-linux-gnu]
+ ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 10.2.1-6' --with-bugurl=file:///usr/share/doc/gcc-10/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-10 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-10-Km9U7s/gcc-10-10.2.1/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-10-Km9U7s/gcc-10-10.2.1/debian/tmp-gcn/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex]
+ ignore line: [Thread model: posix]
+ ignore line: [Supported LTO compression algorithms: zlib zstd]
+ ignore line: [gcc version 10.2.1 20210110 (Debian 10.2.1-6) ]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_9b41c.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/10/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.18/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_9b41c.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -o /tmp/cczUkCmh.s]
+ ignore line: [GNU C++14 (Debian 10.2.1-6) version 10.2.1 20210110 (x86_64-linux-gnu)]
+ ignore line: [ compiled by GNU C version 10.2.1 20210110 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.0 isl version isl-0.23-GMP]
+ ignore line: []
+ ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+ ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/10"]
+ ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"]
+ ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/10/include-fixed"]
+ ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/include"]
+ ignore line: [#include "..." search starts here:]
+ ignore line: [#include <...> search starts here:]
+ ignore line: [ /usr/include/c++/10]
+ ignore line: [ /usr/include/x86_64-linux-gnu/c++/10]
+ ignore line: [ /usr/include/c++/10/backward]
+ ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/10/include]
+ ignore line: [ /usr/local/include]
+ ignore line: [ /usr/include/x86_64-linux-gnu]
+ ignore line: [ /usr/include]
+ ignore line: [End of search list.]
+ ignore line: [GNU C++14 (Debian 10.2.1-6) version 10.2.1 20210110 (x86_64-linux-gnu)]
+ ignore line: [ compiled by GNU C version 10.2.1 20210110 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.0 isl version isl-0.23-GMP]
+ ignore line: []
+ ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+ ignore line: [Compiler executable checksum: 048fcaee3460a99eb0d68522358720e1]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_9b41c.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ ignore line: [ as -v --64 -o CMakeFiles/cmTC_9b41c.dir/CMakeCXXCompilerABI.cpp.o /tmp/cczUkCmh.s]
+ ignore line: [GNU assembler version 2.35.2 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.35.2]
+ ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/]
+ ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../:/lib/:/usr/lib/]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_9b41c.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ ignore line: [Linking CXX executable cmTC_9b41c]
+ ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_9b41c.dir/link.txt --verbose=1]
+ ignore line: [/usr/bin/c++ -v -rdynamic CMakeFiles/cmTC_9b41c.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_9b41c ]
+ ignore line: [Using built-in specs.]
+ ignore line: [COLLECT_GCC=/usr/bin/c++]
+ ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/10/lto-wrapper]
+ ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa:hsa]
+ ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+ ignore line: [Target: x86_64-linux-gnu]
+ ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 10.2.1-6' --with-bugurl=file:///usr/share/doc/gcc-10/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-10 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-10-Km9U7s/gcc-10-10.2.1/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-10-Km9U7s/gcc-10-10.2.1/debian/tmp-gcn/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex]
+ ignore line: [Thread model: posix]
+ ignore line: [Supported LTO compression algorithms: zlib zstd]
+ ignore line: [gcc version 10.2.1 20210110 (Debian 10.2.1-6) ]
+ ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/]
+ ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../:/lib/:/usr/lib/]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_9b41c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ link line: [ /usr/lib/gcc/x86_64-linux-gnu/10/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/10/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/10/lto-wrapper -plugin-opt=-fresolution=/tmp/ccoQSRtJ.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_9b41c /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/10/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/10 -L/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/10/../../.. CMakeFiles/cmTC_9b41c.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/10/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/crtn.o]
+ arg [/usr/lib/gcc/x86_64-linux-gnu/10/collect2] ==> ignore
+ arg [-plugin] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/10/liblto_plugin.so] ==> ignore
+ arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/10/lto-wrapper] ==> ignore
+ arg [-plugin-opt=-fresolution=/tmp/ccoQSRtJ.res] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+ arg [-plugin-opt=-pass-through=-lc] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+ arg [--build-id] ==> ignore
+ arg [--eh-frame-hdr] ==> ignore
+ arg [-m] ==> ignore
+ arg [elf_x86_64] ==> ignore
+ arg [--hash-style=gnu] ==> ignore
+ arg [--as-needed] ==> ignore
+ arg [-export-dynamic] ==> ignore
+ arg [-dynamic-linker] ==> ignore
+ arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
+ arg [-pie] ==> ignore
+ arg [-o] ==> ignore
+ arg [cmTC_9b41c] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/crti.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/10/crtbeginS.o] ==> ignore
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/10] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/10]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib]
+ arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
+ arg [-L/lib/../lib] ==> dir [/lib/../lib]
+ arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
+ arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/10/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/10/../../..]
+ arg [CMakeFiles/cmTC_9b41c.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
+ arg [-lstdc++] ==> lib [stdc++]
+ arg [-lm] ==> lib [m]
+ arg [-lgcc_s] ==> lib [gcc_s]
+ arg [-lgcc] ==> lib [gcc]
+ arg [-lc] ==> lib [c]
+ arg [-lgcc_s] ==> lib [gcc_s]
+ arg [-lgcc] ==> lib [gcc]
+ arg [/usr/lib/gcc/x86_64-linux-gnu/10/crtendS.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/crtn.o] ==> ignore
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/10] ==> [/usr/lib/gcc/x86_64-linux-gnu/10]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib] ==> [/usr/lib]
+ collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
+ collapse library dir [/lib/../lib] ==> [/lib]
+ collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+ collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/10/../../..] ==> [/usr/lib]
+ implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc]
+ implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/10;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
+ implicit fwks: []
+
+
diff --git a/xpdf-qt/CMakeFiles/Makefile.cmake b/xpdf-qt/CMakeFiles/Makefile.cmake
new file mode 100644
index 0000000..5185ff3
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/Makefile.cmake
@@ -0,0 +1,119 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.18
+
+# The generator used is:
+set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
+
+# The top level Makefile was generated from the following files:
+set(CMAKE_MAKEFILE_DEPENDS
+ "CMakeCache.txt"
+ "CMakeFiles/3.18.4/CMakeCCompiler.cmake"
+ "CMakeFiles/3.18.4/CMakeCXXCompiler.cmake"
+ "CMakeFiles/3.18.4/CMakeSystem.cmake"
+ "CMakeLists.txt"
+ "/usr/share/cmake-3.18/Modules/CMakeCCompiler.cmake.in"
+ "/usr/share/cmake-3.18/Modules/CMakeCCompilerABI.c"
+ "/usr/share/cmake-3.18/Modules/CMakeCInformation.cmake"
+ "/usr/share/cmake-3.18/Modules/CMakeCXXCompiler.cmake.in"
+ "/usr/share/cmake-3.18/Modules/CMakeCXXCompilerABI.cpp"
+ "/usr/share/cmake-3.18/Modules/CMakeCXXInformation.cmake"
+ "/usr/share/cmake-3.18/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake"
+ "/usr/share/cmake-3.18/Modules/CMakeCommonLanguageInclude.cmake"
+ "/usr/share/cmake-3.18/Modules/CMakeCompilerIdDetection.cmake"
+ "/usr/share/cmake-3.18/Modules/CMakeDetermineCCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/CMakeDetermineCXXCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/CMakeDetermineCompileFeatures.cmake"
+ "/usr/share/cmake-3.18/Modules/CMakeDetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/CMakeDetermineCompilerABI.cmake"
+ "/usr/share/cmake-3.18/Modules/CMakeDetermineCompilerId.cmake"
+ "/usr/share/cmake-3.18/Modules/CMakeDetermineSystem.cmake"
+ "/usr/share/cmake-3.18/Modules/CMakeFindBinUtils.cmake"
+ "/usr/share/cmake-3.18/Modules/CMakeGenericSystem.cmake"
+ "/usr/share/cmake-3.18/Modules/CMakeInitializeConfigs.cmake"
+ "/usr/share/cmake-3.18/Modules/CMakeLanguageInformation.cmake"
+ "/usr/share/cmake-3.18/Modules/CMakeParseImplicitIncludeInfo.cmake"
+ "/usr/share/cmake-3.18/Modules/CMakeParseImplicitLinkInfo.cmake"
+ "/usr/share/cmake-3.18/Modules/CMakeSystem.cmake.in"
+ "/usr/share/cmake-3.18/Modules/CMakeSystemSpecificInformation.cmake"
+ "/usr/share/cmake-3.18/Modules/CMakeSystemSpecificInitialize.cmake"
+ "/usr/share/cmake-3.18/Modules/CMakeTestCCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/CMakeTestCXXCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/CMakeTestCompilerCommon.cmake"
+ "/usr/share/cmake-3.18/Modules/CMakeUnixFindMake.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/ADSP-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/ARMCC-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/ARMClang-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/AppleClang-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/Borland-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/Bruce-C-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/Clang-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/Compaq-C-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/Cray-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/Embarcadero-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/Fujitsu-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/GHS-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/GNU-C-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/GNU-C.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/GNU-CXX.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/GNU-FindBinUtils.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/GNU.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/HP-C-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/HP-CXX-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/IAR-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/Intel-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/MSVC-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/NVIDIA-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/PGI-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/PathScale-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/SCO-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/SDCC-C-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/SunPro-C-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/TI-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/Watcom-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/XL-C-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/XL-CXX-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/XLClang-C-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/zOS-C-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.18/Modules/Internal/CMakeCheckCompilerFlag.cmake"
+ "/usr/share/cmake-3.18/Modules/Internal/FeatureTesting.cmake"
+ "/usr/share/cmake-3.18/Modules/Platform/Linux-Determine-CXX.cmake"
+ "/usr/share/cmake-3.18/Modules/Platform/Linux-GNU-C.cmake"
+ "/usr/share/cmake-3.18/Modules/Platform/Linux-GNU-CXX.cmake"
+ "/usr/share/cmake-3.18/Modules/Platform/Linux-GNU.cmake"
+ "/usr/share/cmake-3.18/Modules/Platform/Linux.cmake"
+ "/usr/share/cmake-3.18/Modules/Platform/UnixPaths.cmake"
+ )
+
+# The corresponding makefile is:
+set(CMAKE_MAKEFILE_OUTPUTS
+ "Makefile"
+ "CMakeFiles/cmake.check_cache"
+ )
+
+# Byproducts of CMake generate step:
+set(CMAKE_MAKEFILE_PRODUCTS
+ "CMakeFiles/3.18.4/CMakeSystem.cmake"
+ "CMakeFiles/3.18.4/CMakeCCompiler.cmake"
+ "CMakeFiles/3.18.4/CMakeCXXCompiler.cmake"
+ "CMakeFiles/3.18.4/CMakeCCompiler.cmake"
+ "CMakeFiles/3.18.4/CMakeCXXCompiler.cmake"
+ "CMakeFiles/CMakeDirectoryInformation.cmake"
+ )
+
+# Dependency information for all targets:
+set(CMAKE_DEPEND_INFO_FILES
+ )
diff --git a/xpdf-qt/CMakeFiles/Makefile2 b/xpdf-qt/CMakeFiles/Makefile2
new file mode 100644
index 0000000..91e032d
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/Makefile2
@@ -0,0 +1,98 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.18
+
+# Default target executed when no arguments are given to make.
+default_target: all
+
+.PHONY : default_target
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/calvin/src/xpdf-4.04/xpdf-qt
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/calvin/src/xpdf-4.04/xpdf-qt
+
+#=============================================================================
+# Directory level rules for the build root directory
+
+# The main recursive "all" target.
+all:
+
+.PHONY : all
+
+# The main recursive "preinstall" target.
+preinstall:
+
+.PHONY : preinstall
+
+# The main recursive "clean" target.
+clean:
+
+.PHONY : clean
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+ $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+
diff --git a/xpdf-qt/CMakeFiles/TargetDirectories.txt b/xpdf-qt/CMakeFiles/TargetDirectories.txt
new file mode 100644
index 0000000..163761c
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/TargetDirectories.txt
@@ -0,0 +1,2 @@
+/home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/rebuild_cache.dir
+/home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/edit_cache.dir
diff --git a/xpdf-qt/CMakeFiles/cmake.check_cache b/xpdf-qt/CMakeFiles/cmake.check_cache
new file mode 100644
index 0000000..3dccd73
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/cmake.check_cache
@@ -0,0 +1 @@
+# This file is generated by cmake for dependency checking of the CMakeCache.txt file
diff --git a/xpdf-qt/CMakeFiles/progress.marks b/xpdf-qt/CMakeFiles/progress.marks
new file mode 100644
index 0000000..78eb67c
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/progress.marks
@@ -0,0 +1 @@
+75
diff --git a/xpdf-qt/CMakeFiles/xpdf.dir/CXX.includecache b/xpdf-qt/CMakeFiles/xpdf.dir/CXX.includecache
new file mode 100644
index 0000000..90cafb0
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/xpdf.dir/CXX.includecache
@@ -0,0 +1,1784 @@
+#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">])
+
+#IncludeRegexScan: ^.*$
+
+#IncludeRegexComplain: ^$
+
+#IncludeRegexTransform:
+
+/home/calvin/src/xpdf-4.04/xpdf-qt/QtPDFCore.cc
+aconf.h
+-
+math.h
+-
+string.h
+-
+QApplication
+-
+QClipboard
+-
+QDesktopServices
+-
+QFileInfo
+-
+QImage
+-
+QInputDialog
+-
+QMessageBox
+-
+QPainter
+-
+QProcess
+-
+QScrollBar
+-
+QStyle
+-
+QUrl
+-
+QWidget
+-
+gmem.h
+/home/calvin/src/xpdf-4.04/xpdf-qt/gmem.h
+gmempp.h
+/home/calvin/src/xpdf-4.04/xpdf-qt/gmempp.h
+gfile.h
+/home/calvin/src/xpdf-4.04/xpdf-qt/gfile.h
+GString.h
+/home/calvin/src/xpdf-4.04/xpdf-qt/GString.h
+GList.h
+/home/calvin/src/xpdf-4.04/xpdf-qt/GList.h
+Error.h
+/home/calvin/src/xpdf-4.04/xpdf-qt/Error.h
+GlobalParams.h
+/home/calvin/src/xpdf-4.04/xpdf-qt/GlobalParams.h
+PDFDoc.h
+/home/calvin/src/xpdf-4.04/xpdf-qt/PDFDoc.h
+Link.h
+/home/calvin/src/xpdf-4.04/xpdf-qt/Link.h
+ErrorCodes.h
+/home/calvin/src/xpdf-4.04/xpdf-qt/ErrorCodes.h
+GfxState.h
+/home/calvin/src/xpdf-4.04/xpdf-qt/GfxState.h
+PSOutputDev.h
+/home/calvin/src/xpdf-4.04/xpdf-qt/PSOutputDev.h
+TextOutputDev.h
+/home/calvin/src/xpdf-4.04/xpdf-qt/TextOutputDev.h
+SplashBitmap.h
+/home/calvin/src/xpdf-4.04/xpdf-qt/SplashBitmap.h
+DisplayState.h
+/home/calvin/src/xpdf-4.04/xpdf-qt/DisplayState.h
+TileMap.h
+/home/calvin/src/xpdf-4.04/xpdf-qt/TileMap.h
+QtPDFCore.h
+/home/calvin/src/xpdf-4.04/xpdf-qt/QtPDFCore.h
+
+/home/calvin/src/xpdf-4.04/xpdf-qt/QtPDFCore.h
+aconf.h
+-
+QDateTime
+-
+gtypes.h
+/home/calvin/src/xpdf-4.04/xpdf-qt/gtypes.h
+SplashTypes.h
+/home/calvin/src/xpdf-4.04/xpdf-qt/SplashTypes.h
+PDFCore.h
+/home/calvin/src/xpdf-4.04/xpdf-qt/PDFCore.h
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/QDateTime
+qdatetime.h
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qdatetime.h
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/QFileInfo
+qfileinfo.h
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qfileinfo.h
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/QProcess
+qprocess.h
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qprocess.h
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/QUrl
+qurl.h
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qurl.h
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h
+QtCore/qglobal.h
+-
+intrin.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h
+QtCore/qrefcount.h
+-
+string.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h
+QtCore/qglobal.h
+-
+QtCore/qbasicatomic.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_bootstrap.h
+QtCore/qgenericatomic.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h
+QtCore/qgenericatomic.h
+-
+atomic
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_msvc.h
+QtCore/qgenericatomic.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h
+QtCore/qglobal.h
+-
+QtCore/qatomic_bootstrap.h
+-
+QtCore/qatomic_cxx11.h
+-
+QtCore/qatomic_msvc.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h
+QtCore/qrefcount.h
+-
+QtCore/qnamespace.h
+-
+QtCore/qarraydata.h
+-
+stdlib.h
+-
+string.h
+-
+stdarg.h
+-
+string
+-
+iterator
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearraylist.h
+QtCore/qlist.h
+-
+QtCore/qbytearray.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h
+QtCore/qglobal.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qcompilerdetection.h
+QtCore/qglobal.h
+-
+utility
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig-bootstrapped.h
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig.h
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainerfwd.h
+QtCore/qglobal.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainertools_impl.h
+QtCore/qglobal.h
+-
+iterator
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qcontiguouscache.h
+QtCore/qatomic.h
+-
+limits.h
+-
+new
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h
+QtCore/qglobal.h
+-
+QtCore/qstring.h
+-
+QtCore/qobject.h
+-
+QtCore/qcoreevent.h
+-
+QtCore/qeventloop.h
+-
+QtCore/qscopedpointer.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreevent.h
+QtCore/qnamespace.h
+-
+QtCore/qbytearray.h
+-
+QtCore/qobjectdefs.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h
+QtCore/qscopedpointer.h
+-
+QtCore/qiodevice.h
+-
+QtCore/qpair.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qdatetime.h
+QtCore/qstring.h
+-
+QtCore/qnamespace.h
+-
+QtCore/qshareddata.h
+-
+limits
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h
+QtCore/qalgorithms.h
+-
+QtCore/qhash.h
+-
+QtCore/qlist.h
+-
+QtCore/qmap.h
+-
+QtCore/qpair.h
+-
+QtCore/qtextstream.h
+-
+QtCore/qstring.h
+-
+QtCore/qvector.h
+-
+QtCore/qset.h
+-
+QtCore/qcontiguouscache.h
+-
+QtCore/qsharedpointer.h
+-
+vector
+-
+list
+-
+map
+-
+utility
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qeventloop.h
+QtCore/qobject.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qfile.h
+QtCore/qfiledevice.h
+-
+QtCore/qstring.h
+-
+stdio.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qfiledevice.h
+QtCore/qiodevice.h
+-
+QtCore/qstring.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qfileinfo.h
+QtCore/qfile.h
+-
+QtCore/qlist.h
+-
+QtCore/qshareddata.h
+-
+QtCore/qmetatype.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h
+QtCore/qglobal.h
+-
+initializer_list
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qgenericatomic.h
+QtCore/qglobal.h
+-
+QtCore/qtypeinfo.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h
+type_traits
+-
+cstddef
+-
+utility
+-
+assert.h
+-
+stddef.h
+-
+QtCore/qconfig-bootstrapped.h
+-
+QtCore/qconfig.h
+-
+QtCore/qtcore-config.h
+-
+QtCore/qsystemdetection.h
+-
+QtCore/qprocessordetection.h
+-
+QtCore/qcompilerdetection.h
+-
+algorithm
+-
+QtCore/qtypeinfo.h
+-
+QtCore/qsysinfo.h
+-
+QtCore/qlogging.h
+-
+QtCore/qflags.h
+-
+QtCore/qatomic.h
+-
+QtCore/qglobalstatic.h
+-
+QtCore/qnumeric.h
+-
+QtCore/qversiontagging.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qglobalstatic.h
+QtCore/qglobal.h
+-
+QtCore/qatomic.h
+-
+QtCore/qmutex.h
+-
+mutex
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h
+QtCore/qchar.h
+-
+QtCore/qiterator.h
+-
+QtCore/qlist.h
+-
+QtCore/qrefcount.h
+-
+QtCore/qhashfunctions.h
+-
+QtCore/qcontainertools_impl.h
+-
+algorithm
+-
+initializer_list
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qhashfunctions.h
+QtCore/qstring.h
+-
+QtCore/qpair.h
+-
+numeric
+-
+functional
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qiodevice.h
+QtCore/qglobal.h
+-
+QtCore/qobject.h
+-
+QtCore/qobjectdefs.h
+-
+QtCore/qscopedpointer.h
+-
+QtCore/qstring.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qiterator.h
+QtCore/qglobal.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qline.h
+QtCore/qpoint.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h
+QtCore/qalgorithms.h
+-
+QtCore/qiterator.h
+-
+QtCore/qrefcount.h
+-
+QtCore/qarraydata.h
+-
+QtCore/qhashfunctions.h
+-
+QtCore/qvector.h
+-
+QtCore/qcontainertools_impl.h
+-
+algorithm
+-
+initializer_list
+-
+iterator
+-
+list
+-
+stdlib.h
+-
+new
+-
+limits.h
+-
+string.h
+-
+QtCore/qbytearraylist.h
+-
+QtCore/qstringlist.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h
+QtCore/qvariant.h
+-
+QtCore/qstring.h
+-
+QtCore/qobjectdefs.h
+-
+QtCore/qshareddata.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h
+QtCore/qglobal.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h
+QtCore/qiterator.h
+-
+QtCore/qlist.h
+-
+QtCore/qrefcount.h
+-
+QtCore/qpair.h
+-
+QtCore/qdebug.h
+-
+functional
+-
+initializer_list
+-
+map
+-
+new
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h
+QtCore/qnamespace.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h
+QtCore/qglobal.h
+-
+QtCore/qatomic.h
+-
+QtCore/qbytearray.h
+-
+QtCore/qvarlengtharray.h
+-
+QtCore/qobjectdefs.h
+-
+new
+-
+vector
+-
+list
+-
+map
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h
+QtCore/qglobal.h
+-
+QtCore/qatomic.h
+-
+new
+-
+chrono
+-
+limits
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h
+QtCore/qglobal.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qnumeric.h
+QtCore/qglobal.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h
+QtCore/qobjectdefs.h
+-
+QtCore/qstring.h
+-
+QtCore/qbytearray.h
+-
+QtCore/qlist.h
+-
+QtCore/qcoreevent.h
+-
+QtCore/qscopedpointer.h
+-
+QtCore/qmetatype.h
+-
+QtCore/qobject_impl.h
+-
+chrono
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h
+QtCore/qnamespace.h
+-
+QtCore/qobjectdefs_impl.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h
+QtCore/qnamespace.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h
+QtCore/qglobal.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h
+QtCore/qnamespace.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qprocess.h
+QtCore/qiodevice.h
+-
+QtCore/qstringlist.h
+-
+QtCore/qshareddata.h
+-
+functional
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qprocessordetection.h
+QtCore/qglobal.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h
+QtCore/qmargins.h
+-
+QtCore/qsize.h
+-
+QtCore/qpoint.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h
+QtCore/qatomic.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qregexp.h
+QtCore/qglobal.h
+-
+QtCore/qstring.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h
+QtCore/qglobal.h
+-
+stdlib.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qset.h
+QtCore/qhash.h
+-
+QtCore/qcontainertools_impl.h
+-
+initializer_list
+-
+iterator
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h
+QtCore/qglobal.h
+-
+QtCore/qatomic.h
+-
+QtCore/qhash.h
+-
+QtCore/qhashfunctions.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h
+QtCore/qglobal.h
+-
+QtCore/qatomic.h
+-
+QtCore/qshareddata.h
+-
+QtCore/qsharedpointer_impl.h
+-
+memory
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h
+new
+-
+QtCore/qatomic.h
+-
+QtCore/qobject.h
+-
+QtCore/qhash.h
+-
+QtCore/qhashfunctions.h
+-
+memory
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h
+QtCore/qnamespace.h
+-
+QtCore/qmargins.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstandardpaths.h
+QtCore/qstringlist.h
+-
+QtCore/qobjectdefs.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h
+QtCore/qchar.h
+-
+QtCore/qbytearray.h
+-
+QtCore/qrefcount.h
+-
+QtCore/qnamespace.h
+-
+QtCore/qstringliteral.h
+-
+QtCore/qstringalgorithms.h
+-
+QtCore/qstringview.h
+-
+string
+-
+iterator
+-
+stdarg.h
+-
+QtCore/qstringbuilder.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringalgorithms.h
+QtCore/qnamespace.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h
+QtCore/qstring.h
+-
+QtCore/qbytearray.h
+-
+string.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h
+QtCore/qlist.h
+-
+QtCore/qalgorithms.h
+-
+QtCore/qcontainertools_impl.h
+-
+QtCore/qregexp.h
+-
+QtCore/qstring.h
+-
+QtCore/qstringmatcher.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringliteral.h
+QtCore/qarraydata.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringmatcher.h
+QtCore/qstring.h
+-
+QtCore/qstringview.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h
+QtCore/qchar.h
+-
+QtCore/qbytearray.h
+-
+QtCore/qstringliteral.h
+-
+QtCore/qstringalgorithms.h
+-
+string
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsysinfo.h
+QtCore/qglobal.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsystemdetection.h
+QtCore/qglobal.h
+-
+TargetConditionals.h
+-
+Availability.h
+-
+AvailabilityMacros.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qtcore-config.h
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qtextstream.h
+QtCore/qiodevice.h
+-
+QtCore/qstring.h
+-
+QtCore/qchar.h
+-
+QtCore/qlocale.h
+-
+QtCore/qscopedpointer.h
+-
+stdio.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qtypeinfo.h
+QtCore/qglobal.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qurl.h
+QtCore/qbytearray.h
+-
+QtCore/qobjectdefs.h
+-
+QtCore/qstring.h
+-
+QtCore/qlist.h
+-
+QtCore/qpair.h
+-
+QtCore/qglobal.h
+-
+QtCore/qurlquery.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qurlquery.h
+QtCore/qpair.h
+-
+QtCore/qshareddata.h
+-
+QtCore/qurl.h
+-
+QtCore/qstringlist.h
+-
+initializer_list
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h
+QtCore/qatomic.h
+-
+QtCore/qbytearray.h
+-
+QtCore/qlist.h
+-
+QtCore/qmetatype.h
+-
+QtCore/qmap.h
+-
+QtCore/qhash.h
+-
+QtCore/qstring.h
+-
+QtCore/qstringlist.h
+-
+QtCore/qobject.h
+-
+QtCore/qbytearraylist.h
+-
+variant
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h
+QtCore/qcontainerfwd.h
+-
+QtCore/qglobal.h
+-
+QtCore/qalgorithms.h
+-
+QtCore/qcontainertools_impl.h
+-
+QtCore/qhashfunctions.h
+-
+algorithm
+-
+initializer_list
+-
+iterator
+-
+new
+-
+string.h
+-
+stdlib.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h
+QtCore/qalgorithms.h
+-
+QtCore/qiterator.h
+-
+QtCore/qrefcount.h
+-
+QtCore/qarraydata.h
+-
+QtCore/qhashfunctions.h
+-
+QtCore/qcontainertools_impl.h
+-
+iterator
+-
+initializer_list
+-
+vector
+-
+stdlib.h
+-
+string.h
+-
+algorithm
+-
+QtCore/qpoint.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qversiontagging.h
+QtCore/qglobal.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/QClipboard
+qclipboard.h
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qclipboard.h
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/QDesktopServices
+qdesktopservices.h
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qdesktopservices.h
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/QImage
+qimage.h
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/QPainter
+qpainter.h
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qpainter.h
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qbrush.h
+QtGui/qtguiglobal.h
+-
+QtCore/qpair.h
+-
+QtCore/qpoint.h
+-
+QtCore/qvector.h
+-
+QtCore/qscopedpointer.h
+-
+QtGui/qcolor.h
+-
+QtGui/qmatrix.h
+-
+QtGui/qtransform.h
+-
+QtGui/qimage.h
+-
+QtGui/qpixmap.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qclipboard.h
+QtGui/qtguiglobal.h
+-
+QtCore/qobject.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qcolor.h
+QtGui/qtguiglobal.h
+-
+QtGui/qrgb.h
+-
+QtCore/qnamespace.h
+-
+QtCore/qstringlist.h
+-
+QtGui/qrgba64.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qcursor.h
+QtGui/qtguiglobal.h
+-
+QtCore/qpoint.h
+-
+QtGui/qwindowdefs.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qdesktopservices.h
+QtGui/qtguiglobal.h
+-
+QtCore/qstring.h
+-
+QtCore/qstandardpaths.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h
+QtGui/qtguiglobal.h
+-
+QtGui/qwindowdefs.h
+-
+QtGui/qregion.h
+-
+QtCore/qnamespace.h
+-
+QtCore/qstring.h
+-
+QtGui/qkeysequence.h
+-
+QtCore/qcoreevent.h
+-
+QtCore/qvariant.h
+-
+QtCore/qmap.h
+-
+QtCore/qvector.h
+-
+QtCore/qset.h
+-
+QtCore/qurl.h
+-
+QtCore/qfile.h
+-
+QtGui/qvector2d.h
+-
+QtGui/qtouchdevice.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h
+QtGui/qtguiglobal.h
+-
+QtGui/qwindowdefs.h
+-
+QtCore/qstring.h
+-
+QtCore/qsharedpointer.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qfontinfo.h
+QtGui/qtguiglobal.h
+-
+QtGui/qfont.h
+-
+QtCore/qsharedpointer.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qfontmetrics.h
+QtGui/qtguiglobal.h
+-
+QtGui/qfont.h
+-
+QtCore/qsharedpointer.h
+-
+QtCore/qrect.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qguiapplication.h
+QtGui/qtguiglobal.h
+-
+QtCore/qcoreapplication.h
+-
+QtGui/qwindowdefs.h
+-
+QtGui/qinputmethod.h
+-
+QtCore/qlocale.h
+-
+QtCore/qpoint.h
+-
+QtCore/qsize.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h
+QtGui/qtguiglobal.h
+-
+QtCore/qsize.h
+-
+QtCore/qlist.h
+-
+QtGui/qpixmap.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h
+QtGui/qtguiglobal.h
+-
+QtGui/qcolor.h
+-
+QtGui/qrgb.h
+-
+QtGui/qpaintdevice.h
+-
+QtGui/qpixelformat.h
+-
+QtGui/qtransform.h
+-
+QtCore/qbytearray.h
+-
+QtCore/qrect.h
+-
+QtCore/qstring.h
+-
+QtCore/qstringlist.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qinputmethod.h
+QtGui/qtguiglobal.h
+-
+QtCore/qobject.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qkeysequence.h
+QtGui/qtguiglobal.h
+-
+QtCore/qstring.h
+-
+QtCore/qobjectdefs.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix.h
+QtGui/qtguiglobal.h
+-
+QtGui/qpolygon.h
+-
+QtGui/qregion.h
+-
+QtGui/qwindowdefs.h
+-
+QtCore/qline.h
+-
+QtCore/qpoint.h
+-
+QtCore/qrect.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h
+QtGui/qtguiglobal.h
+-
+QtGui/qwindowdefs.h
+-
+QtCore/qrect.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qpainter.h
+QtGui/qtguiglobal.h
+-
+QtCore/qnamespace.h
+-
+QtCore/qrect.h
+-
+QtCore/qpoint.h
+-
+QtCore/qscopedpointer.h
+-
+QtGui/qpixmap.h
+-
+QtGui/qimage.h
+-
+QtGui/qtextoption.h
+-
+QtGui/qpolygon.h
+-
+QtGui/qpen.h
+-
+QtGui/qbrush.h
+-
+QtGui/qmatrix.h
+-
+QtGui/qtransform.h
+-
+QtGui/qfontinfo.h
+-
+QtGui/qfontmetrics.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qpalette.h
+QtGui/qtguiglobal.h
+-
+QtGui/qwindowdefs.h
+-
+QtGui/qcolor.h
+-
+QtGui/qbrush.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qpen.h
+QtGui/qtguiglobal.h
+-
+QtGui/qcolor.h
+-
+QtGui/qbrush.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qpixelformat.h
+QtGui/qtguiglobal.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h
+QtGui/qtguiglobal.h
+-
+QtGui/qpaintdevice.h
+-
+QtGui/qcolor.h
+-
+QtCore/qnamespace.h
+-
+QtCore/qstring.h
+-
+QtCore/qsharedpointer.h
+-
+QtGui/qimage.h
+-
+QtGui/qtransform.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h
+QtGui/qtguiglobal.h
+-
+QtCore/qvector.h
+-
+QtCore/qpoint.h
+-
+QtCore/qrect.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qregion.h
+QtGui/qtguiglobal.h
+-
+QtCore/qatomic.h
+-
+QtCore/qrect.h
+-
+QtGui/qwindowdefs.h
+-
+QtCore/qdatastream.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qrgb.h
+QtGui/qtguiglobal.h
+-
+QtCore/qprocessordetection.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qrgba64.h
+QtGui/qtguiglobal.h
+-
+QtCore/qprocessordetection.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qtextcursor.h
+QtGui/qtguiglobal.h
+-
+QtCore/qstring.h
+-
+QtCore/qshareddata.h
+-
+QtGui/qtextformat.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qtextformat.h
+QtGui/qtguiglobal.h
+-
+QtGui/qcolor.h
+-
+QtGui/qfont.h
+-
+QtCore/qshareddata.h
+-
+QtCore/qvector.h
+-
+QtCore/qvariant.h
+-
+QtGui/qpen.h
+-
+QtGui/qbrush.h
+-
+QtGui/qtextoption.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qtextoption.h
+QtGui/qtguiglobal.h
+-
+QtCore/qnamespace.h
+-
+QtCore/qchar.h
+-
+QtCore/qmetatype.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qtgui-config.h
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h
+QtCore/qglobal.h
+-
+QtGui/qtgui-config.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qtouchdevice.h
+QtGui/qtguiglobal.h
+-
+QtCore/qobject.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qtransform.h
+QtGui/qtguiglobal.h
+-
+QtGui/qmatrix.h
+-
+QtGui/qpolygon.h
+-
+QtGui/qregion.h
+-
+QtGui/qwindowdefs.h
+-
+QtCore/qline.h
+-
+QtCore/qpoint.h
+-
+QtCore/qrect.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h
+QtGui/qtguiglobal.h
+-
+QtCore/qpoint.h
+-
+QtCore/qmetatype.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs.h
+QtGui/qtguiglobal.h
+-
+QtCore/qobjectdefs.h
+-
+QtCore/qnamespace.h
+-
+QtGui/qwindowdefs_win.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs_win.h
+QtGui/qtguiglobal.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication
+qapplication.h
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h
+
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/QInputDialog
+qinputdialog.h
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qinputdialog.h
+
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/QMessageBox
+qmessagebox.h
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmessagebox.h
+
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/QScrollBar
+qscrollbar.h
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qscrollbar.h
+
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/QStyle
+qstyle.h
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qstyle.h
+
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/QWidget
+qwidget.h
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h
+
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractslider.h
+QtWidgets/qtwidgetsglobal.h
+-
+QtWidgets/qwidget.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h
+QtWidgets/qtwidgetsglobal.h
+-
+QtCore/qcoreapplication.h
+-
+QtGui/qwindowdefs.h
+-
+QtCore/qpoint.h
+-
+QtCore/qsize.h
+-
+QtGui/qcursor.h
+-
+QtWidgets/qdesktopwidget.h
+-
+QtGui/qguiapplication.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdesktopwidget.h
+QtWidgets/qtwidgetsglobal.h
+-
+QtWidgets/qwidget.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdialog.h
+QtWidgets/qtwidgetsglobal.h
+-
+QtWidgets/qwidget.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qframe.h
+QtWidgets/qtwidgetsglobal.h
+-
+QtWidgets/qwidget.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qinputdialog.h
+QtWidgets/qtwidgetsglobal.h
+-
+QtCore/qstring.h
+-
+QtWidgets/qlineedit.h
+-
+QtWidgets/qdialog.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qlineedit.h
+QtWidgets/qtwidgetsglobal.h
+-
+QtWidgets/qframe.h
+-
+QtGui/qtextcursor.h
+-
+QtCore/qstring.h
+-
+QtCore/qmargins.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmessagebox.h
+QtWidgets/qtwidgetsglobal.h
+-
+QtWidgets/qdialog.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qscrollbar.h
+QtWidgets/qtwidgetsglobal.h
+-
+QtWidgets/qwidget.h
+-
+QtWidgets/qabstractslider.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qsizepolicy.h
+QtWidgets/qtwidgetsglobal.h
+-
+QtCore/qobject.h
+-
+QtCore/qalgorithms.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qstyle.h
+QtWidgets/qtwidgetsglobal.h
+-
+QtCore/qobject.h
+-
+QtCore/qrect.h
+-
+QtCore/qsize.h
+-
+QtGui/qicon.h
+-
+QtGui/qpixmap.h
+-
+QtGui/qpalette.h
+-
+QtWidgets/qsizepolicy.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgets-config.h
+
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h
+QtGui/qtguiglobal.h
+-
+QtWidgets/qtwidgets-config.h
+-
+
+/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h
+QtWidgets/qtwidgetsglobal.h
+-
+QtGui/qwindowdefs.h
+-
+QtCore/qobject.h
+-
+QtCore/qmargins.h
+-
+QtGui/qpaintdevice.h
+-
+QtGui/qpalette.h
+-
+QtGui/qfont.h
+-
+QtGui/qfontmetrics.h
+-
+QtGui/qfontinfo.h
+-
+QtWidgets/qsizepolicy.h
+-
+QtGui/qregion.h
+-
+QtGui/qbrush.h
+-
+QtGui/qcursor.h
+-
+QtGui/qkeysequence.h
+-
+QtGui/qevent.h
+-
+
+aconf.h
+aconf2.h
+-
+
+aconf2.h
+AvailabilityMacros.h
+-
+
+goo/FixedPoint.h
+aconf.h
+-
+stdio.h
+-
+stdlib.h
+-
+gtypes.h
+goo/gtypes.h
+
+goo/GList.h
+aconf.h
+-
+gtypes.h
+goo/gtypes.h
+
+goo/GMutex.h
+aconf.h
+-
+windows.h
+-
+intrin.h
+-
+pthread.h
+-
+
+goo/GString.h
+aconf.h
+-
+limits.h
+-
+stdarg.h
+-
+gtypes.h
+goo/gtypes.h
+
+goo/gfile.h
+aconf.h
+-
+stdio.h
+-
+stdlib.h
+-
+stddef.h
+-
+sys/stat.h
+-
+win32lib.h
+-
+windows.h
+-
+unistd.h
+-
+sys/types.h
+-
+gtypes.h
+goo/gtypes.h
+
+goo/gmem.h
+stdio.h
+-
+aconf.h
+-
+
+goo/gmempp.h
+stdlib.h
+-
+
+goo/gtypes.h
+
+splash/SplashBitmap.h
+aconf.h
+-
+stdio.h
+-
+limits.h
+-
+stdint.h
+-
+SplashTypes.h
+splash/SplashTypes.h
+
+splash/SplashTypes.h
+aconf.h
+-
+gtypes.h
+splash/gtypes.h
+FixedPoint.h
+splash/FixedPoint.h
+
+xpdf/Array.h
+aconf.h
+-
+GMutex.h
+xpdf/GMutex.h
+Object.h
+xpdf/Object.h
+
+xpdf/Catalog.h
+aconf.h
+-
+GMutex.h
+xpdf/GMutex.h
+CharTypes.h
+xpdf/CharTypes.h
+
+xpdf/CharTypes.h
+
+xpdf/Dict.h
+aconf.h
+-
+GMutex.h
+xpdf/GMutex.h
+Object.h
+xpdf/Object.h
+
+xpdf/DisplayState.h
+aconf.h
+-
+gtypes.h
+xpdf/gtypes.h
+SplashTypes.h
+xpdf/SplashTypes.h
+
+xpdf/Error.h
+aconf.h
+-
+stdio.h
+-
+config.h
+xpdf/config.h
+gfile.h
+xpdf/gfile.h
+
+xpdf/ErrorCodes.h
+
+xpdf/Function.h
+aconf.h
+-
+gtypes.h
+xpdf/gtypes.h
+Object.h
+xpdf/Object.h
+
+xpdf/GfxFont.h
+aconf.h
+-
+gtypes.h
+xpdf/gtypes.h
+GString.h
+xpdf/GString.h
+Object.h
+xpdf/Object.h
+CharTypes.h
+xpdf/CharTypes.h
+
+xpdf/GfxState.h
+aconf.h
+-
+gtypes.h
+xpdf/gtypes.h
+Object.h
+xpdf/Object.h
+Function.h
+xpdf/Function.h
+
+xpdf/GlobalParams.h
+aconf.h
+-
+stdio.h
+-
+windows.h
+-
+gtypes.h
+xpdf/gtypes.h
+CharTypes.h
+xpdf/CharTypes.h
+GMutex.h
+xpdf/GMutex.h
+
+xpdf/Link.h
+aconf.h
+-
+Object.h
+xpdf/Object.h
+
+xpdf/Object.h
+aconf.h
+-
+stdio.h
+-
+string.h
+-
+gtypes.h
+xpdf/gtypes.h
+gmem.h
+xpdf/gmem.h
+gfile.h
+xpdf/gfile.h
+GString.h
+xpdf/GString.h
+GMutex.h
+xpdf/GMutex.h
+Array.h
+xpdf/Array.h
+Dict.h
+xpdf/Dict.h
+Stream.h
+xpdf/Stream.h
+
+xpdf/OutputDev.h
+aconf.h
+-
+gtypes.h
+xpdf/gtypes.h
+CharTypes.h
+xpdf/CharTypes.h
+
+xpdf/PDFCore.h
+aconf.h
+-
+stdlib.h
+-
+SplashTypes.h
+xpdf/SplashTypes.h
+CharTypes.h
+xpdf/CharTypes.h
+DisplayState.h
+xpdf/DisplayState.h
+TextOutputDev.h
+xpdf/TextOutputDev.h
+
+xpdf/PDFDoc.h
+aconf.h
+-
+stdio.h
+-
+XRef.h
+xpdf/XRef.h
+Catalog.h
+xpdf/Catalog.h
+Page.h
+xpdf/Page.h
+
+xpdf/PSOutputDev.h
+aconf.h
+-
+stddef.h
+-
+config.h
+xpdf/config.h
+Object.h
+xpdf/Object.h
+GlobalParams.h
+xpdf/GlobalParams.h
+OutputDev.h
+xpdf/OutputDev.h
+
+xpdf/Page.h
+aconf.h
+-
+Object.h
+xpdf/Object.h
+
+xpdf/Stream.h
+aconf.h
+-
+stdio.h
+-
+jpeglib.h
+-
+setjmp.h
+-
+gtypes.h
+xpdf/gtypes.h
+gfile.h
+xpdf/gfile.h
+Object.h
+xpdf/Object.h
+
+xpdf/TextOutputDev.h
+aconf.h
+-
+stdio.h
+-
+gtypes.h
+xpdf/gtypes.h
+GfxFont.h
+xpdf/GfxFont.h
+OutputDev.h
+xpdf/OutputDev.h
+
+xpdf/TileMap.h
+aconf.h
+-
+gtypes.h
+xpdf/gtypes.h
+
+xpdf/XRef.h
+aconf.h
+-
+gtypes.h
+xpdf/gtypes.h
+gfile.h
+xpdf/gfile.h
+Object.h
+xpdf/Object.h
+GMutex.h
+xpdf/GMutex.h
+
+xpdf/config.h
+
diff --git a/xpdf-qt/CMakeFiles/xpdf.dir/DependInfo.cmake b/xpdf-qt/CMakeFiles/xpdf.dir/DependInfo.cmake
new file mode 100644
index 0000000..53943b3
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/xpdf.dir/DependInfo.cmake
@@ -0,0 +1,53 @@
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+ "CXX"
+ )
+# The set of files for implicit dependencies of each language:
+set(CMAKE_DEPENDS_CHECK_CXX
+ "/home/calvin/src/xpdf-4.04/xpdf-qt/QtPDFCore.cc" "/home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o"
+ "/home/calvin/src/xpdf-4.04/xpdf-qt/XpdfApp.cc" "/home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o"
+ "/home/calvin/src/xpdf-4.04/xpdf-qt/XpdfViewer.cc" "/home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o"
+ "/home/calvin/src/xpdf-4.04/xpdf-qt/XpdfWidget.cc" "/home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o"
+ "/home/calvin/src/xpdf-4.04/xpdf-qt/XpdfWidgetPrint.cc" "/home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o"
+ "/home/calvin/src/xpdf-4.04/xpdf-qt/moc_XpdfApp.cpp" "/home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o"
+ "/home/calvin/src/xpdf-4.04/xpdf-qt/moc_XpdfViewer.cpp" "/home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o"
+ "/home/calvin/src/xpdf-4.04/xpdf-qt/moc_XpdfWidget.cpp" "/home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o"
+ "/home/calvin/src/xpdf-4.04/xpdf-qt/qrc_icons.cpp" "/home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/xpdf.dir/qrc_icons.cpp.o"
+ "/home/calvin/src/xpdf-4.04/xpdf-qt/xpdf.cc" "/home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o"
+ )
+set(CMAKE_CXX_COMPILER_ID "GNU")
+
+# Preprocessor definitions for this target.
+set(CMAKE_TARGET_DEFINITIONS_CXX
+ "QT_CORE_LIB"
+ "QT_GUI_LIB"
+ "QT_NETWORK_LIB"
+ "QT_NO_DEBUG"
+ "QT_PRINTSUPPORT_LIB"
+ "QT_WIDGETS_LIB"
+ "XPDFWIDGET_PRINTING=1"
+ )
+
+# The include file search paths:
+set(CMAKE_CXX_TARGET_INCLUDE_PATH
+ "."
+ "goo"
+ "fofi"
+ "splash"
+ "xpdf"
+ "/usr/include/x86_64-linux-gnu/qt5"
+ "/usr/include/x86_64-linux-gnu/qt5/QtWidgets"
+ "/usr/include/x86_64-linux-gnu/qt5/QtGui"
+ "/usr/include/x86_64-linux-gnu/qt5/QtCore"
+ "/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ /usr/include/x86_64-linux-gnu/qt5"
+ "/usr/include/x86_64-linux-gnu/qt5/QtNetwork"
+ "/usr/include/x86_64-linux-gnu/qt5/QtPrintSupport"
+ "/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++"
+ )
+
+# Targets to which this target links.
+set(CMAKE_TARGET_LINKED_INFO_FILES
+ )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
diff --git a/xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o b/xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o
new file mode 100644
index 0000000..9a4b536
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o
Binary files differ
diff --git a/xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o b/xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o
new file mode 100644
index 0000000..3e3c607
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o
Binary files differ
diff --git a/xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o b/xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o
new file mode 100644
index 0000000..ab1667c
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o
Binary files differ
diff --git a/xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o b/xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o
new file mode 100644
index 0000000..41b4e53
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o
Binary files differ
diff --git a/xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o b/xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o
new file mode 100644
index 0000000..de6529d
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o
Binary files differ
diff --git a/xpdf-qt/CMakeFiles/xpdf.dir/build.make b/xpdf-qt/CMakeFiles/xpdf.dir/build.make
new file mode 100644
index 0000000..386e1f5
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/xpdf.dir/build.make
@@ -0,0 +1,479 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.18
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/calvin/src/xpdf-4.04
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/calvin/src/xpdf-4.04
+
+# Include any dependencies generated for this target.
+include xpdf-qt/CMakeFiles/xpdf.dir/depend.make
+
+# Include the progress variables for this target.
+include xpdf-qt/CMakeFiles/xpdf.dir/progress.make
+
+# Include the compile flags for this target's objects.
+include xpdf-qt/CMakeFiles/xpdf.dir/flags.make
+
+xpdf-qt/moc_XpdfApp.cpp: xpdf-qt/XpdfApp.h
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/calvin/src/xpdf-4.04/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating moc_XpdfApp.cpp"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/lib/qt5/bin/moc @/home/calvin/src/xpdf-4.04/xpdf-qt/moc_XpdfApp.cpp_parameters
+
+xpdf-qt/moc_XpdfViewer.cpp: xpdf-qt/XpdfViewer.h
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/calvin/src/xpdf-4.04/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Generating moc_XpdfViewer.cpp"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/lib/qt5/bin/moc @/home/calvin/src/xpdf-4.04/xpdf-qt/moc_XpdfViewer.cpp_parameters
+
+xpdf-qt/moc_XpdfWidget.cpp: xpdf-qt/XpdfWidget.h
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/calvin/src/xpdf-4.04/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Generating moc_XpdfWidget.cpp"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/lib/qt5/bin/moc @/home/calvin/src/xpdf-4.04/xpdf-qt/moc_XpdfWidget.cpp_parameters
+
+xpdf-qt/qrc_icons.cpp: xpdf-qt/back.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/forward.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/findNext.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/findPrevious.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/findSettings.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/fitPage.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/fitPageOn.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/fitWidth.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/fitWidthOn.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/toggleSidebar.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/zoomIn.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/zoomOut.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/indicator-icon0.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/indicator-icon1.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/indicator-icon2.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/indicator-icon3.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/indicator-icon4.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/indicator-icon5.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/indicator-icon6.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/indicator-icon7.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/indicator-icon-err0.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/indicator-icon-err1.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/indicator-icon-err2.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/indicator-icon-err3.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/indicator-icon-err4.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/indicator-icon-err5.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/indicator-icon-err6.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/indicator-icon-err7.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/selectModeLinear.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/selectModeBlock.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/xpdf-icon.svg
+xpdf-qt/qrc_icons.cpp: xpdf-qt/icons.qrc.depends
+xpdf-qt/qrc_icons.cpp: xpdf-qt/icons.qrc
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/calvin/src/xpdf-4.04/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Generating qrc_icons.cpp"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/lib/qt5/bin/rcc --name icons --output /home/calvin/src/xpdf-4.04/xpdf-qt/qrc_icons.cpp /home/calvin/src/xpdf-4.04/xpdf-qt/icons.qrc
+
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: xpdf-qt/CMakeFiles/xpdf.dir/flags.make
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: xpdf-qt/XpdfWidgetPrint.cc
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/calvin/src/xpdf-4.04/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o -c /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfWidgetPrint.cc
+
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.i"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfWidgetPrint.cc > CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.i
+
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.s"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfWidgetPrint.cc -o CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.s
+
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf-qt/CMakeFiles/xpdf.dir/flags.make
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf-qt/QtPDFCore.cc
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/calvin/src/xpdf-4.04/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/xpdf.dir/QtPDFCore.cc.o -c /home/calvin/src/xpdf-4.04/xpdf-qt/QtPDFCore.cc
+
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/xpdf.dir/QtPDFCore.cc.i"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/calvin/src/xpdf-4.04/xpdf-qt/QtPDFCore.cc > CMakeFiles/xpdf.dir/QtPDFCore.cc.i
+
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/xpdf.dir/QtPDFCore.cc.s"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/calvin/src/xpdf-4.04/xpdf-qt/QtPDFCore.cc -o CMakeFiles/xpdf.dir/QtPDFCore.cc.s
+
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: xpdf-qt/CMakeFiles/xpdf.dir/flags.make
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: xpdf-qt/XpdfApp.cc
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/calvin/src/xpdf-4.04/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building CXX object xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/xpdf.dir/XpdfApp.cc.o -c /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfApp.cc
+
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/xpdf.dir/XpdfApp.cc.i"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfApp.cc > CMakeFiles/xpdf.dir/XpdfApp.cc.i
+
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/xpdf.dir/XpdfApp.cc.s"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfApp.cc -o CMakeFiles/xpdf.dir/XpdfApp.cc.s
+
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf-qt/CMakeFiles/xpdf.dir/flags.make
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf-qt/XpdfViewer.cc
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/calvin/src/xpdf-4.04/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/xpdf.dir/XpdfViewer.cc.o -c /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfViewer.cc
+
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/xpdf.dir/XpdfViewer.cc.i"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfViewer.cc > CMakeFiles/xpdf.dir/XpdfViewer.cc.i
+
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/xpdf.dir/XpdfViewer.cc.s"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfViewer.cc -o CMakeFiles/xpdf.dir/XpdfViewer.cc.s
+
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf-qt/CMakeFiles/xpdf.dir/flags.make
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf-qt/XpdfWidget.cc
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/calvin/src/xpdf-4.04/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building CXX object xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/xpdf.dir/XpdfWidget.cc.o -c /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfWidget.cc
+
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/xpdf.dir/XpdfWidget.cc.i"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfWidget.cc > CMakeFiles/xpdf.dir/XpdfWidget.cc.i
+
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/xpdf.dir/XpdfWidget.cc.s"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfWidget.cc -o CMakeFiles/xpdf.dir/XpdfWidget.cc.s
+
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: xpdf-qt/CMakeFiles/xpdf.dir/flags.make
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: xpdf-qt/xpdf.cc
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/calvin/src/xpdf-4.04/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building CXX object xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/xpdf.dir/xpdf.cc.o -c /home/calvin/src/xpdf-4.04/xpdf-qt/xpdf.cc
+
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/xpdf.dir/xpdf.cc.i"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/calvin/src/xpdf-4.04/xpdf-qt/xpdf.cc > CMakeFiles/xpdf.dir/xpdf.cc.i
+
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/xpdf.dir/xpdf.cc.s"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/calvin/src/xpdf-4.04/xpdf-qt/xpdf.cc -o CMakeFiles/xpdf.dir/xpdf.cc.s
+
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: xpdf-qt/CMakeFiles/xpdf.dir/flags.make
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: xpdf-qt/moc_XpdfApp.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/calvin/src/xpdf-4.04/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Building CXX object xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o -c /home/calvin/src/xpdf-4.04/xpdf-qt/moc_XpdfApp.cpp
+
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.i"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/calvin/src/xpdf-4.04/xpdf-qt/moc_XpdfApp.cpp > CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.i
+
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.s"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/calvin/src/xpdf-4.04/xpdf-qt/moc_XpdfApp.cpp -o CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.s
+
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: xpdf-qt/CMakeFiles/xpdf.dir/flags.make
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: xpdf-qt/moc_XpdfViewer.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/calvin/src/xpdf-4.04/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Building CXX object xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o -c /home/calvin/src/xpdf-4.04/xpdf-qt/moc_XpdfViewer.cpp
+
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.i"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/calvin/src/xpdf-4.04/xpdf-qt/moc_XpdfViewer.cpp > CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.i
+
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.s"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/calvin/src/xpdf-4.04/xpdf-qt/moc_XpdfViewer.cpp -o CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.s
+
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: xpdf-qt/CMakeFiles/xpdf.dir/flags.make
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: xpdf-qt/moc_XpdfWidget.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/calvin/src/xpdf-4.04/CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Building CXX object xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o -c /home/calvin/src/xpdf-4.04/xpdf-qt/moc_XpdfWidget.cpp
+
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.i"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/calvin/src/xpdf-4.04/xpdf-qt/moc_XpdfWidget.cpp > CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.i
+
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.s"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/calvin/src/xpdf-4.04/xpdf-qt/moc_XpdfWidget.cpp -o CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.s
+
+xpdf-qt/CMakeFiles/xpdf.dir/qrc_icons.cpp.o: xpdf-qt/CMakeFiles/xpdf.dir/flags.make
+xpdf-qt/CMakeFiles/xpdf.dir/qrc_icons.cpp.o: xpdf-qt/qrc_icons.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/calvin/src/xpdf-4.04/CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Building CXX object xpdf-qt/CMakeFiles/xpdf.dir/qrc_icons.cpp.o"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/xpdf.dir/qrc_icons.cpp.o -c /home/calvin/src/xpdf-4.04/xpdf-qt/qrc_icons.cpp
+
+xpdf-qt/CMakeFiles/xpdf.dir/qrc_icons.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/xpdf.dir/qrc_icons.cpp.i"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/calvin/src/xpdf-4.04/xpdf-qt/qrc_icons.cpp > CMakeFiles/xpdf.dir/qrc_icons.cpp.i
+
+xpdf-qt/CMakeFiles/xpdf.dir/qrc_icons.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/xpdf.dir/qrc_icons.cpp.s"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/calvin/src/xpdf-4.04/xpdf-qt/qrc_icons.cpp -o CMakeFiles/xpdf.dir/qrc_icons.cpp.s
+
+# Object files for target xpdf
+xpdf_OBJECTS = \
+"CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o" \
+"CMakeFiles/xpdf.dir/QtPDFCore.cc.o" \
+"CMakeFiles/xpdf.dir/XpdfApp.cc.o" \
+"CMakeFiles/xpdf.dir/XpdfViewer.cc.o" \
+"CMakeFiles/xpdf.dir/XpdfWidget.cc.o" \
+"CMakeFiles/xpdf.dir/xpdf.cc.o" \
+"CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o" \
+"CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o" \
+"CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o" \
+"CMakeFiles/xpdf.dir/qrc_icons.cpp.o"
+
+# External object files for target xpdf
+xpdf_EXTERNAL_OBJECTS = \
+"/home/calvin/src/xpdf-4.04/goo/CMakeFiles/goo_objs.dir/FixedPoint.cc.o" \
+"/home/calvin/src/xpdf-4.04/goo/CMakeFiles/goo_objs.dir/GHash.cc.o" \
+"/home/calvin/src/xpdf-4.04/goo/CMakeFiles/goo_objs.dir/GList.cc.o" \
+"/home/calvin/src/xpdf-4.04/goo/CMakeFiles/goo_objs.dir/GString.cc.o" \
+"/home/calvin/src/xpdf-4.04/goo/CMakeFiles/goo_objs.dir/gfile.cc.o" \
+"/home/calvin/src/xpdf-4.04/goo/CMakeFiles/goo_objs.dir/gmem.cc.o" \
+"/home/calvin/src/xpdf-4.04/goo/CMakeFiles/goo_objs.dir/gmempp.cc.o" \
+"/home/calvin/src/xpdf-4.04/goo/CMakeFiles/goo_objs.dir/parseargs.c.o" \
+"/home/calvin/src/xpdf-4.04/goo/CMakeFiles/goo_objs.dir/Trace.cc.o" \
+"/home/calvin/src/xpdf-4.04/fofi/CMakeFiles/fofi_objs.dir/FoFiBase.cc.o" \
+"/home/calvin/src/xpdf-4.04/fofi/CMakeFiles/fofi_objs.dir/FoFiEncodings.cc.o" \
+"/home/calvin/src/xpdf-4.04/fofi/CMakeFiles/fofi_objs.dir/FoFiIdentifier.cc.o" \
+"/home/calvin/src/xpdf-4.04/fofi/CMakeFiles/fofi_objs.dir/FoFiTrueType.cc.o" \
+"/home/calvin/src/xpdf-4.04/fofi/CMakeFiles/fofi_objs.dir/FoFiType1.cc.o" \
+"/home/calvin/src/xpdf-4.04/fofi/CMakeFiles/fofi_objs.dir/FoFiType1C.cc.o" \
+"/home/calvin/src/xpdf-4.04/splash/CMakeFiles/splash_objs.dir/Splash.cc.o" \
+"/home/calvin/src/xpdf-4.04/splash/CMakeFiles/splash_objs.dir/SplashBitmap.cc.o" \
+"/home/calvin/src/xpdf-4.04/splash/CMakeFiles/splash_objs.dir/SplashClip.cc.o" \
+"/home/calvin/src/xpdf-4.04/splash/CMakeFiles/splash_objs.dir/SplashFTFont.cc.o" \
+"/home/calvin/src/xpdf-4.04/splash/CMakeFiles/splash_objs.dir/SplashFTFontEngine.cc.o" \
+"/home/calvin/src/xpdf-4.04/splash/CMakeFiles/splash_objs.dir/SplashFTFontFile.cc.o" \
+"/home/calvin/src/xpdf-4.04/splash/CMakeFiles/splash_objs.dir/SplashFont.cc.o" \
+"/home/calvin/src/xpdf-4.04/splash/CMakeFiles/splash_objs.dir/SplashFontEngine.cc.o" \
+"/home/calvin/src/xpdf-4.04/splash/CMakeFiles/splash_objs.dir/SplashFontFile.cc.o" \
+"/home/calvin/src/xpdf-4.04/splash/CMakeFiles/splash_objs.dir/SplashFontFileID.cc.o" \
+"/home/calvin/src/xpdf-4.04/splash/CMakeFiles/splash_objs.dir/SplashPath.cc.o" \
+"/home/calvin/src/xpdf-4.04/splash/CMakeFiles/splash_objs.dir/SplashPattern.cc.o" \
+"/home/calvin/src/xpdf-4.04/splash/CMakeFiles/splash_objs.dir/SplashScreen.cc.o" \
+"/home/calvin/src/xpdf-4.04/splash/CMakeFiles/splash_objs.dir/SplashState.cc.o" \
+"/home/calvin/src/xpdf-4.04/splash/CMakeFiles/splash_objs.dir/SplashXPath.cc.o" \
+"/home/calvin/src/xpdf-4.04/splash/CMakeFiles/splash_objs.dir/SplashXPathScanner.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/AcroForm.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/Annot.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/Array.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/BuiltinFont.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/BuiltinFontTables.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/Catalog.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/CharCodeToUnicode.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/CMap.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/Decrypt.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/Dict.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/Error.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/FontEncodingTables.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/Function.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/Gfx.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/GfxFont.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/GfxState.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/GlobalParams.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/JArithmeticDecoder.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/JBIG2Stream.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/JPXStream.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/Lexer.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/Link.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/NameToCharCode.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/Object.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/OptionalContent.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/Outline.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/OutputDev.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/Page.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/Parser.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/PDF417Barcode.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/PDFDoc.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/PDFDocEncoding.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/PSTokenizer.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/SecurityHandler.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/Stream.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/TextString.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/UnicodeMap.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/UnicodeRemapping.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/UnicodeTypeTable.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/UTF8.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/XFAScanner.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/XRef.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_objs.dir/Zoox.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_widget_objs.dir/DisplayState.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_widget_objs.dir/PDFCore.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_widget_objs.dir/PreScanOutputDev.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_widget_objs.dir/PSOutputDev.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_widget_objs.dir/ShadingImage.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_widget_objs.dir/SplashOutputDev.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_widget_objs.dir/TextOutputDev.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_widget_objs.dir/TileCache.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_widget_objs.dir/TileCompositor.cc.o" \
+"/home/calvin/src/xpdf-4.04/xpdf/CMakeFiles/xpdf_widget_objs.dir/TileMap.cc.o"
+
+xpdf-qt/xpdf: xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o
+xpdf-qt/xpdf: xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o
+xpdf-qt/xpdf: xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o
+xpdf-qt/xpdf: xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o
+xpdf-qt/xpdf: xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o
+xpdf-qt/xpdf: xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o
+xpdf-qt/xpdf: xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o
+xpdf-qt/xpdf: xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o
+xpdf-qt/xpdf: xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o
+xpdf-qt/xpdf: xpdf-qt/CMakeFiles/xpdf.dir/qrc_icons.cpp.o
+xpdf-qt/xpdf: goo/CMakeFiles/goo_objs.dir/FixedPoint.cc.o
+xpdf-qt/xpdf: goo/CMakeFiles/goo_objs.dir/GHash.cc.o
+xpdf-qt/xpdf: goo/CMakeFiles/goo_objs.dir/GList.cc.o
+xpdf-qt/xpdf: goo/CMakeFiles/goo_objs.dir/GString.cc.o
+xpdf-qt/xpdf: goo/CMakeFiles/goo_objs.dir/gfile.cc.o
+xpdf-qt/xpdf: goo/CMakeFiles/goo_objs.dir/gmem.cc.o
+xpdf-qt/xpdf: goo/CMakeFiles/goo_objs.dir/gmempp.cc.o
+xpdf-qt/xpdf: goo/CMakeFiles/goo_objs.dir/parseargs.c.o
+xpdf-qt/xpdf: goo/CMakeFiles/goo_objs.dir/Trace.cc.o
+xpdf-qt/xpdf: fofi/CMakeFiles/fofi_objs.dir/FoFiBase.cc.o
+xpdf-qt/xpdf: fofi/CMakeFiles/fofi_objs.dir/FoFiEncodings.cc.o
+xpdf-qt/xpdf: fofi/CMakeFiles/fofi_objs.dir/FoFiIdentifier.cc.o
+xpdf-qt/xpdf: fofi/CMakeFiles/fofi_objs.dir/FoFiTrueType.cc.o
+xpdf-qt/xpdf: fofi/CMakeFiles/fofi_objs.dir/FoFiType1.cc.o
+xpdf-qt/xpdf: fofi/CMakeFiles/fofi_objs.dir/FoFiType1C.cc.o
+xpdf-qt/xpdf: splash/CMakeFiles/splash_objs.dir/Splash.cc.o
+xpdf-qt/xpdf: splash/CMakeFiles/splash_objs.dir/SplashBitmap.cc.o
+xpdf-qt/xpdf: splash/CMakeFiles/splash_objs.dir/SplashClip.cc.o
+xpdf-qt/xpdf: splash/CMakeFiles/splash_objs.dir/SplashFTFont.cc.o
+xpdf-qt/xpdf: splash/CMakeFiles/splash_objs.dir/SplashFTFontEngine.cc.o
+xpdf-qt/xpdf: splash/CMakeFiles/splash_objs.dir/SplashFTFontFile.cc.o
+xpdf-qt/xpdf: splash/CMakeFiles/splash_objs.dir/SplashFont.cc.o
+xpdf-qt/xpdf: splash/CMakeFiles/splash_objs.dir/SplashFontEngine.cc.o
+xpdf-qt/xpdf: splash/CMakeFiles/splash_objs.dir/SplashFontFile.cc.o
+xpdf-qt/xpdf: splash/CMakeFiles/splash_objs.dir/SplashFontFileID.cc.o
+xpdf-qt/xpdf: splash/CMakeFiles/splash_objs.dir/SplashPath.cc.o
+xpdf-qt/xpdf: splash/CMakeFiles/splash_objs.dir/SplashPattern.cc.o
+xpdf-qt/xpdf: splash/CMakeFiles/splash_objs.dir/SplashScreen.cc.o
+xpdf-qt/xpdf: splash/CMakeFiles/splash_objs.dir/SplashState.cc.o
+xpdf-qt/xpdf: splash/CMakeFiles/splash_objs.dir/SplashXPath.cc.o
+xpdf-qt/xpdf: splash/CMakeFiles/splash_objs.dir/SplashXPathScanner.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/AcroForm.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/Annot.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/Array.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/BuiltinFont.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/BuiltinFontTables.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/Catalog.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/CharCodeToUnicode.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/CMap.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/Decrypt.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/Dict.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/Error.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/FontEncodingTables.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/Function.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/Gfx.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/GfxFont.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/GfxState.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/GlobalParams.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/JArithmeticDecoder.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/JBIG2Stream.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/JPXStream.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/Lexer.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/Link.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/NameToCharCode.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/Object.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/OptionalContent.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/Outline.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/OutputDev.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/Page.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/Parser.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/PDF417Barcode.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/PDFDoc.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/PDFDocEncoding.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/PSTokenizer.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/SecurityHandler.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/Stream.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/TextString.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/UnicodeMap.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/UnicodeRemapping.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/UnicodeTypeTable.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/UTF8.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/XFAScanner.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/XRef.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_objs.dir/Zoox.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_widget_objs.dir/DisplayState.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_widget_objs.dir/PDFCore.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_widget_objs.dir/PreScanOutputDev.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_widget_objs.dir/PSOutputDev.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_widget_objs.dir/ShadingImage.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_widget_objs.dir/SplashOutputDev.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_widget_objs.dir/TextOutputDev.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_widget_objs.dir/TileCache.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_widget_objs.dir/TileCompositor.cc.o
+xpdf-qt/xpdf: xpdf/CMakeFiles/xpdf_widget_objs.dir/TileMap.cc.o
+xpdf-qt/xpdf: xpdf-qt/CMakeFiles/xpdf.dir/build.make
+xpdf-qt/xpdf: /usr/lib/x86_64-linux-gnu/libQt5Network.so.5.15.2
+xpdf-qt/xpdf: /usr/lib/x86_64-linux-gnu/libQt5PrintSupport.so.5.15.2
+xpdf-qt/xpdf: /usr/lib/x86_64-linux-gnu/libcups.so
+xpdf-qt/xpdf: /usr/lib/x86_64-linux-gnu/libfreetype.so
+xpdf-qt/xpdf: /usr/lib/x86_64-linux-gnu/libfontconfig.so
+xpdf-qt/xpdf: /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.15.2
+xpdf-qt/xpdf: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.15.2
+xpdf-qt/xpdf: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.15.2
+xpdf-qt/xpdf: xpdf-qt/CMakeFiles/xpdf.dir/link.txt
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/calvin/src/xpdf-4.04/CMakeFiles --progress-num=$(CMAKE_PROGRESS_15) "Linking CXX executable xpdf"
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/xpdf.dir/link.txt --verbose=$(VERBOSE)
+
+# Rule to build all files generated by this target.
+xpdf-qt/CMakeFiles/xpdf.dir/build: xpdf-qt/xpdf
+
+.PHONY : xpdf-qt/CMakeFiles/xpdf.dir/build
+
+xpdf-qt/CMakeFiles/xpdf.dir/clean:
+ cd /home/calvin/src/xpdf-4.04/xpdf-qt && $(CMAKE_COMMAND) -P CMakeFiles/xpdf.dir/cmake_clean.cmake
+.PHONY : xpdf-qt/CMakeFiles/xpdf.dir/clean
+
+xpdf-qt/CMakeFiles/xpdf.dir/depend: xpdf-qt/moc_XpdfApp.cpp
+xpdf-qt/CMakeFiles/xpdf.dir/depend: xpdf-qt/moc_XpdfViewer.cpp
+xpdf-qt/CMakeFiles/xpdf.dir/depend: xpdf-qt/moc_XpdfWidget.cpp
+xpdf-qt/CMakeFiles/xpdf.dir/depend: xpdf-qt/qrc_icons.cpp
+ cd /home/calvin/src/xpdf-4.04 && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/calvin/src/xpdf-4.04 /home/calvin/src/xpdf-4.04/xpdf-qt /home/calvin/src/xpdf-4.04 /home/calvin/src/xpdf-4.04/xpdf-qt /home/calvin/src/xpdf-4.04/xpdf-qt/CMakeFiles/xpdf.dir/DependInfo.cmake --color=$(COLOR)
+.PHONY : xpdf-qt/CMakeFiles/xpdf.dir/depend
+
diff --git a/xpdf-qt/CMakeFiles/xpdf.dir/cmake_clean.cmake b/xpdf-qt/CMakeFiles/xpdf.dir/cmake_clean.cmake
new file mode 100644
index 0000000..0263ddf
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/xpdf.dir/cmake_clean.cmake
@@ -0,0 +1,23 @@
+file(REMOVE_RECURSE
+ "CMakeFiles/xpdf.dir/QtPDFCore.cc.o"
+ "CMakeFiles/xpdf.dir/XpdfApp.cc.o"
+ "CMakeFiles/xpdf.dir/XpdfViewer.cc.o"
+ "CMakeFiles/xpdf.dir/XpdfWidget.cc.o"
+ "CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o"
+ "CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o"
+ "CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o"
+ "CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o"
+ "CMakeFiles/xpdf.dir/qrc_icons.cpp.o"
+ "CMakeFiles/xpdf.dir/xpdf.cc.o"
+ "moc_XpdfApp.cpp"
+ "moc_XpdfViewer.cpp"
+ "moc_XpdfWidget.cpp"
+ "qrc_icons.cpp"
+ "xpdf"
+ "xpdf.pdb"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang C CXX)
+ include(CMakeFiles/xpdf.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
diff --git a/xpdf-qt/CMakeFiles/xpdf.dir/depend.internal b/xpdf-qt/CMakeFiles/xpdf.dir/depend.internal
new file mode 100644
index 0000000..c0ef3d7
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/xpdf.dir/depend.internal
@@ -0,0 +1,1412 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.18
+
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o
+ /home/calvin/src/xpdf-4.04/xpdf-qt/QtPDFCore.cc
+ /home/calvin/src/xpdf-4.04/xpdf-qt/QtPDFCore.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/QDateTime
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/QFileInfo
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/QProcess
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/QUrl
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_bootstrap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_msvc.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearraylist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcompilerdetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig-bootstrapped.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainerfwd.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainertools_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontiguouscache.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreevent.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatetime.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qeventloop.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qfile.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qfiledevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qfileinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qgenericatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobalstatic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qhashfunctions.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qiodevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qiterator.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qline.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qnumeric.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qprocess.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qprocessordetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qregexp.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qset.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstandardpaths.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringalgorithms.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringliteral.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringmatcher.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsysinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsystemdetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtcore-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtextstream.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtypeinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qurl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qurlquery.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qversiontagging.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/QClipboard
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/QDesktopServices
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/QImage
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/QPainter
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qbrush.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qclipboard.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qcolor.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qcursor.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qdesktopservices.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontmetrics.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qguiapplication.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qinputmethod.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qkeysequence.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpainter.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpalette.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpen.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixelformat.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qregion.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgb.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgba64.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextcursor.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextformat.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextoption.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtgui-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtouchdevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtransform.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs_win.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QInputDialog
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QMessageBox
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QScrollBar
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QStyle
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QWidget
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractslider.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdesktopwidget.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdialog.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qframe.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qinputdialog.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qlineedit.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmessagebox.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qscrollbar.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qsizepolicy.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qstyle.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgets-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h
+ aconf.h
+ aconf2.h
+ goo/FixedPoint.h
+ goo/GList.h
+ goo/GMutex.h
+ goo/GString.h
+ goo/gfile.h
+ goo/gmem.h
+ goo/gmempp.h
+ goo/gtypes.h
+ splash/SplashBitmap.h
+ splash/SplashTypes.h
+ xpdf/Array.h
+ xpdf/Catalog.h
+ xpdf/CharTypes.h
+ xpdf/Dict.h
+ xpdf/DisplayState.h
+ xpdf/Error.h
+ xpdf/ErrorCodes.h
+ xpdf/Function.h
+ xpdf/GfxFont.h
+ xpdf/GfxState.h
+ xpdf/GlobalParams.h
+ xpdf/Link.h
+ xpdf/Object.h
+ xpdf/OutputDev.h
+ xpdf/PDFCore.h
+ xpdf/PDFDoc.h
+ xpdf/PSOutputDev.h
+ xpdf/Page.h
+ xpdf/Stream.h
+ xpdf/TextOutputDev.h
+ xpdf/TileMap.h
+ xpdf/XRef.h
+ xpdf/config.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o
+ /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfApp.cc
+ /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfApp.h
+ /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfViewer.h
+ /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfWidget.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/QDateTime
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/QFileInfo
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_bootstrap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_msvc.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearraylist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcompilerdetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig-bootstrapped.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainerfwd.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainertools_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontiguouscache.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreevent.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatetime.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qeventloop.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qfile.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qfiledevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qfileinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qgenericatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobalstatic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qhashfunctions.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qiodevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qiterator.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qline.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qnumeric.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qprocessordetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qregexp.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qset.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringalgorithms.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringliteral.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringmatcher.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsysinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsystemdetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtcore-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtextstream.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtypeinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qurl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qurlquery.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qversiontagging.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/QColor
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qbrush.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qcolor.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qcursor.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontmetrics.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qguiapplication.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qinputmethod.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qkeysequence.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpalette.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixelformat.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qregion.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgb.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgba64.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtgui-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtouchdevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtransform.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs_win.h
+ /usr/include/x86_64-linux-gnu/qt5/QtNetwork/QLocalServer
+ /usr/include/x86_64-linux-gnu/qt5/QtNetwork/QLocalSocket
+ /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qabstractsocket.h
+ /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qlocalserver.h
+ /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qlocalsocket.h
+ /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qtnetwork-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qtnetworkglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QAbstractScrollArea
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QDialog
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QMainWindow
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QToolButton
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractbutton.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractscrollarea.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdesktopwidget.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdialog.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qframe.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmainwindow.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qsizepolicy.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtabwidget.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtoolbutton.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgets-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h
+ aconf.h
+ aconf2.h
+ goo/GList.h
+ goo/GMutex.h
+ goo/GString.h
+ goo/gfile.h
+ goo/gmempp.h
+ goo/gtypes.h
+ goo/parseargs.h
+ xpdf/CharTypes.h
+ xpdf/Error.h
+ xpdf/GlobalParams.h
+ xpdf/config.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o
+ /home/calvin/src/xpdf-4.04/xpdf-qt/QtPDFCore.h
+ /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfApp.h
+ /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfViewer.cc
+ /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfViewer.h
+ /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfWidget.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/QAbstractItemModel
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/QDateTime
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/QList
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/QMimeData
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/QProcess
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/QPropertyAnimation
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/QRect
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/QSignalMapper
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/QSize
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/QSizeF
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/QTimer
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qabstractanimation.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qabstractitemmodel.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_bootstrap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_msvc.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasictimer.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearraylist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcompilerdetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig-bootstrapped.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainerfwd.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainertools_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontiguouscache.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreevent.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatetime.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdir.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qeasingcurve.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qeventloop.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qfile.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qfiledevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qfileinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qgenericatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobalstatic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qhashfunctions.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qiodevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qitemselectionmodel.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qiterator.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qline.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmimedata.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qnumeric.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qprocess.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qprocessordetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qpropertyanimation.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qregexp.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qregularexpression.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qset.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsignalmapper.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstandardpaths.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringalgorithms.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringliteral.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringmatcher.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsysinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsystemdetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtcore-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtextstream.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtimer.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtypeinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qurl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qurlquery.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariantanimation.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qversiontagging.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/QClipboard
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/QColor
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/QDesktopServices
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/QKeyEvent
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/QMouseEvent
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/QScreen
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/QTransform
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qbrush.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qclipboard.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qcolor.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qcursor.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qdesktopservices.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontmetrics.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qguiapplication.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qinputmethod.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qkeysequence.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpalette.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpen.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixelformat.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qregion.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgb.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgba64.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qscreen.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextcursor.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextdocument.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextformat.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextoption.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtgui-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtouchdevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtransform.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qvalidator.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs_win.h
+ /usr/include/x86_64-linux-gnu/qt5/QtNetwork/QLocalServer
+ /usr/include/x86_64-linux-gnu/qt5/QtNetwork/QLocalSocket
+ /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qabstractsocket.h
+ /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qlocalserver.h
+ /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qlocalsocket.h
+ /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qtnetwork-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qtnetworkglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QAbstractScrollArea
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QAction
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QActionGroup
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QButtonGroup
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QComboBox
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QDialog
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QFileDialog
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QFrame
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QGridLayout
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QHBoxLayout
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QHeaderView
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QLabel
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QLineEdit
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QListWidget
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QMainWindow
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QMenu
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QMenuBar
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QMessageBox
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QProgressDialog
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QPushButton
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QRadioButton
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QScrollBar
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QSplitter
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QStackedLayout
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QStackedWidget
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QTabWidget
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QTableWidget
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QTextBrowser
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QToolBar
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QToolButton
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QTreeView
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QVBoxLayout
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractbutton.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractitemdelegate.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractitemview.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractscrollarea.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractslider.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractspinbox.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qaction.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qactiongroup.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qboxlayout.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qbuttongroup.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qcombobox.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdesktopwidget.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdialog.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qfiledialog.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qframe.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qgridlayout.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qheaderview.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qlabel.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qlayout.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qlayoutitem.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qlineedit.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qlistview.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qlistwidget.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmainwindow.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenubar.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmessagebox.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qprogressdialog.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qpushbutton.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qradiobutton.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qrubberband.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qscrollbar.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qsizepolicy.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qslider.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qsplitter.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qstackedlayout.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qstackedwidget.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qstyle.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qstyleoption.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtabbar.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtableview.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtablewidget.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtabwidget.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtextbrowser.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtextedit.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtoolbar.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtoolbutton.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtreeview.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgets-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h
+ aconf.h
+ aconf2.h
+ goo/FixedPoint.h
+ goo/GList.h
+ goo/GMutex.h
+ goo/GString.h
+ goo/gfile.h
+ goo/gmem.h
+ goo/gmempp.h
+ goo/gtypes.h
+ splash/SplashTypes.h
+ xpdf/AcroForm.h
+ xpdf/Annot.h
+ xpdf/Array.h
+ xpdf/Catalog.h
+ xpdf/CharTypes.h
+ xpdf/Dict.h
+ xpdf/DisplayState.h
+ xpdf/Error.h
+ xpdf/GfxFont.h
+ xpdf/GlobalParams.h
+ xpdf/Object.h
+ xpdf/OutputDev.h
+ xpdf/PDFCore.h
+ xpdf/PDFDoc.h
+ xpdf/Page.h
+ xpdf/Stream.h
+ xpdf/TextOutputDev.h
+ xpdf/TextString.h
+ xpdf/XRef.h
+ xpdf/Zoox.h
+ xpdf/config.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o
+ /home/calvin/src/xpdf-4.04/xpdf-qt/QtPDFCore.h
+ /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfWidget.cc
+ /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfWidget.h
+ /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfWidgetPrint.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/QDateTime
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/QMutex
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/QTimer
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_bootstrap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_msvc.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasictimer.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearraylist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcompilerdetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig-bootstrapped.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainerfwd.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainertools_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontiguouscache.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreevent.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatetime.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qeventloop.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qfile.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qfiledevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qgenericatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobalstatic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qhashfunctions.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qiodevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qiterator.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qline.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qnumeric.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qprocessordetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qregexp.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qset.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringalgorithms.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringliteral.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringmatcher.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsysinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsystemdetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtcore-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtextstream.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtimer.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtypeinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qurl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qurlquery.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qversiontagging.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/QKeyEvent
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/QPaintEvent
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qbrush.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qcolor.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qcursor.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontmetrics.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qguiapplication.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qinputmethod.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qkeysequence.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpagedpaintdevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpagelayout.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpagesize.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpalette.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixelformat.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qregion.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgb.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgba64.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtgui-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtouchdevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtransform.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs_win.h
+ /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/QPrintDialog
+ /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/QPrinter
+ /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/qabstractprintdialog.h
+ /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/qprintdialog.h
+ /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/qprinter.h
+ /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/qtprintsupport-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/qtprintsupportglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QAbstractScrollArea
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QGesture
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QGestureEvent
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractscrollarea.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdesktopwidget.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdialog.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qframe.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qgesture.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qsizepolicy.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgets-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h
+ aconf.h
+ aconf2.h
+ goo/FixedPoint.h
+ goo/GList.h
+ goo/GMutex.h
+ goo/GString.h
+ goo/gfile.h
+ goo/gmem.h
+ goo/gmempp.h
+ goo/gtypes.h
+ splash/SplashBitmap.h
+ splash/SplashTypes.h
+ xpdf/AcroForm.h
+ xpdf/Annot.h
+ xpdf/Array.h
+ xpdf/Catalog.h
+ xpdf/CharTypes.h
+ xpdf/Dict.h
+ xpdf/DisplayState.h
+ xpdf/Function.h
+ xpdf/GfxFont.h
+ xpdf/GfxState.h
+ xpdf/GlobalParams.h
+ xpdf/Link.h
+ xpdf/Object.h
+ xpdf/OptionalContent.h
+ xpdf/Outline.h
+ xpdf/OutputDev.h
+ xpdf/PDFCore.h
+ xpdf/PDFDoc.h
+ xpdf/Page.h
+ xpdf/SplashOutputDev.h
+ xpdf/Stream.h
+ xpdf/TextOutputDev.h
+ xpdf/TextString.h
+ xpdf/XRef.h
+ xpdf/config.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o
+ /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfWidget.h
+ /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfWidgetPrint.cc
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_bootstrap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_msvc.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearraylist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcompilerdetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig-bootstrapped.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainerfwd.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainertools_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontiguouscache.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreevent.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qfile.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qfiledevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qgenericatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobalstatic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qhashfunctions.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qiodevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qiterator.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qline.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qnumeric.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qprocessordetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qregexp.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qset.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringalgorithms.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringliteral.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringmatcher.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsysinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsystemdetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtcore-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtextstream.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtypeinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qurl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qurlquery.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qversiontagging.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qbrush.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qcolor.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qcursor.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontmetrics.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qkeysequence.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpagedpaintdevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpagelayout.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpagesize.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpalette.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixelformat.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qregion.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgb.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgba64.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtgui-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtouchdevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtransform.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs_win.h
+ /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/QPrinter
+ /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/qprinter.h
+ /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/qtprintsupport-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/qtprintsupportglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QAbstractScrollArea
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractscrollarea.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qframe.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qsizepolicy.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgets-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h
+ aconf.h
+ aconf2.h
+ goo/GMutex.h
+ goo/GString.h
+ goo/gfile.h
+ goo/gmem.h
+ goo/gmempp.h
+ goo/gtypes.h
+ xpdf/Array.h
+ xpdf/Catalog.h
+ xpdf/CharTypes.h
+ xpdf/Dict.h
+ xpdf/ErrorCodes.h
+ xpdf/GlobalParams.h
+ xpdf/Object.h
+ xpdf/OutputDev.h
+ xpdf/PDFDoc.h
+ xpdf/PSOutputDev.h
+ xpdf/Page.h
+ xpdf/Stream.h
+ xpdf/XRef.h
+ xpdf/config.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o
+ /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfApp.h
+ /home/calvin/src/xpdf-4.04/xpdf-qt/moc_XpdfApp.cpp
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/QDateTime
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_bootstrap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_msvc.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearraylist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcompilerdetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig-bootstrapped.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainerfwd.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainertools_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontiguouscache.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreevent.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatetime.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qeventloop.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qfile.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qfiledevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qgenericatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobalstatic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qhashfunctions.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qiodevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qiterator.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qline.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qnumeric.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qprocessordetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qregexp.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qset.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringalgorithms.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringliteral.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringmatcher.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsysinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsystemdetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtcore-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtextstream.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtypeinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qurl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qurlquery.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qversiontagging.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/QColor
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qbrush.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qcolor.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qcursor.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontmetrics.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qguiapplication.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qinputmethod.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qkeysequence.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpalette.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixelformat.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qregion.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgb.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgba64.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtgui-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtouchdevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtransform.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs_win.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdesktopwidget.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qsizepolicy.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgets-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h
+ aconf.h
+ aconf2.h
+ goo/gtypes.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o
+ /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfViewer.h
+ /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfWidget.h
+ /home/calvin/src/xpdf-4.04/xpdf-qt/moc_XpdfViewer.cpp
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_bootstrap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_msvc.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearraylist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcompilerdetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig-bootstrapped.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainerfwd.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainertools_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontiguouscache.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreevent.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qfile.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qfiledevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qgenericatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobalstatic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qhashfunctions.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qiodevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qiterator.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qline.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qnumeric.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qprocessordetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qregexp.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qset.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringalgorithms.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringliteral.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringmatcher.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsysinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsystemdetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtcore-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtextstream.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtypeinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qurl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qurlquery.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qversiontagging.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qbrush.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qcolor.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qcursor.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontmetrics.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qkeysequence.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpalette.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixelformat.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qregion.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgb.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgba64.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtgui-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtouchdevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtransform.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs_win.h
+ /usr/include/x86_64-linux-gnu/qt5/QtNetwork/QLocalServer
+ /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qabstractsocket.h
+ /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qlocalserver.h
+ /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qtnetwork-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qtnetworkglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QAbstractScrollArea
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QDialog
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QMainWindow
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QToolButton
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractbutton.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractscrollarea.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdialog.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qframe.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmainwindow.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qsizepolicy.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtabwidget.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtoolbutton.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgets-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h
+ aconf.h
+ aconf2.h
+ goo/gfile.h
+ goo/gtypes.h
+ xpdf/Error.h
+ xpdf/config.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o
+ /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfWidget.h
+ /home/calvin/src/xpdf-4.04/xpdf-qt/moc_XpdfWidget.cpp
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_bootstrap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_msvc.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearraylist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcompilerdetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig-bootstrapped.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainerfwd.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainertools_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontiguouscache.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreevent.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qfile.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qfiledevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qgenericatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobalstatic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qhashfunctions.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qiodevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qiterator.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qline.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qnumeric.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qprocessordetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qregexp.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qset.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringalgorithms.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringliteral.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringmatcher.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsysinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsystemdetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtcore-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtextstream.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtypeinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qurl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qurlquery.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qversiontagging.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qbrush.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qcolor.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qcursor.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontmetrics.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qkeysequence.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpalette.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixelformat.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qregion.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgb.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgba64.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtgui-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtouchdevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtransform.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs_win.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QAbstractScrollArea
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractscrollarea.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qframe.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qsizepolicy.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgets-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h
+ aconf.h
+ aconf2.h
+xpdf-qt/CMakeFiles/xpdf.dir/qrc_icons.cpp.o
+ /home/calvin/src/xpdf-4.04/xpdf-qt/qrc_icons.cpp
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o
+ /home/calvin/src/xpdf-4.04/xpdf-qt/XpdfApp.h
+ /home/calvin/src/xpdf-4.04/xpdf-qt/xpdf.cc
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/QDateTime
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_bootstrap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_msvc.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearraylist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcompilerdetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig-bootstrapped.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainerfwd.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainertools_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontiguouscache.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreevent.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatetime.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qeventloop.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qfile.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qfiledevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qgenericatomic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobalstatic.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qhashfunctions.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qiodevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qiterator.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qline.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qnumeric.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qprocessordetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qregexp.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qset.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringalgorithms.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringliteral.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringmatcher.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsysinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qsystemdetection.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtcore-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtextstream.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qtypeinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qurl.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qurlquery.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h
+ /usr/include/x86_64-linux-gnu/qt5/QtCore/qversiontagging.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/QColor
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qbrush.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qcolor.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qcursor.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontinfo.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontmetrics.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qguiapplication.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qinputmethod.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qkeysequence.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpalette.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixelformat.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qregion.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgb.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgba64.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtgui-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtouchdevice.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qtransform.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs.h
+ /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs_win.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdesktopwidget.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qsizepolicy.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgets-config.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h
+ /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h
+ aconf.h
+ aconf2.h
+ goo/GMutex.h
+ goo/GString.h
+ goo/gfile.h
+ goo/gmem.h
+ goo/gtypes.h
+ xpdf/Array.h
+ xpdf/Dict.h
+ xpdf/Object.h
+ xpdf/Stream.h
diff --git a/xpdf-qt/CMakeFiles/xpdf.dir/depend.make b/xpdf-qt/CMakeFiles/xpdf.dir/depend.make
new file mode 100644
index 0000000..f289c11
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/xpdf.dir/depend.make
@@ -0,0 +1,1412 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.18
+
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf-qt/QtPDFCore.cc
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf-qt/QtPDFCore.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/QDateTime
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/QFileInfo
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/QProcess
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/QUrl
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_bootstrap.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_msvc.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearraylist.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcompilerdetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig-bootstrapped.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainerfwd.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainertools_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontiguouscache.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreevent.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatetime.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qeventloop.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qfile.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qfiledevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qfileinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qgenericatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobalstatic.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qhashfunctions.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qiodevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qiterator.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qline.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qnumeric.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qprocess.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qprocessordetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qregexp.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qset.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstandardpaths.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringalgorithms.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringliteral.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringmatcher.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsysinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsystemdetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtcore-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtextstream.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtypeinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qurl.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qurlquery.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qversiontagging.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/QClipboard
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/QDesktopServices
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/QImage
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/QPainter
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qbrush.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qclipboard.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qcolor.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qcursor.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qdesktopservices.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontmetrics.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qguiapplication.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qinputmethod.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qkeysequence.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpainter.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpalette.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpen.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixelformat.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qregion.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgb.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgba64.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextcursor.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextformat.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextoption.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtgui-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtouchdevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtransform.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs_win.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QInputDialog
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QMessageBox
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QScrollBar
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QStyle
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QWidget
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractslider.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdesktopwidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdialog.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qframe.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qinputdialog.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qlineedit.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmessagebox.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qscrollbar.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qsizepolicy.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qstyle.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgets-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: aconf.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: aconf2.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: goo/FixedPoint.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: goo/GList.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: goo/GMutex.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: goo/GString.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: goo/gfile.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: goo/gmem.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: goo/gmempp.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: goo/gtypes.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: splash/SplashBitmap.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: splash/SplashTypes.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf/Array.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf/Catalog.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf/CharTypes.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf/Dict.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf/DisplayState.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf/Error.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf/ErrorCodes.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf/Function.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf/GfxFont.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf/GfxState.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf/GlobalParams.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf/Link.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf/Object.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf/OutputDev.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf/PDFCore.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf/PDFDoc.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf/PSOutputDev.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf/Page.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf/Stream.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf/TextOutputDev.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf/TileMap.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf/XRef.h
+xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o: xpdf/config.h
+
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: xpdf-qt/XpdfApp.cc
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: xpdf-qt/XpdfApp.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: xpdf-qt/XpdfViewer.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: xpdf-qt/XpdfWidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/QDateTime
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/QFileInfo
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_bootstrap.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_msvc.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearraylist.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcompilerdetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig-bootstrapped.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainerfwd.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainertools_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontiguouscache.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreevent.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatetime.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qeventloop.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qfile.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qfiledevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qfileinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qgenericatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobalstatic.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qhashfunctions.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qiodevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qiterator.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qline.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qnumeric.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qprocessordetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qregexp.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qset.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringalgorithms.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringliteral.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringmatcher.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsysinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsystemdetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtcore-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtextstream.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtypeinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qurl.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qurlquery.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qversiontagging.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/QColor
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qbrush.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qcolor.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qcursor.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontmetrics.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qguiapplication.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qinputmethod.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qkeysequence.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpalette.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixelformat.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qregion.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgb.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgba64.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtgui-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtouchdevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtransform.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs_win.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtNetwork/QLocalServer
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtNetwork/QLocalSocket
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qabstractsocket.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qlocalserver.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qlocalsocket.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qtnetwork-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qtnetworkglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QAbstractScrollArea
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QDialog
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QMainWindow
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QToolButton
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractbutton.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractscrollarea.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdesktopwidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdialog.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qframe.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmainwindow.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qsizepolicy.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtabwidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtoolbutton.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgets-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: aconf.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: aconf2.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: goo/GList.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: goo/GMutex.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: goo/GString.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: goo/gfile.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: goo/gmempp.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: goo/gtypes.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: goo/parseargs.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: xpdf/CharTypes.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: xpdf/Error.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: xpdf/GlobalParams.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o: xpdf/config.h
+
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf-qt/QtPDFCore.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf-qt/XpdfApp.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf-qt/XpdfViewer.cc
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf-qt/XpdfViewer.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf-qt/XpdfWidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/QAbstractItemModel
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/QDateTime
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/QList
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/QMimeData
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/QProcess
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/QPropertyAnimation
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/QRect
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/QSignalMapper
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/QSize
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/QSizeF
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/QTimer
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qabstractanimation.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qabstractitemmodel.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_bootstrap.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_msvc.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasictimer.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearraylist.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcompilerdetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig-bootstrapped.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainerfwd.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainertools_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontiguouscache.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreevent.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatetime.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdir.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qeasingcurve.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qeventloop.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qfile.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qfiledevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qfileinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qgenericatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobalstatic.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qhashfunctions.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qiodevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qitemselectionmodel.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qiterator.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qline.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmimedata.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qnumeric.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qprocess.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qprocessordetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qpropertyanimation.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qregexp.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qregularexpression.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qset.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsignalmapper.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstandardpaths.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringalgorithms.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringliteral.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringmatcher.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsysinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsystemdetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtcore-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtextstream.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtimer.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtypeinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qurl.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qurlquery.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariantanimation.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qversiontagging.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/QClipboard
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/QColor
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/QDesktopServices
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/QKeyEvent
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/QMouseEvent
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/QScreen
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/QTransform
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qbrush.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qclipboard.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qcolor.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qcursor.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qdesktopservices.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontmetrics.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qguiapplication.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qinputmethod.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qkeysequence.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpalette.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpen.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixelformat.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qregion.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgb.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgba64.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qscreen.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextcursor.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextdocument.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextformat.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextoption.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtgui-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtouchdevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtransform.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qvalidator.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs_win.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtNetwork/QLocalServer
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtNetwork/QLocalSocket
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qabstractsocket.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qlocalserver.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qlocalsocket.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qtnetwork-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qtnetworkglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QAbstractScrollArea
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QAction
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QActionGroup
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QButtonGroup
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QComboBox
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QDialog
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QFileDialog
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QFrame
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QGridLayout
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QHBoxLayout
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QHeaderView
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QLabel
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QLineEdit
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QListWidget
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QMainWindow
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QMenu
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QMenuBar
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QMessageBox
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QProgressDialog
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QPushButton
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QRadioButton
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QScrollBar
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QSplitter
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QStackedLayout
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QStackedWidget
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QTabWidget
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QTableWidget
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QTextBrowser
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QToolBar
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QToolButton
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QTreeView
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QVBoxLayout
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractbutton.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractitemdelegate.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractitemview.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractscrollarea.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractslider.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractspinbox.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qaction.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qactiongroup.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qboxlayout.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qbuttongroup.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qcombobox.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdesktopwidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdialog.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qfiledialog.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qframe.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qgridlayout.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qheaderview.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qlabel.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qlayout.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qlayoutitem.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qlineedit.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qlistview.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qlistwidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmainwindow.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenubar.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmessagebox.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qprogressdialog.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qpushbutton.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qradiobutton.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qrubberband.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qscrollbar.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qsizepolicy.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qslider.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qsplitter.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qstackedlayout.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qstackedwidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qstyle.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qstyleoption.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtabbar.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtableview.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtablewidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtabwidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtextbrowser.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtextedit.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtoolbar.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtoolbutton.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtreeview.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgets-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: aconf.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: aconf2.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: goo/FixedPoint.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: goo/GList.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: goo/GMutex.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: goo/GString.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: goo/gfile.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: goo/gmem.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: goo/gmempp.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: goo/gtypes.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: splash/SplashTypes.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf/AcroForm.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf/Annot.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf/Array.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf/Catalog.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf/CharTypes.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf/Dict.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf/DisplayState.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf/Error.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf/GfxFont.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf/GlobalParams.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf/Object.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf/OutputDev.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf/PDFCore.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf/PDFDoc.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf/Page.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf/Stream.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf/TextOutputDev.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf/TextString.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf/XRef.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf/Zoox.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o: xpdf/config.h
+
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf-qt/QtPDFCore.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf-qt/XpdfWidget.cc
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf-qt/XpdfWidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf-qt/XpdfWidgetPrint.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/QDateTime
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/QMutex
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/QTimer
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_bootstrap.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_msvc.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasictimer.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearraylist.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcompilerdetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig-bootstrapped.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainerfwd.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainertools_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontiguouscache.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreevent.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatetime.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qeventloop.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qfile.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qfiledevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qgenericatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobalstatic.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qhashfunctions.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qiodevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qiterator.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qline.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qnumeric.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qprocessordetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qregexp.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qset.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringalgorithms.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringliteral.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringmatcher.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsysinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsystemdetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtcore-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtextstream.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtimer.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtypeinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qurl.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qurlquery.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qversiontagging.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/QKeyEvent
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/QPaintEvent
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qbrush.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qcolor.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qcursor.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontmetrics.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qguiapplication.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qinputmethod.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qkeysequence.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpagedpaintdevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpagelayout.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpagesize.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpalette.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixelformat.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qregion.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgb.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgba64.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtgui-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtouchdevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtransform.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs_win.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/QPrintDialog
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/QPrinter
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/qabstractprintdialog.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/qprintdialog.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/qprinter.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/qtprintsupport-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/qtprintsupportglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QAbstractScrollArea
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QGesture
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QGestureEvent
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractscrollarea.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdesktopwidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdialog.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qframe.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qgesture.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qsizepolicy.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgets-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: aconf.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: aconf2.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: goo/FixedPoint.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: goo/GList.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: goo/GMutex.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: goo/GString.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: goo/gfile.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: goo/gmem.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: goo/gmempp.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: goo/gtypes.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: splash/SplashBitmap.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: splash/SplashTypes.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/AcroForm.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/Annot.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/Array.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/Catalog.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/CharTypes.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/Dict.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/DisplayState.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/Function.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/GfxFont.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/GfxState.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/GlobalParams.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/Link.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/Object.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/OptionalContent.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/Outline.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/OutputDev.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/PDFCore.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/PDFDoc.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/Page.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/SplashOutputDev.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/Stream.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/TextOutputDev.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/TextString.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/XRef.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o: xpdf/config.h
+
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: xpdf-qt/XpdfWidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: xpdf-qt/XpdfWidgetPrint.cc
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_bootstrap.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_msvc.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearraylist.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcompilerdetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig-bootstrapped.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainerfwd.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainertools_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontiguouscache.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreevent.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qfile.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qfiledevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qgenericatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobalstatic.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qhashfunctions.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qiodevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qiterator.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qline.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qnumeric.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qprocessordetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qregexp.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qset.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringalgorithms.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringliteral.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringmatcher.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsysinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsystemdetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtcore-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtextstream.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtypeinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qurl.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qurlquery.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qversiontagging.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qbrush.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qcolor.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qcursor.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontmetrics.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qkeysequence.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpagedpaintdevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpagelayout.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpagesize.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpalette.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixelformat.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qregion.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgb.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgba64.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtgui-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtouchdevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtransform.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs_win.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/QPrinter
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/qprinter.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/qtprintsupport-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/qtprintsupportglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QAbstractScrollArea
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractscrollarea.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qframe.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qsizepolicy.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgets-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: aconf.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: aconf2.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: goo/GMutex.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: goo/GString.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: goo/gfile.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: goo/gmem.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: goo/gmempp.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: goo/gtypes.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: xpdf/Array.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: xpdf/Catalog.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: xpdf/CharTypes.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: xpdf/Dict.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: xpdf/ErrorCodes.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: xpdf/GlobalParams.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: xpdf/Object.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: xpdf/OutputDev.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: xpdf/PDFDoc.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: xpdf/PSOutputDev.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: xpdf/Page.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: xpdf/Stream.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: xpdf/XRef.h
+xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o: xpdf/config.h
+
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: xpdf-qt/XpdfApp.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: xpdf-qt/moc_XpdfApp.cpp
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/QDateTime
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_bootstrap.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_msvc.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearraylist.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcompilerdetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig-bootstrapped.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainerfwd.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainertools_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontiguouscache.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreevent.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatetime.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qeventloop.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qfile.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qfiledevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qgenericatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobalstatic.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qhashfunctions.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qiodevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qiterator.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qline.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qnumeric.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qprocessordetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qregexp.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qset.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringalgorithms.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringliteral.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringmatcher.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsysinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsystemdetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtcore-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtextstream.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtypeinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qurl.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qurlquery.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qversiontagging.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/QColor
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qbrush.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qcolor.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qcursor.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontmetrics.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qguiapplication.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qinputmethod.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qkeysequence.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpalette.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixelformat.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qregion.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgb.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgba64.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtgui-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtouchdevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtransform.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs_win.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdesktopwidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qsizepolicy.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgets-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: aconf.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: aconf2.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o: goo/gtypes.h
+
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: xpdf-qt/XpdfViewer.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: xpdf-qt/XpdfWidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: xpdf-qt/moc_XpdfViewer.cpp
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_bootstrap.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_msvc.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearraylist.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcompilerdetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig-bootstrapped.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainerfwd.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainertools_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontiguouscache.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreevent.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qfile.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qfiledevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qgenericatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobalstatic.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qhashfunctions.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qiodevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qiterator.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qline.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qnumeric.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qprocessordetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qregexp.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qset.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringalgorithms.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringliteral.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringmatcher.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsysinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsystemdetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtcore-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtextstream.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtypeinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qurl.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qurlquery.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qversiontagging.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/QIcon
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qbrush.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qcolor.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qcursor.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontmetrics.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qicon.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qkeysequence.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpalette.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixelformat.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qregion.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgb.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgba64.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtgui-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtouchdevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtransform.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs_win.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtNetwork/QLocalServer
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qabstractsocket.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qlocalserver.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qtnetwork-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qtnetworkglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QAbstractScrollArea
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QDialog
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QMainWindow
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QToolButton
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractbutton.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractscrollarea.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdialog.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qframe.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmainwindow.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qsizepolicy.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtabwidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtoolbutton.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgets-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: aconf.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: aconf2.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: goo/gfile.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: goo/gtypes.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: xpdf/Error.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o: xpdf/config.h
+
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: xpdf-qt/XpdfWidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: xpdf-qt/moc_XpdfWidget.cpp
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_bootstrap.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_msvc.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearraylist.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcompilerdetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig-bootstrapped.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainerfwd.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainertools_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontiguouscache.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreevent.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qfile.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qfiledevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qgenericatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobalstatic.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qhashfunctions.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qiodevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qiterator.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qline.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qnumeric.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qprocessordetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qregexp.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qset.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringalgorithms.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringliteral.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringmatcher.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsysinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsystemdetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtcore-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtextstream.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtypeinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qurl.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qurlquery.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qversiontagging.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qbrush.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qcolor.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qcursor.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontmetrics.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qkeysequence.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpalette.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixelformat.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qregion.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgb.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgba64.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtgui-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtouchdevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtransform.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs_win.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QAbstractScrollArea
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractscrollarea.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qframe.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qsizepolicy.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgets-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: aconf.h
+xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o: aconf2.h
+
+xpdf-qt/CMakeFiles/xpdf.dir/qrc_icons.cpp.o: xpdf-qt/qrc_icons.cpp
+
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: xpdf-qt/XpdfApp.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: xpdf-qt/xpdf.cc
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/QDateTime
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_bootstrap.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_msvc.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearraylist.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcompilerdetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig-bootstrapped.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qconfig.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainerfwd.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontainertools_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcontiguouscache.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreevent.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatetime.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qeventloop.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qfile.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qfiledevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qgenericatomic.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobalstatic.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qhashfunctions.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qiodevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qiterator.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qline.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qnumeric.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qprocessordetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qregexp.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qset.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qshareddata.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringalgorithms.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringbuilder.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringliteral.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringmatcher.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsysinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qsystemdetection.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtcore-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtextstream.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtypeinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qurl.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qurlquery.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtCore/qversiontagging.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/QColor
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qbrush.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qcolor.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qcursor.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontinfo.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qfontmetrics.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qguiapplication.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qinputmethod.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qkeysequence.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpalette.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixelformat.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpixmap.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qregion.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgb.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qrgba64.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtgui-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtouchdevice.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qtransform.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qvector2d.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtGui/qwindowdefs_win.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qdesktopwidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qsizepolicy.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgets-config.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: aconf.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: aconf2.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: goo/GMutex.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: goo/GString.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: goo/gfile.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: goo/gmem.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: goo/gtypes.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: xpdf/Array.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: xpdf/Dict.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: xpdf/Object.h
+xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o: xpdf/Stream.h
+
diff --git a/xpdf-qt/CMakeFiles/xpdf.dir/flags.make b/xpdf-qt/CMakeFiles/xpdf.dir/flags.make
new file mode 100644
index 0000000..f1b4973
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/xpdf.dir/flags.make
@@ -0,0 +1,17 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.18
+
+# compile C with /usr/bin/cc
+# compile CXX with /usr/bin/c++
+C_DEFINES = -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DXPDFWIDGET_PRINTING=1
+
+C_INCLUDES = -I/home/calvin/src/xpdf-4.04 -I/home/calvin/src/xpdf-4.04/goo -I/home/calvin/src/xpdf-4.04/fofi -I/home/calvin/src/xpdf-4.04/splash -I/home/calvin/src/xpdf-4.04/xpdf -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem "/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ /usr/include/x86_64-linux-gnu/qt5" -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -isystem /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++
+
+C_FLAGS = -DQT_CORE_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_PRINTSUPPORT_LIB -fPIC
+
+CXX_DEFINES = -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DXPDFWIDGET_PRINTING=1
+
+CXX_INCLUDES = -I/home/calvin/src/xpdf-4.04 -I/home/calvin/src/xpdf-4.04/goo -I/home/calvin/src/xpdf-4.04/fofi -I/home/calvin/src/xpdf-4.04/splash -I/home/calvin/src/xpdf-4.04/xpdf -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem "/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ /usr/include/x86_64-linux-gnu/qt5" -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -isystem /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++
+
+CXX_FLAGS = -DQT_CORE_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_PRINTSUPPORT_LIB -fPIC -std=gnu++11
+
diff --git a/xpdf-qt/CMakeFiles/xpdf.dir/link.txt b/xpdf-qt/CMakeFiles/xpdf.dir/link.txt
new file mode 100644
index 0000000..7a5165a
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/xpdf.dir/link.txt
@@ -0,0 +1 @@
+/usr/bin/c++ -rdynamic CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o CMakeFiles/xpdf.dir/QtPDFCore.cc.o CMakeFiles/xpdf.dir/XpdfApp.cc.o CMakeFiles/xpdf.dir/XpdfViewer.cc.o CMakeFiles/xpdf.dir/XpdfWidget.cc.o CMakeFiles/xpdf.dir/xpdf.cc.o CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o CMakeFiles/xpdf.dir/qrc_icons.cpp.o ../goo/CMakeFiles/goo_objs.dir/FixedPoint.cc.o ../goo/CMakeFiles/goo_objs.dir/GHash.cc.o ../goo/CMakeFiles/goo_objs.dir/GList.cc.o ../goo/CMakeFiles/goo_objs.dir/GString.cc.o ../goo/CMakeFiles/goo_objs.dir/gfile.cc.o ../goo/CMakeFiles/goo_objs.dir/gmem.cc.o ../goo/CMakeFiles/goo_objs.dir/gmempp.cc.o ../goo/CMakeFiles/goo_objs.dir/parseargs.c.o ../goo/CMakeFiles/goo_objs.dir/Trace.cc.o ../fofi/CMakeFiles/fofi_objs.dir/FoFiBase.cc.o ../fofi/CMakeFiles/fofi_objs.dir/FoFiEncodings.cc.o ../fofi/CMakeFiles/fofi_objs.dir/FoFiIdentifier.cc.o ../fofi/CMakeFiles/fofi_objs.dir/FoFiTrueType.cc.o ../fofi/CMakeFiles/fofi_objs.dir/FoFiType1.cc.o ../fofi/CMakeFiles/fofi_objs.dir/FoFiType1C.cc.o ../splash/CMakeFiles/splash_objs.dir/Splash.cc.o ../splash/CMakeFiles/splash_objs.dir/SplashBitmap.cc.o ../splash/CMakeFiles/splash_objs.dir/SplashClip.cc.o ../splash/CMakeFiles/splash_objs.dir/SplashFTFont.cc.o ../splash/CMakeFiles/splash_objs.dir/SplashFTFontEngine.cc.o ../splash/CMakeFiles/splash_objs.dir/SplashFTFontFile.cc.o ../splash/CMakeFiles/splash_objs.dir/SplashFont.cc.o ../splash/CMakeFiles/splash_objs.dir/SplashFontEngine.cc.o ../splash/CMakeFiles/splash_objs.dir/SplashFontFile.cc.o ../splash/CMakeFiles/splash_objs.dir/SplashFontFileID.cc.o ../splash/CMakeFiles/splash_objs.dir/SplashPath.cc.o ../splash/CMakeFiles/splash_objs.dir/SplashPattern.cc.o ../splash/CMakeFiles/splash_objs.dir/SplashScreen.cc.o ../splash/CMakeFiles/splash_objs.dir/SplashState.cc.o ../splash/CMakeFiles/splash_objs.dir/SplashXPath.cc.o ../splash/CMakeFiles/splash_objs.dir/SplashXPathScanner.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/AcroForm.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/Annot.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/Array.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/BuiltinFont.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/BuiltinFontTables.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/Catalog.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/CharCodeToUnicode.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/CMap.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/Decrypt.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/Dict.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/Error.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/FontEncodingTables.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/Function.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/Gfx.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/GfxFont.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/GfxState.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/GlobalParams.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/JArithmeticDecoder.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/JBIG2Stream.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/JPXStream.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/Lexer.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/Link.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/NameToCharCode.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/Object.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/OptionalContent.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/Outline.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/OutputDev.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/Page.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/Parser.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/PDF417Barcode.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/PDFDoc.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/PDFDocEncoding.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/PSTokenizer.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/SecurityHandler.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/Stream.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/TextString.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/UnicodeMap.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/UnicodeRemapping.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/UnicodeTypeTable.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/UTF8.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/XFAScanner.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/XRef.cc.o ../xpdf/CMakeFiles/xpdf_objs.dir/Zoox.cc.o ../xpdf/CMakeFiles/xpdf_widget_objs.dir/DisplayState.cc.o ../xpdf/CMakeFiles/xpdf_widget_objs.dir/PDFCore.cc.o ../xpdf/CMakeFiles/xpdf_widget_objs.dir/PreScanOutputDev.cc.o ../xpdf/CMakeFiles/xpdf_widget_objs.dir/PSOutputDev.cc.o ../xpdf/CMakeFiles/xpdf_widget_objs.dir/ShadingImage.cc.o ../xpdf/CMakeFiles/xpdf_widget_objs.dir/SplashOutputDev.cc.o ../xpdf/CMakeFiles/xpdf_widget_objs.dir/TextOutputDev.cc.o ../xpdf/CMakeFiles/xpdf_widget_objs.dir/TileCache.cc.o ../xpdf/CMakeFiles/xpdf_widget_objs.dir/TileCompositor.cc.o ../xpdf/CMakeFiles/xpdf_widget_objs.dir/TileMap.cc.o -o xpdf /usr/lib/x86_64-linux-gnu/libQt5Network.so.5.15.2 /usr/lib/x86_64-linux-gnu/libQt5PrintSupport.so.5.15.2 -lcups -lfreetype -lfontconfig -lpthread /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.15.2 /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.15.2 /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.15.2
diff --git a/xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o b/xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o
new file mode 100644
index 0000000..e7c954f
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o
Binary files differ
diff --git a/xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o b/xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o
new file mode 100644
index 0000000..93d9182
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o
Binary files differ
diff --git a/xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o b/xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o
new file mode 100644
index 0000000..9a400ef
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o
Binary files differ
diff --git a/xpdf-qt/CMakeFiles/xpdf.dir/progress.make b/xpdf-qt/CMakeFiles/xpdf.dir/progress.make
new file mode 100644
index 0000000..722f47a
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/xpdf.dir/progress.make
@@ -0,0 +1,16 @@
+CMAKE_PROGRESS_1 = 50
+CMAKE_PROGRESS_2 = 51
+CMAKE_PROGRESS_3 =
+CMAKE_PROGRESS_4 = 52
+CMAKE_PROGRESS_5 = 53
+CMAKE_PROGRESS_6 = 54
+CMAKE_PROGRESS_7 =
+CMAKE_PROGRESS_8 = 55
+CMAKE_PROGRESS_9 = 56
+CMAKE_PROGRESS_10 = 57
+CMAKE_PROGRESS_11 =
+CMAKE_PROGRESS_12 = 58
+CMAKE_PROGRESS_13 = 59
+CMAKE_PROGRESS_14 = 60
+CMAKE_PROGRESS_15 =
+
diff --git a/xpdf-qt/CMakeFiles/xpdf.dir/qrc_icons.cpp.o b/xpdf-qt/CMakeFiles/xpdf.dir/qrc_icons.cpp.o
new file mode 100644
index 0000000..61c8121
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/xpdf.dir/qrc_icons.cpp.o
Binary files differ
diff --git a/xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o b/xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o
new file mode 100644
index 0000000..3a3f454
--- /dev/null
+++ b/xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o
Binary files differ
diff --git a/xpdf-qt/CMakeLists.txt b/xpdf-qt/CMakeLists.txt
new file mode 100644
index 0000000..026174a
--- /dev/null
+++ b/xpdf-qt/CMakeLists.txt
@@ -0,0 +1,115 @@
+#========================================================================
+#
+# xpdf-qt/cmake-xpdf.txt
+#
+# CMake script for the xpdf application.
+#
+# Copyright 2015 Glyph & Cog, LLC
+#
+#========================================================================
+
+if ((QT4_FOUND OR Qt5Widgets_FOUND OR Qt6Widgets_FOUND)
+ AND HAVE_SPLASH AND MULTITHREADED AND USE_EXCEPTIONS)
+ include_directories("${PROJECT_SOURCE_DIR}")
+ include_directories("${PROJECT_BINARY_DIR}")
+ include_directories("${PROJECT_SOURCE_DIR}/goo")
+ include_directories("${PROJECT_SOURCE_DIR}/fofi")
+ include_directories("${PROJECT_SOURCE_DIR}/splash")
+ include_directories("${PROJECT_SOURCE_DIR}/xpdf")
+ if (QT4_FOUND)
+ include(${QT_USE_FILE})
+ else ()
+ include_directories(SYSTEM "${QT_INCLUDES}")
+ add_definitions(${QT_DEFINITIONS})
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${QT_CFLAGS}")
+ endif ()
+ cmake_policy(SET CMP0020 NEW)
+
+ if (Qt5Widgets_FOUND AND NOT (Qt5Widgets_VERSION VERSION_LESS 5.7.0))
+ set(CMAKE_CXX_STANDARD 11)
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
+ endif ()
+
+ if (WIN32)
+ set(XPDF_MANIFEST "${PROJECT_SOURCE_DIR}/xpdf/winLongPath.exe.manifest")
+ else ()
+ set(XPDF_MANIFEST "")
+ endif ()
+
+ if (XPDFWIDGET_PRINTING)
+ if (WIN32)
+ if (EXISTS ${PROJECT_SOURCE_DIR}/xpdf/WinPDFPrinter.cc)
+ add_definitions(-DXPDFWIDGET_PRINTING=1)
+ add_definitions(-DXPDFWIDGET_WIN32_PRINTING=1)
+ set(XPDFWIDGET_PRINT_MODULES XpdfWidgetPrint.cc
+ ${PROJECT_SOURCE_DIR}/xpdf/GDIOutputDev.cc
+ ${PROJECT_SOURCE_DIR}/xpdf/WinPDFPrinter.cc)
+ endif ()
+ else ()
+ add_definitions(-DXPDFWIDGET_PRINTING=1)
+ set(XPDFWIDGET_PRINT_MODULES XpdfWidgetPrint.cc)
+ endif ()
+ else ()
+ set(XPDFWIDGET_PRINT_MODULES "")
+ endif ()
+
+ if (QT4_FOUND)
+ qt4_wrap_cpp(XPDFWIDGET_MOC XpdfWidget.h)
+ qt4_wrap_cpp(XPDFVIEWER_MOC XpdfViewer.h)
+ qt4_wrap_cpp(XPDFAPP_MOC XpdfApp.h)
+ qt4_add_resources(XPDF_ICONS icons.qrc)
+ elseif (Qt5Widgets_FOUND)
+ qt5_wrap_cpp(XPDFWIDGET_MOC XpdfWidget.h)
+ qt5_wrap_cpp(XPDFVIEWER_MOC XpdfViewer.h)
+ qt5_wrap_cpp(XPDFAPP_MOC XpdfApp.h)
+ qt5_add_resources(XPDF_ICONS icons.qrc)
+ else ()
+ qt6_wrap_cpp(XPDFWIDGET_MOC XpdfWidget.h)
+ qt6_wrap_cpp(XPDFVIEWER_MOC XpdfViewer.h)
+ qt6_wrap_cpp(XPDFAPP_MOC XpdfApp.h)
+ qt6_add_resources(XPDF_ICONS icons.qrc)
+ endif ()
+
+ # workaround for a conflict between the Qt5/6 QDateTime and windows.h
+ if (WIN32)
+ add_definitions(-DNOMINMAX)
+ endif ()
+
+ add_executable(xpdf
+ $<TARGET_OBJECTS:goo_objs>
+ $<TARGET_OBJECTS:fofi_objs>
+ $<TARGET_OBJECTS:splash_objs>
+ $<TARGET_OBJECTS:xpdf_objs>
+ $<TARGET_OBJECTS:xpdf_widget_objs>
+ ${XPDFWIDGET_PRINT_MODULES}
+ QtPDFCore.cc
+ XpdfApp.cc
+ XpdfViewer.cc
+ XpdfWidget.cc
+ xpdf.cc
+ xpdf.rc
+ ${XPDFAPP_MOC}
+ ${XPDFVIEWER_MOC}
+ ${XPDFWIDGET_MOC}
+ ${XPDF_ICONS}
+ ${XPDF_MANIFEST}
+ )
+ target_link_libraries(xpdf ${QT_LIBRARIES} ${EXTRA_QT_LIBRARIES}
+ ${PAPER_LIBRARY}
+ ${FREETYPE_LIBRARY} ${FREETYPE_OTHER_LIBS}
+ ${DTYPE_LIBRARY}
+ ${LCMS_LIBRARY}
+ ${FONTCONFIG_LIBRARY}
+ ${CMAKE_THREAD_LIBS_INIT})
+ set_property(TARGET xpdf PROPERTY WIN32_EXECUTABLE 1)
+ if (QT4_FOUND)
+ set_property(TARGET xpdf PROPERTY QT4_NO_LINK_QTMAIN ON)
+ elseif (Qt5Widgets_FOUND)
+ set_property(TARGET xpdf PROPERTY Qt5_NO_LINK_QTMAIN ON)
+ else ()
+ set_property(TARGET xpdf PROPERTY Qt6_NO_LINK_QTMAIN ON)
+ endif ()
+
+ install(TARGETS xpdf RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+ install(FILES ${PROJECT_SOURCE_DIR}/doc/xpdf.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
+endif ()
diff --git a/xpdf-qt/Makefile b/xpdf-qt/Makefile
new file mode 100644
index 0000000..69bd17f
--- /dev/null
+++ b/xpdf-qt/Makefile
@@ -0,0 +1,519 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.18
+
+# Default target executed when no arguments are given to make.
+default_target: all
+
+.PHONY : default_target
+
+# Allow only one "make -f Makefile2" at a time, but pass parallelism.
+.NOTPARALLEL:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/calvin/src/xpdf-4.04
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/calvin/src/xpdf-4.04
+
+#=============================================================================
+# Targets provided globally by CMake.
+
+# Special rule for the target install/strip
+install/strip: preinstall
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
+ /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip
+
+# Special rule for the target install/strip
+install/strip/fast: preinstall/fast
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
+ /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip/fast
+
+# Special rule for the target install/local
+install/local: preinstall
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
+ /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local
+
+# Special rule for the target install/local
+install/local/fast: preinstall/fast
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
+ /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local/fast
+
+# Special rule for the target install
+install: preinstall
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
+ /usr/bin/cmake -P cmake_install.cmake
+.PHONY : install
+
+# Special rule for the target install
+install/fast: preinstall/fast
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
+ /usr/bin/cmake -P cmake_install.cmake
+.PHONY : install/fast
+
+# Special rule for the target list_install_components
+list_install_components:
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
+.PHONY : list_install_components
+
+# Special rule for the target list_install_components
+list_install_components/fast: list_install_components
+
+.PHONY : list_install_components/fast
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
+ /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+
+.PHONY : rebuild_cache/fast
+
+# Special rule for the target edit_cache
+edit_cache:
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
+ /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+.PHONY : edit_cache
+
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+
+.PHONY : edit_cache/fast
+
+# The main all target
+all: cmake_check_build_system
+ cd /home/calvin/src/xpdf-4.04 && $(CMAKE_COMMAND) -E cmake_progress_start /home/calvin/src/xpdf-4.04/CMakeFiles /home/calvin/src/xpdf-4.04/xpdf-qt//CMakeFiles/progress.marks
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 xpdf-qt/all
+ $(CMAKE_COMMAND) -E cmake_progress_start /home/calvin/src/xpdf-4.04/CMakeFiles 0
+.PHONY : all
+
+# The main clean target
+clean:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 xpdf-qt/clean
+.PHONY : clean
+
+# The main clean target
+clean/fast: clean
+
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: all
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 xpdf-qt/preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 xpdf-qt/preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+ cd /home/calvin/src/xpdf-4.04 && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+.PHONY : depend
+
+# Convenience name for target.
+xpdf-qt/CMakeFiles/xpdf.dir/rule:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 xpdf-qt/CMakeFiles/xpdf.dir/rule
+.PHONY : xpdf-qt/CMakeFiles/xpdf.dir/rule
+
+# Convenience name for target.
+xpdf: xpdf-qt/CMakeFiles/xpdf.dir/rule
+
+.PHONY : xpdf
+
+# fast build rule for target.
+xpdf/fast:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/build
+.PHONY : xpdf/fast
+
+QtPDFCore.o: QtPDFCore.cc.o
+
+.PHONY : QtPDFCore.o
+
+# target to build an object file
+QtPDFCore.cc.o:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.o
+.PHONY : QtPDFCore.cc.o
+
+QtPDFCore.i: QtPDFCore.cc.i
+
+.PHONY : QtPDFCore.i
+
+# target to preprocess a source file
+QtPDFCore.cc.i:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.i
+.PHONY : QtPDFCore.cc.i
+
+QtPDFCore.s: QtPDFCore.cc.s
+
+.PHONY : QtPDFCore.s
+
+# target to generate assembly for a file
+QtPDFCore.cc.s:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/QtPDFCore.cc.s
+.PHONY : QtPDFCore.cc.s
+
+XpdfApp.o: XpdfApp.cc.o
+
+.PHONY : XpdfApp.o
+
+# target to build an object file
+XpdfApp.cc.o:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.o
+.PHONY : XpdfApp.cc.o
+
+XpdfApp.i: XpdfApp.cc.i
+
+.PHONY : XpdfApp.i
+
+# target to preprocess a source file
+XpdfApp.cc.i:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.i
+.PHONY : XpdfApp.cc.i
+
+XpdfApp.s: XpdfApp.cc.s
+
+.PHONY : XpdfApp.s
+
+# target to generate assembly for a file
+XpdfApp.cc.s:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/XpdfApp.cc.s
+.PHONY : XpdfApp.cc.s
+
+XpdfViewer.o: XpdfViewer.cc.o
+
+.PHONY : XpdfViewer.o
+
+# target to build an object file
+XpdfViewer.cc.o:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.o
+.PHONY : XpdfViewer.cc.o
+
+XpdfViewer.i: XpdfViewer.cc.i
+
+.PHONY : XpdfViewer.i
+
+# target to preprocess a source file
+XpdfViewer.cc.i:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.i
+.PHONY : XpdfViewer.cc.i
+
+XpdfViewer.s: XpdfViewer.cc.s
+
+.PHONY : XpdfViewer.s
+
+# target to generate assembly for a file
+XpdfViewer.cc.s:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/XpdfViewer.cc.s
+.PHONY : XpdfViewer.cc.s
+
+XpdfWidget.o: XpdfWidget.cc.o
+
+.PHONY : XpdfWidget.o
+
+# target to build an object file
+XpdfWidget.cc.o:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.o
+.PHONY : XpdfWidget.cc.o
+
+XpdfWidget.i: XpdfWidget.cc.i
+
+.PHONY : XpdfWidget.i
+
+# target to preprocess a source file
+XpdfWidget.cc.i:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.i
+.PHONY : XpdfWidget.cc.i
+
+XpdfWidget.s: XpdfWidget.cc.s
+
+.PHONY : XpdfWidget.s
+
+# target to generate assembly for a file
+XpdfWidget.cc.s:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidget.cc.s
+.PHONY : XpdfWidget.cc.s
+
+XpdfWidgetPrint.o: XpdfWidgetPrint.cc.o
+
+.PHONY : XpdfWidgetPrint.o
+
+# target to build an object file
+XpdfWidgetPrint.cc.o:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.o
+.PHONY : XpdfWidgetPrint.cc.o
+
+XpdfWidgetPrint.i: XpdfWidgetPrint.cc.i
+
+.PHONY : XpdfWidgetPrint.i
+
+# target to preprocess a source file
+XpdfWidgetPrint.cc.i:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.i
+.PHONY : XpdfWidgetPrint.cc.i
+
+XpdfWidgetPrint.s: XpdfWidgetPrint.cc.s
+
+.PHONY : XpdfWidgetPrint.s
+
+# target to generate assembly for a file
+XpdfWidgetPrint.cc.s:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/XpdfWidgetPrint.cc.s
+.PHONY : XpdfWidgetPrint.cc.s
+
+moc_XpdfApp.o: moc_XpdfApp.cpp.o
+
+.PHONY : moc_XpdfApp.o
+
+# target to build an object file
+moc_XpdfApp.cpp.o:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.o
+.PHONY : moc_XpdfApp.cpp.o
+
+moc_XpdfApp.i: moc_XpdfApp.cpp.i
+
+.PHONY : moc_XpdfApp.i
+
+# target to preprocess a source file
+moc_XpdfApp.cpp.i:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.i
+.PHONY : moc_XpdfApp.cpp.i
+
+moc_XpdfApp.s: moc_XpdfApp.cpp.s
+
+.PHONY : moc_XpdfApp.s
+
+# target to generate assembly for a file
+moc_XpdfApp.cpp.s:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfApp.cpp.s
+.PHONY : moc_XpdfApp.cpp.s
+
+moc_XpdfViewer.o: moc_XpdfViewer.cpp.o
+
+.PHONY : moc_XpdfViewer.o
+
+# target to build an object file
+moc_XpdfViewer.cpp.o:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.o
+.PHONY : moc_XpdfViewer.cpp.o
+
+moc_XpdfViewer.i: moc_XpdfViewer.cpp.i
+
+.PHONY : moc_XpdfViewer.i
+
+# target to preprocess a source file
+moc_XpdfViewer.cpp.i:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.i
+.PHONY : moc_XpdfViewer.cpp.i
+
+moc_XpdfViewer.s: moc_XpdfViewer.cpp.s
+
+.PHONY : moc_XpdfViewer.s
+
+# target to generate assembly for a file
+moc_XpdfViewer.cpp.s:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfViewer.cpp.s
+.PHONY : moc_XpdfViewer.cpp.s
+
+moc_XpdfWidget.o: moc_XpdfWidget.cpp.o
+
+.PHONY : moc_XpdfWidget.o
+
+# target to build an object file
+moc_XpdfWidget.cpp.o:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.o
+.PHONY : moc_XpdfWidget.cpp.o
+
+moc_XpdfWidget.i: moc_XpdfWidget.cpp.i
+
+.PHONY : moc_XpdfWidget.i
+
+# target to preprocess a source file
+moc_XpdfWidget.cpp.i:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.i
+.PHONY : moc_XpdfWidget.cpp.i
+
+moc_XpdfWidget.s: moc_XpdfWidget.cpp.s
+
+.PHONY : moc_XpdfWidget.s
+
+# target to generate assembly for a file
+moc_XpdfWidget.cpp.s:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/moc_XpdfWidget.cpp.s
+.PHONY : moc_XpdfWidget.cpp.s
+
+qrc_icons.o: qrc_icons.cpp.o
+
+.PHONY : qrc_icons.o
+
+# target to build an object file
+qrc_icons.cpp.o:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/qrc_icons.cpp.o
+.PHONY : qrc_icons.cpp.o
+
+qrc_icons.i: qrc_icons.cpp.i
+
+.PHONY : qrc_icons.i
+
+# target to preprocess a source file
+qrc_icons.cpp.i:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/qrc_icons.cpp.i
+.PHONY : qrc_icons.cpp.i
+
+qrc_icons.s: qrc_icons.cpp.s
+
+.PHONY : qrc_icons.s
+
+# target to generate assembly for a file
+qrc_icons.cpp.s:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/qrc_icons.cpp.s
+.PHONY : qrc_icons.cpp.s
+
+xpdf.o: xpdf.cc.o
+
+.PHONY : xpdf.o
+
+# target to build an object file
+xpdf.cc.o:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.o
+.PHONY : xpdf.cc.o
+
+xpdf.i: xpdf.cc.i
+
+.PHONY : xpdf.i
+
+# target to preprocess a source file
+xpdf.cc.i:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.i
+.PHONY : xpdf.cc.i
+
+xpdf.s: xpdf.cc.s
+
+.PHONY : xpdf.s
+
+# target to generate assembly for a file
+xpdf.cc.s:
+ cd /home/calvin/src/xpdf-4.04 && $(MAKE) $(MAKESILENT) -f xpdf-qt/CMakeFiles/xpdf.dir/build.make xpdf-qt/CMakeFiles/xpdf.dir/xpdf.cc.s
+.PHONY : xpdf.cc.s
+
+# Help Target
+help:
+ @echo "The following are some of the valid targets for this Makefile:"
+ @echo "... all (the default if no target is provided)"
+ @echo "... clean"
+ @echo "... depend"
+ @echo "... edit_cache"
+ @echo "... install"
+ @echo "... install/local"
+ @echo "... install/strip"
+ @echo "... list_install_components"
+ @echo "... rebuild_cache"
+ @echo "... xpdf"
+ @echo "... QtPDFCore.o"
+ @echo "... QtPDFCore.i"
+ @echo "... QtPDFCore.s"
+ @echo "... XpdfApp.o"
+ @echo "... XpdfApp.i"
+ @echo "... XpdfApp.s"
+ @echo "... XpdfViewer.o"
+ @echo "... XpdfViewer.i"
+ @echo "... XpdfViewer.s"
+ @echo "... XpdfWidget.o"
+ @echo "... XpdfWidget.i"
+ @echo "... XpdfWidget.s"
+ @echo "... XpdfWidgetPrint.o"
+ @echo "... XpdfWidgetPrint.i"
+ @echo "... XpdfWidgetPrint.s"
+ @echo "... moc_XpdfApp.o"
+ @echo "... moc_XpdfApp.i"
+ @echo "... moc_XpdfApp.s"
+ @echo "... moc_XpdfViewer.o"
+ @echo "... moc_XpdfViewer.i"
+ @echo "... moc_XpdfViewer.s"
+ @echo "... moc_XpdfWidget.o"
+ @echo "... moc_XpdfWidget.i"
+ @echo "... moc_XpdfWidget.s"
+ @echo "... qrc_icons.o"
+ @echo "... qrc_icons.i"
+ @echo "... qrc_icons.s"
+ @echo "... xpdf.o"
+ @echo "... xpdf.i"
+ @echo "... xpdf.s"
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+ cd /home/calvin/src/xpdf-4.04 && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+
diff --git a/xpdf-qt/QtPDFCore.cc b/xpdf-qt/QtPDFCore.cc
new file mode 100644
index 0000000..e945f88
--- /dev/null
+++ b/xpdf-qt/QtPDFCore.cc
@@ -0,0 +1,1176 @@
+//========================================================================
+//
+// QtPDFCore.cc
+//
+// Copyright 2009-2014 Glyph & Cog, LLC
+//
+//========================================================================
+
+#include <aconf.h>
+
+#ifdef USE_GCC_PRAGMAS
+#pragma implementation
+#endif
+
+#include <math.h>
+#include <string.h>
+#include <QApplication>
+#include <QClipboard>
+#include <QDesktopServices>
+#include <QFileInfo>
+#include <QImage>
+#include <QInputDialog>
+#include <QMessageBox>
+#include <QPainter>
+#include <QProcess>
+#include <QScrollBar>
+#include <QStyle>
+#include <QUrl>
+#include <QWidget>
+#include "gmem.h"
+#include "gmempp.h"
+#include "gfile.h"
+#include "GString.h"
+#include "GList.h"
+#include "Error.h"
+#include "GlobalParams.h"
+#include "PDFDoc.h"
+#include "Link.h"
+#include "ErrorCodes.h"
+#include "GfxState.h"
+#include "PSOutputDev.h"
+#include "TextOutputDev.h"
+#include "SplashBitmap.h"
+#include "DisplayState.h"
+#include "TileMap.h"
+#include "QtPDFCore.h"
+
+//------------------------------------------------------------------------
+// QtPDFCore
+//------------------------------------------------------------------------
+
+QtPDFCore::QtPDFCore(QWidget *viewportA,
+ QScrollBar *hScrollBarA, QScrollBar *vScrollBarA,
+ SplashColorPtr paperColor, SplashColorPtr matteColor,
+ GBool reverseVideo):
+ PDFCore(splashModeRGB8, 4, reverseVideo, paperColor)
+{
+ int dpiX, dpiY;
+
+ viewport = viewportA;
+ hScrollBar = hScrollBarA;
+ vScrollBar = vScrollBarA;
+ hScrollBar->setRange(0, 0);
+ hScrollBar->setSingleStep(16);
+ vScrollBar->setRange(0, 0);
+ vScrollBar->setSingleStep(16);
+ viewport->setMouseTracking(true);
+
+ state->setMatteColor(matteColor);
+
+ oldFirstPage = -1;
+ oldMidPage = -1;
+
+ linkAction = NULL;
+ lastLinkAction = NULL;
+
+ dragging = gFalse;
+
+ panning = gFalse;
+
+ inUpdateScrollbars = gFalse;
+
+ updateCbk = NULL;
+ midPageChangedCbk = NULL;
+ preLoadCbk = NULL;
+ postLoadCbk = NULL;
+ actionCbk = NULL;
+ linkCbk = NULL;
+ selectDoneCbk = NULL;
+
+ // optional features default to on
+ hyperlinksEnabled = gTrue;
+ externalHyperlinksEnabled = gTrue;
+ selectEnabled = gTrue;
+ panEnabled = gTrue;
+ showPasswordDialog = gTrue;
+
+ // get Qt's HiDPI scale factor
+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
+ scaleFactor = viewport->devicePixelRatioF();
+#elif QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+ scaleFactor = viewport->devicePixelRatio();
+#else
+ scaleFactor = 1;
+#endif
+
+ // get the display resolution (used for HiDPI scaling)
+ dpiX = viewport->logicalDpiX();
+ dpiY = viewport->logicalDpiY();
+ displayDpi = dpiX < dpiY ? dpiX : dpiY;
+ displayDpi = (int)(displayDpi * scaleFactor);
+}
+
+QtPDFCore::~QtPDFCore() {
+}
+
+//------------------------------------------------------------------------
+// loadFile / displayPage / displayDest
+//------------------------------------------------------------------------
+
+int QtPDFCore::loadFile(GString *fileName, GString *ownerPassword,
+ GString *userPassword) {
+ int err;
+
+ err = PDFCore::loadFile(fileName, ownerPassword, userPassword);
+ if (err == errNone) {
+ // save the modification time
+ modTime = QFileInfo(doc->getFileName()->getCString()).lastModified();
+
+ // update the parent window
+ if (updateCbk) {
+ (*updateCbk)(updateCbkData, doc->getFileName(), -1,
+ doc->getNumPages(), NULL);
+ }
+ oldFirstPage = oldMidPage = -1;
+ }
+ return err;
+}
+
+#ifdef _WIN32
+int QtPDFCore::loadFile(wchar_t *fileName, int fileNameLen,
+ GString *ownerPassword,
+ GString *userPassword) {
+ int err;
+
+ err = PDFCore::loadFile(fileName, fileNameLen, ownerPassword, userPassword);
+ if (err == errNone) {
+ // save the modification time
+ modTime = QFileInfo(doc->getFileName()->getCString()).lastModified();
+
+ // update the parent window
+ if (updateCbk) {
+ (*updateCbk)(updateCbkData, doc->getFileName(), -1,
+ doc->getNumPages(), NULL);
+ }
+ oldFirstPage = oldMidPage = -1;
+ }
+ return err;
+}
+#endif
+
+int QtPDFCore::loadFile(BaseStream *stream, GString *ownerPassword,
+ GString *userPassword) {
+ int err;
+
+ err = PDFCore::loadFile(stream, ownerPassword, userPassword);
+ if (err == errNone) {
+ // no file
+ modTime = QDateTime();
+
+ // update the parent window
+ if (updateCbk) {
+ (*updateCbk)(updateCbkData, doc->getFileName(), -1,
+ doc->getNumPages(), NULL);
+ }
+ oldFirstPage = oldMidPage = -1;
+ }
+ return err;
+}
+
+void QtPDFCore::loadDoc(PDFDoc *docA) {
+ PDFCore::loadDoc(docA);
+
+ // save the modification time
+ if (doc->getFileName()) {
+ modTime = QFileInfo(doc->getFileName()->getCString()).lastModified();
+ } else {
+ modTime = QDateTime();
+ }
+
+ // update the parent window
+ if (updateCbk) {
+ (*updateCbk)(updateCbkData, doc->getFileName(), -1,
+ doc->getNumPages(), NULL);
+ }
+ oldFirstPage = oldMidPage = -1;
+}
+
+int QtPDFCore::reload() {
+ int err;
+
+ err = PDFCore::reload();
+ if (err == errNone) {
+ // save the modification time
+ modTime = QFileInfo(doc->getFileName()->getCString()).lastModified();
+
+ // update the parent window
+ if (updateCbk) {
+ (*updateCbk)(updateCbkData, doc->getFileName(), -1,
+ doc->getNumPages(), NULL);
+ }
+ oldFirstPage = oldMidPage = -1;
+ }
+ return err;
+}
+
+void QtPDFCore::finishUpdate(GBool addToHist, GBool checkForChangedFile) {
+ int firstPage, midPage;
+
+ PDFCore::finishUpdate(addToHist, checkForChangedFile);
+ firstPage = getPageNum();
+ if (doc && firstPage != oldFirstPage && updateCbk) {
+ (*updateCbk)(updateCbkData, NULL, firstPage, -1, "");
+ }
+ oldFirstPage = firstPage;
+ midPage = getMidPageNum();
+ if (doc && midPage != oldMidPage && midPageChangedCbk) {
+ (*midPageChangedCbk)(midPageChangedCbkData, midPage);
+ }
+ oldMidPage = midPage;
+
+ linkAction = NULL;
+ lastLinkAction = NULL;
+}
+
+//------------------------------------------------------------------------
+// panning and selection
+//------------------------------------------------------------------------
+
+void QtPDFCore::startPan(int wx, int wy) {
+ if (!panEnabled) {
+ return;
+ }
+ panning = gTrue;
+ panMX = wx;
+ panMY = wy;
+}
+
+void QtPDFCore::endPan(int wx, int wy) {
+ panning = gFalse;
+}
+
+void QtPDFCore::startSelection(int wx, int wy, GBool extend) {
+ int pg, x, y;
+
+ takeFocus();
+ if (!doc || doc->getNumPages() == 0 || !selectEnabled) {
+ return;
+ }
+ if (!cvtWindowToDev(wx, wy, &pg, &x, &y)) {
+ return;
+ }
+ if (extend && hasSelection()) {
+ moveSelectionDrag(pg, x, y);
+ } else {
+ startSelectionDrag(pg, x, y);
+ }
+ if (getSelectMode() == selectModeBlock) {
+ doSetCursor(Qt::CrossCursor);
+ }
+ dragging = gTrue;
+}
+
+void QtPDFCore::endSelection(int wx, int wy) {
+ LinkAction *action;
+ int pg, x, y;
+ double xu, yu;
+ GBool ok;
+
+ if (!doc || doc->getNumPages() == 0) {
+ return;
+ }
+ ok = cvtWindowToDev(wx, wy, &pg, &x, &y);
+ if (dragging) {
+ dragging = gFalse;
+ doUnsetCursor();
+ if (ok) {
+ moveSelectionDrag(pg, x, y);
+ }
+ finishSelectionDrag();
+ if (selectDoneCbk) {
+ (*selectDoneCbk)(selectDoneCbkData);
+ }
+#ifndef NO_TEXT_SELECT
+ if (hasSelection()) {
+ copySelection(gFalse);
+ }
+#endif
+ }
+ if (ok) {
+ if (hasSelection()) {
+ action = NULL;
+ } else {
+ cvtDevToUser(pg, x, y, &xu, &yu);
+ action = findLink(pg, xu, yu);
+ }
+ if (linkCbk && action) {
+ doLinkCbk(action);
+ }
+ if (hyperlinksEnabled && action) {
+ doAction(action);
+ }
+ }
+}
+
+void QtPDFCore::mouseMove(int wx, int wy) {
+ LinkAction *action;
+ int pg, x, y;
+ double xu, yu;
+ const char *s;
+ GBool ok, mouseOverText;
+
+ if (!doc || doc->getNumPages() == 0) {
+ return;
+ }
+ ok = cvtWindowToDev(wx, wy, &pg, &x, &y);
+ if (dragging) {
+ if (ok) {
+ moveSelectionDrag(pg, x, y);
+ }
+ } else {
+ cvtDevToUser(pg, x, y, &xu, &yu);
+
+ // check for a link
+ action = NULL;
+ if (hyperlinksEnabled && ok) {
+ action = findLink(pg, xu, yu);
+ }
+
+ // check for text
+ mouseOverText = gFalse;
+ if (!action && getSelectMode() == selectModeLinear && ok) {
+ mouseOverText = overText(pg, x, y);
+ }
+
+ // update the cursor
+ if (action) {
+ doSetCursor(Qt::PointingHandCursor);
+ } else if (mouseOverText) {
+ doSetCursor(Qt::IBeamCursor);
+ } else {
+ doUnsetCursor();
+ }
+
+ // update the link info
+ if (action != linkAction) {
+ linkAction = action;
+ if (updateCbk) {
+ //~ should pass a QString to updateCbk()
+ if (linkAction) {
+ s = getLinkInfo(linkAction).toLocal8Bit().constData();
+ } else {
+ s = "";
+ }
+ (*updateCbk)(updateCbkData, NULL, -1, -1, s);
+ }
+ }
+ }
+
+ if (panning) {
+ scrollTo(getScrollX() - (wx - panMX),
+ getScrollY() - (wy - panMY));
+ panMX = wx;
+ panMY = wy;
+ }
+}
+
+void QtPDFCore::selectWord(int wx, int wy) {
+ int pg, x, y;
+
+ takeFocus();
+ if (!doc || doc->getNumPages() == 0 || !selectEnabled) {
+ return;
+ }
+ if (getSelectMode() != selectModeLinear) {
+ return;
+ }
+ if (!cvtWindowToDev(wx, wy, &pg, &x, &y)) {
+ return;
+ }
+ PDFCore::selectWord(pg, x, y);
+#ifndef NO_TEXT_SELECT
+ if (hasSelection()) {
+ copySelection(gFalse);
+ }
+#endif
+}
+
+void QtPDFCore::selectLine(int wx, int wy) {
+ int pg, x, y;
+
+ takeFocus();
+ if (!doc || doc->getNumPages() == 0 || !selectEnabled) {
+ return;
+ }
+ if (getSelectMode() != selectModeLinear) {
+ return;
+ }
+ if (!cvtWindowToDev(wx, wy, &pg, &x, &y)) {
+ return;
+ }
+ PDFCore::selectLine(pg, x, y);
+#ifndef NO_TEXT_SELECT
+ if (hasSelection()) {
+ copySelection(gFalse);
+ }
+#endif
+}
+
+void QtPDFCore::doLinkCbk(LinkAction *action) {
+ LinkDest *dest;
+ GString *namedDest;
+ Ref pageRef;
+ int pg;
+ GString *cmd, *params;
+ char *s;
+
+ if (!linkCbk) {
+ return;
+ }
+
+ switch (action->getKind()) {
+
+ case actionGoTo:
+ dest = NULL;
+ if ((dest = ((LinkGoTo *)action)->getDest())) {
+ dest = dest->copy();
+ } else if ((namedDest = ((LinkGoTo *)action)->getNamedDest())) {
+ dest = doc->findDest(namedDest);
+ }
+ pg = 0;
+ if (dest) {
+ if (dest->isPageRef()) {
+ pageRef = dest->getPageRef();
+ pg = doc->findPage(pageRef.num, pageRef.gen);
+ } else {
+ pg = dest->getPageNum();
+ }
+ delete dest;
+ }
+ (*linkCbk)(linkCbkData, "goto", NULL, pg);
+ break;
+
+ case actionGoToR:
+ (*linkCbk)(linkCbkData, "pdf",
+ ((LinkGoToR *)action)->getFileName()->getCString(), 0);
+ break;
+
+ case actionLaunch:
+ cmd = ((LinkLaunch *)action)->getFileName()->copy();
+ s = cmd->getCString();
+ if (strcmp(s + cmd->getLength() - 4, ".pdf") &&
+ strcmp(s + cmd->getLength() - 4, ".PDF") &&
+ (params = ((LinkLaunch *)action)->getParams())) {
+ cmd->append(' ')->append(params);
+ }
+ (*linkCbk)(linkCbkData, "launch", cmd->getCString(), 0);
+ delete cmd;
+ break;
+
+ case actionURI:
+ (*linkCbk)(linkCbkData, "url",
+ ((LinkURI *)action)->getURI()->getCString(), 0);
+ break;
+
+ case actionNamed:
+ (*linkCbk)(linkCbkData, "named",
+ ((LinkNamed *)action)->getName()->getCString(), 0);
+ break;
+
+ case actionMovie:
+ case actionJavaScript:
+ case actionSubmitForm:
+ case actionHide:
+ case actionUnknown:
+ (*linkCbk)(linkCbkData, "unknown", NULL, 0);
+ break;
+ }
+}
+
+QString QtPDFCore::getSelectedTextQString() {
+ GString *s, *enc;
+ QString qs;
+ int i;
+
+ if (!(s = getSelectedText())) {
+ return "";
+ }
+ enc = globalParams->getTextEncodingName();
+ if (!enc->cmp("UTF-8")) {
+ qs = QString::fromUtf8(s->getCString());
+ } else if (!enc->cmp("UCS-2")) {
+ for (i = 0; i+1 < s->getLength(); i += 2) {
+ qs.append((QChar)(((s->getChar(i) & 0xff) << 8) +
+ (s->getChar(i+1) & 0xff)));
+ }
+ } else {
+ qs = QString(s->getCString());
+ }
+ delete s;
+ delete enc;
+ return qs;
+}
+
+void QtPDFCore::copySelection(GBool toClipboard) {
+ QString qs;
+
+ if (hasSelection()) {
+ QApplication::clipboard()->setText(getSelectedTextQString(),
+ toClipboard ? QClipboard::Clipboard
+ : QClipboard::Selection);
+ }
+}
+
+//------------------------------------------------------------------------
+// hyperlinks
+//------------------------------------------------------------------------
+
+GBool QtPDFCore::doAction(LinkAction *action) {
+ LinkActionKind kind;
+ LinkDest *dest;
+ GString *namedDest;
+ char *s;
+ GString *fileName, *fileName2, *params;
+ GString *cmd;
+ GString *actionName;
+ Object movieAnnot, obj1, obj2;
+ GString *msg;
+ int i;
+
+ switch (kind = action->getKind()) {
+
+ // GoTo / GoToR action
+ case actionGoTo:
+ case actionGoToR:
+ if (kind == actionGoTo) {
+ dest = NULL;
+ namedDest = NULL;
+ if ((dest = ((LinkGoTo *)action)->getDest())) {
+ dest = dest->copy();
+ } else if ((namedDest = ((LinkGoTo *)action)->getNamedDest())) {
+ namedDest = namedDest->copy();
+ }
+ } else {
+ if (!externalHyperlinksEnabled) {
+ return gFalse;
+ }
+ dest = NULL;
+ namedDest = NULL;
+ if ((dest = ((LinkGoToR *)action)->getDest())) {
+ dest = dest->copy();
+ } else if ((namedDest = ((LinkGoToR *)action)->getNamedDest())) {
+ namedDest = namedDest->copy();
+ }
+ s = ((LinkGoToR *)action)->getFileName()->getCString();
+ if (isAbsolutePath(s)) {
+ fileName = new GString(s);
+ } else {
+ fileName = appendToPath(grabPath(doc->getFileName()->getCString()), s);
+ }
+ if (loadFile(fileName) != errNone) {
+ if (dest) {
+ delete dest;
+ }
+ if (namedDest) {
+ delete namedDest;
+ }
+ delete fileName;
+ return gFalse;
+ }
+ delete fileName;
+ }
+ if (namedDest) {
+ dest = doc->findDest(namedDest);
+ delete namedDest;
+ }
+ if (dest) {
+ displayDest(dest);
+ delete dest;
+ } else {
+ if (kind == actionGoToR) {
+ displayPage(1, gFalse, gFalse, gTrue);
+ }
+ }
+ break;
+
+ // Launch action
+ case actionLaunch:
+ if (!externalHyperlinksEnabled) {
+ return gFalse;
+ }
+ fileName = ((LinkLaunch *)action)->getFileName();
+ s = fileName->getCString();
+ if (fileName->getLength() >= 4 &&
+ (!strcmp(s + fileName->getLength() - 4, ".pdf") ||
+ !strcmp(s + fileName->getLength() - 4, ".PDF"))) {
+ if (isAbsolutePath(s)) {
+ fileName = fileName->copy();
+ } else {
+ fileName = appendToPath(grabPath(doc->getFileName()->getCString()), s);
+ }
+ if (loadFile(fileName) != errNone) {
+ delete fileName;
+ return gFalse;
+ }
+ delete fileName;
+ displayPage(1, gFalse, gFalse, gTrue);
+ } else {
+ cmd = fileName->copy();
+ if ((params = ((LinkLaunch *)action)->getParams())) {
+ cmd->append(' ')->append(params);
+ }
+ if (globalParams->getLaunchCommand()) {
+ cmd->insert(0, ' ');
+ cmd->insert(0, globalParams->getLaunchCommand());
+#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
+ QString cmdStr(cmd->getCString());
+ QStringList tokens = QProcess::splitCommand(cmdStr);
+ if (!tokens.isEmpty()) {
+ QString program = tokens[0];
+ tokens.removeFirst();
+ QProcess::startDetached(program, tokens);
+ }
+#else
+ QProcess::startDetached(cmd->getCString());
+#endif
+ } else {
+ msg = new GString("About to execute the command:\n");
+ msg->append(cmd);
+ if (QMessageBox::question(viewport, "PDF Launch Link",
+ msg->getCString(),
+ QMessageBox::Ok | QMessageBox::Cancel,
+ QMessageBox::Ok)
+ == QMessageBox::Ok) {
+#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
+ QString cmdStr(cmd->getCString());
+ QStringList tokens = QProcess::splitCommand(cmdStr);
+ if (!tokens.isEmpty()) {
+ QString program = tokens[0];
+ tokens.removeFirst();
+ QProcess::startDetached(program, tokens);
+ }
+#else
+ QProcess::startDetached(cmd->getCString());
+#endif
+ }
+ delete msg;
+ }
+ delete cmd;
+ }
+ break;
+
+ // URI action
+ case actionURI:
+ if (!externalHyperlinksEnabled) {
+ return gFalse;
+ }
+ QDesktopServices::openUrl(QUrl(((LinkURI *)action)->getURI()->getCString(),
+ QUrl::TolerantMode));
+ break;
+
+ // Named action
+ case actionNamed:
+ actionName = ((LinkNamed *)action)->getName();
+ if (!actionName->cmp("NextPage")) {
+ gotoNextPage(1, gTrue);
+ } else if (!actionName->cmp("PrevPage")) {
+ gotoPrevPage(1, gTrue, gFalse);
+ } else if (!actionName->cmp("FirstPage")) {
+ displayPage(1, gTrue, gFalse, gTrue);
+ } else if (!actionName->cmp("LastPage")) {
+ displayPage(doc->getNumPages(), gTrue, gFalse, gTrue);
+ } else if (!actionName->cmp("GoBack")) {
+ goBackward();
+ } else if (!actionName->cmp("GoForward")) {
+ goForward();
+ } else if (!actionName->cmp("Quit")) {
+ if (actionCbk) {
+ (*actionCbk)(actionCbkData, actionName->getCString());
+ }
+ } else {
+ error(errSyntaxError, -1,
+ "Unknown named action: '{0:t}'", actionName);
+ return gFalse;
+ }
+ break;
+
+ // Movie action
+ case actionMovie:
+ if (!externalHyperlinksEnabled) {
+ return gFalse;
+ }
+ if (!(cmd = globalParams->getMovieCommand())) {
+ error(errConfig, -1, "No movieCommand defined in config file");
+ return gFalse;
+ }
+ if (((LinkMovie *)action)->hasAnnotRef()) {
+ doc->getXRef()->fetch(((LinkMovie *)action)->getAnnotRef()->num,
+ ((LinkMovie *)action)->getAnnotRef()->gen,
+ &movieAnnot);
+ } else {
+ //~ need to use the correct page num here
+ doc->getCatalog()->getPage(tileMap->getFirstPage())->getAnnots(&obj1);
+ if (obj1.isArray()) {
+ for (i = 0; i < obj1.arrayGetLength(); ++i) {
+ if (obj1.arrayGet(i, &movieAnnot)->isDict()) {
+ if (movieAnnot.dictLookup("Subtype", &obj2)->isName("Movie")) {
+ obj2.free();
+ break;
+ }
+ obj2.free();
+ }
+ movieAnnot.free();
+ }
+ obj1.free();
+ }
+ }
+ if (movieAnnot.isDict()) {
+ if (movieAnnot.dictLookup("Movie", &obj1)->isDict()) {
+ if (obj1.dictLookup("F", &obj2)) {
+ if ((fileName = LinkAction::getFileSpecName(&obj2))) {
+ if (!isAbsolutePath(fileName->getCString())) {
+ fileName2 = appendToPath(
+ grabPath(doc->getFileName()->getCString()),
+ fileName->getCString());
+ delete fileName;
+ fileName = fileName2;
+ }
+ runCommand(cmd, fileName);
+ delete fileName;
+ }
+ obj2.free();
+ }
+ obj1.free();
+ }
+ }
+ movieAnnot.free();
+ break;
+
+ // unimplemented actions
+ case actionJavaScript:
+ case actionSubmitForm:
+ case actionHide:
+ return gFalse;
+
+ // unknown action type
+ case actionUnknown:
+ error(errSyntaxError, -1, "Unknown link action type: '{0:t}'",
+ ((LinkUnknown *)action)->getAction());
+ return gFalse;
+ }
+
+ return gTrue;
+}
+
+QString QtPDFCore::getLinkInfo(LinkAction *action) {
+ LinkDest *dest;
+ GString *namedDest;
+ Ref pageRef;
+ int pg;
+ QString info;
+
+ if (action == lastLinkAction && !lastLinkActionInfo.isEmpty()) {
+ return lastLinkActionInfo;
+ }
+
+ switch (action->getKind()) {
+ case actionGoTo:
+ dest = NULL;
+ if ((dest = ((LinkGoTo *)action)->getDest())) {
+ dest = dest->copy();
+ } else if ((namedDest = ((LinkGoTo *)action)->getNamedDest())) {
+ dest = doc->findDest(namedDest);
+ }
+ pg = 0;
+ if (dest) {
+ if (dest->isPageRef()) {
+ pageRef = dest->getPageRef();
+ pg = doc->findPage(pageRef.num, pageRef.gen);
+ } else {
+ pg = dest->getPageNum();
+ }
+ delete dest;
+ }
+ if (pg) {
+ info = QString("[page ") + QString::number(pg) + QString("]");
+ } else {
+ info = "[internal]";
+ }
+ break;
+ case actionGoToR:
+ info = QString(((LinkGoToR *)action)->getFileName()->getCString());
+ break;
+ case actionLaunch:
+ info = QString(((LinkLaunch *)action)->getFileName()->getCString());
+ break;
+ case actionURI:
+ info = QString(((LinkURI *)action)->getURI()->getCString());
+ break;
+ case actionNamed:
+ info = QString(((LinkNamed *)action)->getName()->getCString());
+ break;
+ case actionMovie:
+ info = "[movie]";
+ break;
+ case actionJavaScript:
+ case actionSubmitForm:
+ case actionHide:
+ case actionUnknown:
+ default:
+ info = "[unknown]";
+ break;
+ }
+
+ lastLinkAction = action;
+ lastLinkActionInfo = info;
+
+ return info;
+}
+
+// Run a command, given a <cmdFmt> string with one '%s' in it, and an
+// <arg> string to insert in place of the '%s'.
+void QtPDFCore::runCommand(GString *cmdFmt, GString *arg) {
+ GString *cmd;
+ char *s;
+
+ if ((s = strstr(cmdFmt->getCString(), "%s"))) {
+ cmd = mungeURL(arg);
+ cmd->insert(0, cmdFmt->getCString(),
+ (int)(s - cmdFmt->getCString()));
+ cmd->append(s + 2);
+ } else {
+ cmd = cmdFmt->copy();
+ }
+#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
+ QString cmdStr(cmd->getCString());
+ QStringList tokens = QProcess::splitCommand(cmdStr);
+ if (!tokens.isEmpty()) {
+ QString program = tokens[0];
+ tokens.removeFirst();
+ QProcess::startDetached(program, tokens);
+ }
+#else
+ QProcess::startDetached(cmd->getCString());
+#endif
+ delete cmd;
+}
+
+// Escape any characters in a URL which might cause problems when
+// calling system().
+GString *QtPDFCore::mungeURL(GString *url) {
+ static const char *allowed = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ "abcdefghijklmnopqrstuvwxyz"
+ "0123456789"
+ "-_.~/?:@&=+,#%";
+ GString *newURL;
+ char c;
+ int i;
+
+ newURL = new GString();
+ for (i = 0; i < url->getLength(); ++i) {
+ c = url->getChar(i);
+ if (strchr(allowed, c)) {
+ newURL->append(c);
+ } else {
+ newURL->appendf("%{0:02x}", c & 0xff);
+ }
+ }
+ return newURL;
+}
+
+//------------------------------------------------------------------------
+// find
+//------------------------------------------------------------------------
+
+GBool QtPDFCore::find(char *s, GBool caseSensitive, GBool next,
+ GBool backward, GBool wholeWord, GBool onePageOnly) {
+ if (!PDFCore::find(s, caseSensitive, next,
+ backward, wholeWord, onePageOnly)) {
+ return gFalse;
+ }
+#ifndef NO_TEXT_SELECT
+ copySelection(gFalse);
+#endif
+ return gTrue;
+}
+
+GBool QtPDFCore::findU(Unicode *u, int len, GBool caseSensitive,
+ GBool next, GBool backward,
+ GBool wholeWord, GBool onePageOnly) {
+ if (!PDFCore::findU(u, len, caseSensitive, next,
+ backward, wholeWord, onePageOnly)) {
+ return gFalse;
+ }
+#ifndef NO_TEXT_SELECT
+ copySelection(gFalse);
+#endif
+ return gTrue;
+}
+
+//------------------------------------------------------------------------
+// misc access
+//------------------------------------------------------------------------
+
+void QtPDFCore::setBusyCursor(GBool busy) {
+ if (busy) {
+ doSetCursor(Qt::WaitCursor);
+ } else {
+ doUnsetCursor();
+ }
+}
+
+void QtPDFCore::doSetCursor(const QCursor &cursor) {
+#ifndef QT_NO_CURSOR
+ viewport->setCursor(cursor);
+#endif
+}
+
+void QtPDFCore::doUnsetCursor() {
+#ifndef QT_NO_CURSOR
+ viewport->unsetCursor();
+#endif
+}
+
+void QtPDFCore::takeFocus() {
+ viewport->setFocus(Qt::OtherFocusReason);
+}
+
+QSize QtPDFCore::getBestSize() {
+ DisplayMode mode;
+ double zoomPercent;
+ int w, h, pg, rot;
+
+ if (!doc || doc->getNumPages() == 0) {
+ //~ what should this return?
+ return QSize(612, 792);
+ }
+ mode = state->getDisplayMode();
+ pg = tileMap->getFirstPage();
+ rot = (state->getRotate() + doc->getPageRotate(pg)) % 360;
+ zoomPercent = state->getZoom();
+ if (zoomPercent < 0) {
+ zoomPercent = globalParams->getDefaultFitZoom();
+ if (zoomPercent <= 0) {
+ zoomPercent = (int)((100 * displayDpi) / 72.0 + 0.5);
+ if (zoomPercent < 100) {
+ zoomPercent = 100;
+ }
+ }
+ }
+ if (rot == 90 || rot == 270) {
+ w = (int)(doc->getPageCropHeight(pg) * 0.01 * zoomPercent + 0.5);
+ h = (int)(doc->getPageCropWidth(pg) * 0.01 * zoomPercent + 0.5);
+ } else {
+ w = (int)(doc->getPageCropWidth(pg) * 0.01 * zoomPercent + 0.5);
+ h = (int)(doc->getPageCropHeight(pg) * 0.01 * zoomPercent + 0.5);
+ }
+ if (mode == displayContinuous) {
+ w += QApplication::style()->pixelMetric(QStyle::PM_ScrollBarExtent);
+ h += tileMap->getContinuousPageSpacing();
+ } else if (mode == displaySideBySideContinuous) {
+ w = w * 2
+ + tileMap->getHorizContinuousPageSpacing()
+ + QApplication::style()->pixelMetric(QStyle::PM_ScrollBarExtent);
+ h += tileMap->getContinuousPageSpacing();
+ } else if (mode == displayHorizontalContinuous) {
+ w += tileMap->getHorizContinuousPageSpacing();
+ h += QApplication::style()->pixelMetric(QStyle::PM_ScrollBarExtent);
+ } else if (mode == displaySideBySideSingle) {
+ w = w * 2 + tileMap->getHorizContinuousPageSpacing();
+ }
+ //~ these additions are a kludge to make this work -- 2 pixels are
+ //~ padding in the QAbstractScrollArea; not sure where the rest go
+#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+ w += 6;
+ h += 2;
+#else
+ w += 10;
+ h += 4;
+#endif
+ return QSize((int)(w / scaleFactor), (int)(h / scaleFactor));
+}
+
+//------------------------------------------------------------------------
+// GUI code
+//------------------------------------------------------------------------
+
+void QtPDFCore::resizeEvent() {
+ setWindowSize((int)(viewport->width() * scaleFactor),
+ (int)(viewport->height() * scaleFactor));
+}
+
+void QtPDFCore::paintEvent(int x, int y, int w, int h) {
+ SplashBitmap *bitmap;
+ GBool wholeWindow;
+
+ QPainter painter(viewport);
+ wholeWindow = x == 0 && y == 0 &&
+ w == viewport->width() && h == viewport->height();
+ bitmap = getWindowBitmap(wholeWindow);
+ QImage image(bitmap->getDataPtr(), bitmap->getWidth(),
+ bitmap->getHeight(), QImage::Format_RGB888);
+ if (scaleFactor == 1) {
+ painter.drawImage(QRect(x, y, w, h), image, QRect(x, y, w, h));
+ } else {
+ painter.drawImage(QRectF(x, y, w, h), image,
+ QRectF(x * scaleFactor, y * scaleFactor,
+ w * scaleFactor, h * scaleFactor));
+ }
+ if (paintDoneCbk) {
+ (*paintDoneCbk)(paintDoneCbkData, (bool)isBitmapFinished());
+ }
+}
+
+void QtPDFCore::scrollEvent() {
+ // avoid loops, e.g., scrollTo -> finishUpdate -> updateScrollbars ->
+ // hScrollbar.setValue -> scrollContentsBy -> scrollEvent -> scrollTo
+ if (inUpdateScrollbars) {
+ return;
+ }
+ scrollTo(hScrollBar->value(), vScrollBar->value());
+}
+
+void QtPDFCore::tick() {
+ PDFCore::tick();
+}
+
+void QtPDFCore::invalidate(int x, int y, int w, int h) {
+ int xx, yy, ww, hh;
+
+ if (scaleFactor == 1) {
+ viewport->update(x, y, w, h);
+ } else {
+ xx = (int)(x / scaleFactor);
+ yy = (int)(y / scaleFactor);
+ ww = (int)ceil((x + w) / scaleFactor) - xx;
+ hh = (int)ceil((y + h) / scaleFactor) - yy;
+ viewport->update(xx, yy, ww, hh);
+ }
+}
+
+void QtPDFCore::updateScrollbars() {
+ int winW, winH, horizLimit, vertLimit, horizMax, vertMax;
+ bool vScrollBarVisible, hScrollBarVisible;
+
+ inUpdateScrollbars = gTrue;
+
+ winW = state->getWinW();
+ winH = state->getWinH();
+ tileMap->getScrollLimits(&horizLimit, &vertLimit);
+
+ if (horizLimit > winW) {
+ horizMax = horizLimit - winW;
+ } else {
+ horizMax = 0;
+ }
+ if (vertLimit > winH) {
+ vertMax = vertLimit - winH;
+ } else {
+ vertMax = 0;
+ }
+
+ // Problem case A: in fixed zoom, there is a case where the page
+ // just barely fits in the window; if the scrollbars are visible,
+ // they reduce the available window size enough that they are
+ // necessary, i.e., the scrollbars are only necessary if they're
+ // visible -- so check for that situation and force the scrollbars
+ // to be hidden.
+ // NB: {h,v}ScrollBar->isVisible() are unreliable at startup, so
+ // we compare the viewport size to the ScrollArea size (with
+ // some slack for margins)
+ vScrollBarVisible =
+ viewport->parentWidget()->width() - viewport->width() > 8;
+ hScrollBarVisible =
+ viewport->parentWidget()->height() - viewport->height() > 8;
+ if (state->getZoom() >= 0 &&
+ vScrollBarVisible &&
+ hScrollBarVisible &&
+ horizMax <= vScrollBar->width() &&
+ vertMax <= hScrollBar->height()) {
+ horizMax = 0;
+ vertMax = 0;
+ }
+
+ // Problem case B: in fit-to-width mode, with the vertical scrollbar
+ // visible, if the window is just tall enough to fit the page, then
+ // the vertical scrollbar will be hidden, resulting in a wider
+ // window, resulting in a taller page (because of fit-to-width),
+ // resulting in the scrollbar being unhidden, in an infinite loop --
+ // so always force the vertical scroll bar to be visible in
+ // fit-to-width mode (and in fit-to-page cases where the vertical
+ // scrollbar is potentially visible).
+ if (state->getZoom() == zoomWidth ||
+ (state->getZoom() == zoomPage &&
+ (state->getDisplayMode() == displayContinuous ||
+ state->getDisplayMode() == displaySideBySideContinuous))) {
+ if (vertMax == 0) {
+ vertMax = 1;
+ }
+
+ // Problem case C: same as case B, but for fit-to-height mode and
+ // the horizontal scrollbar.
+ } else if (state->getZoom() == zoomHeight ||
+ (state->getZoom() == zoomPage &&
+ state->getDisplayMode() == displayHorizontalContinuous)) {
+ if (horizMax == 0) {
+ horizMax = 1;
+ }
+ }
+
+ hScrollBar->setMaximum(horizMax);
+ hScrollBar->setPageStep(winW);
+ hScrollBar->setValue(state->getScrollX());
+
+ vScrollBar->setMaximum(vertMax);
+ vScrollBar->setPageStep(winH);
+ vScrollBar->setValue(state->getScrollY());
+
+ inUpdateScrollbars = gFalse;
+}
+
+GBool QtPDFCore::checkForNewFile() {
+ QDateTime newModTime;
+
+ if (doc->getFileName()) {
+ newModTime = QFileInfo(doc->getFileName()->getCString()).lastModified();
+ if (newModTime != modTime) {
+ modTime = newModTime;
+ return gTrue;
+ }
+ }
+ return gFalse;
+}
+
+void QtPDFCore::preLoad() {
+ if (preLoadCbk) {
+ (*preLoadCbk)(preLoadCbkData);
+ }
+}
+
+void QtPDFCore::postLoad() {
+ if (postLoadCbk) {
+ (*postLoadCbk)(postLoadCbkData);
+ }
+}
+
+//------------------------------------------------------------------------
+// password dialog
+//------------------------------------------------------------------------
+
+GString *QtPDFCore::getPassword() {
+ QString s;
+ bool ok;
+
+ if (!showPasswordDialog) {
+ return NULL;
+ }
+ s = QInputDialog::getText(viewport, "PDF Password",
+ "This document requires a password",
+ QLineEdit::Password, "", &ok, Qt::Dialog);
+ if (ok) {
+ return new GString(s.toLocal8Bit().constData());
+ } else {
+ return NULL;
+ }
+}
diff --git a/xpdf-qt/QtPDFCore.h b/xpdf-qt/QtPDFCore.h
new file mode 100644
index 0000000..cbd1e3b
--- /dev/null
+++ b/xpdf-qt/QtPDFCore.h
@@ -0,0 +1,227 @@
+//========================================================================
+//
+// QtPDFCore.h
+//
+// Copyright 2009-2014 Glyph & Cog, LLC
+//
+//========================================================================
+
+#ifndef QTPDFCORE_H
+#define QTPDFCORE_H
+
+#include <aconf.h>
+
+#ifdef USE_GCC_PRAGMAS
+#pragma interface
+#endif
+
+#include <QDateTime>
+#include "gtypes.h"
+#include "SplashTypes.h"
+#include "PDFCore.h"
+
+class GString;
+class BaseStream;
+class PDFDoc;
+class LinkAction;
+
+class QWidget;
+class QScrollBar;
+
+//------------------------------------------------------------------------
+// callbacks
+//------------------------------------------------------------------------
+
+typedef void (*QtPDFUpdateCbk)(void *data, GString *fileName,
+ int pageNum, int numPages,
+ const char *linkLabel);
+
+typedef void (*QtPDFMidPageChangedCbk)(void *data, int pageNum);
+
+typedef void (*QtPDFLoadCbk)(void *data);
+
+typedef void (*QtPDFActionCbk)(void *data, char *action);
+
+typedef void (*QtPDFLinkCbk)(void *data, const char *type,
+ const char *dest, int page);
+
+typedef void (*QtPDFSelectDoneCbk)(void *data);
+
+typedef void (*QtPDFPaintDoneCbk)(void *data, bool finished);
+
+
+//------------------------------------------------------------------------
+// QtPDFCore
+//------------------------------------------------------------------------
+
+class QtPDFCore: public PDFCore {
+public:
+
+ // Create viewer core in <viewportA>.
+ QtPDFCore(QWidget *viewportA,
+ QScrollBar *hScrollBarA, QScrollBar *vScrollBarA,
+ SplashColorPtr paperColor, SplashColorPtr matteColor,
+ GBool reverseVideo);
+
+ ~QtPDFCore();
+
+ //----- loadFile / displayPage / displayDest
+
+ // Load a new file. Returns pdfOk or error code.
+ virtual int loadFile(GString *fileName, GString *ownerPassword = NULL,
+ GString *userPassword = NULL);
+
+#ifdef _WIN32
+ // Load a new file. Returns pdfOk or error code.
+ virtual int loadFile(wchar_t *fileName, int fileNameLen,
+ GString *ownerPassword = NULL,
+ GString *userPassword = NULL);
+#endif
+
+ // Load a new file, via a Stream instead of a file name. Returns
+ // pdfOk or error code.
+ virtual int loadFile(BaseStream *stream, GString *ownerPassword = NULL,
+ GString *userPassword = NULL);
+
+ // Load an already-created PDFDoc object.
+ virtual void loadDoc(PDFDoc *docA);
+
+ // Reload the current file. This only works if the PDF was loaded
+ // via a file. Returns pdfOk or error code.
+ virtual int reload();
+
+ // Called after any update is complete.
+ virtual void finishUpdate(GBool addToHist, GBool checkForChangedFile);
+
+ //----- panning and selection
+
+ void startPan(int wx, int wy);
+ void endPan(int wx, int wy);
+ void startSelection(int wx, int wy, GBool extend);
+ void endSelection(int wx, int wy);
+ void mouseMove(int wx, int wy);
+ void selectWord(int wx, int wy);
+ void selectLine(int wx, int wy);
+ QString getSelectedTextQString();
+ void copySelection(GBool toClipboard);
+
+ //----- hyperlinks
+
+ GBool doAction(LinkAction *action);
+ LinkAction *getLinkAction() { return linkAction; }
+ QString getLinkInfo(LinkAction *action);
+ GString *mungeURL(GString *url);
+
+ //----- find
+
+ virtual GBool find(char *s, GBool caseSensitive, GBool next,
+ GBool backward, GBool wholeWord, GBool onePageOnly);
+ virtual GBool findU(Unicode *u, int len, GBool caseSensitive,
+ GBool next, GBool backward,
+ GBool wholeWord, GBool onePageOnly);
+
+ //----- password dialog
+
+ virtual GString *getPassword();
+
+ //----- misc access
+
+ virtual void setBusyCursor(GBool busy);
+ void doSetCursor(const QCursor &cursor);
+ void doUnsetCursor();
+ void takeFocus();
+ QSize getBestSize();
+ int getDisplayDpi() { return displayDpi; }
+ double getScaleFactor() { return scaleFactor; }
+ void enableHyperlinks(GBool on) { hyperlinksEnabled = on; }
+ GBool getHyperlinksEnabled() { return hyperlinksEnabled; }
+ void enableExternalHyperlinks(GBool on) { externalHyperlinksEnabled = on; }
+ GBool getExternalHyperlinksEnabled() { return externalHyperlinksEnabled; }
+ void enableSelect(GBool on) { selectEnabled = on; }
+ void enablePan(GBool on) { panEnabled = on; }
+ void setShowPasswordDialog(GBool show) { showPasswordDialog = show; }
+ void setUpdateCbk(QtPDFUpdateCbk cbk, void *data)
+ { updateCbk = cbk; updateCbkData = data; }
+ void setMidPageChangedCbk(QtPDFMidPageChangedCbk cbk, void *data)
+ { midPageChangedCbk = cbk; midPageChangedCbkData = data; }
+ void setPreLoadCbk(QtPDFLoadCbk cbk, void *data)
+ { preLoadCbk = cbk; preLoadCbkData = data; }
+ void setPostLoadCbk(QtPDFLoadCbk cbk, void *data)
+ { postLoadCbk = cbk; postLoadCbkData = data; }
+ void setActionCbk(QtPDFActionCbk cbk, void *data)
+ { actionCbk = cbk; actionCbkData = data; }
+ void setLinkCbk(QtPDFLinkCbk cbk, void *data)
+ { linkCbk = cbk; linkCbkData = data; }
+ void setSelectDoneCbk(QtPDFSelectDoneCbk cbk, void *data)
+ { selectDoneCbk = cbk; selectDoneCbkData = data; }
+ void setPaintDoneCbk(QtPDFPaintDoneCbk cbk, void *data)
+ { paintDoneCbk = cbk; paintDoneCbkData = data; }
+
+ //----- GUI events
+ void resizeEvent();
+ void paintEvent(int x, int y, int w, int h);
+ void scrollEvent();
+ virtual void tick();
+
+private:
+
+ //----- hyperlinks
+ void doLinkCbk(LinkAction *action);
+ void runCommand(GString *cmdFmt, GString *arg);
+
+ //----- PDFCore callbacks
+ virtual void invalidate(int x, int y, int w, int h);
+ virtual void updateScrollbars();
+ virtual GBool checkForNewFile();
+ virtual void preLoad();
+ virtual void postLoad();
+
+ QWidget *viewport;
+ QScrollBar *hScrollBar;
+ QScrollBar *vScrollBar;
+
+ int displayDpi;
+ double scaleFactor;
+
+ GBool dragging;
+
+ GBool panning;
+ int panMX, panMY;
+
+ GBool inUpdateScrollbars;
+
+ int oldFirstPage;
+ int oldMidPage;
+
+ LinkAction *linkAction; // mouse cursor is over this link
+
+ LinkAction *lastLinkAction; // getLinkInfo() caches an action
+ QString lastLinkActionInfo;
+
+ QDateTime modTime; // last modification time of PDF file
+
+ QtPDFUpdateCbk updateCbk;
+ void *updateCbkData;
+ QtPDFMidPageChangedCbk midPageChangedCbk;
+ void *midPageChangedCbkData;
+ QtPDFLoadCbk preLoadCbk;
+ void *preLoadCbkData;
+ QtPDFLoadCbk postLoadCbk;
+ void *postLoadCbkData;
+ QtPDFActionCbk actionCbk;
+ void *actionCbkData;
+ QtPDFLinkCbk linkCbk;
+ void *linkCbkData;
+ QtPDFSelectDoneCbk selectDoneCbk;
+ void *selectDoneCbkData;
+ QtPDFPaintDoneCbk paintDoneCbk;
+ void *paintDoneCbkData;
+
+ GBool hyperlinksEnabled;
+ GBool externalHyperlinksEnabled;
+ GBool selectEnabled;
+ GBool panEnabled;
+ GBool showPasswordDialog;
+};
+
+#endif
diff --git a/xpdf-qt/XpdfApp.cc b/xpdf-qt/XpdfApp.cc
new file mode 100644
index 0000000..fdcaea5
--- /dev/null
+++ b/xpdf-qt/XpdfApp.cc
@@ -0,0 +1,499 @@
+//========================================================================
+//
+// XpdfApp.cc
+//
+// Copyright 2015 Glyph & Cog, LLC
+//
+//========================================================================
+
+#include <aconf.h>
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <QFileInfo>
+#include <QLocalSocket>
+#ifdef _WIN32
+# include <shlobj.h>
+#endif
+#include "config.h"
+#include "parseargs.h"
+#include "GString.h"
+#include "GList.h"
+#include "gfile.h"
+#include "GlobalParams.h"
+#include "XpdfViewer.h"
+#include "XpdfApp.h"
+#include "gmempp.h"
+
+//------------------------------------------------------------------------
+// command line options
+//------------------------------------------------------------------------
+
+static GBool openArg = gFalse;
+static GBool reverseVideoArg = gFalse;
+static char paperColorArg[256] = "";
+static char matteColorArg[256] = "";
+static char fsMatteColorArg[256] = "";
+static char initialZoomArg[256] = "";
+static int rotateArg = 0;
+static char antialiasArg[16] = "";
+static char vectorAntialiasArg[16] = "";
+static char textEncArg[128] = "";
+static char passwordArg[33] = "";
+static GBool fullScreen = gFalse;
+static char remoteServerArg[256] = "";
+static char tabStateFile[256] = "";
+static char cfgFileArg[256] = "";
+static GBool printCommandsArg = gFalse;
+static GBool printVersionArg = gFalse;
+static GBool printHelpArg = gFalse;
+
+static ArgDesc argDesc[] = {
+ {"-open", argFlag, &openArg, 0, "open file using a default remote server"},
+ {"-rv", argFlag, &reverseVideoArg, 0, "reverse video"},
+ {"-papercolor", argString, paperColorArg, sizeof(paperColorArg), "color of paper background"},
+ {"-mattecolor", argString, matteColorArg, sizeof(matteColorArg), "color of matte background"},
+ {"-fsmattecolor", argString, fsMatteColorArg, sizeof(fsMatteColorArg), "color of matte background in full-screen mode"},
+ {"-z", argString, initialZoomArg, sizeof(initialZoomArg), "initial zoom level (percent, 'page', 'width')"},
+ {"-rot", argInt, &rotateArg, 0, "initial page rotation: 0, 90, 180, or 270"},
+ {"-aa", argString, antialiasArg, sizeof(antialiasArg), "enable font anti-aliasing: yes, no"},
+ {"-aaVector", argString, vectorAntialiasArg, sizeof(vectorAntialiasArg), "enable vector anti-aliasing: yes, no"},
+ {"-enc", argString, textEncArg, sizeof(textEncArg), "output text encoding name"},
+ {"-pw", argString, passwordArg, sizeof(passwordArg), "password (for encrypted files)"},
+ {"-fullscreen", argFlag, &fullScreen, 0, "run in full-screen (presentation) mode"},
+ {"-remote", argString, remoteServerArg, sizeof(remoteServerArg), "remote server mode - remaining args are commands"},
+ {"-cmd", argFlag, &printCommandsArg, 0, "print commands as they're executed"},
+ {"-tabstate", argString, tabStateFile, sizeof(tabStateFile), "file for saving/loading tab state"},
+ {"-cfg", argString, cfgFileArg, sizeof(cfgFileArg), "configuration file to use in place of .xpdfrc"},
+ {"-v", argFlag, &printVersionArg, 0, "print copyright and version info"},
+ {"-h", argFlag, &printHelpArg, 0, "print usage information"},
+ {"-help", argFlag, &printHelpArg, 0, "print usage information"},
+ {"--help", argFlag, &printHelpArg, 0, "print usage information"},
+ {"-?", argFlag, &printHelpArg, 0, "print usage information"},
+ {NULL}
+};
+
+//------------------------------------------------------------------------
+// XpdfApp
+//------------------------------------------------------------------------
+
+static void mungeOpenFileName(const char *fileName, GString *cmd);
+
+XpdfApp::XpdfApp(int &argc, char **argv):
+ QApplication(argc, argv)
+{
+ XpdfViewer *viewer;
+ QLocalSocket *sock;
+ QString sockName;
+ const char *fileName, *dest;
+ GString *color, *cmd;
+ GBool ok;
+ int pg, i;
+
+ setApplicationName("XpdfReader");
+ setApplicationVersion(xpdfVersion);
+
+ ok = parseArgs(argDesc, &argc, argv);
+ if (!ok || printVersionArg || printHelpArg) {
+ fprintf(stderr, "xpdf version %s [www.xpdfreader.com]\n", xpdfVersion);
+ fprintf(stderr, "%s\n", xpdfCopyright);
+ if (!printVersionArg) {
+ printUsage("xpdf", "[<PDF-file> [:<page> | +<dest>]] ...", argDesc);
+ }
+ ::exit(99);
+ }
+
+ //--- set up GlobalParams; handle command line arguments
+ GlobalParams::defaultTextEncoding = "UCS-2";
+ globalParams = new GlobalParams(cfgFileArg);
+#ifdef _WIN32
+ QString dir = applicationDirPath();
+ globalParams->setBaseDir(dir.toLocal8Bit().constData());
+ dir += "/t1fonts";
+ globalParams->setupBaseFonts(dir.toLocal8Bit().constData());
+#else
+ globalParams->setupBaseFonts(NULL);
+#endif
+ if (initialZoomArg[0]) {
+ globalParams->setInitialZoom(initialZoomArg);
+ }
+ reverseVideo = reverseVideoArg;
+ if (paperColorArg[0]) {
+ paperColor = QColor(paperColorArg);
+ } else {
+ color = globalParams->getPaperColor();
+ paperColor = QColor(color->getCString());
+ delete color;
+ }
+ if (reverseVideo) {
+ paperColor = QColor(255 - paperColor.red(),
+ 255 - paperColor.green(),
+ 255 - paperColor.blue());
+ }
+ if (matteColorArg[0]) {
+ matteColor = QColor(matteColorArg);
+ } else {
+ color = globalParams->getMatteColor();
+ matteColor = QColor(color->getCString());
+ delete color;
+ }
+ if (fsMatteColorArg[0]) {
+ fsMatteColor = QColor(fsMatteColorArg);
+ } else {
+ color = globalParams->getFullScreenMatteColor();
+ fsMatteColor = QColor(color->getCString());
+ delete color;
+ }
+ color = globalParams->getSelectionColor();
+ selectionColor = QColor(color->getCString());
+ delete color;
+ if (antialiasArg[0]) {
+ if (!globalParams->setAntialias(antialiasArg)) {
+ fprintf(stderr, "Bad '-aa' value on command line\n");
+ }
+ }
+ if (vectorAntialiasArg[0]) {
+ if (!globalParams->setVectorAntialias(vectorAntialiasArg)) {
+ fprintf(stderr, "Bad '-aaVector' value on command line\n");
+ }
+ }
+ if (textEncArg[0]) {
+ globalParams->setTextEncoding(textEncArg);
+ }
+ if (tabStateFile[0]) {
+ globalParams->setTabStateFile(tabStateFile);
+ }
+ if (printCommandsArg) {
+ globalParams->setPrintCommands(gTrue);
+ }
+
+ errorEventType = QEvent::registerEventType();
+
+ viewers = new GList();
+
+ //--- remote server mode
+ if (remoteServerArg[0]) {
+ sock = new QLocalSocket(this);
+ sockName = "xpdf_";
+ sockName += remoteServerArg;
+ sock->connectToServer(sockName, QIODevice::WriteOnly);
+ if (sock->waitForConnected(5000)) {
+ for (i = 1; i < argc; ++i) {
+ sock->write(argv[i]);
+ sock->write("\n");
+ }
+ while (sock->bytesToWrite()) {
+ sock->waitForBytesWritten(5000);
+ }
+ delete sock;
+ ::exit(0);
+ } else {
+ delete sock;
+ viewer = newWindow(gFalse, remoteServerArg);
+ for (i = 1; i < argc; ++i) {
+ viewer->execCmd(argv[i], NULL);
+ }
+ return;
+ }
+ }
+
+ //--- default remote server
+ if (openArg) {
+ sock = new QLocalSocket(this);
+ sockName = "xpdf_default";
+ sock->connectToServer(sockName, QIODevice::WriteOnly);
+ if (sock->waitForConnected(5000)) {
+ if (argc >= 2) {
+ cmd = new GString("openFileIn(");
+ mungeOpenFileName(argv[1], cmd);
+ cmd->append(",tab)\nraise\n");
+ sock->write(cmd->getCString());
+ delete cmd;
+ while (sock->bytesToWrite()) {
+ sock->waitForBytesWritten(5000);
+ }
+ }
+ delete sock;
+ ::exit(0);
+ } else {
+ delete sock;
+ if (argc >= 2) {
+ // on Windows: xpdf.cc converts command line args to UTF-8
+ // on Linux: command line args are in the local 8-bit charset
+#ifdef _WIN32
+ QString qFileName = QString::fromUtf8(argv[1]);
+#else
+ QString qFileName = QString::fromLocal8Bit(argv[1]);
+#endif
+ openInNewWindow(qFileName, 1, "", rotateArg, passwordArg,
+ fullScreen, "default");
+ } else {
+ newWindow(fullScreen, "default");
+ }
+ return;
+ }
+ }
+
+ //--- load PDF file(s) requested on the command line
+ if (argc >= 2) {
+ i = 1;
+ while (i < argc) {
+ pg = -1;
+ dest = "";
+ if (i+1 < argc && argv[i+1][0] == ':') {
+ fileName = argv[i];
+ pg = atoi(argv[i+1] + 1);
+ i += 2;
+ } else if (i+1 < argc && argv[i+1][0] == '+') {
+ fileName = argv[i];
+ dest = argv[i+1] + 1;
+ i += 2;
+ } else {
+ fileName = argv[i];
+ ++i;
+ }
+ // on Windows: xpdf.cc converts command line args to UTF-8
+ // on Linux: command line args are in the local 8-bit charset
+#ifdef _WIN32
+ QString qFileName = QString::fromUtf8(fileName);
+#else
+ QString qFileName = QString::fromLocal8Bit(fileName);
+#endif
+ if (viewers->getLength() > 0) {
+ ok = ((XpdfViewer *)viewers->get(0))
+ ->openInNewTab(qFileName, pg, dest, rotateArg,
+ passwordArg, gFalse);
+ } else {
+ ok = openInNewWindow(qFileName, pg, dest, rotateArg,
+ passwordArg, fullScreen);
+ }
+ }
+ } else {
+ newWindow(fullScreen);
+ }
+}
+
+// Process the file name for the "-open" flag: convert a relative path
+// to absolute, and add escape chars as needed. Append the modified
+// name to [cmd].
+static void mungeOpenFileName(const char *fileName, GString *cmd) {
+ GString *path = new GString(fileName);
+ makePathAbsolute(path);
+ for (int i = 0; i < path->getLength(); ++i) {
+ char c = path->getChar(i);
+ if (c == '(' || c == ')' || c == ',' || c == '\x01') {
+ cmd->append('\x01');
+ }
+ cmd->append(c);
+ }
+ delete path;
+}
+
+XpdfApp::~XpdfApp() {
+ delete viewers;
+ delete globalParams;
+}
+
+int XpdfApp::getNumViewers() {
+ return viewers->getLength();
+}
+
+XpdfViewer *XpdfApp::newWindow(GBool fullScreen,
+ const char *remoteServerName) {
+ XpdfViewer *viewer = new XpdfViewer(this, fullScreen);
+ viewers->append(viewer);
+ if (remoteServerName) {
+ viewer->startRemoteServer(remoteServerName);
+ }
+ viewer->tweakSize();
+ viewer->show();
+ return viewer;
+}
+
+GBool XpdfApp::openInNewWindow(QString fileName, int page, QString dest,
+ int rotate, QString password, GBool fullScreen,
+ const char *remoteServerName) {
+ XpdfViewer *viewer;
+
+ viewer = XpdfViewer::create(this, fileName, page, dest, rotate,
+ password, fullScreen);
+ if (!viewer) {
+ return gFalse;
+ }
+ viewers->append(viewer);
+ if (remoteServerName) {
+ viewer->startRemoteServer(remoteServerName);
+ }
+ viewer->tweakSize();
+ viewer->show();
+ return gTrue;
+}
+
+void XpdfApp::closeWindowOrQuit(XpdfViewer *viewer) {
+ int i;
+
+ viewer->close();
+ for (i = 0; i < viewers->getLength(); ++i) {
+ if ((XpdfViewer *)viewers->get(i) == viewer) {
+ viewers->del(i);
+ break;
+ }
+ }
+}
+
+void XpdfApp::quit() {
+ XpdfViewer *viewer;
+
+ while (viewers->getLength()) {
+ viewer = (XpdfViewer *)viewers->del(0);
+ viewer->close();
+ }
+ QApplication::quit();
+}
+
+//------------------------------------------------------------------------
+
+void XpdfApp::startUpdatePagesFile() {
+ if (!globalParams->getSavePageNumbers()) {
+ return;
+ }
+ readPagesFile();
+ savedPagesFileChanged = gFalse;
+}
+
+void XpdfApp::updatePagesFile(const QString &fileName, int pageNumber) {
+ if (!globalParams->getSavePageNumbers()) {
+ return;
+ }
+ if (fileName.isEmpty()) {
+ return;
+ }
+ QString canonicalFileName = QFileInfo(fileName).canonicalFilePath();
+ if (canonicalFileName.isEmpty()) {
+ return;
+ }
+ XpdfSavedPageNumber s(canonicalFileName, pageNumber);
+ for (int i = 0; i < maxSavedPageNumbers; ++i) {
+ XpdfSavedPageNumber next = savedPageNumbers[i];
+ savedPageNumbers[i] = s;
+ if (next.fileName == canonicalFileName) {
+ break;
+ }
+ s = next;
+ }
+ savedPagesFileChanged = gTrue;
+}
+
+void XpdfApp::finishUpdatePagesFile() {
+ if (!globalParams->getSavePageNumbers()) {
+ return;
+ }
+ if (savedPagesFileChanged) {
+ writePagesFile();
+ }
+}
+
+int XpdfApp::getSavedPageNumber(const QString &fileName) {
+ if (!globalParams->getSavePageNumbers()) {
+ return 1;
+ }
+ readPagesFile();
+ QString canonicalFileName = QFileInfo(fileName).canonicalFilePath();
+ if (canonicalFileName.isEmpty()) {
+ return 1;
+ }
+ for (int i = 0; i < maxSavedPageNumbers; ++i) {
+ if (savedPageNumbers[i].fileName == canonicalFileName) {
+ return savedPageNumbers[i].pageNumber;
+ }
+ }
+ return 1;
+}
+
+void XpdfApp::readPagesFile() {
+ // construct the file name (first time only)
+ if (savedPagesFileName.isEmpty()) {
+#ifdef _WIN32
+ char path[MAX_PATH];
+ if (SHGetFolderPath(NULL, CSIDL_APPDATA, NULL,
+ SHGFP_TYPE_CURRENT, path) != S_OK) {
+ return;
+ }
+ savedPagesFileName = QString::fromLocal8Bit(path);
+ savedPagesFileName.append("/xpdf");
+ CreateDirectory(savedPagesFileName.toLocal8Bit().constData(), NULL);
+ savedPagesFileName.append("/xpdf.pages");
+#else
+ GString *path = getHomeDir();
+ savedPagesFileName = QString::fromUtf8(path->getCString());
+ delete path;
+ savedPagesFileName.append("/.xpdf.pages");
+#endif
+ }
+
+ // no change since last read, so no need to re-read
+ if (savedPagesFileTimestamp.isValid() &&
+ QFileInfo(savedPagesFileName).lastModified() == savedPagesFileTimestamp) {
+ return;
+ }
+
+ // mark all entries invalid
+ for (int i = 0; i < maxSavedPageNumbers; ++i) {
+ savedPageNumbers[i].fileName.clear();
+ savedPageNumbers[i].pageNumber = 1;
+ }
+
+ // read the file
+ FILE *f = openFile(savedPagesFileName.toUtf8().constData(), "rb");
+ if (!f) {
+ return;
+ }
+ char buf[1024];
+ if (!fgets(buf, sizeof(buf), f) ||
+ strcmp(buf, "xpdf.pages-1\n") != 0) {
+ fclose(f);
+ return;
+ }
+ int i = 0;
+ while (i < maxSavedPageNumbers && fgets(buf, sizeof(buf), f)) {
+ int n = (int)strlen(buf);
+ if (n > 0 && buf[n-1] == '\n') {
+ buf[n-1] = '\0';
+ }
+ char *p = buf;
+ while (*p != ' ' && *p) {
+ ++p;
+ }
+ if (!*p) {
+ continue;
+ }
+ *p++ = '\0';
+ savedPageNumbers[i].pageNumber = atoi(buf);
+ savedPageNumbers[i].fileName = QString::fromUtf8(p);
+ ++i;
+ }
+ fclose(f);
+
+ // save the timestamp
+ savedPagesFileTimestamp = QFileInfo(savedPagesFileName).lastModified();
+}
+
+void XpdfApp::writePagesFile() {
+ if (savedPagesFileName.isEmpty()) {
+ return;
+ }
+ FILE *f = openFile(savedPagesFileName.toUtf8().constData(), "wb");
+ if (!f) {
+ return;
+ }
+ fprintf(f, "xpdf.pages-1\n");
+ for (int i = 0; i < maxSavedPageNumbers; ++i) {
+ if (!savedPageNumbers[i].fileName.isEmpty()) {
+ fprintf(f, "%d %s\n",
+ savedPageNumbers[i].pageNumber,
+ savedPageNumbers[i].fileName.toUtf8().constData());
+ }
+ }
+ fclose(f);
+ savedPagesFileTimestamp = QFileInfo(savedPagesFileName).lastModified();
+}
diff --git a/xpdf-qt/XpdfApp.h b/xpdf-qt/XpdfApp.h
new file mode 100644
index 0000000..3ac2d2f
--- /dev/null
+++ b/xpdf-qt/XpdfApp.h
@@ -0,0 +1,99 @@
+//========================================================================
+//
+// XpdfApp.h
+//
+// Copyright 2015 Glyph & Cog, LLC
+//
+//========================================================================
+
+#ifndef XPDFAPP_H
+#define XPDFAPP_H
+
+#include <aconf.h>
+
+#include <QApplication>
+#include <QColor>
+#include <QDateTime>
+#include "gtypes.h"
+
+class GList;
+class XpdfViewer;
+
+//------------------------------------------------------------------------
+
+struct XpdfSavedPageNumber {
+ XpdfSavedPageNumber(): pageNumber(1) {}
+ XpdfSavedPageNumber(const QString &fileNameA, int pageNumberA)
+ : fileName(fileNameA), pageNumber(pageNumberA) {}
+ QString fileName;
+ int pageNumber;
+};
+
+#define maxSavedPageNumbers 100
+
+//------------------------------------------------------------------------
+// XpdfApp
+//------------------------------------------------------------------------
+
+class XpdfApp: public QApplication {
+ Q_OBJECT
+
+public:
+
+ XpdfApp(int &argc, char **argv);
+ virtual ~XpdfApp();
+
+ int getNumViewers();
+
+ XpdfViewer *newWindow(GBool fullScreen = gFalse,
+ const char *remoteServerName = NULL);
+
+ GBool openInNewWindow(QString fileName, int page = 1,
+ QString dest = QString(),
+ int rotate = 0,
+ QString password = QString(),
+ GBool fullScreen = gFalse,
+ const char *remoteServerName = NULL);
+
+ void closeWindowOrQuit(XpdfViewer *viewer);
+
+ // Called just before closing one or more PDF files.
+ void startUpdatePagesFile();
+ void updatePagesFile(const QString &fileName, int pageNumber);
+ void finishUpdatePagesFile();
+
+ // Return the saved page number for [fileName].
+ int getSavedPageNumber(const QString &fileName);
+
+ void quit();
+
+ //--- for use by XpdfViewer
+
+ int getErrorEventType() { return errorEventType; }
+ const QColor &getPaperColor() { return paperColor; }
+ const QColor &getMatteColor() { return matteColor; }
+ const QColor &getFullScreenMatteColor() { return fsMatteColor; }
+ const QColor &getSelectionColor() { return selectionColor; }
+ GBool getReverseVideo() { return reverseVideo; }
+
+private:
+
+ void readPagesFile();
+ void writePagesFile();
+
+ int errorEventType;
+ QColor paperColor;
+ QColor matteColor;
+ QColor fsMatteColor;
+ QColor selectionColor;
+ GBool reverseVideo;
+
+ GList *viewers; // [XpdfViewer]
+
+ QString savedPagesFileName;
+ QDateTime savedPagesFileTimestamp;
+ XpdfSavedPageNumber savedPageNumbers[maxSavedPageNumbers];
+ GBool savedPagesFileChanged;
+};
+
+#endif
diff --git a/xpdf-qt/XpdfViewer.cc b/xpdf-qt/XpdfViewer.cc
new file mode 100644
index 0000000..b7de5e4
--- /dev/null
+++ b/xpdf-qt/XpdfViewer.cc
@@ -0,0 +1,4940 @@
+//========================================================================
+//
+// XpdfViewer.cc
+//
+// Copyright 2015 Glyph & Cog, LLC
+//
+//========================================================================
+
+#include <aconf.h>
+
+#include <math.h>
+#include <QAbstractItemModel>
+#include <QAction>
+#include <QActionGroup>
+#include <QButtonGroup>
+#include <QClipboard>
+#include <QComboBox>
+#include <QDesktopServices>
+#include <QFileDialog>
+#include <QFrame>
+#include <QGridLayout>
+#include <QHBoxLayout>
+#include <QHeaderView>
+#include <QKeyEvent>
+#include <QLabel>
+#include <QLineEdit>
+#include <QListWidget>
+#include <QLocalSocket>
+#include <QMenu>
+#include <QMenuBar>
+#include <QMessageBox>
+#include <QMimeData>
+#include <QMouseEvent>
+#include <QProcess>
+#include <QProgressDialog>
+#include <QPropertyAnimation>
+#include <QPushButton>
+#include <QRadioButton>
+#include <QScreen>
+#include <QScrollBar>
+#include <QSignalMapper>
+#include <QSplitter>
+#include <QStackedLayout>
+#include <QStackedWidget>
+#include <QTabWidget>
+#include <QTableWidget>
+#include <QTextBrowser>
+#include <QTimer>
+#include <QToolBar>
+#include <QTreeView>
+#include <QVBoxLayout>
+#include "GString.h"
+#include "GList.h"
+#include "GlobalParams.h"
+#include "QtPDFCore.h"
+#include "PDFDoc.h"
+#include "AcroForm.h"
+#include "Annot.h"
+#include "TextString.h"
+#include "Zoox.h"
+#include "XpdfApp.h"
+#include "XpdfViewer.h"
+#include "gmempp.h"
+
+//------------------------------------------------------------------------
+
+static const char *aboutHTML =
+ "<h3><img align=\"middle\" src=\"qrc:/xpdf-icon\"> "
+ "Xpdf"
+ "</h3>"
+ "Version " xpdfVersion "<br>"
+ "<br>"
+ "<a href=\"http://www.xpdfreader.com/\">www.xpdfreader.com</a><br>"
+ "<br>"
+ "Based on the <b>XpdfWidget/Qt</b> toolkit from Glyph & Cog.<br>"
+ "For information on commercial licensing:<br>"
+ "<a href=\"http://www.glyphandcog.com/XpdfWidgetQt.html\">www.glyphandcog.com/XpdfWidgetQt.html</a><br>"
+ "<br>"
+ xpdfCopyright ".<br>"
+ "Xpdf is licensed under the GNU General Public License (GPL), version 2 or 3.<br>"
+ "<hr><br>"
+ "The PDF data structures, operators, and specification are documented in ISO 32000-2:2020.<br>"
+ "<br>"
+ "XpdfReader uses the following open source libraries:"
+ "<ul>"
+ "FreeType is copyright 2006-2020 David Turner, Robert Wilhelm, and Werner Lemberg. FreeType is used here under the terms of the FreeType Project License."
+ "<li>The Qt Toolkit is Copyright 2015 The Qt Company Ltd. Qt is used here under the terms of the LGPL v2.1."
+ "</ul>";
+
+const char *helpURL = "http://www.xpdfreader.com/help";
+
+//------------------------------------------------------------------------
+
+#define nZoomComboBoxVals 13
+static int zoomComboBoxVals[nZoomComboBoxVals] = {
+ 25, 50, 75, 100, 110, 125, 150, 175, 200, 300, 400, 600, 800
+};
+
+#define maxZoom 2000
+
+// Maximum number of errors to show in the error window. Beyond this
+// limit, old errors are removed from the window.
+#define errorWindowMaxErrors 100
+
+//------------------------------------------------------------------------
+// command table
+//------------------------------------------------------------------------
+
+#define cmdMaxArgs 8
+
+// |- requires -|
+// command nArgs doc event function
+XpdfViewerCmd XpdfViewer::cmdTab[] = {
+ { "about", 0, gFalse, gFalse, &XpdfViewer::cmdAbout },
+ { "blockSelectMode", 0, gFalse, gFalse, &XpdfViewer::cmdBlockSelectMode },
+ { "checkOpenFile", 1, gFalse, gFalse, &XpdfViewer::cmdCheckOpenFile },
+ { "checkOpenFileAtDest", 2, gFalse, gFalse, &XpdfViewer::cmdCheckOpenFileAtDest },
+ { "checkOpenFileAtPage", 2, gFalse, gFalse, &XpdfViewer::cmdCheckOpenFileAtPage },
+ { "closeSidebar", 0, gFalse, gFalse, &XpdfViewer::cmdCloseSidebar },
+ { "closeSidebarMoveResizeWin", 0, gFalse, gFalse, &XpdfViewer::cmdCloseSidebarMoveResizeWin },
+ { "closeSidebarResizeWin", 0, gFalse, gFalse, &XpdfViewer::cmdCloseSidebarResizeWin },
+ { "closeTabOrQuit", 0, gFalse, gFalse, &XpdfViewer::cmdCloseTabOrQuit },
+ { "closeWindowOrQuit", 0, gFalse, gFalse, &XpdfViewer::cmdCloseWindowOrQuit },
+ { "continuousMode", 0, gFalse, gFalse, &XpdfViewer::cmdContinuousMode },
+ { "copy", 0, gTrue, gFalse, &XpdfViewer::cmdCopy },
+ { "copyLinkTarget", 0, gTrue, gFalse, &XpdfViewer::cmdCopyLinkTarget },
+#if 0 // for debugging
+ { "debug1", 0, gTrue, gTrue, &XpdfViewer::cmdDebug1 },
+#endif
+ { "endPan", 0, gTrue, gTrue, &XpdfViewer::cmdEndPan },
+ { "endSelection", 0, gTrue, gTrue, &XpdfViewer::cmdEndSelection },
+ { "expandSidebar", 1, gFalse, gFalse, &XpdfViewer::cmdExpandSidebar },
+ { "find", 0, gTrue, gFalse, &XpdfViewer::cmdFind },
+ { "findFirst", 0, gTrue, gFalse, &XpdfViewer::cmdFindFirst },
+ { "findNext", 0, gTrue, gFalse, &XpdfViewer::cmdFindNext },
+ { "findPrevious", 0, gTrue, gFalse, &XpdfViewer::cmdFindPrevious },
+ { "focusToDocWin", 0, gFalse, gFalse, &XpdfViewer::cmdFocusToDocWin },
+ { "focusToPageNum", 0, gFalse, gFalse, &XpdfViewer::cmdFocusToPageNum },
+ { "followLink", 0, gTrue, gTrue, &XpdfViewer::cmdFollowLink },
+ { "followLinkInNewTab", 0, gTrue, gTrue, &XpdfViewer::cmdFollowLinkInNewTab },
+ { "followLinkInNewTabNoSel", 0, gTrue, gTrue, &XpdfViewer::cmdFollowLinkInNewTabNoSel },
+ { "followLinkInNewWin", 0, gTrue, gTrue, &XpdfViewer::cmdFollowLinkInNewWin },
+ { "followLinkInNewWinNoSel", 0, gTrue, gTrue, &XpdfViewer::cmdFollowLinkInNewWinNoSel },
+ { "followLinkNoSel", 0, gTrue, gTrue, &XpdfViewer::cmdFollowLinkNoSel },
+ { "fullScreenMode", 0, gFalse, gFalse, &XpdfViewer::cmdFullScreenMode },
+ { "goBackward", 0, gFalse, gFalse, &XpdfViewer::cmdGoBackward },
+ { "goForward", 0, gFalse, gFalse, &XpdfViewer::cmdGoForward },
+ { "gotoDest", 1, gTrue, gFalse, &XpdfViewer::cmdGotoDest },
+ { "gotoLastPage", 0, gTrue, gFalse, &XpdfViewer::cmdGotoLastPage },
+//~ { "gotoLastPageNoScroll", 0, gTrue, gFalse, &XpdfViewer::cmdGotoLastPageNoScroll },
+ { "gotoPage", 1, gTrue, gFalse, &XpdfViewer::cmdGotoPage },
+//~ { "gotoPageNoScroll", 1, gTrue, gFalse, &XpdfViewer::cmdGotoPageNoScroll },
+ { "help", 0, gFalse, gFalse, &XpdfViewer::cmdHelp },
+ { "hideMenuBar", 0, gFalse, gFalse, &XpdfViewer::cmdHideMenuBar },
+ { "hideToolbar", 0, gFalse, gFalse, &XpdfViewer::cmdHideToolbar },
+ { "horizontalContinuousMode",0, gFalse, gFalse, &XpdfViewer::cmdHorizontalContinuousMode },
+ { "linearSelectMode", 0, gFalse, gFalse, &XpdfViewer::cmdLinearSelectMode },
+ { "loadTabState", 0, gFalse, gFalse, &XpdfViewer::cmdLoadTabState },
+ { "newTab", 0, gFalse, gFalse, &XpdfViewer::cmdNewTab },
+ { "newWindow", 0, gFalse, gFalse, &XpdfViewer::cmdNewWindow },
+ { "nextPage", 0, gTrue, gFalse, &XpdfViewer::cmdNextPage },
+ { "nextPageNoScroll", 0, gTrue, gFalse, &XpdfViewer::cmdNextPageNoScroll },
+ { "nextTab", 0, gFalse, gFalse, &XpdfViewer::cmdNextTab },
+ { "open", 0, gFalse, gFalse, &XpdfViewer::cmdOpen },
+ { "openErrorWindow", 0, gFalse, gFalse, &XpdfViewer::cmdOpenErrorWindow },
+ { "openFile", 1, gFalse, gFalse, &XpdfViewer::cmdOpenFile },
+ { "openFile2", 5, gFalse, gFalse, &XpdfViewer::cmdOpenFile2 },
+ { "openFileAtDest", 2, gFalse, gFalse, &XpdfViewer::cmdOpenFileAtDest },
+ { "openFileAtDestIn", 3, gFalse, gFalse, &XpdfViewer::cmdOpenFileAtDestIn },
+ { "openFileAtPage", 2, gFalse, gFalse, &XpdfViewer::cmdOpenFileAtPage },
+ { "openFileAtPageIn", 3, gFalse, gFalse, &XpdfViewer::cmdOpenFileAtPageIn },
+ { "openFileIn", 2, gFalse, gFalse, &XpdfViewer::cmdOpenFileIn },
+ { "openIn", 1, gFalse, gFalse, &XpdfViewer::cmdOpenIn },
+ { "openSidebar", 0, gFalse, gFalse, &XpdfViewer::cmdOpenSidebar },
+ { "openSidebarMoveResizeWin", 0, gFalse, gFalse, &XpdfViewer::cmdOpenSidebarMoveResizeWin },
+ { "openSidebarResizeWin", 0, gFalse, gFalse, &XpdfViewer::cmdOpenSidebarResizeWin },
+ { "pageDown", 0, gTrue, gFalse, &XpdfViewer::cmdPageDown },
+ { "pageUp", 0, gTrue, gFalse, &XpdfViewer::cmdPageUp },
+ { "postPopupMenu", 0, gFalse, gTrue, &XpdfViewer::cmdPostPopupMenu },
+ { "prevPage", 0, gTrue, gFalse, &XpdfViewer::cmdPrevPage },
+ { "prevPageNoScroll", 0, gTrue, gFalse, &XpdfViewer::cmdPrevPageNoScroll },
+ { "prevTab", 0, gFalse, gFalse, &XpdfViewer::cmdPrevTab },
+#if XPDFWIDGET_PRINTING
+ { "print", 0, gTrue, gFalse, &XpdfViewer::cmdPrint },
+#endif
+ { "quit", 0, gFalse, gFalse, &XpdfViewer::cmdQuit },
+ { "raise", 0, gFalse, gFalse, &XpdfViewer::cmdRaise },
+//~ { "redraw", 0, gTrue, gFalse, &XpdfViewer::cmdRedraw },
+ { "reload", 0, gTrue, gFalse, &XpdfViewer::cmdReload },
+ { "rotateCCW", 0, gTrue, gFalse, &XpdfViewer::cmdRotateCCW },
+ { "rotateCW", 0, gTrue, gFalse, &XpdfViewer::cmdRotateCW },
+ { "run", 1, gFalse, gFalse, &XpdfViewer::cmdRun },
+ { "saveAs", 0, gTrue, gFalse, &XpdfViewer::cmdSaveAs },
+ { "saveImage", 0, gTrue, gFalse, &XpdfViewer::cmdSaveImage },
+ { "saveTabState", 0, gFalse, gFalse, &XpdfViewer::cmdSaveTabState },
+ { "scrollDown", 1, gTrue, gFalse, &XpdfViewer::cmdScrollDown },
+ { "scrollDownNextPage", 1, gTrue, gFalse, &XpdfViewer::cmdScrollDownNextPage },
+ { "scrollLeft", 1, gTrue, gFalse, &XpdfViewer::cmdScrollLeft },
+ { "scrollOutlineDown", 1, gTrue, gFalse, &XpdfViewer::cmdScrollOutlineDown },
+ { "scrollOutlineUp", 1, gTrue, gFalse, &XpdfViewer::cmdScrollOutlineUp },
+ { "scrollRight", 1, gTrue, gFalse, &XpdfViewer::cmdScrollRight },
+ { "scrollToBottomEdge", 0, gTrue, gFalse, &XpdfViewer::cmdScrollToBottomEdge },
+ { "scrollToBottomRight", 0, gTrue, gFalse, &XpdfViewer::cmdScrollToBottomRight },
+ { "scrollToLeftEdge", 0, gTrue, gFalse, &XpdfViewer::cmdScrollToLeftEdge },
+ { "scrollToRightEdge", 0, gTrue, gFalse, &XpdfViewer::cmdScrollToRightEdge },
+ { "scrollToTopEdge", 0, gTrue, gFalse, &XpdfViewer::cmdScrollToTopEdge },
+ { "scrollToTopLeft", 0, gTrue, gFalse, &XpdfViewer::cmdScrollToTopLeft },
+ { "scrollUp", 1, gTrue, gFalse, &XpdfViewer::cmdScrollUp },
+ { "scrollUpPrevPage", 1, gTrue, gFalse, &XpdfViewer::cmdScrollUpPrevPage },
+ { "selectLine", 0, gTrue, gTrue, &XpdfViewer::cmdSelectLine },
+ { "selectWord", 0, gTrue, gTrue, &XpdfViewer::cmdSelectWord },
+ { "setSelection", 5, gTrue, gFalse, &XpdfViewer::cmdSetSelection },
+ { "showAttachmentsPane", 0, gFalse, gFalse, &XpdfViewer::cmdShowAttachmentsPane },
+ { "showDocumentInfo", 0, gTrue, gFalse, &XpdfViewer::cmdShowDocumentInfo },
+ { "showKeyBindings", 0, gFalse, gFalse, &XpdfViewer::cmdShowKeyBindings },
+ { "showLayersPane", 0, gFalse, gFalse, &XpdfViewer::cmdShowLayersPane },
+ { "showMenuBar", 0, gFalse, gFalse, &XpdfViewer::cmdShowMenuBar },
+ { "showOutlinePane", 0, gFalse, gFalse, &XpdfViewer::cmdShowOutlinePane },
+ { "showToolbar", 0, gFalse, gFalse, &XpdfViewer::cmdShowToolbar },
+ { "shrinkSidebar", 1, gFalse, gFalse, &XpdfViewer::cmdShrinkSidebar },
+ { "sideBySideContinuousMode",0, gFalse, gFalse, &XpdfViewer::cmdSideBySideContinuousMode },
+ { "sideBySideSingleMode", 0, gFalse, gFalse, &XpdfViewer::cmdSideBySideSingleMode },
+ { "singlePageMode", 0, gFalse, gFalse, &XpdfViewer::cmdSinglePageMode },
+ { "startExtendedSelection", 0, gTrue, gTrue, &XpdfViewer::cmdStartExtendedSelection },
+ { "startPan", 0, gTrue, gTrue, &XpdfViewer::cmdStartPan },
+ { "startSelection", 0, gTrue, gTrue, &XpdfViewer::cmdStartSelection },
+ { "toggleContinuousMode", 0, gFalse, gFalse, &XpdfViewer::cmdToggleContinuousMode },
+ { "toggleFullScreenMode", 0, gFalse, gFalse, &XpdfViewer::cmdToggleFullScreenMode },
+ { "toggleMenuBar", 0, gFalse, gFalse, &XpdfViewer::cmdToggleMenuBar },
+ { "toggleSelectMode", 0, gFalse, gFalse, &XpdfViewer::cmdToggleSelectMode },
+ { "toggleSidebar", 0, gFalse, gFalse, &XpdfViewer::cmdToggleSidebar },
+ { "toggleSidebarMoveResizeWin", 0, gFalse, gFalse, &XpdfViewer::cmdToggleSidebarMoveResizeWin },
+ { "toggleSidebarResizeWin", 0, gFalse, gFalse, &XpdfViewer::cmdToggleSidebarResizeWin },
+ { "toggleToolbar", 0, gFalse, gFalse, &XpdfViewer::cmdToggleToolbar },
+ { "viewPageLabels", 0, gFalse, gFalse, &XpdfViewer::cmdViewPageLabels },
+ { "viewPageNumbers", 0, gFalse, gFalse, &XpdfViewer::cmdViewPageNumbers },
+ { "windowMode", 0, gFalse, gFalse, &XpdfViewer::cmdWindowMode },
+ { "zoomFitPage", 0, gFalse, gFalse, &XpdfViewer::cmdZoomFitPage },
+ { "zoomFitWidth", 0, gFalse, gFalse, &XpdfViewer::cmdZoomFitWidth },
+ { "zoomIn", 0, gFalse, gFalse, &XpdfViewer::cmdZoomIn },
+ { "zoomOut", 0, gFalse, gFalse, &XpdfViewer::cmdZoomOut },
+ { "zoomPercent", 1, gFalse, gFalse, &XpdfViewer::cmdZoomPercent },
+ { "zoomToSelection", 0, gTrue, gFalse, &XpdfViewer::cmdZoomToSelection }
+};
+
+#define nCmds (sizeof(cmdTab) / sizeof(XpdfViewerCmd))
+
+//------------------------------------------------------------------------
+// XpdfMenuButton
+//------------------------------------------------------------------------
+
+XpdfMenuButton::XpdfMenuButton(QMenu *menuA) {
+ menu = menuA;
+ connect(this, SIGNAL(pressed()), this, SLOT(btnPressed()));
+}
+
+void XpdfMenuButton::btnPressed() {
+ QSize menuSize = menu->sizeHint();
+ QPoint pos = mapToGlobal(QPoint(width(), height()));
+ pos -= QPoint(menuSize.width(), 0);
+ menu->exec(pos);
+ setDown(false);
+ setAttribute(Qt::WA_UnderMouse, false);
+}
+
+//------------------------------------------------------------------------
+// XpdfErrorWindow
+//------------------------------------------------------------------------
+
+class XpdfErrorEvent: public QEvent {
+public:
+
+ XpdfErrorEvent(int eventType, QString msgA):
+ QEvent((Type)eventType), msg(msgA) {}
+ QString getMessage() { return msg; }
+
+private:
+
+ QString msg;
+};
+
+XpdfErrorWindow::XpdfErrorWindow(XpdfViewer *viewerA, int errorEventTypeA) {
+ viewer = viewerA;
+ errorEventType = errorEventTypeA;
+
+ QVBoxLayout *topLayout = new QVBoxLayout();
+
+ QHBoxLayout *btnLayout = new QHBoxLayout();
+ topLayout->addLayout(btnLayout);
+
+ QPushButton *clearBtn = new QPushButton("Clear");
+ connect(clearBtn, SIGNAL(clicked()), this, SLOT(clearBtnPressed()));
+ btnLayout->addWidget(clearBtn);
+
+ btnLayout->addStretch(1);
+
+ list = new QListWidget();
+ topLayout->addWidget(list);
+
+ setLayout(topLayout);
+
+#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)
+ lastSize = QSize(list->fontMetrics().horizontalAdvance("m") * 50,
+ list->fontMetrics().lineSpacing() * 16);
+#else
+ lastSize = QSize(list->fontMetrics().width("m") * 50,
+ list->fontMetrics().lineSpacing() * 16);
+#endif
+
+ setErrorCallback(&errorCbk, this);
+}
+
+XpdfErrorWindow::~XpdfErrorWindow() {
+ // If the user quits while a page is rendering, we want any
+ // subsequent error messages to vanish -- they shouldn't try to
+ // update the error window (which has been deleted), and they
+ // shouldn't get dumped to stderr.
+ setErrorCallback(dummyErrorCbk, NULL);
+}
+
+QSize XpdfErrorWindow::sizeHint() const {
+ return lastSize;
+}
+
+void XpdfErrorWindow::clearBtnPressed() {
+ list->clear();
+ viewer->statusIndicatorOk();
+}
+
+void XpdfErrorWindow::closeEvent(QCloseEvent *event) {
+ lastSize = size();
+}
+
+void XpdfErrorWindow::keyPressEvent(QKeyEvent *event) {
+ if (event->key() == Qt::Key_Escape) {
+ close();
+ }
+}
+
+void XpdfErrorWindow::errorCbk(void *data, ErrorCategory category,
+ int pos, char *msg) {
+ XpdfErrorWindow *errWin = (XpdfErrorWindow *)data;
+ GString *s;
+
+ if (pos >= 0) {
+ s = GString::format("{0:s} ({1:d}): {2:s}",
+ errorCategoryNames[category], pos, msg);
+ } else {
+ s = GString::format("{0:s}: {1:s}",
+ errorCategoryNames[category], msg);
+ }
+ XpdfApp::postEvent(errWin, new XpdfErrorEvent(errWin->errorEventType,
+ s->getCString()));
+ delete s;
+}
+
+void XpdfErrorWindow::dummyErrorCbk(void *data, ErrorCategory category,
+ int pos, char *msg) {
+}
+
+void XpdfErrorWindow::customEvent(QEvent *event) {
+ XpdfErrorEvent *errEvent;
+
+ if (event->type() == errorEventType) {
+ errEvent = (XpdfErrorEvent *)event;
+ if (list->count() < errorWindowMaxErrors) {
+ list->addItem(errEvent->getMessage());
+ list->scrollToBottom();
+ viewer->statusIndicatorError();
+ } else if (list->count() == errorWindowMaxErrors) {
+ list->addItem("... additional errors not logged ...");
+ list->scrollToBottom();
+ viewer->statusIndicatorError();
+ }
+ }
+}
+
+//------------------------------------------------------------------------
+// ZoomValidator
+//------------------------------------------------------------------------
+
+class ZoomValidator: public QValidator {
+public:
+
+ ZoomValidator(QObject *parent = NULL): QValidator(parent) {}
+ virtual State validate(QString &input, int &pos) const;
+ virtual void fixup(QString &input) const;
+};
+
+QValidator::State ZoomValidator::validate(QString &input, int &pos) const {
+ QChar c;
+ int n, i;
+
+ n = input.length();
+ if (n == 0) {
+ return QValidator::Intermediate;
+ }
+ for (i = 0; i < n - 1; ++i) {
+ c = input[i];
+ if (c < '0' || c > '9') {
+ return QValidator::Invalid;
+ }
+ }
+ c = input[n - 1];
+ if (c == '%') {
+ if (n > 1) {
+ return QValidator::Acceptable;
+ }
+ return QValidator::Intermediate;
+ }
+ if (c < '0' || c > '9') {
+ return QValidator::Invalid;
+ }
+ return QValidator::Intermediate;
+}
+
+void ZoomValidator::fixup(QString &input) const {
+ if (!input.endsWith("%")) {
+ input.append('%');
+ }
+}
+
+//------------------------------------------------------------------------
+// PropertyListAnimation
+//------------------------------------------------------------------------
+
+class PropertyListAnimation: public QPropertyAnimation {
+public:
+
+ PropertyListAnimation(QObject *target, const QByteArray &propertyName,
+ QList<QVariant> valueListA, QObject *parent = 0):
+ QPropertyAnimation(target, propertyName, parent), valueList(valueListA) {}
+
+ virtual QVariant interpolated(const QVariant &from, const QVariant &to,
+ qreal progress) const;
+
+ QList<QVariant> values() { return valueList; }
+ void setValues(QList<QVariant> valueListA);
+
+private:
+
+ QList<QVariant> valueList;
+};
+
+QVariant PropertyListAnimation::interpolated(const QVariant &from,
+ const QVariant &to,
+ qreal progress) const {
+ int i;
+
+ i = (int)(progress * valueList.size());
+ if (i < 0) {
+ i = 0;
+ } else if (i >= valueList.size()) {
+ i = valueList.size() - 1;
+ }
+ return valueList[i];
+}
+
+void PropertyListAnimation::setValues(QList<QVariant> valueListA) {
+ qreal progress;
+
+ valueList = valueListA;
+ progress = easingCurve().valueForProgress(qreal(currentTime())
+ / qreal(totalDuration()));
+ updateCurrentValue(interpolated(0, 0, progress));
+}
+
+//------------------------------------------------------------------------
+// OutlineModel
+//------------------------------------------------------------------------
+
+class OutlineModel: public QAbstractItemModel {
+public:
+
+ OutlineModel(XpdfWidget *pdfA);
+ virtual QModelIndex index(int row, int column,
+ const QModelIndex &par = QModelIndex()) const;
+ virtual QModelIndex parent(const QModelIndex &idx) const;
+ virtual int rowCount(const QModelIndex &par = QModelIndex()) const;
+ virtual int columnCount(const QModelIndex &par = QModelIndex()) const;
+ virtual QVariant data(const QModelIndex &idx, int role) const;
+
+ QModelIndex findPageIndex(int pg, QTreeView *tree,
+ const QModelIndex &idx = QModelIndex());
+
+ void beginOpenNewDoc();
+ void endOpenNewDoc();
+
+private:
+
+ int getItemRow(XpdfOutlineHandle item) const;
+ XpdfWidget *pdf;
+};
+
+OutlineModel::OutlineModel(XpdfWidget *pdfA) {
+ pdf = pdfA;
+}
+
+QModelIndex OutlineModel::index(int row, int column,
+ const QModelIndex &par) const {
+ XpdfOutlineHandle item;
+ int nChildren;
+
+ if (par.isValid()) {
+ // children of an outline item
+ item = (XpdfOutlineHandle)par.internalPointer();
+ } else {
+ // root outline items
+ item = NULL;
+ }
+ nChildren = pdf->getOutlineNumChildren(item);
+ if (row < 0 || row >= nChildren || column != 0) {
+ return QModelIndex();
+ }
+ return createIndex(row, 0, pdf->getOutlineChild(item, row));
+}
+
+QModelIndex OutlineModel::parent(const QModelIndex &idx) const {
+ XpdfOutlineHandle item, par;
+ int row;
+
+ if (!idx.isValid()) {
+ return QModelIndex();
+ }
+ item = (XpdfOutlineHandle)idx.internalPointer();
+ if (!(par = pdf->getOutlineParent(item))) {
+ return QModelIndex();
+ }
+ if ((row = getItemRow(par)) < 0) {
+ return QModelIndex();
+ }
+ return createIndex(row, 0, par);
+}
+
+int OutlineModel::rowCount(const QModelIndex &par) const {
+ XpdfOutlineHandle item;
+
+ if (par.isValid()) {
+ // children of an outline item
+ item = (XpdfOutlineHandle)par.internalPointer();
+ } else {
+ // root outline items
+ item = NULL;
+ }
+ return pdf->getOutlineNumChildren(item);
+}
+
+int OutlineModel::columnCount(const QModelIndex &par) const {
+ return 1;
+}
+
+QVariant OutlineModel::data(const QModelIndex &idx, int role) const {
+ XpdfOutlineHandle item;
+
+ if (role != Qt::DisplayRole) {
+ return QVariant();
+ }
+ item = (XpdfOutlineHandle)idx.internalPointer();
+ return QVariant(pdf->getOutlineTitle(item));
+}
+
+int OutlineModel::getItemRow(XpdfOutlineHandle item) const {
+ XpdfOutlineHandle par;
+ int nChildren, i;
+
+ par = pdf->getOutlineParent(item);
+ nChildren = pdf->getOutlineNumChildren(par);
+ for (i = 0; i < nChildren; ++i) {
+ if (item == pdf->getOutlineChild(par, i)) {
+ return i;
+ }
+ }
+ return -1;
+}
+
+QModelIndex OutlineModel::findPageIndex(int pg, QTreeView *tree,
+ const QModelIndex &idx) {
+ QModelIndex childIdx, lastIdx;
+ XpdfOutlineHandle thisItem, childItem;
+ int thisPage, lastPage, childPage, i;
+
+ if (idx.isValid()) {
+ thisItem = (XpdfOutlineHandle)idx.internalPointer();
+ thisPage = pdf->getOutlineTargetPage(thisItem);
+ if (thisPage == pg) {
+ return idx;
+ }
+ if (thisPage > pg) {
+ return QModelIndex();
+ }
+ if (!tree->isExpanded(idx)) {
+ return idx;
+ }
+ } else {
+ thisPage = 0;
+ }
+
+ lastPage = thisPage;
+ lastIdx = idx;
+ for (i = 0; i < rowCount(idx); ++i) {
+ childIdx = findPageIndex(pg, tree, index(i, 0, idx));
+ if (!childIdx.isValid()) {
+ break;
+ }
+ childItem = (XpdfOutlineHandle)childIdx.internalPointer();
+ childPage = pdf->getOutlineTargetPage(childItem);
+ if (childPage > lastPage) {
+ lastPage = childPage;
+ lastIdx = childIdx;
+ }
+ }
+ if (lastPage == 0) {
+ return QModelIndex();
+ }
+ return lastIdx;
+}
+
+void OutlineModel::beginOpenNewDoc() {
+ beginResetModel();
+}
+
+void OutlineModel::endOpenNewDoc() {
+ endResetModel();
+}
+
+//------------------------------------------------------------------------
+// LayerModel
+//------------------------------------------------------------------------
+
+class LayerModel: public QAbstractItemModel {
+public:
+
+ LayerModel(XpdfWidget *pdfA);
+ virtual QModelIndex index(int row, int column,
+ const QModelIndex &par = QModelIndex()) const;
+ virtual QModelIndex parent(const QModelIndex &idx) const;
+ virtual int rowCount(const QModelIndex &par = QModelIndex()) const;
+ virtual int columnCount(const QModelIndex &par = QModelIndex()) const;
+ virtual QVariant data(const QModelIndex &idx, int role) const;
+ virtual bool setData(const QModelIndex &idx, const QVariant &value,
+ int role);
+ virtual Qt::ItemFlags flags(const QModelIndex &idx) const;
+
+ void beginOpenNewDoc();
+ void endOpenNewDoc();
+
+private:
+
+ int getOrderRow(XpdfLayerOrderHandle order) const;
+
+ XpdfWidget *pdf;
+};
+
+LayerModel::LayerModel(XpdfWidget *pdfA) {
+ pdf = pdfA;
+}
+
+QModelIndex LayerModel::index(int row, int column,
+ const QModelIndex &par) const {
+ XpdfLayerOrderHandle order;
+ int nChildren;
+
+ if (par.isValid()) {
+ // children of a layer display order tree node
+ order = (XpdfLayerOrderHandle)par.internalPointer();
+ } else {
+ // children of display order tree root
+ order = pdf->getLayerOrderRoot();
+ }
+ nChildren = pdf->getLayerOrderNumChildren(order);
+ if (row < 0 || row >= nChildren || column != 0) {
+ return QModelIndex();
+ }
+ return createIndex(row, 0, pdf->getLayerOrderChild(order, row));
+}
+
+QModelIndex LayerModel::parent(const QModelIndex &idx) const {
+ XpdfLayerOrderHandle order, par;
+ int row;
+
+ if (!idx.isValid()) {
+ return QModelIndex();
+ }
+ order = (XpdfLayerOrderHandle)idx.internalPointer();
+ if (!(par = pdf->getLayerOrderParent(order))) {
+ return QModelIndex();
+ }
+ if ((row = getOrderRow(par)) < 0) {
+ return QModelIndex();
+ }
+ return createIndex(row, 0, par);
+}
+
+int LayerModel::rowCount(const QModelIndex &par) const {
+ XpdfLayerOrderHandle order;
+
+ if (par.isValid()) {
+ // children of a layer display order tree node
+ order = (XpdfLayerOrderHandle)par.internalPointer();
+ } else {
+ // children of display order tree root
+ order = pdf->getLayerOrderRoot();
+ }
+ return pdf->getLayerOrderNumChildren(order);
+}
+
+int LayerModel::columnCount(const QModelIndex &par) const {
+ return 1;
+}
+
+QVariant LayerModel::data(const QModelIndex &idx, int role) const {
+ XpdfLayerOrderHandle order;
+ XpdfLayerHandle layer;
+
+ if (!idx.isValid()) {
+ return false;
+ }
+ if (role == Qt::DisplayRole) {
+ order = (XpdfLayerOrderHandle)idx.internalPointer();
+ if (pdf->getLayerOrderIsName(order)) {
+ return QVariant(pdf->getLayerOrderName(order));
+ } else {
+ return QVariant(pdf->getLayerName(pdf->getLayerOrderLayer(order)));
+ }
+ } else if (role == Qt::CheckStateRole) {
+ order = (XpdfLayerOrderHandle)idx.internalPointer();
+ layer = pdf->getLayerOrderLayer(order);
+ if (!layer) {
+ return QVariant();
+ }
+ return pdf->getLayerVisibility(layer) ? Qt::Checked : Qt::Unchecked;
+ } else {
+ return QVariant();
+ }
+}
+
+bool LayerModel::setData(const QModelIndex &idx, const QVariant &value,
+ int role) {
+ XpdfLayerOrderHandle order;
+ XpdfLayerHandle layer;
+ bool vis;
+
+ if (!idx.isValid()) {
+ return false;
+ }
+ if (role != Qt::CheckStateRole) {
+ return false;
+ }
+ order = (XpdfLayerOrderHandle)idx.internalPointer();
+ layer = pdf->getLayerOrderLayer(order);
+ if (!layer) {
+ return false;
+ }
+ vis = value == Qt::Checked;
+ if (vis != pdf->getLayerVisibility(layer)) {
+ pdf->setLayerVisibility(layer, vis);
+ }
+ emit dataChanged(idx, idx);
+ return true;
+}
+
+Qt::ItemFlags LayerModel::flags(const QModelIndex &idx) const {
+ if (!idx.isValid()) {
+ return Qt::NoItemFlags;
+ }
+ // NB: this does not include Qt::ItemIsUserCheckable because we use
+ // the QTreeView::clicked signal to toggle the checkbox -- which
+ // handles clicks anywhere in the item, including in the checkbox
+ return Qt::ItemIsEnabled;
+}
+
+int LayerModel::getOrderRow(XpdfLayerOrderHandle order) const {
+ XpdfLayerOrderHandle par;
+ int nChildren, i;
+
+ par = pdf->getLayerOrderParent(order);
+ if (par) {
+ nChildren = pdf->getLayerOrderNumChildren(par);
+ for (i = 0; i < nChildren; ++i) {
+ if (order == pdf->getLayerOrderChild(par, i)) {
+ return i;
+ }
+ }
+ return -1;
+ } else {
+ return 0;
+ }
+}
+
+void LayerModel::beginOpenNewDoc() {
+ beginResetModel();
+}
+
+void LayerModel::endOpenNewDoc() {
+ endResetModel();
+}
+
+//------------------------------------------------------------------------
+// XpdfTabInfo
+//------------------------------------------------------------------------
+
+class XpdfTabInfo {
+public:
+
+ XpdfTabInfo(QListWidgetItem *listItemA, XpdfWidget *pdfA,
+ QTreeView *outlineTreeA, QTreeView *layerTreeA,
+ QTableWidget *attachmentListA):
+ listItem(listItemA), pdf(pdfA), outlineTree(outlineTreeA),
+ layerTree(layerTreeA), attachmentList(attachmentListA) {}
+
+ QListWidgetItem *listItem;
+ XpdfWidget *pdf;
+ QTreeView *outlineTree;
+ QTreeView *layerTree;
+ QTableWidget *attachmentList;
+};
+
+//------------------------------------------------------------------------
+// XpdfViewer
+//------------------------------------------------------------------------
+
+XpdfViewer::XpdfViewer(XpdfApp *appA, GBool fullScreen) {
+ setAttribute(Qt::WA_DeleteOnClose, true);
+ app = appA;
+ createWindow();
+ if (fullScreen) {
+ move(0, 0);
+ enterFullScreenMode();
+ }
+ remoteServer = NULL;
+}
+
+XpdfViewer *XpdfViewer::create(XpdfApp *app, QString fileName, int page,
+ QString destName, int rot, QString password,
+ GBool fullScreen) {
+ XpdfViewer *viewer;
+
+ viewer = new XpdfViewer(app, fullScreen);
+ if (!viewer->open(fileName, page, destName, rot, password)) {
+ viewer->close();
+ delete viewer;
+ return NULL;
+ }
+ return viewer;
+}
+
+XpdfViewer::~XpdfViewer() {
+ destroyWindow();
+}
+
+// QSplitter::sizeHint() doesn't take into account collapsed children,
+// which leads to an incorrect window size when we start with
+// initialSidebarState=no. So sizeHint() is reimplemented to subtract
+// out the sidebar width if needed. This also handles the case where
+// initialSidebarWidth is set.
+QSize XpdfViewer::sizeHint() const {
+ int toolBarWidth, mainWidth, height;
+
+ toolBarWidth = toolBar->sizeHint().width();
+ mainWidth = sidebarSplitter->sizeHint().width();
+ QList<int> sizes = sidebarSplitter->sizes();
+ if (sizes[0] == 0 && sizes[1] > 0) {
+ mainWidth -= sidebarSplitter->widget(0)->sizeHint().width();
+ } else if (initialSidebarWidth > 0) {
+ mainWidth -= sidebarSplitter->widget(0)->sizeHint().width();
+ mainWidth += initialSidebarWidth;
+ }
+ height = QMainWindow::sizeHint().height();
+ return QSize(qMax(toolBarWidth, mainWidth), height);
+}
+
+// Tweak the window size before showing a new window. This does two
+// things:
+// (1) By default, Qt won't allow windows larger than 2/3 of the
+// screen size. This function kludges around that by resizing to
+// the sizeHint, with a max of 60 pixels smaller than the screen
+// size.
+// (2) Sets the sidebar splitter sizes. This has to be done after the
+// PDF file is loaded and before the window is shown.
+void XpdfViewer::tweakSize() {
+ if (initialSidebarWidth > 0) {
+ QList<int> sidebarSplitterSizes = sidebarSplitter->sizes();
+ sidebarSplitterSizes[0] = initialSidebarWidth;
+ sidebarSplitterSizes[1] = sidebarSplitter->widget(1)->sizeHint().width();
+ sidebarSplitter->setSizes(sidebarSplitterSizes);
+ }
+
+ QSize hint = sizeHint();
+ QRect screen = QGuiApplication::primaryScreen()->availableGeometry();
+ int w = hint.width();
+ int h = hint.height();
+ if (w > screen.width() - 60) {
+ w = screen.width() - 60;
+ }
+ if (h > screen.height() - 60) {
+ h = screen.height() - 60;
+ }
+ resize(w, h);
+}
+
+bool XpdfViewer::close() {
+ if (tabInfo->getLength() > 0) {
+ app->startUpdatePagesFile();
+ for (int i = 0; i < tabInfo->getLength(); ++i) {
+ XpdfTabInfo *tab = (XpdfTabInfo *)tabInfo->get(i);
+ app->updatePagesFile(tab->pdf->getFileName(), tab->pdf->getMidPage());
+ }
+ app->finishUpdatePagesFile();
+ }
+ return QMainWindow::close();
+}
+
+//------------------------------------------------------------------------
+
+GBool XpdfViewer::open(QString fileName, int page, QString destName,
+ int rot, QString password) {
+ XpdfWidget::ErrorCode err;
+
+ if (currentTab->pdf->hasOpenDocument()) {
+ app->startUpdatePagesFile();
+ app->updatePagesFile(currentTab->pdf->getFileName(),
+ currentTab->pdf->getMidPage());
+ app->finishUpdatePagesFile();
+ }
+ err = currentTab->pdf->loadFile(fileName, password);
+ if (err != XpdfWidget::pdfOk) {
+ QMessageBox::warning(NULL, "Xpdf Error",
+ "Couldn't open file '" + fileName + "'");
+ return gFalse;
+ }
+ if (!destName.isEmpty()) {
+ currentTab->pdf->gotoNamedDestination(destName);
+ } else {
+ if (page < 0) {
+ page = app->getSavedPageNumber(fileName);
+ }
+ currentTab->pdf->gotoPage(page);
+ }
+ if (rot != 0) {
+ currentTab->pdf->setRotate(rot);
+ }
+ // after opening a document, focus goes to the XpdfWidget
+ currentTab->pdf->setFocus(Qt::OtherFocusReason);
+ lastOpenedTab = currentTab;
+ lastFileOpened = fileName;
+ return gTrue;
+}
+
+GBool XpdfViewer::openInNewTab(QString fileName, int page, QString destName,
+ int rot, QString password, GBool switchToTab) {
+ GBool ok;
+ int oldTabIndex;
+
+ oldTabIndex = tabList->currentRow();
+ addTab();
+ updateModeInfo();
+ ok = open(fileName, page, destName, rot, password);
+ if (!ok) {
+ if (tabInfo->getLength() > 1) {
+ closeTab(currentTab);
+ }
+ return gFalse;
+ }
+ lastOpenedTab = currentTab;
+ if (!switchToTab) {
+ tabList->setCurrentRow(oldTabIndex);
+ }
+ lastFileOpened = fileName;
+ return gTrue;
+}
+
+GBool XpdfViewer::checkOpen(QString fileName, int page, QString destName,
+ QString password) {
+ XpdfWidget::ErrorCode err;
+
+ if (fileName != currentTab->pdf->getFileName()) {
+ if (currentTab->pdf->hasOpenDocument()) {
+ app->startUpdatePagesFile();
+ app->updatePagesFile(currentTab->pdf->getFileName(),
+ currentTab->pdf->getMidPage());
+ app->finishUpdatePagesFile();
+ }
+ err = currentTab->pdf->loadFile(fileName, password);
+ if (err != XpdfWidget::pdfOk) {
+ QMessageBox::warning(NULL, "Xpdf Error",
+ "Couldn't open file '" + fileName + "'");
+ return gFalse;
+ }
+ }
+ if (!destName.isEmpty()) {
+ currentTab->pdf->gotoNamedDestination(destName);
+ } else {
+ if (page < 0) {
+ page = app->getSavedPageNumber(fileName);
+ }
+ currentTab->pdf->gotoPage(page);
+ }
+ // after opening a document, focus goes to the XpdfWidget
+ currentTab->pdf->setFocus(Qt::OtherFocusReason);
+ lastFileOpened = fileName;
+ lastOpenedTab = currentTab;
+ return gTrue;
+}
+
+// Disable the default popup menu (which shows a toggle to hide the
+// toolbar).
+QMenu *XpdfViewer::createPopupMenu() {
+ return NULL;
+}
+
+//------------------------------------------------------------------------
+// remote server
+//------------------------------------------------------------------------
+
+void XpdfViewer::startRemoteServer(const QString &remoteServerName) {
+ remoteServer = new QLocalServer(this);
+ connect(remoteServer, SIGNAL(newConnection()),
+ this, SLOT(remoteServerConnection()));
+ if (!remoteServer->listen("xpdf_" + remoteServerName)) {
+ error(errIO, -1, "Couldn't set up the remote server socket");
+ }
+}
+
+void XpdfViewer::remoteServerConnection() {
+ QLocalSocket *sock;
+
+ sock = remoteServer->nextPendingConnection();
+ connect(sock, SIGNAL(readyRead()), this, SLOT(remoteServerRead()));
+}
+
+void XpdfViewer::remoteServerRead() {
+ QLocalSocket *sock;
+ char buf[1024];
+ qint64 n;
+
+ sock = (QLocalSocket *)sender();
+ while (sock->canReadLine()) {
+ n = sock->readLine(buf, sizeof(buf));
+ if (n > 0) {
+ if (buf[n-1] == '\n') {
+ buf[n-1] = '\0';
+ }
+ execCmd(buf, NULL);
+ }
+ }
+}
+
+//------------------------------------------------------------------------
+// commands
+//------------------------------------------------------------------------
+
+void XpdfViewer::execCmd(const char *cmd, QInputEvent *event) {
+ GString *name;
+ GString *args[cmdMaxArgs];
+ const char *p0, *p1;
+ int nArgs, i;
+ int a, b, m, cmp;
+
+ //----- parse the command
+ name = NULL;
+ nArgs = 0;
+ for (i = 0; i < cmdMaxArgs; ++i) {
+ args[i] = NULL;
+ }
+ p0 = cmd;
+ for (p1 = p0; *p1 && isalnum(*p1); ++p1) ;
+ if (p1 == p0) {
+ goto err1;
+ }
+ name = new GString(p0, (int)(p1 - p0));
+ if (*p1 == '(') {
+ while (nArgs < cmdMaxArgs) {
+ ++p1;
+ args[nArgs] = new GString();
+ while (*p1 && *p1 != ',' && *p1 != ')') {
+ if (*p1 == '\x01' && p1[1]) {
+ ++p1;
+ }
+ args[nArgs]->append(*p1++);
+ }
+ ++nArgs;
+ if (*p1 != ',') {
+ break;
+ }
+ }
+ if (*p1 != ')') {
+ goto err1;
+ }
+ ++p1;
+ }
+ if (*p1) {
+ goto err1;
+ }
+
+ //----- find the command
+ a = -1;
+ b = nCmds;
+ // invariant: cmdTab[a].name < name < cmdTab[b].name
+ while (b - a > 1) {
+ m = (a + b) / 2;
+ cmp = strcmp(cmdTab[m].name, name->getCString());
+ if (cmp < 0) {
+ a = m;
+ } else if (cmp > 0) {
+ b = m;
+ } else {
+ a = b = m;
+ }
+ }
+ if (cmp != 0) {
+ goto err1;
+ }
+
+ //----- execute the command
+ if (nArgs != cmdTab[a].nArgs ||
+ (cmdTab[a].requiresEvent && !event)) {
+ goto err1;
+ }
+ if (cmdTab[a].requiresDoc && !currentTab->pdf->hasOpenDocument()) {
+ // don't issue an error message for this -- it happens, e.g., when
+ // clicking in a window with no open PDF file
+ goto err2;
+ }
+ (this->*cmdTab[a].func)(args, nArgs, event);
+
+ //----- clean up
+ delete name;
+ for (i = 0; i < nArgs; ++i) {
+ if (args[i]) {
+ delete args[i];
+ }
+ }
+ return;
+
+ err1:
+ error(errConfig, -1, "Invalid command syntax: '{0:s}'", cmd);
+ err2:
+ if (name) {
+ delete name;
+ }
+ for (i = 0; i < nArgs; ++i) {
+ if (args[i]) {
+ delete args[i];
+ }
+ }
+}
+
+int XpdfViewer::mouseX(QInputEvent *event) {
+ QEvent::Type eventType;
+
+ if (!event) {
+ return 0;
+ }
+ eventType = event->type();
+ if (eventType == QEvent::MouseButtonPress ||
+ eventType == QEvent::MouseButtonRelease ||
+ eventType == QEvent::MouseButtonDblClick ||
+ eventType == QEvent::MouseMove) {
+ return (int)(((QMouseEvent *)event)->pos().x() * scaleFactor);
+ } else if (eventType == QEvent::Wheel) {
+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
+ return (int)(((QWheelEvent *)event)->position().x() * scaleFactor);
+#else
+ return (int)(((QWheelEvent *)event)->x() * scaleFactor);
+#endif
+ } else {
+ return 0;
+ }
+}
+
+int XpdfViewer::mouseY(QInputEvent *event) {
+ QEvent::Type eventType;
+
+ if (!event) {
+ return 0;
+ }
+ eventType = event->type();
+ if (eventType == QEvent::MouseButtonPress ||
+ eventType == QEvent::MouseButtonRelease ||
+ eventType == QEvent::MouseButtonDblClick ||
+ eventType == QEvent::MouseMove) {
+ return (int)(((QMouseEvent *)event)->pos().y() * scaleFactor);
+ } else if (eventType == QEvent::Wheel) {
+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
+ return (int)(((QWheelEvent *)event)->position().y() * scaleFactor);
+#else
+ return (int)(((QWheelEvent *)event)->y() * scaleFactor);
+#endif
+ } else {
+ return 0;
+ }
+}
+
+void XpdfViewer::cmdAbout(GString *args[], int nArgs, QInputEvent *event) {
+ if (!aboutDialog) {
+ createAboutDialog();
+ }
+ aboutDialog->show();
+ aboutDialog->raise();
+}
+
+void XpdfViewer::cmdBlockSelectMode(GString *args[], int nArgs,
+ QInputEvent *event) {
+ currentTab->pdf->setBlockSelectMode();
+ updateSelectModeInfo();
+}
+
+void XpdfViewer::cmdCheckOpenFile(GString *args[], int nArgs,
+ QInputEvent *event) {
+ checkOpen(args[0]->getCString(), -1, "", "");
+}
+
+void XpdfViewer::cmdCheckOpenFileAtDest(GString *args[], int nArgs,
+ QInputEvent *event) {
+ checkOpen(args[0]->getCString(), 1, args[1]->getCString(), "");
+}
+
+void XpdfViewer::cmdCheckOpenFileAtPage(GString *args[], int nArgs,
+ QInputEvent *event) {
+ checkOpen(args[0]->getCString(), atoi(args[1]->getCString()), "", "");
+}
+
+void XpdfViewer::cmdCloseSidebar(GString *args[], int nArgs,
+ QInputEvent *event) {
+ QList<int> sizes = sidebarSplitter->sizes();
+ if (sizes[0] == 0) {
+ return;
+ }
+ sidebarWidth = sizes[0];
+ sizes[0] = 0;
+ sizes[1] += sidebarWidth;
+ sidebarSplitter->setSizes(sizes);
+ toggleSidebarMenuItem->setChecked(false);
+}
+
+void XpdfViewer::cmdCloseSidebarMoveResizeWin(GString *args[], int nArgs,
+ QInputEvent *event) {
+ int newWidth;
+ QList<int> sizes = sidebarSplitter->sizes();
+ if (sizes[0] == 0) {
+ return;
+ }
+ sidebarWidth = sizes[0];
+ newWidth = width() - sidebarWidth;
+ sizes[0] = 0;
+ sidebarSplitter->setSizes(sizes);
+ setGeometry(geometry().x() + sidebarWidth, geometry().y(),
+ newWidth, height());
+ toggleSidebarMenuItem->setChecked(false);
+}
+
+void XpdfViewer::cmdCloseSidebarResizeWin(GString *args[], int nArgs,
+ QInputEvent *event) {
+ int newWidth;
+ QList<int> sizes = sidebarSplitter->sizes();
+ if (sizes[0] == 0) {
+ return;
+ }
+ sidebarWidth = sizes[0];
+ newWidth = width() - sidebarWidth;
+ sizes[0] = 0;
+ sidebarSplitter->setSizes(sizes);
+ resize(newWidth, height());
+ toggleSidebarMenuItem->setChecked(false);
+}
+
+void XpdfViewer::cmdCloseTabOrQuit(GString *args[], int nArgs,
+ QInputEvent *event) {
+ closeTab(currentTab);
+ if (tabInfo->getLength() == 0) {
+ app->closeWindowOrQuit(this);
+ return;
+ }
+}
+
+void XpdfViewer::cmdCloseWindowOrQuit(GString *args[], int nArgs,
+ QInputEvent *event) {
+ app->closeWindowOrQuit(this);
+}
+
+
+void XpdfViewer::cmdContinuousMode(GString *args[], int nArgs,
+ QInputEvent *event) {
+ currentTab->pdf->setDisplayMode(XpdfWidget::pdfDisplayContinuous);
+ updateModeInfo();
+}
+
+void XpdfViewer::cmdCopy(GString *args[], int nArgs, QInputEvent *event) {
+ currentTab->pdf->copySelection();
+}
+
+void XpdfViewer::cmdCopyLinkTarget(GString *args[], int nArgs,
+ QInputEvent *event) {
+ QApplication::clipboard()->setText(linkTargetInfo);
+}
+
+#if 0 // for debugging
+void XpdfViewer::cmdDebug1(GString *args[], int nArgs, QInputEvent *event) {
+}
+#endif
+
+void XpdfViewer::cmdEndPan(GString *args[], int nArgs, QInputEvent *event) {
+ currentTab->pdf->getCore()->endPan(mouseX(event), mouseY(event));
+}
+
+void XpdfViewer::cmdEndSelection(GString *args[], int nArgs,
+ QInputEvent *event) {
+ currentTab->pdf->getCore()->endSelection(mouseX(event), mouseY(event));
+}
+
+void XpdfViewer::cmdExpandSidebar(GString *args[], int nArgs,
+ QInputEvent *event) {
+ QList<int> sizes = sidebarSplitter->sizes();
+ int nPixels = atoi(args[0]->getCString());
+ if (nPixels > sizes[1]) {
+ nPixels = sizes[1];
+ }
+ sizes[0] += nPixels;
+ sizes[1] -= nPixels;
+ sidebarSplitter->setSizes(sizes);
+ toggleSidebarMenuItem->setChecked(true);
+}
+
+void XpdfViewer::cmdFind(GString *args[], int nArgs, QInputEvent *event) {
+ clearFindError();
+ findEdit->setFocus(Qt::OtherFocusReason);
+ findEdit->selectAll();
+}
+
+void XpdfViewer::cmdFindFirst(GString *args[], int nArgs, QInputEvent *event) {
+ int flags;
+
+ clearFindError();
+ flags = 0;
+ if (findCaseSensitiveAction->isChecked()) {
+ flags |= XpdfWidget::findCaseSensitive;
+ }
+ if (findWholeWordsAction->isChecked()) {
+ flags |= XpdfWidget::findWholeWord;
+ }
+ if (!currentTab->pdf->find(findEdit->text(), flags)) {
+ showFindError();
+ }
+}
+
+void XpdfViewer::cmdFindNext(GString *args[], int nArgs, QInputEvent *event) {
+ int flags;
+
+ clearFindError();
+ flags = XpdfWidget::findNext;
+ if (findCaseSensitiveAction->isChecked()) {
+ flags |= XpdfWidget::findCaseSensitive;
+ }
+ if (findWholeWordsAction->isChecked()) {
+ flags |= XpdfWidget::findWholeWord;
+ }
+ if (!currentTab->pdf->find(findEdit->text(), flags)) {
+ showFindError();
+ }
+}
+
+void XpdfViewer::cmdFindPrevious(GString *args[], int nArgs,
+ QInputEvent *event) {
+ int flags;
+
+ clearFindError();
+ flags = XpdfWidget::findBackward | XpdfWidget::findNext;
+ if (findCaseSensitiveAction->isChecked()) {
+ flags |= XpdfWidget::findCaseSensitive;
+ }
+ if (findWholeWordsAction->isChecked()) {
+ flags |= XpdfWidget::findWholeWord;
+ }
+ if (!currentTab->pdf->find(findEdit->text(), flags)) {
+ showFindError();
+ }
+}
+
+void XpdfViewer::cmdFocusToDocWin(GString *args[], int nArgs,
+ QInputEvent *event) {
+ currentTab->pdf->setFocus(Qt::OtherFocusReason);
+}
+
+void XpdfViewer::cmdFocusToPageNum(GString *args[], int nArgs,
+ QInputEvent *event) {
+ pageNumber->setFocus(Qt::OtherFocusReason);
+ pageNumber->selectAll();
+}
+
+void XpdfViewer::cmdFollowLink(GString *args[], int nArgs,
+ QInputEvent *event) {
+ followLink(event, gFalse, gFalse, gFalse);
+}
+
+void XpdfViewer::cmdFollowLinkInNewTab(GString *args[], int nArgs,
+ QInputEvent *event) {
+ followLink(event, gFalse, gTrue, gFalse);
+}
+
+void XpdfViewer::cmdFollowLinkInNewTabNoSel(GString *args[], int nArgs,
+ QInputEvent *event) {
+ followLink(event, gTrue, gTrue, gFalse);
+}
+
+void XpdfViewer::cmdFollowLinkInNewWin(GString *args[], int nArgs,
+ QInputEvent *event) {
+ followLink(event, gFalse, gFalse, gTrue);
+}
+
+void XpdfViewer::cmdFollowLinkInNewWinNoSel(GString *args[], int nArgs,
+ QInputEvent *event) {
+ followLink(event, gTrue, gFalse, gTrue);
+}
+
+void XpdfViewer::cmdFollowLinkNoSel(GString *args[], int nArgs,
+ QInputEvent *event) {
+ followLink(event, gTrue, gFalse, gFalse);
+}
+
+void XpdfViewer::cmdFullScreenMode(GString *args[], int nArgs,
+ QInputEvent *event) {
+ if (!(windowState() & Qt::WindowFullScreen)) {
+ enterFullScreenMode();
+ }
+}
+
+void XpdfViewer::cmdGotoDest(GString *args[], int nArgs, QInputEvent *event) {
+ currentTab->pdf->gotoNamedDestination(args[0]->getCString());
+ updateZoomInfo();
+}
+
+void XpdfViewer::cmdGotoLastPage(GString *args[], int nArgs,
+ QInputEvent *event) {
+ currentTab->pdf->gotoLastPage();
+}
+
+void XpdfViewer::cmdGoBackward(GString *args[], int nArgs, QInputEvent *event) {
+ currentTab->pdf->goBackward();
+}
+
+void XpdfViewer::cmdGoForward(GString *args[], int nArgs, QInputEvent *event) {
+ currentTab->pdf->goForward();
+}
+
+void XpdfViewer::cmdGotoPage(GString *args[], int nArgs, QInputEvent *event) {
+ int pg;
+
+ pg = atoi(args[0]->getCString());
+ if (pg < 1 || pg > currentTab->pdf->getNumPages()) {
+ return;
+ }
+ currentTab->pdf->gotoPage(pg);
+}
+
+void XpdfViewer::cmdHelp(GString *args[], int nArgs, QInputEvent *event) {
+ QDesktopServices::openUrl(QUrl(helpURL, QUrl::TolerantMode));
+}
+
+void XpdfViewer::cmdHideMenuBar(GString *args[], int nArgs,
+ QInputEvent *event) {
+ mainMenu->hide();
+}
+
+void XpdfViewer::cmdHideToolbar(GString *args[], int nArgs,
+ QInputEvent *event) {
+ toolBar->hide();
+ toggleToolbarMenuItem->setChecked(false);
+}
+
+void XpdfViewer::cmdHorizontalContinuousMode(GString *args[], int nArgs,
+ QInputEvent *event) {
+ currentTab->pdf->setDisplayMode(XpdfWidget::pdfDisplayHorizontalContinuous);
+}
+
+void XpdfViewer::cmdLinearSelectMode(GString *args[], int nArgs,
+ QInputEvent *event) {
+ currentTab->pdf->setLinearSelectMode();
+ updateSelectModeInfo();
+}
+
+void XpdfViewer::cmdLoadTabState(GString *args[], int nArgs,
+ QInputEvent *event) {
+ GString *path = globalParams->getTabStateFile();
+ FILE *f = openFile(path->getCString(), "rb");
+ if (!f) {
+ GString *msg = GString::format("Couldn't read the tab file '{0:t}'", path);
+ QMessageBox::warning(NULL, "Xpdf Error", msg->getCString());
+ delete msg;
+ delete path;
+ return;
+ }
+ delete path;
+
+ char line1[1024], line2[1024];
+ if (!fgets(line1, sizeof(line1), f)) {
+ fclose(f);
+ return;
+ }
+ size_t n = strlen(line1);
+ if (n > 0 && line1[n-1] == '\n') {
+ line1[--n] = '\0';
+ }
+ if (n > 0 && line1[n-1] == '\r') {
+ line1[--n] = '\0';
+ }
+ int format = 1;
+ if (!strcmp(line1, "xpdf-tabstate-2")) {
+ format = 2;
+ }
+
+ GBool first = gTrue;
+ while (((first && format == 1) || fgets(line1, sizeof(line1), f)) &&
+ fgets(line2, sizeof(line2), f)) {
+ n = strlen(line1);
+ if (n > 0 && line1[n-1] == '\n') {
+ line1[--n] = '\0';
+ }
+ if (n > 0 && line1[n-1] == '\r') {
+ line1[--n] = '\0';
+ }
+ n = strlen(line2);
+ if (n > 0 && line2[n-1] == '\n') {
+ line2[--n] = '\0';
+ }
+ if (n > 0 && line2[n-1] == '\r') {
+ line2[--n] = '\0';
+ }
+ char displayModeChar;
+ int page, rotate, scrollX, scrollY;
+ double zoom;
+ if (format == 2) {
+ sscanf(line2, "%c %d %lf %d %d %d",
+ &displayModeChar, &page, &zoom, &rotate, &scrollX, &scrollY);
+ } else {
+ page = atoi(line2);
+ rotate = 0;
+ // the rest are unused, but set to make gcc happy
+ displayModeChar = 'c';
+ zoom = zoomWidth;
+ scrollX = scrollY = 0;
+ }
+ GBool ok;
+ if (first && !currentTab->pdf->hasOpenDocument()) {
+ ok = open(line1, page, "", rotate, "");
+ } else {
+ ok = openInNewTab(line1, page, "", rotate, "", gFalse);
+ }
+ if (ok && format == 2) {
+ XpdfWidget *pdf = lastOpenedTab->pdf;
+ switch (displayModeChar) {
+ case 's':
+ pdf->setDisplayMode(XpdfWidget::pdfDisplaySingle);
+ break;
+ case 'c':
+ pdf->setDisplayMode(XpdfWidget::pdfDisplayContinuous);
+ break;
+ case 'b':
+ pdf->setDisplayMode(XpdfWidget::pdfDisplaySideBySideSingle);
+ break;
+ case 'B':
+ pdf->setDisplayMode(XpdfWidget::pdfDisplaySideBySideContinuous);
+ break;
+ case 'h':
+ pdf->setDisplayMode(XpdfWidget::pdfDisplayHorizontalContinuous);
+ break;
+ default: break;
+ }
+ pdf->setRotate(rotate);
+ pdf->setZoom(zoom);
+ pdf->scrollTo(scrollX, scrollY);
+ }
+ first = gFalse;
+ }
+
+ fclose(f);
+}
+
+void XpdfViewer::cmdNewTab(GString *args[], int nArgs, QInputEvent *event) {
+ addTab();
+ updateModeInfo();
+ updateDocInfo();
+}
+
+void XpdfViewer::cmdNewWindow(GString *args[], int nArgs, QInputEvent *event) {
+ app->newWindow();
+}
+
+void XpdfViewer::cmdNextPage(GString *args[], int nArgs, QInputEvent *event) {
+ currentTab->pdf->gotoNextPage();
+}
+
+void XpdfViewer::cmdNextPageNoScroll(GString *args[], int nArgs,
+ QInputEvent *event) {
+ currentTab->pdf->gotoNextPage(false);
+}
+
+void XpdfViewer::cmdNextTab(GString *args[], int nArgs, QInputEvent *event) {
+ int i;
+
+ if (tabInfo->getLength() == 1) {
+ return;
+ }
+ for (i = 0; i < tabInfo->getLength(); ++i) {
+ if ((XpdfTabInfo *)tabInfo->get(i) == currentTab) {
+ ++i;
+ if (i >= tabInfo->getLength()) {
+ i = 0;
+ }
+ tabList->setCurrentRow(i);
+ return;
+ }
+ }
+}
+
+void XpdfViewer::cmdOpen(GString *args[], int nArgs,
+ QInputEvent *event) {
+ QString startFile, fileName;
+ QDir startDir;
+
+ if (!(startFile = currentTab->pdf->getFileName()).isEmpty()) {
+ startDir = QDir(startFile);
+ startDir.cdUp();
+ } else if (!lastFileOpened.isEmpty()) {
+ startDir = QDir(lastFileOpened);
+ startDir.cdUp();
+ } else {
+ startDir = QDir(".");
+ }
+ fileName = QFileDialog::getOpenFileName(this, "Open PDF File",
+ startDir.canonicalPath(),
+ "PDF files (*.pdf)");
+ if (fileName.isEmpty()) {
+ return;
+ }
+ open(fileName, -1, "", 0, "");
+}
+
+void XpdfViewer::cmdOpenErrorWindow(GString *args[], int nArgs,
+ QInputEvent *event) {
+ errorWindow->show();
+ errorWindow->raise();
+}
+
+void XpdfViewer::cmdOpenFile(GString *args[], int nArgs, QInputEvent *event) {
+ open(args[0]->getCString(), -1, "", 0, "");
+}
+
+void XpdfViewer::cmdOpenFile2(GString *args[], int nArgs, QInputEvent *event) {
+ char *file = args[0]->getCString();
+ int page;
+ if (args[1]->getLength() == 0) {
+ page = -1;
+ } else {
+ page = atoi(args[1]->getCString());
+ }
+ char *dest = args[2]->getCString();
+ char *password = args[3]->getCString();
+ GString *location = args[4];
+ if (location->cmp("win") == 0) {
+ app->openInNewWindow(file, page, dest, 0, password);
+ } else if (location->cmp("tab") == 0) {
+ openInNewTab(file, page, dest, 0, password, gTrue);
+ } else if (location->cmp("check") == 0) {
+ checkOpen(file, page, dest, password);
+ } else {
+ open(file, page, dest, 0, password);
+ }
+}
+
+void XpdfViewer::cmdOpenFileAtDest(GString *args[], int nArgs,
+ QInputEvent *event) {
+ open(args[0]->getCString(), 1, args[1]->getCString(), 0, "");
+}
+
+void XpdfViewer::cmdOpenFileAtDestIn(GString *args[], int nArgs,
+ QInputEvent *event) {
+ if (!args[2]->cmp("win")) {
+ app->openInNewWindow(args[0]->getCString(), 1, args[1]->getCString());
+ } else if (!args[2]->cmp("tab")) {
+ openInNewTab(args[0]->getCString(), 1, args[1]->getCString(), 0, "", gTrue);
+ } else {
+ open(args[0]->getCString(), 1, args[1]->getCString(), 0, "");
+ }
+}
+
+void XpdfViewer::cmdOpenFileAtPage(GString *args[], int nArgs,
+ QInputEvent *event) {
+ open(args[0]->getCString(), atoi(args[1]->getCString()), "", 0, "");
+}
+
+void XpdfViewer::cmdOpenFileAtPageIn(GString *args[], int nArgs,
+ QInputEvent *event) {
+ if (!args[2]->cmp("win")) {
+ app->openInNewWindow(args[0]->getCString(), atoi(args[1]->getCString()));
+ } else if (!args[2]->cmp("tab")) {
+ openInNewTab(args[0]->getCString(), atoi(args[1]->getCString()),
+ "", 0, "", gTrue);
+ } else {
+ open(args[0]->getCString(), atoi(args[1]->getCString()), "", 0, "");
+ }
+}
+
+void XpdfViewer::cmdOpenFileIn(GString *args[], int nArgs,
+ QInputEvent *event) {
+ if (!args[1]->cmp("win")) {
+ app->openInNewWindow(args[0]->getCString(), -1);
+ } else if (!args[1]->cmp("tab")) {
+ openInNewTab(args[0]->getCString(), -1, "", 0, "", gTrue);
+ } else {
+ open(args[0]->getCString(), -1, "", 0, "");
+ }
+}
+
+void XpdfViewer::cmdOpenIn(GString *args[], int nArgs, QInputEvent *event) {
+ QString startFile, fileName;
+ QDir startDir;
+
+ if (!(startFile = currentTab->pdf->getFileName()).isEmpty()) {
+ startDir = QDir(startFile);
+ startDir.cdUp();
+ } else if (!lastFileOpened.isEmpty()) {
+ startDir = QDir(lastFileOpened);
+ startDir.cdUp();
+ } else {
+ startDir = QDir(".");
+ }
+ fileName = QFileDialog::getOpenFileName(this, "Open PDF File",
+ startDir.canonicalPath(),
+ "PDF files (*.pdf)");
+ if (fileName.isEmpty()) {
+ return;
+ }
+ if (!args[0]->cmp("win")) {
+ app->openInNewWindow(fileName, -1);
+ } else if (!args[0]->cmp("tab")) {
+ openInNewTab(fileName, -1, "", 0, "", gTrue);
+ } else {
+ open(fileName, -1, "", 0, "");
+ }
+}
+
+void XpdfViewer::cmdOpenSidebar(GString *args[], int nArgs,
+ QInputEvent *event) {
+ QList<int> sizes = sidebarSplitter->sizes();
+ if (sizes[0] > 0) {
+ return;
+ }
+ sizes[0] = sidebarWidth;
+ sizes[1] -= sidebarWidth;
+ sidebarSplitter->setSizes(sizes);
+ toggleSidebarMenuItem->setChecked(true);
+}
+
+void XpdfViewer::cmdOpenSidebarMoveResizeWin(GString *args[], int nArgs,
+ QInputEvent *event) {
+ int newWidth;
+ QList<int> sizes = sidebarSplitter->sizes();
+ if (sizes[0] > 0) {
+ return;
+ }
+ sizes[0] = sidebarWidth;
+ newWidth = width() + sidebarWidth;
+ sidebarSplitter->setSizes(sizes);
+ setGeometry(geometry().x() - sidebarWidth, geometry().y(),
+ newWidth, height());
+ toggleSidebarMenuItem->setChecked(true);
+}
+
+void XpdfViewer::cmdOpenSidebarResizeWin(GString *args[], int nArgs,
+ QInputEvent *event) {
+ int newWidth;
+ QList<int> sizes = sidebarSplitter->sizes();
+ if (sizes[0] > 0) {
+ return;
+ }
+ sizes[0] = sidebarWidth;
+ newWidth = width() + sidebarWidth;
+ sidebarSplitter->setSizes(sizes);
+ resize(newWidth, height());
+ toggleSidebarMenuItem->setChecked(true);
+}
+
+void XpdfViewer::cmdPageDown(GString *args[], int nArgs, QInputEvent *event) {
+ currentTab->pdf->scrollPageDown();
+}
+
+void XpdfViewer::cmdPageUp(GString *args[], int nArgs, QInputEvent *event) {
+ currentTab->pdf->scrollPageUp();
+}
+
+void XpdfViewer::cmdPostPopupMenu(GString *args[], int nArgs,
+ QInputEvent *event) {
+ if (!popupMenu) {
+ return;
+ }
+ popupMenu->exec(currentTab->pdf->mapToGlobal(QPoint(mouseX(event),
+ mouseY(event))));
+}
+
+void XpdfViewer::cmdPrevPage(GString *args[], int nArgs, QInputEvent *event) {
+ currentTab->pdf->gotoPreviousPage();
+}
+
+void XpdfViewer::cmdPrevPageNoScroll(GString *args[], int nArgs,
+ QInputEvent *event) {
+ currentTab->pdf->gotoPreviousPage(false);
+}
+
+void XpdfViewer::cmdPrevTab(GString *args[], int nArgs, QInputEvent *event) {
+ int i;
+
+ if (tabInfo->getLength() == 1) {
+ return;
+ }
+ for (i = 0; i < tabInfo->getLength(); ++i) {
+ if ((XpdfTabInfo *)tabInfo->get(i) == currentTab) {
+ --i;
+ if (i < 0) {
+ i = tabInfo->getLength() - 1;
+ }
+ tabList->setCurrentRow(i);
+ return;
+ }
+ }
+}
+
+
+#if XPDFWIDGET_PRINTING
+void XpdfViewer::cmdPrint(GString *args[], int nArgs, QInputEvent *event) {
+ currentTab->pdf->print(true);
+}
+#endif
+
+void XpdfViewer::cmdQuit(GString *args[], int nArgs,
+ QInputEvent *event) {
+ app->quit();
+}
+
+void XpdfViewer::cmdRaise(GString *args[], int nArgs,
+ QInputEvent *event) {
+ show();
+ activateWindow();
+ raise();
+}
+
+void XpdfViewer::cmdReload(GString *args[], int nArgs, QInputEvent *event) {
+ if (currentTab->pdf->reload() != XpdfWidget::pdfOk) {
+ QMessageBox::warning(NULL, "Xpdf Error", "Couldn't reload file");
+ }
+}
+
+void XpdfViewer::cmdRotateCW(GString *args[], int nArgs, QInputEvent *event) {
+ currentTab->pdf->setRotate((currentTab->pdf->getRotate() + 90) % 360);
+}
+
+void XpdfViewer::cmdRotateCCW(GString *args[], int nArgs, QInputEvent *event) {
+ currentTab->pdf->setRotate((currentTab->pdf->getRotate() + 270) % 360);
+}
+
+static QString mungeURL(QString url) {
+ static const char *allowed = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ "abcdefghijklmnopqrstuvwxyz"
+ "0123456789"
+ "-_.~/?:@&=+,#%";
+ QString newURL;
+ char c;
+ char buf[4];
+ int i;
+
+ for (i = 0; i < url.length(); ++i) {
+ c = url.at(i).toLatin1();
+ if (strchr(allowed, c)) {
+ newURL += c;
+ } else {
+ snprintf(buf, sizeof(buf), "%%%02x", c & 0xff);
+ newURL += buf;
+ }
+ }
+ return newURL;
+}
+
+void XpdfViewer::cmdRun(GString *args[], int nArgs, QInputEvent *event) {
+ GString *fmt, *cmd;
+ QString s;
+ QPoint pt;
+ double selLRX, selLRY, selURX, selURY, mX, mY;
+ int selPage, mPage;
+ GBool gotSel, gotMouse;
+ const char *p, *q;
+ char c0, c1;
+ int i;
+
+ cmd = new GString();
+ fmt = args[0];
+ i = 0;
+ gotSel = gotMouse = gFalse;
+ while (i < fmt->getLength()) {
+ c0 = fmt->getChar(i);
+ if (c0 == '%' && i+1 < fmt->getLength()) {
+ c1 = fmt->getChar(i+1);
+ switch (c1) {
+ case 'f':
+ cmd->append(currentTab->pdf->getFileName().toLocal8Bit().constData());
+ break;
+ case 'b':
+ p = currentTab->pdf->getFileName().toLocal8Bit().constData();
+ if ((q = strrchr(p, '.'))) {
+ cmd->append(p, (int)(q - p));
+ } else {
+ cmd->append(p);
+ }
+ break;
+ case 'u':
+ s = mungeURL(linkTargetInfo);
+ cmd->append(s.toLocal8Bit().constData());
+ break;
+ case 'p':
+ cmd->appendf("{0:d}", currentTab->pdf->getMidPage());
+ break;
+ case 'x':
+ case 'y':
+ case 'X':
+ case 'Y':
+ if (!gotSel) {
+ if (!currentTab->pdf->getCurrentSelection(&selPage, &selURX, &selURY,
+ &selLRX, &selLRY)) {
+ selPage = 0;
+ selURX = selURY = selLRX = selLRY = 0;
+ }
+ gotSel = gTrue;
+ }
+ cmd->appendf("{0:.2g}",
+ (c1 == 'x') ? selURX :
+ (c1 == 'y') ? selURY :
+ (c1 == 'X') ? selLRX : selLRY);
+ break;
+ case 'i':
+ case 'j':
+ case 'k':
+ if (!gotMouse) {
+ if (event->type() == QEvent::MouseButtonPress ||
+ event->type() == QEvent::MouseButtonRelease ||
+ event->type() == QEvent::MouseButtonDblClick ||
+ event->type() == QEvent::MouseMove ||
+ event->type() == QEvent::Wheel) {
+ currentTab->pdf->convertWindowToPDFCoords(mouseX(event),
+ mouseY(event),
+ &mPage, &mX, &mY);
+ } else {
+ pt = currentTab->pdf->mapFromGlobal(QCursor::pos());
+ currentTab->pdf->convertWindowToPDFCoords(pt.x(), pt.y(),
+ &mPage, &mX, &mY);
+ }
+ gotMouse = gTrue;
+ }
+ if (c1 == 'i') {
+ cmd->appendf("{0:d}", mPage);
+ } else {
+ cmd->appendf("{0:.2g}", (c1 == 'j') ? mX : mY);
+ }
+ break;
+ default:
+ cmd->append(c1);
+ break;
+ }
+ i += 2;
+ } else {
+ cmd->append(c0);
+ ++i;
+ }
+ }
+
+#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
+ QString cmdStr(cmd->getCString());
+ QStringList tokens = QProcess::splitCommand(cmdStr);
+ if (!tokens.isEmpty()) {
+ QString program = tokens[0];
+ tokens.removeFirst();
+ QProcess::startDetached(program, tokens);
+ }
+#else
+ QProcess::startDetached(cmd->getCString());
+#endif
+ delete cmd;
+}
+
+void XpdfViewer::cmdSaveAs(GString *args[], int nArgs, QInputEvent *event) {
+ QString startFile, fileName;
+ QDir startDir;
+
+ if (!(startFile = currentTab->pdf->getFileName()).isEmpty()) {
+ startDir = QDir(startFile);
+ } else {
+ startDir = QDir(".");
+ }
+ fileName = QFileDialog::getSaveFileName(this, "Save PDF File",
+ startDir.canonicalPath(),
+ "PDF files (*.pdf)");
+ if (fileName.isEmpty()) {
+ return;
+ }
+ currentTab->pdf->saveAs(fileName);
+}
+
+void XpdfViewer::cmdSaveImage(GString *args[], int nArgs, QInputEvent *event) {
+ execSaveImageDialog();
+}
+
+void XpdfViewer::cmdSaveTabState(GString *args[], int nArgs,
+ QInputEvent *event) {
+ GString *path = globalParams->getTabStateFile();
+ FILE *f = openFile(path->getCString(), "wb");
+ if (!f) {
+ GString *msg = GString::format("Couldn't write the tab file '{0:t}'",
+ path);
+ QMessageBox::warning(NULL, "Xpdf Error", msg->getCString());
+ delete msg;
+ delete path;
+ return;
+ }
+ delete path;
+
+ fprintf(f, "xpdf-tabstate-2\n");
+
+ for (int i = 0; i < tabInfo->getLength(); ++i) {
+ XpdfWidget *pdf = ((XpdfTabInfo *)tabInfo->get(i))->pdf;
+ QString fileName = pdf->getFileName();
+ if (!fileName.isEmpty()) {
+ fprintf(f, "%s\n", fileName.toUtf8().constData());
+ char displayModeChar;
+ switch (pdf->getDisplayMode()) {
+ case XpdfWidget::pdfDisplaySingle:
+ displayModeChar = 's';
+ break;
+ case XpdfWidget::pdfDisplayContinuous:
+ displayModeChar = 'c';
+ break;
+ case XpdfWidget::pdfDisplaySideBySideSingle:
+ displayModeChar = 'b';
+ break;
+ case XpdfWidget::pdfDisplaySideBySideContinuous:
+ displayModeChar = 'B';
+ break;
+ case XpdfWidget::pdfDisplayHorizontalContinuous:
+ displayModeChar = 'h';
+ break;
+ default:
+ displayModeChar = 'c';
+ break;
+ }
+ fprintf(f, "%c %d %g %d %d %d\n",
+ displayModeChar, pdf->getMidPage(), pdf->getZoom(),
+ pdf->getRotate(), pdf->getScrollX(), pdf->getScrollY());
+ }
+ }
+
+ fclose(f);
+}
+
+void XpdfViewer::cmdScrollDown(GString *args[], int nArgs,
+ QInputEvent *event) {
+ int dy = scaleScroll(atoi(args[0]->getCString()));
+ currentTab->pdf->scrollBy(0, dy);
+}
+
+void XpdfViewer::cmdScrollDownNextPage(GString *args[], int nArgs,
+ QInputEvent *event) {
+ int dy = scaleScroll(atoi(args[0]->getCString()));
+ currentTab->pdf->getCore()->scrollDownNextPage(dy);
+}
+
+void XpdfViewer::cmdScrollLeft(GString *args[], int nArgs,
+ QInputEvent *event) {
+ int dx = scaleScroll(atoi(args[0]->getCString()));
+ currentTab->pdf->scrollBy(-dx, 0);
+}
+
+void XpdfViewer::cmdScrollOutlineDown(GString *args[], int nArgs,
+ QInputEvent *event) {
+ QScrollBar *sb = currentTab->outlineTree->verticalScrollBar();
+ sb->setValue(sb->value() + atoi(args[0]->getCString()));
+}
+
+void XpdfViewer::cmdScrollOutlineUp(GString *args[], int nArgs,
+ QInputEvent *event) {
+ QScrollBar *sb = currentTab->outlineTree->verticalScrollBar();
+ sb->setValue(sb->value() - atoi(args[0]->getCString()));
+}
+
+void XpdfViewer::cmdScrollRight(GString *args[], int nArgs,
+ QInputEvent *event) {
+ int dx = scaleScroll(atoi(args[0]->getCString()));
+ currentTab->pdf->scrollBy(dx, 0);
+}
+
+void XpdfViewer::cmdScrollToBottomEdge(GString *args[], int nArgs,
+ QInputEvent *event) {
+ currentTab->pdf->getCore()->scrollToBottomEdge();
+}
+
+void XpdfViewer::cmdScrollToBottomRight(GString *args[], int nArgs,
+ QInputEvent *event) {
+ currentTab->pdf->getCore()->scrollToBottomRight();
+}
+
+void XpdfViewer::cmdScrollToLeftEdge(GString *args[], int nArgs,
+ QInputEvent *event) {
+ currentTab->pdf->getCore()->scrollToLeftEdge();
+}
+
+void XpdfViewer::cmdScrollToRightEdge(GString *args[], int nArgs,
+ QInputEvent *event) {
+ currentTab->pdf->getCore()->scrollToRightEdge();
+}
+
+void XpdfViewer::cmdScrollToTopEdge(GString *args[], int nArgs,
+ QInputEvent *event) {
+ currentTab->pdf->getCore()->scrollToTopEdge();
+}
+
+void XpdfViewer::cmdScrollToTopLeft(GString *args[], int nArgs,
+ QInputEvent *event) {
+ currentTab->pdf->getCore()->scrollToTopLeft();
+}
+
+void XpdfViewer::cmdScrollUp(GString *args[], int nArgs,
+ QInputEvent *event) {
+ int dy = scaleScroll(atoi(args[0]->getCString()));
+ currentTab->pdf->scrollBy(0, -dy);
+}
+
+void XpdfViewer::cmdScrollUpPrevPage(GString *args[], int nArgs,
+ QInputEvent *event) {
+ int dy = scaleScroll(atoi(args[0]->getCString()));
+ currentTab->pdf->getCore()->scrollUpPrevPage(dy);
+}
+
+void XpdfViewer::cmdSelectLine(GString *args[], int nArgs, QInputEvent *event) {
+ currentTab->pdf->getCore()->selectLine(mouseX(event), mouseY(event));
+}
+
+void XpdfViewer::cmdSelectWord(GString *args[], int nArgs, QInputEvent *event) {
+ currentTab->pdf->getCore()->selectWord(mouseX(event), mouseY(event));
+}
+
+void XpdfViewer::cmdSetSelection(GString *args[], int nArgs,
+ QInputEvent *event) {
+ currentTab->pdf->setCurrentSelection(atoi(args[0]->getCString()),
+ atof(args[1]->getCString()),
+ atof(args[2]->getCString()),
+ atof(args[3]->getCString()),
+ atof(args[4]->getCString()));
+}
+
+void XpdfViewer::cmdShowAttachmentsPane(GString *args[], int nArgs,
+ QInputEvent *event) {
+ infoComboBox->setCurrentIndex(2);
+}
+
+void XpdfViewer::cmdShowDocumentInfo(GString *args[], int nArgs,
+ QInputEvent *event) {
+ if (!currentTab->pdf->hasOpenDocument()) {
+ return;
+ }
+ updateDocumentInfoDialog(currentTab->pdf);
+ documentInfoDialog->show();
+ documentInfoDialog->raise();
+}
+
+void XpdfViewer::cmdShowKeyBindings(GString *args[], int nArgs,
+ QInputEvent *event) {
+ if (!keyBindingsDialog) {
+ createKeyBindingsDialog();
+ }
+ keyBindingsDialog->show();
+ keyBindingsDialog->raise();
+}
+
+void XpdfViewer::cmdShowLayersPane(GString *args[], int nArgs,
+ QInputEvent *event) {
+ infoComboBox->setCurrentIndex(1);
+}
+
+void XpdfViewer::cmdShowMenuBar(GString *args[], int nArgs,
+ QInputEvent *event) {
+ mainMenu->show();
+}
+
+void XpdfViewer::cmdShowOutlinePane(GString *args[], int nArgs,
+ QInputEvent *event) {
+ infoComboBox->setCurrentIndex(0);
+}
+
+void XpdfViewer::cmdShowToolbar(GString *args[], int nArgs,
+ QInputEvent *event) {
+ toolBar->show();
+ toggleToolbarMenuItem->setChecked(true);
+}
+
+void XpdfViewer::cmdShrinkSidebar(GString *args[], int nArgs,
+ QInputEvent *event) {
+ QList<int> sizes = sidebarSplitter->sizes();
+ if (sizes[0] == 0) {
+ return;
+ }
+ int nPixels = atoi(args[0]->getCString());
+ if (sizes[0] - nPixels
+ < sidebarSplitter->widget(0)->minimumSizeHint().width()) {
+ cmdCloseSidebar(args, nArgs, event);
+ return;
+ }
+ sizes[0] -= nPixels;
+ sizes[1] += nPixels;
+ sidebarSplitter->setSizes(sizes);
+}
+
+void XpdfViewer::cmdSideBySideContinuousMode(GString *args[], int nArgs,
+ QInputEvent *event) {
+ currentTab->pdf->setDisplayMode(XpdfWidget::pdfDisplaySideBySideContinuous);
+}
+
+void XpdfViewer::cmdSideBySideSingleMode(GString *args[], int nArgs,
+ QInputEvent *event) {
+ currentTab->pdf->setDisplayMode(XpdfWidget::pdfDisplaySideBySideSingle);
+}
+
+void XpdfViewer::cmdSinglePageMode(GString *args[], int nArgs,
+ QInputEvent *event) {
+ currentTab->pdf->setDisplayMode(XpdfWidget::pdfDisplaySingle);
+ updateModeInfo();
+}
+
+void XpdfViewer::cmdStartExtendedSelection(GString *args[], int nArgs,
+ QInputEvent *event) {
+ currentTab->pdf->getCore()->startSelection(mouseX(event), mouseY(event),
+ gTrue);
+}
+
+void XpdfViewer::cmdStartPan(GString *args[], int nArgs, QInputEvent *event) {
+ currentTab->pdf->getCore()->startPan(mouseX(event), mouseY(event));
+}
+
+void XpdfViewer::cmdStartSelection(GString *args[], int nArgs,
+ QInputEvent *event) {
+ currentTab->pdf->getCore()->startSelection(mouseX(event), mouseY(event),
+ gFalse);
+}
+
+void XpdfViewer::cmdToggleContinuousMode(GString *args[], int nArgs,
+ QInputEvent *event) {
+ XpdfWidget::DisplayMode mode = currentTab->pdf->getDisplayMode();
+ if (mode == XpdfWidget::pdfDisplaySingle) {
+ currentTab->pdf->setDisplayMode(XpdfWidget::pdfDisplayContinuous);
+ } else {
+ currentTab->pdf->setDisplayMode(XpdfWidget::pdfDisplaySingle);
+ }
+ updateModeInfo();
+}
+
+void XpdfViewer::cmdToggleFullScreenMode(GString *args[], int nArgs,
+ QInputEvent *event) {
+ if (windowState() & Qt::WindowFullScreen) {
+ exitFullScreenMode();
+ } else {
+ enterFullScreenMode();
+ }
+}
+
+void XpdfViewer::cmdToggleMenuBar(GString *args[], int nArgs,
+ QInputEvent *event) {
+ if (mainMenu->isVisible()) {
+ cmdHideMenuBar(args, nArgs, event);
+ } else {
+ cmdShowMenuBar(args, nArgs, event);
+ }
+}
+
+void XpdfViewer::cmdToggleSelectMode(GString *args[], int nArgs,
+ QInputEvent *event) {
+ if (currentTab->pdf->isBlockSelectMode()) {
+ currentTab->pdf->setLinearSelectMode();
+ } else {
+ currentTab->pdf->setBlockSelectMode();
+ }
+ updateSelectModeInfo();
+}
+
+void XpdfViewer::cmdToggleSidebar(GString *args[], int nArgs,
+ QInputEvent *event) {
+ QList<int> sizes = sidebarSplitter->sizes();
+ if (sizes[0] == 0) {
+ cmdOpenSidebar(args, nArgs, event);
+ } else {
+ cmdCloseSidebar(args, nArgs, event);
+ }
+}
+
+void XpdfViewer::cmdToggleSidebarMoveResizeWin(GString *args[], int nArgs,
+ QInputEvent *event) {
+ QList<int> sizes = sidebarSplitter->sizes();
+ if (sizes[0] == 0) {
+ cmdOpenSidebarMoveResizeWin(args, nArgs, event);
+ } else {
+ cmdCloseSidebarMoveResizeWin(args, nArgs, event);
+ }
+}
+
+void XpdfViewer::cmdToggleSidebarResizeWin(GString *args[], int nArgs,
+ QInputEvent *event) {
+ QList<int> sizes = sidebarSplitter->sizes();
+ if (sizes[0] == 0) {
+ cmdOpenSidebarResizeWin(args, nArgs, event);
+ } else {
+ cmdCloseSidebarResizeWin(args, nArgs, event);
+ }
+}
+
+void XpdfViewer::cmdToggleToolbar(GString *args[], int nArgs,
+ QInputEvent *event) {
+ if (toolBar->isVisible()) {
+ cmdHideToolbar(args, nArgs, event);
+ } else {
+ cmdShowToolbar(args, nArgs, event);
+ }
+}
+
+void XpdfViewer::cmdViewPageLabels(GString *args[], int nArgs,
+ QInputEvent *event) {
+ viewPageLabelsMenuItem->setChecked(true);
+ updatePageNumberOrLabel(currentTab->pdf->getMidPage());
+}
+
+void XpdfViewer::cmdViewPageNumbers(GString *args[], int nArgs,
+ QInputEvent *event) {
+ viewPageLabelsMenuItem->setChecked(false);
+ updatePageNumberOrLabel(currentTab->pdf->getMidPage());
+}
+
+void XpdfViewer::cmdWindowMode(GString *args[], int nArgs,
+ QInputEvent *event) {
+ if (windowState() & Qt::WindowFullScreen) {
+ exitFullScreenMode();
+ }
+}
+
+void XpdfViewer::cmdZoomFitPage(GString *args[], int nArgs,
+ QInputEvent *event) {
+ currentTab->pdf->zoomCentered(XpdfWidget::zoomToPage);
+ updateZoomInfo();
+}
+
+void XpdfViewer::cmdZoomFitWidth(GString *args[], int nArgs,
+ QInputEvent *event) {
+ currentTab->pdf->zoomCentered(XpdfWidget::zoomToWidth);
+ updateZoomInfo();
+}
+
+void XpdfViewer::cmdZoomIn(GString *args[], int nArgs, QInputEvent *event) {
+ double z;
+ int i;
+
+ z = currentTab->pdf->getZoomPercent(currentTab->pdf->getMidPage());
+ for (i = 0; i < zoomComboBox->count(); ++i) {
+ if (zoomComboBoxVals[i] > z) {
+ currentTab->pdf->zoomCentered(zoomComboBoxVals[i]);
+ zoomComboBox->setCurrentIndex(i);
+ updateZoomInfo();
+ break;
+ }
+ }
+}
+
+void XpdfViewer::cmdZoomOut(GString *args[], int nArgs, QInputEvent *event) {
+ double z;
+ int i;
+
+ z = currentTab->pdf->getZoomPercent(currentTab->pdf->getMidPage());
+ for (i = zoomComboBox->count() - 1; i >= 0; --i) {
+ if (zoomComboBoxVals[i] < z) {
+ currentTab->pdf->zoomCentered(zoomComboBoxVals[i]);
+ zoomComboBox->setCurrentIndex(i);
+ updateZoomInfo();
+ break;
+ }
+ }
+}
+
+void XpdfViewer::cmdZoomPercent(GString *args[], int nArgs,
+ QInputEvent *event) {
+ QString zoomStr;
+ int z;
+
+ z = (int)floor(atof(args[0]->getCString()) + 0.5);
+ if (z > maxZoom) {
+ z = maxZoom;
+ }
+ currentTab->pdf->zoomCentered(z);
+ updateZoomInfo();
+}
+
+void XpdfViewer::cmdZoomToSelection(GString *args[], int nArgs,
+ QInputEvent *event) {
+ double x0, y0, x1, y1, rx, ry, z, w, h, t;
+ int pg, xx0, yy0, xx1, yy1;
+
+ if (currentTab->pdf->getCurrentSelection(&pg, &x0, &y0, &x1, &y1)) {
+ z = currentTab->pdf->getZoomPercent(pg);
+ currentTab->pdf->getCore()->cvtUserToDev(pg, x0, y0, &xx0, &yy0);
+ currentTab->pdf->getCore()->cvtUserToDev(pg, x1, y1, &xx1, &yy1);
+ rx = (double)currentTab->pdf->getCore()->getWindowWidth()
+ / (double)abs(xx1 - xx0);
+ ry = (double)currentTab->pdf->getCore()->getWindowHeight()
+ / (double)abs(yy1 - yy0);
+ z *= rx < ry ? rx : ry;
+ if (z > maxZoom) {
+ w = 0.5 * (z / maxZoom) * (x1 - x0);
+ h = 0.5 * (z / maxZoom) * (y1 - y0);
+ t = 0.5 * (x0 + x1);
+ x0 = t - w;
+ x1 = t + w;
+ t = 0.5 * (y0 + y1);
+ y0 = t - h;
+ y1 = t + h;
+ }
+ currentTab->pdf->zoomToRect(pg, x0, y0, x1, y1);
+ updateZoomInfo();
+ }
+}
+
+int XpdfViewer::scaleScroll(int delta) {
+ int scaledDelta;
+
+ scaledDelta = (delta * currentTab->pdf->getCore()->getDisplayDpi()) / 96;
+ if (delta >= 0) {
+ if (scaledDelta < delta) {
+ scaledDelta = delta;
+ }
+ } else {
+ if (scaledDelta > delta) {
+ scaledDelta = delta;
+ }
+ }
+ return scaledDelta;
+}
+
+void XpdfViewer::followLink(QInputEvent *event, GBool onlyIfNoSel,
+ GBool newTab, GBool newWindow) {
+ int pg, targetPage;
+ double x, y;
+ QString targetFileName, targetDest;
+
+ if (onlyIfNoSel && currentTab->pdf->hasSelection()) {
+ return;
+ }
+ if (!currentTab->pdf->convertWindowToPDFCoords(mouseX(event), mouseY(event),
+ &pg, &x, &y)) {
+ return;
+ }
+ if ((newTab || newWindow) &&
+ currentTab->pdf->getLinkTarget(pg, x, y, targetFileName,
+ targetPage, targetDest)) {
+ if (newTab) {
+ openInNewTab(targetFileName, targetPage, targetDest, 0, "", gTrue);
+ } else {
+ app->openInNewWindow(targetFileName, targetPage, targetDest, 0, "");
+ }
+ } else {
+ if (!currentTab->pdf->gotoLinkAt(pg, x, y)) {
+ QMessageBox::warning(NULL,
+ "Xpdf Error",
+ "Couldn't follow link: '"
+ + currentTab->pdf->getLinkInfo(pg, x, y)
+ + "'");
+ }
+ }
+}
+
+//------------------------------------------------------------------------
+// GUI events
+//------------------------------------------------------------------------
+
+void XpdfViewer::pdfResized() {
+ updateZoomInfo();
+}
+
+void XpdfViewer::pdfPaintDone(bool finished) {
+ if (finished) {
+ statusIndicatorStop();
+ } else {
+ statusIndicatorStart();
+ }
+}
+
+void XpdfViewer::preLoad() {
+ ((OutlineModel *)currentTab->outlineTree->model())->beginOpenNewDoc();
+ ((LayerModel *)currentTab->layerTree->model())->beginOpenNewDoc();
+}
+
+void XpdfViewer::postLoad() {
+ ((LayerModel *)currentTab->layerTree->model())->endOpenNewDoc();
+ ((OutlineModel *)currentTab->outlineTree->model())->endOpenNewDoc();
+ setOutlineOpenItems(QModelIndex());
+ fillAttachmentList();
+ updateDocInfo();
+}
+
+void XpdfViewer::keyPress(QKeyEvent *e) {
+ GList *cmds;
+ int mods, qtKey, keyCode, i;
+
+ mods = getModifiers(e->modifiers());
+
+ qtKey = e->key();
+ if (qtKey >= 0x20 && qtKey <= 0xfe) {
+ keyCode = qtKey;
+ if (keyCode >= 'A' && keyCode <= 'Z' && !(mods & xpdfKeyModShift)) {
+ keyCode += 'a' - 'A';
+ }
+ } else if (qtKey == Qt::Key_Tab || qtKey == Qt::Key_Backtab) {
+ // backtab = shift-tab
+ keyCode = xpdfKeyCodeTab;
+ } else if (qtKey == Qt::Key_Return) {
+ keyCode = xpdfKeyCodeReturn;
+ } else if (qtKey == Qt::Key_Enter) {
+ keyCode = xpdfKeyCodeEnter;
+ } else if (qtKey == Qt::Key_Backspace) {
+ keyCode = xpdfKeyCodeBackspace;
+ } else if (qtKey == Qt::Key_Insert) {
+ keyCode = xpdfKeyCodeInsert;
+ } else if (qtKey == Qt::Key_Delete) {
+ keyCode = xpdfKeyCodeDelete;
+ } else if (qtKey == Qt::Key_Home) {
+ keyCode = xpdfKeyCodeHome;
+ } else if (qtKey == Qt::Key_End) {
+ keyCode = xpdfKeyCodeEnd;
+ } else if (qtKey == Qt::Key_PageUp) {
+ keyCode = xpdfKeyCodePgUp;
+ } else if (qtKey == Qt::Key_PageDown) {
+ keyCode = xpdfKeyCodePgDn;
+ } else if (qtKey == Qt::Key_Left) {
+ keyCode = xpdfKeyCodeLeft;
+ } else if (qtKey == Qt::Key_Right) {
+ keyCode = xpdfKeyCodeRight;
+ } else if (qtKey == Qt::Key_Up) {
+ keyCode = xpdfKeyCodeUp;
+ } else if (qtKey == Qt::Key_Down) {
+ keyCode = xpdfKeyCodeDown;
+ } else if (qtKey == Qt::Key_Escape) {
+ keyCode = xpdfKeyCodeEsc;
+ } else if (qtKey >= Qt::Key_F1 && qtKey <= Qt::Key_F35) {
+ keyCode = xpdfKeyCodeF1 + (qtKey - Qt::Key_F1);
+ } else {
+ return;
+ }
+
+ if ((cmds = globalParams->getKeyBinding(keyCode, mods,
+ getContext(e->modifiers())))) {
+ for (i = 0; i < cmds->getLength(); ++i) {
+ execCmd(((GString *)cmds->get(i))->getCString(), e);
+ }
+ deleteGList(cmds, GString);
+ }
+}
+
+void XpdfViewer::mousePress(QMouseEvent *e) {
+ GList *cmds;
+ int btn, keyCode, i;
+
+ if (!(btn = getMouseButton(e->button()))) {
+ return;
+ }
+ keyCode = xpdfKeyCodeMousePress1 + (btn - 1);
+ if ((cmds = globalParams->getKeyBinding(keyCode,
+ getModifiers(e->modifiers()),
+ getContext(e->modifiers())))) {
+ for (i = 0; i < cmds->getLength(); ++i) {
+ execCmd(((GString *)cmds->get(i))->getCString(), e);
+ }
+ deleteGList(cmds, GString);
+ }
+}
+
+void XpdfViewer::mouseRelease(QMouseEvent *e) {
+ GList *cmds;
+ int btn, keyCode, i;
+
+ if (!(btn = getMouseButton(e->button()))) {
+ return;
+ }
+ keyCode = xpdfKeyCodeMouseRelease1 + (btn - 1);
+ if ((cmds = globalParams->getKeyBinding(keyCode,
+ getModifiers(e->modifiers()),
+ getContext(e->modifiers())))) {
+ for (i = 0; i < cmds->getLength(); ++i) {
+ execCmd(((GString *)cmds->get(i))->getCString(), e);
+ }
+ deleteGList(cmds, GString);
+ }
+}
+
+void XpdfViewer::mouseClick(QMouseEvent *e) {
+ GList *cmds;
+ int btn, keyCode, i;
+
+ if (!(btn = getMouseButton(e->button()))) {
+ return;
+ }
+ keyCode = xpdfKeyCodeMouseClick1 + (btn - 1);
+ if ((cmds = globalParams->getKeyBinding(keyCode,
+ getModifiers(e->modifiers()),
+ getContext(e->modifiers())))) {
+ for (i = 0; i < cmds->getLength(); ++i) {
+ execCmd(((GString *)cmds->get(i))->getCString(), e);
+ }
+ deleteGList(cmds, GString);
+ }
+}
+
+void XpdfViewer::mouseDoubleClick(QMouseEvent *e) {
+ GList *cmds;
+ int btn, keyCode, i;
+
+ if (!(btn = getMouseButton(e->button()))) {
+ return;
+ }
+ keyCode = xpdfKeyCodeMouseDoubleClick1 + (btn - 1);
+ if ((cmds = globalParams->getKeyBinding(keyCode,
+ getModifiers(e->modifiers()),
+ getContext(e->modifiers())))) {
+ for (i = 0; i < cmds->getLength(); ++i) {
+ execCmd(((GString *)cmds->get(i))->getCString(), e);
+ }
+ deleteGList(cmds, GString);
+ }
+}
+
+void XpdfViewer::mouseTripleClick(QMouseEvent *e) {
+ GList *cmds;
+ int btn, keyCode, i;
+
+ if (!(btn = getMouseButton(e->button()))) {
+ return;
+ }
+ keyCode = xpdfKeyCodeMouseTripleClick1 + (btn - 1);
+ if ((cmds = globalParams->getKeyBinding(keyCode,
+ getModifiers(e->modifiers()),
+ getContext(e->modifiers())))) {
+ for (i = 0; i < cmds->getLength(); ++i) {
+ execCmd(((GString *)cmds->get(i))->getCString(), e);
+ }
+ deleteGList(cmds, GString);
+ }
+}
+
+void XpdfViewer::mouseWheel(QWheelEvent *e) {
+ GList *cmds;
+ int keyCode, i;
+
+ // for historical reasons xpdf uses X11 button numbering for mouse
+ // wheel events
+ QPoint delta = e->angleDelta();
+ if (delta.y() > 0) {
+ keyCode = xpdfKeyCodeMousePress4;
+ } else if (delta.y() < 0) {
+ keyCode = xpdfKeyCodeMousePress5;
+ } else if (delta.x() > 0) {
+ keyCode = xpdfKeyCodeMousePress6;
+ } else if (delta.x() < 0) {
+ keyCode = xpdfKeyCodeMousePress7;
+ }
+ if ((cmds = globalParams->getKeyBinding(keyCode,
+ getModifiers(e->modifiers()),
+ getContext(e->modifiers())))) {
+ for (i = 0; i < cmds->getLength(); ++i) {
+ execCmd(((GString *)cmds->get(i))->getCString(), e);
+ }
+ deleteGList(cmds, GString);
+ }
+}
+
+void XpdfViewer::mouseMove(QMouseEvent *e) {
+ int pg, xx;
+ double x, y;
+ QString info;
+
+ currentTab->pdf->convertWindowToPDFCoords(mouseX(e), mouseY(e), &pg, &x, &y);
+ info = currentTab->pdf->getLinkInfo(pg, x, y);
+ if (info == linkTargetInfo) {
+ // QtPDFCore sets the cursor in linear text selection mode
+ if (!linkTargetInfo.isEmpty()) {
+ currentTab->pdf->setCursor(Qt::PointingHandCursor);
+ }
+ return;
+ }
+ linkTargetInfo = info;
+ if (linkTargetInfo.isEmpty()) {
+ currentTab->pdf->unsetCursor();
+ linkTargetBar->hide();
+ } else {
+ currentTab->pdf->setCursor(Qt::PointingHandCursor);
+ linkTargetBar->setText(linkTargetInfo);
+ linkTargetBar->resize(linkTargetBar->sizeHint());
+ if (mouseX(e) > viewerStack->width() / 2) {
+ xx = viewerStack->x();
+ } else {
+ xx = width() - linkTargetBar->width();
+ if (xx < viewerStack->x()) {
+ xx = viewerStack->x();
+ }
+ }
+ linkTargetBar->move(xx, height() - linkTargetBar->height());
+ linkTargetBar->show();
+ }
+}
+
+int XpdfViewer::getModifiers(Qt::KeyboardModifiers qtMods) {
+ int mods;
+
+ mods = 0;
+ if (qtMods & Qt::ShiftModifier) {
+ mods |= xpdfKeyModShift;
+ }
+ if (qtMods & Qt::ControlModifier) {
+ mods |= xpdfKeyModCtrl;
+ }
+ if (qtMods & Qt::AltModifier) {
+ mods |= xpdfKeyModAlt;
+ }
+ return mods;
+}
+
+int XpdfViewer::getContext(Qt::KeyboardModifiers qtMods) {
+ XpdfWidget::DisplayMode mode;
+ GBool contin;
+ int context;
+
+ mode = currentTab->pdf->getDisplayMode();
+ contin = mode == XpdfWidget::pdfDisplayContinuous ||
+ mode == XpdfWidget::pdfDisplaySideBySideContinuous ||
+ mode == XpdfWidget::pdfDisplayHorizontalContinuous;
+ context = ((windowState() & Qt::WindowFullScreen) ? xpdfKeyContextFullScreen
+ : xpdfKeyContextWindow) |
+ (contin ? xpdfKeyContextContinuous
+ : xpdfKeyContextSinglePage) |
+ (currentTab->pdf->mouseOverLink() ? xpdfKeyContextOverLink
+ : xpdfKeyContextOffLink) |
+ xpdfKeyContextScrLockOff;
+ return context;
+}
+
+int XpdfViewer::getMouseButton(Qt::MouseButton qtBtn) {
+ if (qtBtn & Qt::LeftButton) {
+ return 1;
+ }
+ if (qtBtn & Qt::MiddleButton) {
+ return 2;
+ }
+ if (qtBtn & Qt::RightButton) {
+ return 3;
+ }
+ return 0;
+}
+
+// Grab any keyboard events that filter down to the window, and feed
+// them to the main key processing function.
+void XpdfViewer::keyPressEvent(QKeyEvent *e) {
+ keyPress(e);
+}
+
+void XpdfViewer::dragEnterEvent(QDragEnterEvent *e) {
+ if (e->mimeData()->hasUrls() &&
+ e->mimeData()->urls().front().isLocalFile()) {
+ e->acceptProposedAction();
+ }
+}
+
+void XpdfViewer::dropEvent(QDropEvent *e) {
+ if (e->mimeData()->hasUrls()) {
+ QUrl url = e->mimeData()->urls().front();
+ if (url.isLocalFile()) {
+ openInNewTab(url.toLocalFile(), -1, "", 0, "", gTrue);
+ }
+ }
+}
+
+bool XpdfViewer::eventFilter(QObject *watched, QEvent *event) {
+ // if the user clicks in the find edit box, clear the find error
+ // indicator (if any)
+ if (watched == findEdit && event->type() == QEvent::MouseButtonPress) {
+ clearFindError();
+ }
+ return false;
+}
+
+void XpdfViewer::pageChange(int pg) {
+ updatePageNumberOrLabel(pg);
+ updateZoomInfo();
+ updateOutline(pg);
+}
+
+void XpdfViewer::sidebarSplitterMoved(int pos, int index) {
+ toggleSidebarMenuItem->setChecked(pos > 0);
+}
+
+#if XPDFWIDGET_PRINTING
+void XpdfViewer::printStatus(int nextPage, int firstPage, int lastPage) {
+ if (!printStatusDialog) {
+ printStatusDialog = new QProgressDialog("Printing...", "Cancel",
+ firstPage, lastPage + 1, this);
+ printStatusDialog->setWindowModality(Qt::WindowModal);
+ printStatusDialog->setMinimumDuration(0);
+ printStatusDialog->setAutoClose(false);
+ printStatusDialog->setAutoReset(false);
+ connect(printStatusDialog, SIGNAL(canceled()), this, SLOT(cancelPrint()));
+ printStatusDialog->move(
+ pos().x() + (width() - printStatusDialog->width()) / 2,
+ pos().y() + (height() - printStatusDialog->height()) / 2);
+ printStatusDialog->show();
+ }
+ printStatusDialog->setValue(nextPage);
+ if (nextPage > lastPage) {
+ printStatusDialog->cancel();
+ delete printStatusDialog;
+ printStatusDialog = NULL;
+ }
+ QApplication::processEvents();
+}
+
+void XpdfViewer::cancelPrint() {
+ currentTab->pdf->cancelPrint();
+}
+#endif
+
+//------------------------------------------------------------------------
+// menu/toolbar actions
+//------------------------------------------------------------------------
+
+void XpdfViewer::openMenuAction() {
+ execCmd("open", NULL);
+}
+
+void XpdfViewer::openInNewWinMenuAction() {
+ execCmd("openIn(win)", NULL);
+}
+
+void XpdfViewer::reloadMenuAction() {
+ execCmd("reload", NULL);
+}
+
+void XpdfViewer::saveAsMenuAction() {
+ execCmd("saveAs", NULL);
+}
+
+void XpdfViewer::saveImageMenuAction() {
+ execCmd("saveImage", NULL);
+}
+
+#if XPDFWIDGET_PRINTING
+void XpdfViewer::printMenuAction() {
+ execCmd("print", NULL);
+}
+#endif
+
+void XpdfViewer::quitMenuAction() {
+ execCmd("quit", NULL);
+}
+
+void XpdfViewer::copyMenuAction() {
+ execCmd("copy", NULL);
+}
+
+void XpdfViewer::singlePageModeMenuAction() {
+ execCmd("singlePageMode", NULL);
+}
+
+void XpdfViewer::continuousModeMenuAction() {
+ execCmd("continuousMode", NULL);
+}
+
+void XpdfViewer::sideBySideSingleModeMenuAction() {
+ execCmd("sideBySideSingleMode", NULL);
+}
+
+void XpdfViewer::sideBySideContinuousModeMenuAction() {
+ execCmd("sideBySideContinuousMode", NULL);
+}
+
+void XpdfViewer::horizontalContinuousModeMenuAction() {
+ execCmd("horizontalContinuousMode", NULL);
+}
+
+void XpdfViewer::fullScreenMenuAction(bool checked) {
+ execCmd(checked ? "fullScreenMode" : "windowMode", NULL);
+}
+
+void XpdfViewer::rotateClockwiseMenuAction() {
+ execCmd("rotateCW", NULL);
+}
+
+void XpdfViewer::rotateCounterclockwiseMenuAction() {
+ execCmd("rotateCCW", NULL);
+}
+
+void XpdfViewer::zoomToSelectionMenuAction() {
+ execCmd("zoomToSelection", NULL);
+}
+
+void XpdfViewer::toggleToolbarMenuAction(bool checked) {
+ execCmd(checked ? "showToolbar" : "hideToolbar", NULL);
+}
+
+void XpdfViewer::toggleSidebarMenuAction(bool checked) {
+ execCmd(checked ? "openSidebar" : "closeSidebar", NULL);
+}
+
+void XpdfViewer::viewPageLabelsMenuAction(bool checked) {
+ execCmd(checked ? "viewPageLabels" : "viewPageNumbers", NULL);
+}
+
+void XpdfViewer::documentInfoMenuAction() {
+ execCmd("showDocumentInfo", NULL);
+}
+
+
+
+void XpdfViewer::newTabMenuAction() {
+ execCmd("newTab", NULL);
+}
+
+void XpdfViewer::newWindowMenuAction() {
+ execCmd("newWindow", NULL);
+}
+
+void XpdfViewer::closeTabMenuAction() {
+ execCmd("closeTabOrQuit", NULL);
+}
+
+void XpdfViewer::closeWindowMenuAction() {
+ execCmd("closeWindowOrQuit", NULL);
+}
+
+void XpdfViewer::openErrorWindowMenuAction() {
+ execCmd("openErrorWindow", NULL);
+}
+
+void XpdfViewer::helpMenuAction() {
+ execCmd("help", NULL);
+}
+
+void XpdfViewer::keyBindingsMenuAction() {
+ execCmd("showKeyBindings", NULL);
+}
+
+void XpdfViewer::aboutMenuAction() {
+ execCmd("about", NULL);
+}
+
+void XpdfViewer::popupMenuAction(int idx) {
+ PopupMenuCmd *cmd;
+ int i;
+
+ cmd = globalParams->getPopupMenuCmd(idx);
+ for (i = 0; i < cmd->cmds->getLength(); ++i) {
+ execCmd(((GString *)cmd->cmds->get(i))->getCString(), NULL);
+ }
+}
+
+void XpdfViewer::toggleSidebarButtonPressed() {
+ execCmd("toggleSidebar", NULL);
+}
+
+void XpdfViewer::pageNumberChanged() {
+ GString *cmd;
+ int pg;
+
+ if (viewPageLabelsMenuItem->isChecked() &&
+ currentTab->pdf->hasPageLabels()) {
+ pg = currentTab->pdf->getPageNumFromPageLabel(pageNumber->text());
+ if (pg <= 0) {
+ return;
+ }
+ } else {
+ pg = pageNumber->text().toInt();
+ }
+ cmd = GString::format("gotoPage({0:d})", pg);
+ execCmd(cmd->getCString(), NULL);
+ delete cmd;
+ // after moving to a new page, focus goes to the XpdfWidget
+ currentTab->pdf->setFocus(Qt::OtherFocusReason);
+}
+
+void XpdfViewer::backButtonPressed() {
+ execCmd("goBackward", NULL);
+}
+
+void XpdfViewer::forwardButtonPressed() {
+ execCmd("goForward", NULL);
+}
+
+void XpdfViewer::zoomOutButtonPressed() {
+ execCmd("zoomOut", NULL);
+}
+
+void XpdfViewer::zoomInButtonPressed() {
+ execCmd("zoomIn", NULL);
+}
+
+void XpdfViewer::zoomIndexChanged(int idx) {
+ QString zoomText = zoomComboBox->itemText(idx);
+ QString z;
+ if (zoomText.endsWith("%")) {
+ z = zoomText.left(zoomText.size() - 1);
+ } else {
+ z = zoomText;
+ }
+ GString *cmd = GString::format("zoomPercent({0:s})",
+ z.toLatin1().constData());
+ execCmd(cmd->getCString(), NULL);
+ delete cmd;
+}
+
+void XpdfViewer::zoomEditingFinished() {
+ QString z;
+ GString *cmd;
+
+ z = zoomComboBox->currentText();
+ if (z.endsWith("%")) {
+ z = z.left(z.size() - 1);
+ }
+ cmd = GString::format("zoomPercent({0:s})", z.toLatin1().constData());
+ execCmd(cmd->getCString(), NULL);
+ delete cmd;
+}
+
+void XpdfViewer::fitWidthButtonPressed() {
+ execCmd("zoomFitWidth", NULL);
+}
+
+void XpdfViewer::fitPageButtonPressed() {
+ execCmd("zoomFitPage", NULL);
+}
+
+void XpdfViewer::selectModeButtonPressed() {
+ execCmd("toggleSelectMode", NULL);
+}
+
+void XpdfViewer::statusIndicatorPressed() {
+ execCmd("openErrorWindow", NULL);
+}
+
+void XpdfViewer::findTextChanged() {
+ execCmd("findFirst", NULL);
+}
+
+void XpdfViewer::findNextButtonPressed() {
+ execCmd("findNext", NULL);
+}
+
+void XpdfViewer::findPrevButtonPressed() {
+ execCmd("findPrevious", NULL);
+}
+
+void XpdfViewer::newTabButtonPressed() {
+ execCmd("newTab", NULL);
+}
+
+void XpdfViewer::switchTab(QListWidgetItem *current,
+ QListWidgetItem *previous) {
+ XpdfTabInfo *tab;
+ int i;
+
+ for (i = 0; i < tabInfo->getLength(); ++i) {
+ tab = (XpdfTabInfo *)tabInfo->get(i);
+ if (tab->listItem == current) {
+ gotoTab(i);
+ return;
+ }
+ }
+}
+
+void XpdfViewer::tabsReordered(const QModelIndex &srcParent,
+ int srcStart, int srcEnd,
+ const QModelIndex &destParent,
+ int destRow) {
+ // these conditions should always be true, but check just in case
+ if (srcStart == srcEnd &&
+ srcStart >= 0 && srcStart < tabInfo->getLength() &&
+ destRow >= 0 && destRow <= tabInfo->getLength()) {
+ XpdfTabInfo *tab = (XpdfTabInfo *)tabInfo->del(srcStart);
+ int i = destRow;
+ if (i >= srcStart) {
+ --i;
+ }
+ tabInfo->insert(i, tab);
+ }
+}
+
+void XpdfViewer::infoComboBoxChanged(int idx) {
+ updateInfoPane();
+}
+
+void XpdfViewer::outlineItemClicked(const QModelIndex& idx) {
+ currentTab->pdf->gotoOutlineTarget((XpdfOutlineHandle)idx.internalPointer());
+ updateModeInfo();
+}
+
+void XpdfViewer::layerItemClicked(const QModelIndex& idx) {
+ if (idx.data(Qt::CheckStateRole) == Qt::Checked) {
+ currentTab->layerTree->model()->setData(idx, Qt::Unchecked,
+ Qt::CheckStateRole);
+ } else {
+ currentTab->layerTree->model()->setData(idx, Qt::Checked,
+ Qt::CheckStateRole);
+ }
+}
+
+void XpdfViewer::attachmentSaveClicked(int idx) {
+ QString fileName;
+
+ fileName = QFileDialog::getSaveFileName(this, "Save Attachment");
+ if (fileName.isEmpty()) {
+ return;
+ }
+ currentTab->pdf->saveEmbeddedFile(idx, fileName);
+}
+
+//------------------------------------------------------------------------
+// GUI setup
+//------------------------------------------------------------------------
+
+void XpdfViewer::createWindow() {
+ errorWindow = new XpdfErrorWindow(this, app->getErrorEventType());
+
+ setWindowIcon(QIcon(":/xpdf-icon"));
+
+ setAcceptDrops(true);
+
+ createMainMenu();
+
+ createXpdfPopupMenu();
+
+ createToolBar();
+ addToolBar(toolBar);
+ setUnifiedTitleAndToolBarOnMac(true);
+ if (globalParams->getInitialToolbarState()) {
+ toggleToolbarMenuItem->setChecked(true);
+ } else {
+ toolBar->hide();
+ toggleToolbarMenuItem->setChecked(false);
+ }
+
+ sidebarSplitter = new QSplitter(Qt::Horizontal);
+ setCentralWidget(sidebarSplitter);
+ connect(sidebarSplitter, SIGNAL(splitterMoved(int, int)),
+ this, SLOT(sidebarSplitterMoved(int, int)));
+
+ QSplitter *vSplitter = new QSplitter(Qt::Vertical);
+ sidebarSplitter->addWidget(vSplitter);
+
+ QWidget *tabPane = createTabPane();
+ vSplitter->addWidget(tabPane);
+
+ QWidget *infoPane = createInfoPane();
+ vSplitter->addWidget(infoPane);
+
+ QList<int> vSplitterSizes;
+ vSplitterSizes.append(200);
+ vSplitterSizes.append(600);
+ vSplitter->setSizes(vSplitterSizes);
+
+ viewerStack = new QStackedWidget();
+ sidebarSplitter->addWidget(viewerStack);
+
+ initialSidebarWidth = 0;
+ QList<int> sidebarSplitterSizes = sidebarSplitter->sizes();
+ if (globalParams->getInitialSidebarState()) {
+ toggleSidebarMenuItem->setChecked(true);
+ initialSidebarWidth = globalParams->getInitialSidebarWidth();
+ } else {
+ sidebarSplitterSizes[0] = 0;
+ sidebarSplitterSizes[1] = 1;
+ sidebarSplitter->setSizes(sidebarSplitterSizes);
+ toggleSidebarMenuItem->setChecked(false);
+ }
+ // note: this is just an arbitrary initial value for sidebarWidth;
+ // it will be updated by open/close/toggleSidebar
+ sidebarWidth = 200;
+
+ linkTargetBar = new QLabel(this);
+ linkTargetBar->setStyleSheet("padding:2px; background:#00ffff;");
+ linkTargetBar->setAttribute(Qt::WA_TransparentForMouseEvents, true);
+
+ findErrorTimer = new QTimer(this);
+ findErrorTimer->setSingleShot(true);
+ connect(findErrorTimer, SIGNAL(timeout()), this, SLOT(clearFindError()));
+
+ documentInfoDialog = NULL;
+ keyBindingsDialog = NULL;
+ aboutDialog = NULL;
+#if XPDFWIDGET_PRINTING
+ printStatusDialog = NULL;
+#endif
+
+ scaleFactor = 1;
+
+ tabInfo = new GList();
+ addTab();
+ updateModeInfo();
+ updateDocInfo();
+}
+
+void XpdfViewer::createToolBar() {
+ QString zoomVal;
+ int i;
+
+ toolBar = new QToolBar();
+ toolBar->setFloatable(false);
+ toolBar->setMovable(false);
+
+ //--- toolbar icon size
+ pageNumber = new QLineEdit();
+ toolBarFontSize = pageNumber->sizeHint().height();
+ toolBar->setIconSize(QSize(toolBarFontSize - 2, toolBarFontSize - 2));
+ //~ not sure why the magic "+6" is needed
+
+ //--- toggle sidebar button
+ addToolBarButton(QIcon(":/toggleSidebar-button"),
+ SLOT(toggleSidebarButtonPressed()), "show/hide sidebar");
+
+ //--- status indicator
+ QToolButton *indicatorBtn =
+ addToolBarButton(QIcon(":/indicator-icon0"),
+ SLOT(statusIndicatorPressed()),
+ "click to open error window");
+ indicatorIcons.append(QIcon(":/indicator-icon0"));
+ indicatorIcons.append(QIcon(":/indicator-icon1"));
+ indicatorIcons.append(QIcon(":/indicator-icon2"));
+ indicatorIcons.append(QIcon(":/indicator-icon3"));
+ indicatorIcons.append(QIcon(":/indicator-icon4"));
+ indicatorIcons.append(QIcon(":/indicator-icon5"));
+ indicatorIcons.append(QIcon(":/indicator-icon6"));
+ indicatorIcons.append(QIcon(":/indicator-icon7"));
+ indicatorErrIcons.append(QIcon(":/indicator-icon-err0"));
+ indicatorErrIcons.append(QIcon(":/indicator-icon-err1"));
+ indicatorErrIcons.append(QIcon(":/indicator-icon-err2"));
+ indicatorErrIcons.append(QIcon(":/indicator-icon-err3"));
+ indicatorErrIcons.append(QIcon(":/indicator-icon-err4"));
+ indicatorErrIcons.append(QIcon(":/indicator-icon-err5"));
+ indicatorErrIcons.append(QIcon(":/indicator-icon-err6"));
+ indicatorErrIcons.append(QIcon(":/indicator-icon-err7"));
+ indicatorAnimation = new PropertyListAnimation(indicatorBtn, "icon",
+ indicatorIcons);
+ indicatorAnimation->setDuration(1000);
+ indicatorAnimation->setLoopCount(-1);
+ indicatorAnimation->setStartValue(indicatorIcons[0]);
+ indicatorAnimation->setEndValue(indicatorIcons[7]);
+ indicatorAnimation->start();
+ indicatorAnimation->pause();
+
+ //--- selection mode toggle
+ selectModeBtn = addToolBarButton(QIcon(":/selectModeLinear-button"),
+ SLOT(selectModeButtonPressed()),
+ "toggle selection mode");
+
+ addToolBarSeparator();
+
+ //--- page number and page count
+ // note: the pageNumber widget was created earlier because we need
+ // to look at its font size
+#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)
+ pageNumber->setFixedWidth(
+ pageNumber->fontMetrics().horizontalAdvance("00000") + 6);
+#else
+ pageNumber->setFixedWidth(pageNumber->fontMetrics().width("00000") + 6);
+#endif
+ pageNumber->setToolTip("current page number");
+ toolBar->addWidget(pageNumber);
+ addToolBarSpacing(2);
+ toolBar->addWidget(new QLabel("/"));
+ addToolBarSpacing(2);
+ connect(pageNumber, SIGNAL(returnPressed()), this, SLOT(pageNumberChanged()));
+ pageCount = new QLabel("");
+ pageCount->setToolTip("page count");
+ toolBar->addWidget(pageCount);
+ addToolBarSpacing(4);
+
+ //--- back / forward buttons
+ addToolBarButton(QIcon(":/back-button"),
+ SLOT(backButtonPressed()), "back to previous view");
+ addToolBarButton(QIcon(":/forward-button"),
+ SLOT(forwardButtonPressed()), "forward to next view");
+
+ addToolBarSeparator();
+
+ //--- zoom controls
+ addToolBarButton(QIcon(":/zoomOut-button"),
+ SLOT(zoomOutButtonPressed()), "zoom out");
+ addToolBarButton(QIcon(":/zoomIn-button"),
+ SLOT(zoomInButtonPressed()), "zoom in");
+ addToolBarSpacing(4);
+ zoomComboBox = new QComboBox();
+ zoomComboBox->setToolTip("change zoom level");
+ for (i = 0; i < nZoomComboBoxVals; ++i) {
+ zoomVal.setNum(zoomComboBoxVals[i]);
+ zoomVal.append('%');
+ zoomComboBox->addItem(zoomVal);
+ }
+ zoomComboBox->setEditable(true);
+ zoomComboBox->setInsertPolicy(QComboBox::NoInsert);
+ zoomComboBox->setValidator(new ZoomValidator(this));
+ connect(zoomComboBox, SIGNAL(currentIndexChanged(int)),
+ this, SLOT(zoomIndexChanged(int)));
+ // this could use the editingFinished signal, but that's emitted
+ // every time the popup is opened and closed, which causes the zoom
+ // level to be reset
+ connect(zoomComboBox->lineEdit(), SIGNAL(returnPressed()),
+ this, SLOT(zoomEditingFinished()));
+ toolBar->addWidget(zoomComboBox);
+ addToolBarSpacing(4);
+ fitWidthBtn = addToolBarButton(QIcon(":/fitWidth-button"),
+ SLOT(fitWidthButtonPressed()),
+ "fit page width to window");
+ fitPageBtn = addToolBarButton(QIcon(":/fitPage-button"),
+ SLOT(fitPageButtonPressed()),
+ "fit page to window");
+
+ addToolBarSeparator();
+
+ //--- find controls
+ addToolBarStretch();
+ findEdit = new QLineEdit();
+ findEdit->setPlaceholderText("find");
+#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)
+ findEdit->setFixedWidth(20 * findEdit->fontMetrics().horizontalAdvance("0"));
+#else
+ findEdit->setFixedWidth(20 * findEdit->fontMetrics().width("0"));
+#endif
+ findEdit->installEventFilter(this);
+ toolBar->addWidget(findEdit);
+ connect(findEdit, SIGNAL(returnPressed()), this, SLOT(findTextChanged()));
+ connect(findEdit, SIGNAL(cursorPositionChanged(int, int)),
+ this, SLOT(clearFindError()));
+ connect(findEdit, SIGNAL(selectionChanged()), this, SLOT(clearFindError()));
+ connect(findEdit, SIGNAL(textChanged(const QString&)),
+ this, SLOT(clearFindError()));
+ addToolBarButton(QIcon(":/findNext-button"),
+ SLOT(findNextButtonPressed()), "find next occurrence");
+ addToolBarButton(QIcon(":/findPrevious-button"),
+ SLOT(findPrevButtonPressed()), "find previous occurrence");
+ QMenu *findSettingsMenu = new QMenu(this);
+ findCaseSensitiveAction = findSettingsMenu->addAction("case sensitive");
+ findCaseSensitiveAction->setCheckable(true);
+ findWholeWordsAction = findSettingsMenu->addAction("whole words");
+ findWholeWordsAction->setCheckable(true);
+ addToolBarMenuButton(QIcon(":/findSettings-button"),
+ "change find settings", findSettingsMenu);
+}
+
+QToolButton *XpdfViewer::addToolBarButton(const QIcon &icon,
+ const char *slot, const char *tip) {
+ QAction *action = new QAction(icon, "", this);
+ action->setToolTip(tip);
+ QToolButton *button = new QToolButton();
+ button->setDefaultAction(action);
+ button->setAutoRaise(true);
+ toolBar->addWidget(button);
+ connect(action, SIGNAL(triggered()), this, slot);
+ return button;
+}
+
+XpdfMenuButton *XpdfViewer::addToolBarMenuButton(const QIcon &icon,
+ const char *tip,
+ QMenu *menu) {
+ QAction *action = new QAction(icon, "", this);
+ action->setToolTip(tip);
+ XpdfMenuButton *button = new XpdfMenuButton(menu);
+ button->setDefaultAction(action);
+ button->setAutoRaise(true);
+ button->setToolTip(tip);
+ toolBar->addWidget(button);
+ return button;
+}
+
+void XpdfViewer::addToolBarSeparator() {
+ addToolBarSpacing(8);
+ toolBar->addSeparator();
+ addToolBarSpacing(8);
+}
+
+void XpdfViewer::addToolBarSpacing(int w) {
+ QWidget *space = new QWidget();
+ space->setFixedWidth((toolBarFontSize * w) / 20);
+ toolBar->addWidget(space);
+}
+
+void XpdfViewer::addToolBarStretch() {
+ QWidget *stretch = new QWidget();
+ stretch->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
+ toolBar->addWidget(stretch);
+}
+
+void XpdfViewer::createMainMenu() {
+ mainMenu = menuBar();
+
+ QMenu *fileSubmenu = mainMenu->addMenu("&File");
+ fileSubmenu->addAction("&Open...", this, SLOT(openMenuAction()));
+ fileSubmenu->addAction("Open in new window...",
+ this, SLOT(openInNewWinMenuAction()));
+ fileSubmenu->addAction("Reload", this, SLOT(reloadMenuAction()));
+ fileSubmenu->addAction("&Save as...", this, SLOT(saveAsMenuAction()));
+ fileSubmenu->addSeparator();
+ fileSubmenu->addAction("Save image...", this, SLOT(saveImageMenuAction()));
+#if XPDFWIDGET_PRINTING
+ fileSubmenu->addSeparator();
+ fileSubmenu->addAction("&Print...", this, SLOT(printMenuAction()));
+#endif
+ fileSubmenu->addSeparator();
+#ifdef _WIN32
+ fileSubmenu->addAction("E&xit", this, SLOT(quitMenuAction()));
+#else
+ fileSubmenu->addAction("&Quit", this, SLOT(quitMenuAction()));
+#endif
+
+ QMenu *editSubmenu = mainMenu->addMenu("&Edit");
+ editSubmenu->addAction("Copy", this, SLOT(copyMenuAction()));
+
+ QMenu *viewSubmenu = mainMenu->addMenu("&View");
+ toggleToolbarMenuItem =
+ viewSubmenu->addAction("Toolbar", this,
+ SLOT(toggleToolbarMenuAction(bool)));
+ toggleToolbarMenuItem->setCheckable(true);
+ toggleSidebarMenuItem =
+ viewSubmenu->addAction("Sidebar", this,
+ SLOT(toggleSidebarMenuAction(bool)));
+ toggleSidebarMenuItem->setCheckable(true);
+ viewPageLabelsMenuItem =
+ viewSubmenu->addAction("Page labels", this,
+ SLOT(viewPageLabelsMenuAction(bool)));
+ viewPageLabelsMenuItem->setCheckable(true);
+ viewSubmenu->addSeparator();
+ displayModeSubmenu = new QMenu(this);
+ QActionGroup *displayModeGroup = new QActionGroup(this);
+ QAction *action;
+ action = displayModeSubmenu->addAction(
+ "Single page",
+ this, SLOT(singlePageModeMenuAction()));
+ action->setCheckable(true);
+ displayModeGroup->addAction(action);
+ action = displayModeSubmenu->addAction(
+ "Continuous",
+ this, SLOT(continuousModeMenuAction()));
+ action->setCheckable(true);
+ displayModeGroup->addAction(action);
+ action = displayModeSubmenu->addAction(
+ "Side-by-side single",
+ this, SLOT(sideBySideSingleModeMenuAction()));
+ action->setCheckable(true);
+ displayModeGroup->addAction(action);
+ action = displayModeSubmenu->addAction(
+ "Side-by-side continuous",
+ this, SLOT(sideBySideContinuousModeMenuAction()));
+ action->setCheckable(true);
+ displayModeGroup->addAction(action);
+ action = displayModeSubmenu->addAction(
+ "Horizontal continuous",
+ this, SLOT(horizontalContinuousModeMenuAction()));
+ action->setCheckable(true);
+ displayModeGroup->addAction(action);
+ viewSubmenu->addAction("Display mode")->setMenu(displayModeSubmenu);
+ fullScreenMenuItem = viewSubmenu->addAction("Full screen", this,
+ SLOT(fullScreenMenuAction(bool)));
+ fullScreenMenuItem->setCheckable(true);
+ viewSubmenu->addSeparator();
+ viewSubmenu->addAction("Rotate clockwise",
+ this, SLOT(rotateClockwiseMenuAction()));
+ viewSubmenu->addAction("Rotate counterclockwise",
+ this, SLOT(rotateCounterclockwiseMenuAction()));
+ viewSubmenu->addSeparator();
+ viewSubmenu->addAction("Zoom to selection",
+ this, SLOT(zoomToSelectionMenuAction()));
+
+ QMenu *toolsSubmenu = mainMenu->addMenu("&Tools");
+ toolsSubmenu->addAction("Document info",
+ this, SLOT(documentInfoMenuAction()));
+
+ QMenu *windowSubmenu = mainMenu->addMenu("&Window");
+ windowSubmenu->addAction("New tab", this, SLOT(newTabMenuAction()));
+ windowSubmenu->addAction("New window", this, SLOT(newWindowMenuAction()));
+ windowSubmenu->addSeparator();
+ windowSubmenu->addAction("Close tab", this, SLOT(closeTabMenuAction()));
+ windowSubmenu->addAction("Close window", this, SLOT(closeWindowMenuAction()));
+ windowSubmenu->addSeparator();
+ windowSubmenu->addAction("Open error window...",
+ this, SLOT(openErrorWindowMenuAction()));
+
+ QMenu *helpSubmenu = mainMenu->addMenu("&Help");
+ helpSubmenu->addAction("Help...", this, SLOT(helpMenuAction()));
+ helpSubmenu->addAction("Key bindings...",
+ this, SLOT(keyBindingsMenuAction()));
+ helpSubmenu->addAction("About XpdfReader...", this, SLOT(aboutMenuAction()));
+}
+
+// This can't be named createPopupMenu because there's a QMainWindow
+// function of that name.
+void XpdfViewer::createXpdfPopupMenu() {
+ PopupMenuCmd *cmd;
+ QAction *action;
+ int n, i;
+
+ popupMenu = new QMenu(this);
+ popupMenuSignalMapper = new QSignalMapper(this);
+#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
+ connect(popupMenuSignalMapper, SIGNAL(mappedInt(int)),
+ this, SLOT(popupMenuAction(int)));
+#else
+ connect(popupMenuSignalMapper, SIGNAL(mapped(int)),
+ this, SLOT(popupMenuAction(int)));
+#endif
+
+ n = globalParams->getNumPopupMenuCmds();
+ if (n == 0) {
+ popupMenu->addAction("use 'popupMenuCmd' to add items to this menu");
+ popupMenu->addAction("see the xpdfrc(5) documentation");
+ } else {
+ for (i = 0; i < n; ++i) {
+ cmd = globalParams->getPopupMenuCmd(i);
+ action = popupMenu->addAction(cmd->label->getCString(),
+ popupMenuSignalMapper, SLOT(map()));
+ popupMenuSignalMapper->setMapping(action, i);
+ }
+ }
+}
+
+QWidget *XpdfViewer::createTabPane() {
+ QWidget *tabPane = new QWidget();
+
+ QVBoxLayout *tabPaneLayout = new QVBoxLayout();
+ tabPaneLayout->setContentsMargins(0, 0, 0, 0);
+ tabPaneLayout->setSpacing(0);
+ tabPane->setLayout(tabPaneLayout);
+
+ tabList = new QListWidget();
+ tabList->setSelectionMode(QAbstractItemView::SingleSelection);
+ tabList->setDragEnabled(true);
+ tabList->setDragDropMode(QAbstractItemView::InternalMove);
+ tabList->viewport()->setAcceptDrops(true);
+ tabList->setDropIndicatorShown(true);
+ connect(tabList, SIGNAL(currentItemChanged(QListWidgetItem*,
+ QListWidgetItem*)),
+ this, SLOT(switchTab(QListWidgetItem*, QListWidgetItem*)));
+ connect(tabList->model(), SIGNAL(rowsMoved(const QModelIndex&, int, int,
+ const QModelIndex, int)),
+ this, SLOT(tabsReordered(const QModelIndex&, int, int,
+ const QModelIndex&, int)));
+ tabPaneLayout->addWidget(tabList);
+
+ QPushButton *newTabBtn = new QPushButton("+ tab");
+ connect(newTabBtn, SIGNAL(clicked()), this, SLOT(newTabButtonPressed()));
+ tabPaneLayout->addWidget(newTabBtn);
+
+ return tabPane;
+}
+
+QWidget *XpdfViewer::createInfoPane() {
+ QWidget *infoPane = new QWidget();
+
+ QVBoxLayout *infoLayout = new QVBoxLayout();
+ infoLayout->setContentsMargins(0, 0, 0, 0);
+ infoLayout->setSpacing(0);
+ infoPane->setLayout(infoLayout);
+
+ // NB: order here must match order in updateInfoPane().
+ infoComboBox = new QComboBox();
+ infoComboBox->setEditable(false);
+ infoComboBox->addItem("outline");
+ infoComboBox->addItem("layers");
+ infoComboBox->addItem("attachments");
+ infoLayout->addWidget(infoComboBox);
+ connect(infoComboBox, SIGNAL(currentIndexChanged(int)),
+ this, SLOT(infoComboBoxChanged(int)));
+
+ infoStack = new QStackedLayout();
+ infoLayout->addLayout(infoStack);
+
+ return infoPane;
+}
+
+void XpdfViewer::updateInfoPane() {
+ // NB: order here must match order in createInfoPane().
+ switch (infoComboBox->currentIndex()) {
+ case 0:
+ infoStack->setCurrentWidget(currentTab->outlineTree);
+ break;
+ case 1:
+ infoStack->setCurrentWidget(currentTab->layerTree);
+ break;
+ case 2:
+ infoStack->setCurrentWidget(currentTab->attachmentList);
+ break;
+ }
+}
+
+void XpdfViewer::destroyWindow() {
+ int i;
+
+ delete errorWindow;
+
+ // QTreeView doesn't take ownership of the model, so we need to
+ // explicitly delete those
+ for (i = 0; i < tabInfo->getLength(); ++i) {
+ delete ((XpdfTabInfo *)tabInfo->get(i))->outlineTree->model();
+ delete ((XpdfTabInfo *)tabInfo->get(i))->layerTree->model();
+ }
+
+ deleteGList(tabInfo, XpdfTabInfo);
+
+ delete indicatorAnimation;
+}
+
+void XpdfViewer::enterFullScreenMode() {
+ mainMenu->hide();
+ toolBar->hide();
+ sidebarSplitter->widget(0)->hide();
+
+ fullScreenPreviousDisplayMode = currentTab->pdf->getDisplayMode();
+ currentTab->pdf->setDisplayMode(XpdfWidget::pdfDisplaySingle);
+ updateModeInfo();
+
+ fullScreenPreviousZoom = currentTab->pdf->getZoom();
+ currentTab->pdf->setZoom(XpdfWidget::zoomToPage);
+ updateZoomInfo();
+
+ currentTab->pdf->setMatteColor(app->getFullScreenMatteColor());
+ currentTab->pdf->setFrameStyle(QFrame::NoFrame);
+
+ showFullScreen();
+
+ fullScreenMenuItem->setChecked(true);
+}
+
+void XpdfViewer::exitFullScreenMode() {
+ mainMenu->show();
+ toolBar->show();
+ sidebarSplitter->widget(0)->show();
+
+ currentTab->pdf->setDisplayMode(fullScreenPreviousDisplayMode);
+ updateModeInfo();
+
+ currentTab->pdf->setZoom(fullScreenPreviousZoom);
+ updateZoomInfo();
+
+ currentTab->pdf->setMatteColor(app->getMatteColor());
+ currentTab->pdf->setFrameStyle(QFrame::Sunken | QFrame::StyledPanel);
+
+ showNormal();
+
+ fullScreenMenuItem->setChecked(false);
+}
+
+void XpdfViewer::addTab() {
+ QListWidgetItem *listItem;
+ XpdfWidget *pdf;
+ QTreeView *outlineTree, *layerTree;
+ QTableWidget *attachmentList;
+ GString *initialSelectMode;
+
+ pdf = new XpdfWidget(NULL, app->getPaperColor(), app->getMatteColor(),
+ app->getReverseVideo());
+ pdf->setSelectionColor(app->getSelectionColor());
+ pdf->enableHyperlinks(false);
+ pdf->setKeyPassthrough(true);
+ pdf->setMousePassthrough(true);
+ initialSelectMode = globalParams->getInitialSelectMode();
+ if (!initialSelectMode->cmp("block")) {
+ pdf->setBlockSelectMode();
+ } else {
+ pdf->setLinearSelectMode();
+ }
+ delete initialSelectMode;
+ connect(pdf, SIGNAL(resized()), this, SLOT(pdfResized()));
+ connect(pdf, SIGNAL(paintDone(bool)), this, SLOT(pdfPaintDone(bool)));
+ connect(pdf, SIGNAL(preLoad()), this, SLOT(preLoad()));
+ connect(pdf, SIGNAL(postLoad()), this, SLOT(postLoad()));
+ connect(pdf, SIGNAL(keyPress(QKeyEvent*)),
+ this, SLOT(keyPress(QKeyEvent*)));
+ connect(pdf, SIGNAL(mousePress(QMouseEvent*)),
+ this, SLOT(mousePress(QMouseEvent*)));
+ connect(pdf, SIGNAL(mouseRelease(QMouseEvent*)),
+ this, SLOT(mouseRelease(QMouseEvent*)));
+ connect(pdf, SIGNAL(mouseClick(QMouseEvent*)),
+ this, SLOT(mouseClick(QMouseEvent*)));
+ connect(pdf, SIGNAL(mouseDoubleClick(QMouseEvent*)),
+ this, SLOT(mouseDoubleClick(QMouseEvent*)));
+ connect(pdf, SIGNAL(mouseTripleClick(QMouseEvent*)),
+ this, SLOT(mouseTripleClick(QMouseEvent*)));
+ connect(pdf, SIGNAL(mouseWheel(QWheelEvent*)),
+ this, SLOT(mouseWheel(QWheelEvent*)));
+ connect(pdf, SIGNAL(mouseMove(QMouseEvent*)),
+ this, SLOT(mouseMove(QMouseEvent*)));
+ connect(pdf, SIGNAL(midPageChange(int)), this, SLOT(pageChange(int)));
+#if XPDFWIDGET_PRINTING
+ connect(pdf, SIGNAL(printStatus(int, int, int)),
+ this, SLOT(printStatus(int, int, int)));
+#endif
+ viewerStack->addWidget(pdf);
+ viewerStack->setCurrentWidget(pdf);
+ // after adding a tab, focus goes to the XpdfWidget
+ pdf->setFocus(Qt::OtherFocusReason);
+
+ //--- create tab pane item
+ listItem = new QListWidgetItem();
+ tabList->addItem(listItem);
+ tabList->setCurrentItem(listItem);
+
+ //--- create outline view
+ outlineTree = new QTreeView();
+ outlineTree->setModel(new OutlineModel(pdf));
+ outlineTree->setHeaderHidden(true);
+ outlineTree->setUniformRowHeights(true);
+ outlineTree->setSelectionMode(QAbstractItemView::SingleSelection);
+ connect(outlineTree, SIGNAL(clicked(const QModelIndex&)),
+ this, SLOT(outlineItemClicked(const QModelIndex&)));
+ infoStack->addWidget(outlineTree);
+
+ //--- create layer view
+ layerTree = new QTreeView();
+ layerTree->setModel(new LayerModel(pdf));
+ layerTree->setHeaderHidden(true);
+ layerTree->setUniformRowHeights(true);
+ layerTree->setSelectionMode(QAbstractItemView::NoSelection);
+ connect(layerTree, SIGNAL(clicked(const QModelIndex&)),
+ this, SLOT(layerItemClicked(const QModelIndex&)));
+ infoStack->addWidget(layerTree);
+
+ //--- create attachment list
+ attachmentList = new QTableWidget(4, 2);
+ attachmentList->horizontalHeader()->hide();
+ attachmentList->verticalHeader()->hide();
+ attachmentList->setShowGrid(false);
+ attachmentList->setWordWrap(false);
+ attachmentList->setSelectionMode(QAbstractItemView::NoSelection);
+ infoStack->addWidget(attachmentList);
+
+ currentTab = new XpdfTabInfo(listItem, pdf, outlineTree, layerTree,
+ attachmentList);
+ tabInfo->append(currentTab);
+
+ updateInfoPane();
+
+ scaleFactor = pdf->getCore()->getScaleFactor();
+}
+
+void XpdfViewer::closeTab(XpdfTabInfo *tab) {
+ int i;
+
+ app->startUpdatePagesFile();
+ app->updatePagesFile(tab->pdf->getFileName(), tab->pdf->getMidPage());
+ app->finishUpdatePagesFile();
+
+ for (i = 0; i < tabInfo->getLength(); ++i) {
+ if ((XpdfTabInfo *)tabInfo->get(i) == tab) {
+ break;
+ }
+ }
+ if (i == tabInfo->getLength()) {
+ // this shouldn't happen
+ return;
+ }
+ tabInfo->del(i);
+
+ for (i = 0; i < tabList->count(); ++i) {
+ if (tabList->item(i) == tab->listItem) {
+ delete tabList->takeItem(i);
+ break;
+ }
+ }
+
+ infoStack->removeWidget(tab->outlineTree);
+ delete tab->outlineTree->model();
+ delete tab->outlineTree;
+ infoStack->removeWidget(tab->layerTree);
+ delete tab->layerTree->model();
+ delete tab->layerTree;
+ infoStack->removeWidget(tab->attachmentList);
+
+ viewerStack->removeWidget(tab->pdf);
+ tab->pdf->closeFile();
+ delete tab->pdf;
+
+ delete tab;
+
+ if (tabInfo->getLength() > 0) {
+ updateModeInfo();
+ updateDocInfo();
+ }
+}
+
+void XpdfViewer::gotoTab(int idx) {
+ XpdfTabInfo *tab;
+
+ tab = (XpdfTabInfo *)tabInfo->get(idx);
+ currentTab = tab;
+ viewerStack->setCurrentWidget(currentTab->pdf);
+ // after switching tabs, focus goes to the XpdfWidget
+ currentTab->pdf->setFocus(Qt::OtherFocusReason);
+ updateInfoPane();
+ updateModeInfo();
+ updateDocInfo();
+}
+
+// Update the display mode checkboxes, based on the current XpdfWidget
+// settings.
+void XpdfViewer::updateModeInfo() {
+ switch (currentTab->pdf->getDisplayMode()) {
+ case XpdfWidget::pdfDisplaySingle:
+ displayModeSubmenu->actions()[0]->setChecked(true);
+ break;
+ case XpdfWidget::pdfDisplayContinuous:
+ displayModeSubmenu->actions()[1]->setChecked(true);
+ break;
+ case XpdfWidget::pdfDisplaySideBySideSingle:
+ displayModeSubmenu->actions()[2]->setChecked(true);
+ break;
+ case XpdfWidget::pdfDisplaySideBySideContinuous:
+ displayModeSubmenu->actions()[3]->setChecked(true);
+ break;
+ case XpdfWidget::pdfDisplayHorizontalContinuous:
+ displayModeSubmenu->actions()[4]->setChecked(true);
+ break;
+ }
+}
+
+// Update the displayed zoom percentage, based on the current
+// XpdfWidget settings.
+void XpdfViewer::updateZoomInfo() {
+ int pg;
+ double z;
+ QString zoomStr;
+
+ if (currentTab->pdf->hasOpenDocument()) {
+ pg = currentTab->pdf->getMidPage();
+ } else {
+ pg = 1;
+ }
+ z = (int)floor(currentTab->pdf->getZoomPercent(pg) + 0.5);
+ zoomStr.setNum(z);
+ zoomStr.append('%');
+ zoomComboBox->setEditText(zoomStr);
+
+ z = currentTab->pdf->getZoom();
+ if (z == XpdfWidget::zoomToWidth) {
+ fitWidthBtn->setIcon(QIcon(":/fitWidthOn-button"));
+ fitPageBtn->setIcon(QIcon(":/fitPage-button"));
+ } else if (z == XpdfWidget::zoomToPage) {
+ fitWidthBtn->setIcon(QIcon(":/fitWidth-button"));
+ fitPageBtn->setIcon(QIcon(":/fitPageOn-button"));
+ } else {
+ fitWidthBtn->setIcon(QIcon(":/fitWidth-button"));
+ fitPageBtn->setIcon(QIcon(":/fitPage-button"));
+ }
+}
+
+void XpdfViewer::updateSelectModeInfo() {
+ if (currentTab->pdf->isBlockSelectMode()) {
+ selectModeBtn->setIcon(QIcon(":/selectModeBlock-button"));
+ } else {
+ selectModeBtn->setIcon(QIcon(":/selectModeLinear-button"));
+ }
+}
+
+// This is called when:
+// - when the GUI is initially created
+// - a document is opened or closed
+// - a tab switch happens
+// It updates all visible info related to the document.
+void XpdfViewer::updateDocInfo() {
+ //--- window title
+ QString windowTitle;
+ if (currentTab->pdf->hasOpenDocument()) {
+ windowTitle = currentTab->pdf->getFileName();
+ windowTitle += " - XpdfReader";
+ } else {
+ windowTitle = "XpdfReader";
+ }
+ setWindowTitle(windowTitle);
+
+ //--- tab title
+ QString tabTitle;
+ if (currentTab->pdf->hasOpenDocument()) {
+ tabTitle = currentTab->pdf->getFileName();
+ int i = tabTitle.lastIndexOf('/');
+#ifdef _WIN32
+ int j = tabTitle.lastIndexOf('\\');
+ if (j > i) {
+ i = j;
+ }
+#endif
+ if (i >= 0) {
+ tabTitle = tabTitle.mid(i + 1) + " [" + tabTitle.left(i + 1) + "]";
+ }
+ } else {
+ tabTitle = "(empty)";
+ }
+ currentTab->listItem->setText(tabTitle);
+ currentTab->listItem->setToolTip(tabTitle);
+
+ //--- page number
+ updatePageNumberOrLabel(currentTab->pdf->getMidPage());
+
+ //--- page count
+ QString nPages;
+ if (currentTab->pdf->hasOpenDocument()) {
+ nPages.setNum(currentTab->pdf->getNumPages());
+ }
+ pageCount->setText(nPages);
+
+ //--- zoom
+ // NB: in fit-{page,width,height} modes zoom percent depends on page
+ // size, so we need to update whenever a new doc is loaded
+ updateZoomInfo();
+
+ //--- selection mode
+ updateSelectModeInfo();
+
+ //--- hide the link target bar
+ currentTab->pdf->unsetCursor();
+ linkTargetBar->hide();
+ linkTargetInfo = QString();
+}
+
+void XpdfViewer::updatePageNumberOrLabel(int pg) {
+ QString qs;
+
+ if (!viewPageLabelsMenuItem->isChecked() ||
+ !currentTab->pdf->getCore()->getDoc() ||
+ (qs = currentTab->pdf->getPageLabelFromPageNum(pg)).isEmpty()) {
+ qs.setNum(pg);
+ }
+ pageNumber->setText(qs);
+}
+
+void XpdfViewer::updateOutline(int pg) {
+ QModelIndex idx;
+
+ idx = ((OutlineModel *)currentTab->outlineTree->model())
+ ->findPageIndex(pg, currentTab->outlineTree);
+ if (idx.isValid()) {
+ currentTab->outlineTree->setCurrentIndex(idx);
+ }
+}
+
+void XpdfViewer::setOutlineOpenItems(const QModelIndex &idx) {
+ OutlineModel *model;
+ XpdfOutlineHandle item;
+ QModelIndex child;
+ int n, i;
+
+ if (idx.isValid()) {
+ item = (XpdfOutlineHandle)idx.internalPointer();
+ if (!currentTab->pdf->getOutlineStartsOpen(item)) {
+ return;
+ }
+ currentTab->outlineTree->expand(idx);
+ }
+ model = (OutlineModel *)currentTab->outlineTree->model();
+ n = model->rowCount(idx);
+ for (i = 0; i < n; ++i) {
+ child = model->index(i, 0, idx);
+ setOutlineOpenItems(child);
+ }
+}
+
+void XpdfViewer::fillAttachmentList() {
+ QButtonGroup *btnGroup;
+ QPushButton *saveBtn;
+ QTableWidgetItem *item;
+ int n, i;
+
+ n = currentTab->pdf->getNumEmbeddedFiles();
+ currentTab->attachmentList->setRowCount(n);
+ currentTab->attachmentList->setColumnCount(2);
+ btnGroup = new QButtonGroup(currentTab->attachmentList);
+ for (i = 0; i < n; ++i) {
+ saveBtn = new QPushButton("save");
+ saveBtn->setStyleSheet("padding-left:4px; padding-right:4px;");
+ btnGroup->addButton(saveBtn, i);
+ btnGroup->setId(saveBtn, i);
+ currentTab->attachmentList->setCellWidget(i, 0, saveBtn);
+ item = new QTableWidgetItem(currentTab->pdf->getEmbeddedFileName(i));
+ currentTab->attachmentList->setItem(i, 1, item);
+ }
+#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
+ connect(btnGroup, SIGNAL(idClicked(int)),
+ this, SLOT(attachmentSaveClicked(int)));
+#else
+ connect(btnGroup, SIGNAL(buttonClicked(int)),
+ this, SLOT(attachmentSaveClicked(int)));
+#endif
+ currentTab->attachmentList->resizeRowsToContents();
+ currentTab->attachmentList->resizeColumnsToContents();
+}
+
+void XpdfViewer::statusIndicatorStart() {
+ if (indicatorAnimation->state() == QAbstractAnimation::Paused) {
+ indicatorAnimation->resume();
+ }
+}
+
+void XpdfViewer::statusIndicatorStop() {
+ if (indicatorAnimation->state() == QAbstractAnimation::Running) {
+ indicatorAnimation->pause();
+ indicatorAnimation->setCurrentTime(0);
+ }
+}
+
+void XpdfViewer::statusIndicatorOk() {
+ if (indicatorAnimation->values() != indicatorIcons) {
+ indicatorAnimation->setValues(indicatorIcons);
+ }
+}
+
+void XpdfViewer::statusIndicatorError() {
+ if (indicatorAnimation->values() != indicatorErrIcons) {
+ indicatorAnimation->setValues(indicatorErrIcons);
+ }
+}
+
+void XpdfViewer::showFindError() {
+ findEdit->setStyleSheet("background: #ff8080;");
+ findErrorTimer->start(1000);
+}
+
+void XpdfViewer::clearFindError() {
+ findErrorTimer->stop();
+ findEdit->setStyleSheet("");
+}
+
+void XpdfViewer::createDocumentInfoDialog() {
+ documentInfoDialog = new QDialog(this);
+ documentInfoDialog->setWindowTitle("XpdfReader Document Info");
+
+ QVBoxLayout *vbox = new QVBoxLayout();
+ documentInfoDialog->setLayout(vbox);
+
+ QTabWidget *tabs = new QTabWidget();
+ vbox->addWidget(tabs);
+
+ documentInfoMetadataTab = new QTextBrowser();
+ documentInfoMetadataTab->setLineWrapMode(QTextEdit::NoWrap);
+ tabs->addTab(documentInfoMetadataTab, "Metadata");
+
+ documentInfoFontsTab = new QTextBrowser();
+ documentInfoFontsTab->setLineWrapMode(QTextEdit::NoWrap);
+ tabs->addTab(documentInfoFontsTab, "Fonts");
+}
+
+void XpdfViewer::updateDocumentInfoDialog(XpdfWidget *view) {
+ if (!view->hasOpenDocument()) {
+ return;
+ }
+
+ if (!documentInfoDialog) {
+ createDocumentInfoDialog();
+ }
+
+ documentInfoDialog->setWindowTitle(view->getFileName() +
+ " - XpdfReader Document Info");
+ documentInfoMetadataTab->setHtml(createDocumentInfoMetadataHTML(view));
+ documentInfoFontsTab->setHtml(createDocumentInfoFontsHTML(view));
+
+ //--- tweak the dialog size
+ int w = documentInfoMetadataTab->contentsMargins().left() +
+ (int)documentInfoMetadataTab->document()->idealWidth() +
+ documentInfoMetadataTab->contentsMargins().right() +
+ 50;
+ int w1 = documentInfoFontsTab->contentsMargins().left() +
+ (int)documentInfoFontsTab->document()->idealWidth() +
+ documentInfoFontsTab->contentsMargins().right() +
+ 50;
+ if (w1 > w) {
+ w = w1;
+ }
+ int h = 20 * documentInfoMetadataTab->fontMetrics().lineSpacing() + 75;
+ documentInfoDialog->resize(w, h);
+}
+
+static QString parseInfoDate(GString *s) {
+ char *p = s->getCString();
+ if (p[0] == 'D' && p[1] == ':') {
+ p += 2;
+ }
+ int year, mon, day, hour, min, sec, n;
+ if ((n = sscanf(p, "%4d%2d%2d%2d%2d%2d",
+ &year, &mon, &day, &hour, &min, &sec)) < 1) {
+ return QString();
+ }
+ switch (n) {
+ case 1: mon = 1;
+ case 2: day = 1;
+ case 3: hour = 0;
+ case 4: min = 0;
+ case 5: sec = 0;
+ }
+ struct tm tmStruct;
+ tmStruct.tm_year = year - 1900;
+ tmStruct.tm_mon = mon - 1;
+ tmStruct.tm_mday = day;
+ tmStruct.tm_hour = hour;
+ tmStruct.tm_min = min;
+ tmStruct.tm_sec = sec;
+ tmStruct.tm_wday = -1;
+ tmStruct.tm_yday = -1;
+ tmStruct.tm_isdst = -1;
+ // compute the tm_wday and tm_yday fields
+ char buf[256];
+ if (!(mktime(&tmStruct) != (time_t)-1 &&
+ strftime(buf, sizeof(buf), "%c", &tmStruct))) {
+ return QString();
+ }
+ return QString(buf);
+}
+
+static QString parseXMPDate(GString *s) {
+ int year, mon, day, hour, min, sec, tz;
+ char buf[256];
+ char *p = s->getCString();
+ if (isdigit(p[0]) && isdigit(p[1]) && isdigit(p[2]) && isdigit(p[3])) {
+ buf[0] = p[0];
+ buf[1] = p[1];
+ buf[2] = p[2];
+ buf[3] = p[3];
+ buf[4] = '\0';
+ year = atoi(buf);
+ p += 4;
+ } else {
+ return QString();
+ }
+ mon = day = 1;
+ hour = min = sec = 0;
+ tz = 2000;
+ if (p[0] == '-' && isdigit(p[1]) && isdigit(p[2])) {
+ buf[0] = p[1];
+ buf[1] = p[2];
+ buf[2] = '\0';
+ mon = atoi(buf);
+ p += 3;
+ if (p[0] == '-' && isdigit(p[1]) && isdigit(p[2])) {
+ buf[0] = p[1];
+ buf[1] = p[2];
+ buf[2] = '\0';
+ day = atoi(buf);
+ p += 3;
+ if (p[0] == 'T' && isdigit(p[1]) && isdigit(p[2]) &&
+ p[3] == ':' && isdigit(p[4]) && isdigit(p[5])) {
+ buf[0] = p[1];
+ buf[1] = p[2];
+ buf[2] = '\0';
+ hour = atoi(buf);
+ buf[0] = p[4];
+ buf[1] = p[5];
+ buf[2] = '\0';
+ min = atoi(buf);
+ p += 6;
+ if (p[0] == ':' && isdigit(p[1]) && isdigit(p[2])) {
+ buf[0] = p[1];
+ buf[1] = p[2];
+ buf[2] = '\0';
+ sec = atoi(buf);
+ if (p[0] == '.' && isdigit(p[1])) {
+ p += 2;
+ }
+ }
+ if ((p[0] == '+' || p[0] == '-') &&
+ isdigit(p[1]) && isdigit(p[2]) && p[3] == ':' &&
+ isdigit(p[4]) && isdigit(p[5])) {
+ buf[0] = p[1];
+ buf[1] = p[2];
+ buf[2] = '\0';
+ tz = atoi(buf);
+ buf[0] = p[4];
+ buf[1] = p[5];
+ buf[2] = '\0';
+ tz = tz * 60 + atoi(buf);
+ tz = tz * 60;
+ if (p[0] == '-') {
+ tz = -tz;
+ }
+ }
+ }
+ }
+ }
+
+ struct tm tmStruct;
+ tmStruct.tm_year = year - 1900;
+ tmStruct.tm_mon = mon - 1;
+ tmStruct.tm_mday = day;
+ tmStruct.tm_hour = hour;
+ tmStruct.tm_min = min;
+ tmStruct.tm_sec = sec;
+ tmStruct.tm_wday = -1;
+ tmStruct.tm_yday = -1;
+ tmStruct.tm_isdst = -1;
+ // compute the tm_wday and tm_yday fields
+ //~ this ignores the timezone
+ if (!(mktime(&tmStruct) != (time_t)-1 &&
+ strftime(buf, sizeof(buf), "%c", &tmStruct))) {
+ return QString();
+ }
+ return QString(buf);
+}
+
+static QString createInfoString(Object *infoDict, const char *infoKey,
+ ZxDoc *xmp, const char *xmpKey1,
+ const char *xmpKey2, GBool parseDate) {
+ //-- check the XMP metadata
+ if (xmp) {
+ ZxElement *rdf = xmp->getRoot();
+ if (rdf->isElement("x:xmpmeta")) {
+ rdf = rdf->findFirstChildElement("rdf:RDF");
+ }
+ if (rdf && rdf->isElement("rdf:RDF")) {
+ for (ZxNode *node = rdf->getFirstChild();
+ node;
+ node = node->getNextChild()) {
+ if (node->isElement("rdf:Description")) {
+ ZxElement *elem;
+ if ((elem = node->findFirstChildElement(xmpKey1)) ||
+ (xmpKey2 && (elem = node->findFirstChildElement(xmpKey2)))) {
+ ZxElement *child;
+ ZxNode *node2;
+ if ((child = elem->findFirstChildElement("rdf:Alt")) ||
+ (child = elem->findFirstChildElement("rdf:Seq"))) {
+ if ((node2 = child->findFirstChildElement("rdf:li"))) {
+ node2 = node2->getFirstChild();
+ }
+ } else {
+ node2 = elem->getFirstChild();
+ }
+ if (node2 && node2->isCharData()) {
+ QString value;
+ if (parseDate) {
+ value = parseXMPDate(((ZxCharData *)node2)->getData());
+ }
+ if (value.isEmpty()) {
+ value = QString::fromUtf8(
+ ((ZxCharData *)node2)->getData()->getCString());
+ }
+ return QString("<tr><td>") + infoKey + ":&nbsp;</td><td>"
+ + value + "</td></tr>\n";
+ }
+ }
+ }
+ }
+ }
+ }
+
+ //-- check the info dictionary
+ if (infoDict->isDict()) {
+ Object obj;
+ if (infoDict->dictLookup(infoKey, &obj)->isString()) {
+ QString value;
+ if (parseDate) {
+ value = parseInfoDate(obj.getString());
+ }
+ if (value.isEmpty()) {
+ TextString *ts = new TextString(obj.getString());
+ GString *utf8 = ts->toUTF8();
+ value = QString::fromUtf8(utf8->getCString());
+ delete utf8;
+ delete ts;
+ }
+ obj.free();
+ return QString("<tr><td>") + infoKey + ":&nbsp;</td><td>"
+ + value + "</td></tr>\n";
+ }
+ obj.free();
+ }
+
+ return QString();
+}
+
+QString XpdfViewer::createDocumentInfoMetadataHTML(XpdfWidget *view) {
+ PDFDoc *doc = view->getCore()->getDoc();
+ QString html("<table>\n");
+
+ // doc info
+ Object info;
+ doc->getDocInfo(&info);
+ GString *metadata;
+ ZxDoc *xmp;
+ if ((metadata = doc->readMetadata())) {
+ xmp = ZxDoc::loadMem(metadata->getCString(), metadata->getLength());
+ } else {
+ xmp = NULL;
+ }
+ html += createInfoString(&info, "Title", xmp, "dc:title", NULL, gFalse);
+ html += createInfoString(&info, "Subject", xmp, "dc:description", NULL, gFalse);
+ html += createInfoString(&info, "Keywords", xmp, "pdf:Keywords", NULL, gFalse);
+ html += createInfoString(&info, "Author", xmp, "dc:creator", NULL, gFalse);
+ html += createInfoString(&info, "Creator", xmp, "xmp:CreatorTool", NULL, gFalse);
+ html += createInfoString(&info, "Producer", xmp, "pdf:Producer", NULL, gFalse);
+ html += createInfoString(&info, "CreationDate", xmp, "xap:CreateDate", "xmp:CreateDate", gTrue);
+ html += createInfoString(&info, "ModDate", xmp, "xap:ModifyDate", "xmp:ModifyDate", gTrue);
+ if (xmp) {
+ delete xmp;
+ }
+ if (metadata) {
+ delete metadata;
+ }
+ info.free();
+
+ // tagging info
+ if (doc->getStructTreeRoot()->isDict()) {
+ html += "<tr><td>Tagged:&nbsp;</td><td>yes</td></tr>\n";
+ } else {
+ html += "<tr><td>Tagged:&nbsp;</td><td>no</td></tr>\n";
+ }
+
+ // form info
+ Object *acroForm = doc->getCatalog()->getAcroForm();
+ if (acroForm->isDict()) {
+ Object xfa;
+ acroForm->dictLookup("XFA", &xfa);
+ if (xfa.isStream() || xfa.isArray()) {
+ if (doc->getCatalog()->getNeedsRendering()) {
+ html += "<tr><td>Form:&nbsp;</td><td>dynamic XFA</td></tr>\n";
+ } else {
+ html += "<tr><td>Form:&nbsp;</td><td>static XFA</td></tr>\n";
+ }
+ } else {
+ html += "<tr><td>Form:&nbsp;</td><td>AcroForm</td></tr>\n";
+ }
+ xfa.free();
+ } else {
+ html += "<tr><td>Form:&nbsp;</td><td>none</td></tr>\n";
+ }
+
+ // page count
+ html += QString("<tr><td>Pages:&nbsp;</td><td>%1</td></tr>\n")
+ .arg(doc->getNumPages());
+
+ // encryption info
+ if (doc->isEncrypted()) {
+ int permFlags, keyLength, encVersion;
+ GBool ownerPasswordOk;
+ CryptAlgorithm encAlgorithm;
+ doc->getXRef()->getEncryption(&permFlags, &ownerPasswordOk, &keyLength,
+ &encVersion, &encAlgorithm);
+ html += QString("<tr><td>Encrypted:&nbsp;</td><td>%1 %2-bit</td></tr>\n")
+ .arg(encAlgorithm == cryptRC4 ? "RC4" : "AES")
+ .arg(keyLength * 8);
+ html += QString("<tr><td>Permissions:&nbsp;</td><td>print:%1 copy:%2 change:%3 addNotes:%4</td></tr>\n")
+ .arg(doc->okToPrint(gTrue) ? "yes" : "no")
+ .arg(doc->okToCopy(gTrue) ? "yes" : "no")
+ .arg(doc->okToChange(gTrue) ? "yes" : "no")
+ .arg(doc->okToAddNotes(gTrue) ? "yes" : "no");
+ } else {
+ html += QString("<tr><td>Encrypted:&nbsp;</td><td>no</td></tr>\n");
+ }
+
+ // page size
+ html += QString("<tr><td>Page size:&nbsp;</td><td>%1 x %2 pts (rotated %3 degrees)</td></tr>\n")
+ .arg(doc->getPageCropWidth(1), 0, 'g')
+ .arg(doc->getPageCropHeight(1), 0, 'g')
+ .arg(doc->getPageRotate(1));
+
+ // linearization info
+ html += QString("<tr><td>Optimized:&nbsp;</td><td>%1</td></tr>\n")
+ .arg(doc->isLinearized() ? "yes" : "no");
+
+ // PDF version
+ html += QString("<tr><td>PDF version:&nbsp;</td><td>%1</td></tr>\n")
+ .arg(doc->getPDFVersion(), 0, 'f', 1);
+
+ html += "</table>\n";
+
+ return html;
+}
+
+static GBool scanFontsCheckObject(Object *in, Object *out,
+ PDFDoc *doc, char *seenObjs) {
+ if (!in->isRef()) {
+ in->copy(out);
+ return gTrue;
+ }
+ int objNum = in->getRefNum();
+ if (objNum < 0 || objNum >= doc->getXRef()->getNumObjects()) {
+ out->initNull();
+ return gTrue;
+ }
+ if (seenObjs[objNum]) {
+ out->initNull();
+ return gFalse;
+ }
+ seenObjs[objNum] = (char)1;
+ in->fetch(doc->getXRef(), out);
+ return gTrue;
+}
+
+static QString scanFont(Dict *fontDict, PDFDoc *doc) {
+ Ref ref;
+ ref.num = ref.gen = 0;
+ GfxFont *font = GfxFont::makeFont(doc->getXRef(), "F0", ref, fontDict);
+ if (!font) {
+ return QString();
+ }
+
+ // font name
+ GString *name = font->getName();
+
+ // font type
+ const char *type;
+ switch (font->getType()) {
+ case fontUnknownType:
+ default: type = "unknown"; break;
+ case fontType1: type = "Type 1"; break;
+ case fontType1C: type = "Type 1C"; break;
+ case fontType1COT: type = "Type 1C (OT)"; break;
+ case fontType3: type = "Type 3"; break;
+ case fontTrueType: type = "TrueType"; break;
+ case fontTrueTypeOT: type = "TrueType (OT)"; break;
+ case fontCIDType0: type = "CID Type 0"; break;
+ case fontCIDType0C: type = "CID Type 0C"; break;
+ case fontCIDType0COT: type = "CID Type 0C (OT)"; break;
+ case fontCIDType2: type = "CID TrueType"; break;
+ case fontCIDType2OT: type = "CID TrueType (OT)"; break;
+ }
+
+ // check for an embedded font
+ GBool emb;
+ if (font->getType() == fontType3) {
+ emb = gTrue;
+ } else {
+ Ref embRef;
+ emb = font->getEmbeddedFontID(&embRef);
+ }
+
+ // problematic for text extraction
+ GBool prob = font->problematicForUnicode();
+
+ QString html = QString("<tr><td>%1&nbsp;</td><td>%2&nbsp;</td><td align=\"center\">%3</td><td align=\"center\">%4</td></tr>\n")
+ .arg(name ? name->getCString() : "[none]")
+ .arg(type)
+ .arg(emb ? "yes" : "no")
+ .arg(prob ? "X" : "");
+
+ delete font;
+
+ return html;
+}
+
+static QString scanFonts(Dict *resDict, PDFDoc *doc, char *seenObjs);
+
+static QString scanFonts(Object *obj, PDFDoc *doc, char *seenObjs) {
+ QString html;
+ Object obj2;
+ if (scanFontsCheckObject(obj, &obj2, doc, seenObjs) && obj2.isDict()) {
+ html += scanFonts(obj2.getDict(), doc, seenObjs);
+ }
+ obj2.free();
+ return html;
+}
+
+static QString scanFonts(Dict *resDict, PDFDoc *doc, char *seenObjs) {
+ QString html;
+
+ // scan the fonts in this resource dictionary
+ Object fontDict1, fontDict2;
+ resDict->lookupNF("Font", &fontDict1);
+ if (scanFontsCheckObject(&fontDict1, &fontDict2, doc, seenObjs) &&
+ fontDict2.isDict()) {
+ for (int i = 0; i < fontDict2.dictGetLength(); ++i) {
+ Object font1, font2;
+ fontDict2.dictGetValNF(i, &font1);
+ if (scanFontsCheckObject(&font1, &font2, doc, seenObjs) &&
+ font2.isDict()) {
+ html += scanFont(font2.getDict(), doc);
+ }
+ font2.free();
+ font1.free();
+ }
+ }
+ fontDict2.free();
+ fontDict1.free();
+
+ // recursively scan any resource dictionaries in XObjects in this
+ // resource dictionary
+ Object xObjDict1, xObjDict2;
+ resDict->lookupNF("XObject", &xObjDict1);
+ if (scanFontsCheckObject(&xObjDict1, &xObjDict2, doc, seenObjs) &&
+ xObjDict2.isDict()) {
+ for (int i = 0; i < xObjDict2.dictGetLength(); ++i) {
+ Object xObj1, xObj2;
+ xObjDict2.dictGetValNF(i, &xObj1);
+ if (scanFontsCheckObject(&xObj1, &xObj2, doc, seenObjs) &&
+ xObj2.isStream()) {
+ Object resObj;
+ xObj2.streamGetDict()->lookupNF("Resources", &resObj);
+ html += scanFonts(&resObj, doc, seenObjs);
+ resObj.free();
+ }
+ xObj2.free();
+ xObj1.free();
+ }
+ }
+ xObjDict2.free();
+ xObjDict1.free();
+
+ // recursively scan any resource dictionaries in Patterns in this
+ // resource dictionary
+ Object patternDict1, patternDict2;
+ resDict->lookupNF("Pattern", &patternDict1);
+ if (scanFontsCheckObject(&patternDict1, &patternDict2, doc, seenObjs) &&
+ patternDict2.isDict()) {
+ for (int i = 0; i < patternDict2.dictGetLength(); ++i) {
+ Object pattern1, pattern2;
+ patternDict2.dictGetValNF(i, &pattern1);
+ if (scanFontsCheckObject(&pattern1, &pattern2, doc, seenObjs) &&
+ pattern2.isStream()) {
+ Object resObj;
+ pattern2.streamGetDict()->lookupNF("Resources", &resObj);
+ html += scanFonts(&resObj, doc, seenObjs);
+ resObj.free();
+ }
+ pattern2.free();
+ pattern1.free();
+ }
+ }
+ patternDict2.free();
+ patternDict1.free();
+
+ // recursively scan any resource dictionaries in ExtGStates in this
+ // resource dictionary
+ Object gsDict1, gsDict2;
+ resDict->lookupNF("ExtGState", &gsDict1);
+ if (scanFontsCheckObject(&gsDict1, &gsDict2, doc, seenObjs) &&
+ gsDict2.isDict()) {
+ for (int i = 0; i < gsDict2.dictGetLength(); ++i) {
+ Object gs1, gs2;
+ gsDict2.dictGetValNF(i, &gs1);
+ if (scanFontsCheckObject(&gs1, &gs2, doc, seenObjs) &&
+ gs2.isDict()) {
+ Object smask1, smask2;
+ gs2.dictLookupNF("SMask", &smask1);
+ if (scanFontsCheckObject(&smask1, &smask2, doc, seenObjs) &&
+ smask2.isDict()) {
+ Object smaskGroup1, smaskGroup2;
+ smask2.dictLookupNF("G", &smaskGroup1);
+ if (scanFontsCheckObject(&smaskGroup1, &smaskGroup2, doc, seenObjs) &&
+ smaskGroup2.isStream()) {
+ Object resObj;
+ smaskGroup2.streamGetDict()->lookupNF("Resources", &resObj);
+ html += scanFonts(&resObj, doc, seenObjs);
+ resObj.free();
+ }
+ smaskGroup2.free();
+ smaskGroup1.free();
+ }
+ smask2.free();
+ smask1.free();
+ }
+ gs2.free();
+ gs1.free();
+ }
+ }
+ gsDict2.free();
+ gsDict1.free();
+
+ return html;
+}
+
+QString XpdfViewer::createDocumentInfoFontsHTML(XpdfWidget *view) {
+ PDFDoc *doc = view->getCore()->getDoc();
+
+ QString html("<table>\n");
+ html += "<tr bgcolor=\"#aaffaa\"><th>&nbsp;name&nbsp;</th><th>&nbsp;type&nbsp;</th><th>&nbsp;embedded&nbsp;</th><th>&nbsp;problematic&nbsp;</th></tr>\n";
+
+ int numObjects = doc->getXRef()->getNumObjects();
+ char *seenObjs = (char *)gmalloc(numObjects);
+ memset(seenObjs, 0, numObjects);
+
+ for (int pg = 1; pg <= doc->getNumPages(); ++pg) {
+ Page *page = doc->getCatalog()->getPage(pg);
+ Dict *resDict = page->getResourceDict();
+ if (resDict) {
+ html += scanFonts(resDict, doc, seenObjs);
+ }
+ Object obj1, obj2;
+ Annots *annots = new Annots(doc, page->getAnnots(&obj1));
+ obj1.free();
+ for (int i = 0; i < annots->getNumAnnots(); ++i) {
+ if (annots->getAnnot(i)->getAppearance(&obj1)->isStream()) {
+ obj1.streamGetDict()->lookupNF("Resources", &obj2);
+ html += scanFonts(&obj2, doc, seenObjs);
+ obj2.free();
+ }
+ obj1.free();
+ }
+ delete annots;
+ }
+ AcroForm *form = doc->getCatalog()->getForm();
+ if (form) {
+ Object obj1, obj2;
+ for (int i = 0; i < form->getNumFields(); ++i) {
+ form->getField(i)->getResources(&obj1);
+ if (obj1.isArray()) {
+ for (int j = 0; j < obj1.arrayGetLength(); ++j) {
+ obj1.arrayGetNF(j, &obj2);
+ html += scanFonts(&obj2, doc, seenObjs);
+ obj2.free();
+ }
+ } else if (obj1.isDict()) {
+ html += scanFonts(obj1.getDict(), doc, seenObjs);
+ }
+ obj1.free();
+ }
+ }
+
+ gfree(seenObjs);
+
+ html += "</table>\n";
+ return html;
+}
+
+void XpdfViewer::createKeyBindingsDialog() {
+ keyBindingsDialog = new QDialog(this);
+ keyBindingsDialog->setWindowTitle("XpdfReader Key Bindings");
+
+ QVBoxLayout *vbox = new QVBoxLayout();
+ keyBindingsDialog->setLayout(vbox);
+
+ QString html = createKeyBindingsHTML();
+
+ QTextBrowser *text = new QTextBrowser();
+ text->setHtml(html);
+ text->setReadOnly(true);
+ text->setMinimumSize(QSize(500, 300));
+ vbox->addWidget(text);
+
+ QHBoxLayout *btnBox = new QHBoxLayout();
+ vbox->addLayout(btnBox);
+
+ QPushButton *closeBtn = new QPushButton("Close");
+ closeBtn->setDefault(true);
+ btnBox->addStretch(1);
+ btnBox->addWidget(closeBtn);
+ btnBox->addStretch(1);
+ connect(closeBtn, SIGNAL(clicked()), keyBindingsDialog, SLOT(accept()));
+}
+
+QString XpdfViewer::createKeyBindingsHTML() {
+ QString html;
+ GList *bindings = globalParams->getAllKeyBindings();
+ html += "<h3>Key Bindings:</h3>\n";
+ html += "<ul>\n";
+ html += "<li><i>modifiers-key (context): command / command / ...</i>\n";
+ html += "<br>";
+ for (int i = 0; i < bindings->getLength(); ++i) {
+ KeyBinding *binding = (KeyBinding *)bindings->get(i);
+ html += "<li>";
+ if (binding->mods & xpdfKeyModShift) {
+ html += "shift-";
+ }
+ if (binding->mods & xpdfKeyModCtrl) {
+ html += "ctrl-";
+ }
+ if (binding->mods & xpdfKeyModAlt) {
+ html += "alt-";
+ }
+ if (binding->code == 0x20) {
+ html += "space";
+ } else if (binding->code >= 0x21 && binding->code <= 0xfe) {
+ html += (QChar)binding->code;
+ } else if (binding->code >= xpdfKeyCodeMousePress1 &&
+ binding->code <= xpdfKeyCodeMousePress32) {
+ html += QString("mousePress%1")
+ .arg(binding->code - xpdfKeyCodeMousePress1 + 1);
+ } else if (binding->code >= xpdfKeyCodeMouseRelease1 &&
+ binding->code <= xpdfKeyCodeMouseRelease32) {
+ html += QString("mouseRelease%1")
+ .arg(binding->code - xpdfKeyCodeMouseRelease1 + 1);
+ } else if (binding->code >= xpdfKeyCodeMouseClick1 &&
+ binding->code <= xpdfKeyCodeMouseClick32) {
+ html += QString("mouseClick%1")
+ .arg(binding->code - xpdfKeyCodeMouseClick1 + 1);
+ } else if (binding->code >= xpdfKeyCodeMouseDoubleClick1 &&
+ binding->code <= xpdfKeyCodeMouseDoubleClick32) {
+ html += QString("mouseDoubleClick%1")
+ .arg(binding->code - xpdfKeyCodeMouseDoubleClick1 + 1);
+ } else if (binding->code >= xpdfKeyCodeMouseTripleClick1 &&
+ binding->code <= xpdfKeyCodeMouseTripleClick32) {
+ html += QString("mouseTripleClick%1")
+ .arg(binding->code - xpdfKeyCodeMouseTripleClick1 + 1);
+ } else if (binding->code >= xpdfKeyCodeF1 &&
+ binding->code <= xpdfKeyCodeF35) {
+ html += QString("f%1").arg(binding->code - xpdfKeyCodeF1 + 1);
+ } else {
+ switch (binding->code) {
+ case xpdfKeyCodeTab: html += "tab"; break;
+ case xpdfKeyCodeReturn: html += "return"; break;
+ case xpdfKeyCodeEnter: html += "enter"; break;
+ case xpdfKeyCodeBackspace: html += "backspace"; break;
+ case xpdfKeyCodeEsc: html += "esc"; break;
+ case xpdfKeyCodeInsert: html += "insert"; break;
+ case xpdfKeyCodeDelete: html += "delete"; break;
+ case xpdfKeyCodeHome: html += "home"; break;
+ case xpdfKeyCodeEnd: html += "end"; break;
+ case xpdfKeyCodePgUp: html += "pgup"; break;
+ case xpdfKeyCodePgDn: html += "pgdn"; break;
+ case xpdfKeyCodeLeft: html += "left"; break;
+ case xpdfKeyCodeRight: html += "right"; break;
+ case xpdfKeyCodeUp: html += "up"; break;
+ case xpdfKeyCodeDown: html += "down"; break;
+ default: html += "[unknown]"; break;
+ }
+ }
+ html += " (";
+ if (binding->context == xpdfKeyContextAny) {
+ html += "any";
+ } else {
+ QString mods = "";
+ if (binding->context & xpdfKeyContextFullScreen) {
+ if (!mods.isEmpty()) { mods += ","; }
+ mods += "fullScreen";
+ }
+ if (binding->context & xpdfKeyContextWindow) {
+ if (!mods.isEmpty()) { mods += ","; }
+ mods += "window";
+ }
+ if (binding->context & xpdfKeyContextContinuous) {
+ if (!mods.isEmpty()) { mods += ","; }
+ mods += "continuous";
+ }
+ if (binding->context & xpdfKeyContextSinglePage) {
+ if (!mods.isEmpty()) { mods += ","; }
+ mods += "singlePage";
+ }
+ if (binding->context & xpdfKeyContextOverLink) {
+ if (!mods.isEmpty()) { mods += ","; }
+ mods += "overLink";
+ }
+ if (binding->context & xpdfKeyContextOffLink) {
+ if (!mods.isEmpty()) { mods += ","; }
+ mods += "offLink";
+ }
+ if (binding->context & xpdfKeyContextOutline) {
+ if (!mods.isEmpty()) { mods += ","; }
+ mods += "outline";
+ }
+ if (binding->context & xpdfKeyContextMainWin) {
+ if (!mods.isEmpty()) { mods += ","; }
+ mods += "mainWin";
+ }
+ if (binding->context & xpdfKeyContextScrLockOn) {
+ if (!mods.isEmpty()) { mods += ","; }
+ mods += "scrLockOn";
+ }
+ if (binding->context & xpdfKeyContextScrLockOff) {
+ if (!mods.isEmpty()) { mods += ","; }
+ mods += "scrLockOff";
+ }
+ html += mods;
+ }
+ html += "): ";
+ for (int j = 0; j < binding->cmds->getLength(); ++j) {
+ GString *cmd = (GString *)binding->cmds->get(j);
+ if (j > 0) {
+ html += " / ";
+ }
+ html += cmd->getCString();
+ }
+ html += "\n";
+ }
+ html += "</ul>\n";
+ return html;
+}
+
+void XpdfViewer::createAboutDialog() {
+ aboutDialog = new QDialog(this);
+ aboutDialog->setWindowTitle("About XpdfReader");
+
+ QVBoxLayout *vbox = new QVBoxLayout();
+ aboutDialog->setLayout(vbox);
+
+ QTextBrowser *text = new QTextBrowser();
+ text->setOpenExternalLinks(true);
+ text->setHtml(aboutHTML);
+ text->setReadOnly(true);
+ text->setMinimumSize(QSize(500, 300));
+ vbox->addWidget(text);
+
+ QHBoxLayout *btnBox = new QHBoxLayout();
+ vbox->addLayout(btnBox);
+
+ QPushButton *closeBtn = new QPushButton("Close");
+ closeBtn->setDefault(true);
+ btnBox->addStretch(1);
+ btnBox->addWidget(closeBtn);
+ btnBox->addStretch(1);
+ connect(closeBtn, SIGNAL(clicked()), aboutDialog, SLOT(accept()));
+}
+
+#define nSaveImageFormats 3
+static struct {
+ const char *comboBoxText;
+ const char *fileFilter;
+ const char *qImageFormat;
+} saveImageFormats[nSaveImageFormats] = {
+ { "JPEG", "JPEG files (*.jpg)", "JPEG" },
+ { "PNG", "PNG files (*.png)", "PNG" },
+ { "TIFF", "TIFF files (*.tiff)", "TIFF" }
+};
+
+void XpdfViewer::execSaveImageDialog() {
+ int i;
+
+ QDialog *dialog = new QDialog();
+ dialog->setWindowTitle("XpdfReader: Save Image");
+
+ QVBoxLayout *vbox = new QVBoxLayout();
+ dialog->setLayout(vbox);
+
+ QGridLayout *grid = new QGridLayout();
+ vbox->addLayout(grid);
+
+ grid->addWidget(new QLabel("Region:"), 0, 0);
+
+ QHBoxLayout *regionBox = new QHBoxLayout();
+ grid->addLayout(regionBox, 0, 1);
+
+ QButtonGroup *regionBtnGroup = new QButtonGroup(dialog);
+
+ QRadioButton *pageBtn = new QRadioButton("Page:");
+ regionBtnGroup->addButton(pageBtn);
+ regionBox->addWidget(pageBtn);
+ pageBtn->setChecked(true);
+
+ QLineEdit *pageEdit = new QLineEdit();
+ regionBox->addWidget(pageEdit);
+#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)
+ pageEdit->setFixedWidth(8 * pageEdit->fontMetrics().horizontalAdvance("0"));
+#else
+ pageEdit->setFixedWidth(8 * pageEdit->fontMetrics().width("0"));
+#endif
+ int pg = currentTab->pdf->getMidPage();
+ pageEdit->setText(QString().setNum(pg));
+ connect(pageEdit, SIGNAL(textChanged(const QString&)),
+ pageBtn, SLOT(click()));
+ connect(pageEdit, SIGNAL(cursorPositionChanged(int, int)),
+ pageBtn, SLOT(click()));
+ connect(pageEdit, SIGNAL(selectionChanged()), pageBtn, SLOT(click()));
+
+ regionBox->addSpacing(20);
+
+ QRadioButton *selectionBtn = new QRadioButton("Current selection");
+ regionBtnGroup->addButton(selectionBtn);
+ regionBox->addWidget(selectionBtn);
+ selectionBtn->setEnabled(currentTab->pdf->hasSelection());
+
+ grid->addWidget(new QLabel("Resolution:"), 2, 0);
+
+ QHBoxLayout *resolutionBox = new QHBoxLayout();
+ grid->addLayout(resolutionBox, 2, 1);
+
+ QLineEdit *resolutionEdit = new QLineEdit();
+ resolutionBox->addWidget(resolutionEdit);
+#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)
+ resolutionEdit->setFixedWidth(
+ 8 * pageEdit->fontMetrics().horizontalAdvance("0"));
+#else
+ resolutionEdit->setFixedWidth(8 * pageEdit->fontMetrics().width("0"));
+#endif
+ int r = (int)floor(currentTab->pdf->getZoomPercent(pg) * 0.72 + 0.5);
+ resolutionEdit->setText(QString().setNum(r));
+
+ resolutionBox->addWidget(new QLabel("dpi"));
+
+ grid->addWidget(new QLabel("Format:"), 3, 0);
+
+ QHBoxLayout *formatBox = new QHBoxLayout();
+ grid->addLayout(formatBox, 3, 1);
+
+ QComboBox *formatCombo = new QComboBox();
+ formatBox->addWidget(formatCombo);
+ formatCombo->setEditable(false);
+ for (i = 0; i < nSaveImageFormats; ++i) {
+ formatCombo->addItem(saveImageFormats[i].comboBoxText);
+ }
+ formatCombo->setCurrentIndex(0);
+
+ formatBox->addStretch();
+
+ QHBoxLayout *btnBox = new QHBoxLayout();
+ vbox->addLayout(btnBox);
+
+ btnBox->addStretch();
+
+ QPushButton *cancelBtn = new QPushButton("Cancel");
+ btnBox->addWidget(cancelBtn);
+ connect(cancelBtn, SIGNAL(clicked()), dialog, SLOT(reject()));
+
+ QPushButton *okBtn = new QPushButton("Ok");
+ btnBox->addWidget(okBtn);
+ okBtn->setDefault(true);
+ connect(okBtn, SIGNAL(clicked()), dialog, SLOT(accept()));
+
+ dialog->setModal(true);
+
+ if (dialog->exec() == QDialog::Accepted) {
+ double res = resolutionEdit->text().toDouble();
+ bool wholePage = pageBtn->isChecked();
+ int page;
+ double x0, y0, x1, y1;
+ if (wholePage) {
+ page = pageEdit->text().toInt();
+ if (page < 1 || page > currentTab->pdf->getNumPages()) {
+ page = 1;
+ }
+ x0 = y0 = x1 = y1 = 0;
+ } else {
+ currentTab->pdf->getCurrentSelection(&page, &x0, &y0, &x1, &y1);
+ }
+ int fmt = formatCombo->currentIndex();
+ QString fileName =
+ QFileDialog::getSaveFileName(this, "Save Image",
+ QString(),
+ saveImageFormats[fmt].fileFilter);
+ if (!fileName.isEmpty()) {
+ QImage img;
+ if (wholePage) {
+ img = currentTab->pdf->convertPageToImage(page, res);
+ } else {
+ img = currentTab->pdf->convertRegionToImage(page, x0, y0, x1, y1, res);
+ }
+ img.save(fileName, saveImageFormats[fmt].qImageFormat);
+ }
+ }
+
+ delete dialog;
+}
diff --git a/xpdf-qt/XpdfViewer.h b/xpdf-qt/XpdfViewer.h
new file mode 100644
index 0000000..f957626
--- /dev/null
+++ b/xpdf-qt/XpdfViewer.h
@@ -0,0 +1,508 @@
+//========================================================================
+//
+// XpdfViewer.h
+//
+// Copyright 2015 Glyph & Cog, LLC
+//
+//========================================================================
+
+#ifndef XPDFVIEWER_H
+#define XPDFVIEWER_H
+
+#include <aconf.h>
+
+#include <QDialog>
+#include <QIcon>
+#include <QLocalServer>
+#include <QMainWindow>
+#include <QToolButton>
+#include "gtypes.h"
+#include "Error.h"
+#include "XpdfWidget.h"
+
+class GString;
+class GList;
+class PropertyListAnimation;
+class QComboBox;
+class QDialog;
+class QHBoxLayout;
+class QInputEvent;
+class QLabel;
+class QLineEdit;
+class QListWidget;
+class QListWidgetItem;
+class QMenu;
+class QModelIndex;
+class QProgressDialog;
+class QSignalMapper;
+class QSplitter;
+class QStackedLayout;
+class QStackedWidget;
+class QTextBrowser;
+class QTimer;
+class QToolBar;
+class QToolButton;
+class XpdfApp;
+class XpdfMenuButton;
+class XpdfTabInfo;
+class XpdfViewer;
+
+//------------------------------------------------------------------------
+
+struct XpdfViewerCmd {
+ const char *name;
+ int nArgs;
+ GBool requiresDoc;
+ GBool requiresEvent;
+ void (XpdfViewer::*func)(GString *args[], int nArgs, QInputEvent *event);
+};
+
+//------------------------------------------------------------------------
+// XpdfMenuButton
+//------------------------------------------------------------------------
+
+class XpdfMenuButton: public QToolButton {
+ Q_OBJECT
+
+public:
+
+ XpdfMenuButton(QMenu *menuA);
+
+private slots:
+
+ void btnPressed();
+
+private:
+
+ QMenu *menu;
+};
+
+//------------------------------------------------------------------------
+// XpdfErrorWindow
+//------------------------------------------------------------------------
+
+class XpdfErrorWindow: public QWidget {
+ Q_OBJECT
+
+public:
+
+ XpdfErrorWindow(XpdfViewer *viewerA, int errorEventTypeA);
+ virtual ~XpdfErrorWindow();
+ virtual QSize sizeHint() const;
+ virtual void closeEvent(QCloseEvent *event);
+ virtual void keyPressEvent(QKeyEvent *event);
+ virtual void customEvent(QEvent *event);
+
+private slots:
+
+ void clearBtnPressed();
+
+private:
+
+ static void errorCbk(void *data, ErrorCategory category,
+ int pos, char *msg);
+ static void dummyErrorCbk(void *data, ErrorCategory category,
+ int pos, char *msg);
+
+ XpdfViewer *viewer;
+ int errorEventType;
+ QListWidget *list;
+ QSize lastSize;
+};
+
+//------------------------------------------------------------------------
+// XpdfViewer
+//------------------------------------------------------------------------
+
+class XpdfViewer: public QMainWindow {
+ Q_OBJECT
+
+public:
+
+ XpdfViewer(XpdfApp *appA, GBool fullScreen);
+
+ static XpdfViewer *create(XpdfApp *app, QString fileName, int page,
+ QString destName, int rot, QString password,
+ GBool fullScreen);
+
+ virtual ~XpdfViewer();
+
+ virtual QSize sizeHint() const;
+
+ void tweakSize();
+
+ // Open a file in the current tab. Returns a boolean indicating
+ // success.
+ GBool open(QString fileName, int page, QString destName, int rot,
+ QString password);
+
+ // Open a file in a new tab. Returns a boolean indicating success.
+ GBool openInNewTab(QString fileName, int page, QString destName,
+ int rot, QString password, GBool switchToTab);
+
+ // Check that [fileName] is open in the current tab -- if not, open
+ // it. In either case, switch to [page] or [destName]. Returns a
+ // boolean indicating success.
+ GBool checkOpen(QString fileName, int page, QString destName,
+ QString password);
+
+ virtual QMenu *createPopupMenu();
+
+ // Start up the remote server socket.
+ void startRemoteServer(const QString &remoteServerName);
+
+ // Execute a command [cmd], with [event] for context.
+ void execCmd(const char *cmd, QInputEvent *event);
+
+public slots:
+
+ bool close();
+
+private slots:
+
+ void remoteServerConnection();
+ void remoteServerRead();
+
+ void pdfResized();
+ void pdfPaintDone(bool finished);
+ void preLoad();
+ void postLoad();
+ void keyPress(QKeyEvent *e);
+ void mousePress(QMouseEvent *e);
+ void mouseRelease(QMouseEvent *e);
+ void mouseClick(QMouseEvent *e);
+ void mouseDoubleClick(QMouseEvent *e);
+ void mouseTripleClick(QMouseEvent *e);
+ void mouseWheel(QWheelEvent *e);
+ void mouseMove(QMouseEvent *e);
+ void pageChange(int pg);
+ void sidebarSplitterMoved(int pos, int index);
+#if XPDFWIDGET_PRINTING
+ void printStatus(int nextPage, int firstPage, int lastPage);
+ void cancelPrint();
+#endif
+
+ void openMenuAction();
+ void openInNewWinMenuAction();
+ void reloadMenuAction();
+ void saveAsMenuAction();
+ void saveImageMenuAction();
+#if XPDFWIDGET_PRINTING
+ void printMenuAction();
+#endif
+ void quitMenuAction();
+ void copyMenuAction();
+ void singlePageModeMenuAction();
+ void continuousModeMenuAction();
+ void sideBySideSingleModeMenuAction();
+ void sideBySideContinuousModeMenuAction();
+ void horizontalContinuousModeMenuAction();
+ void fullScreenMenuAction(bool checked);
+ void rotateClockwiseMenuAction();
+ void rotateCounterclockwiseMenuAction();
+ void zoomToSelectionMenuAction();
+ void toggleToolbarMenuAction(bool checked);
+ void toggleSidebarMenuAction(bool checked);
+ void viewPageLabelsMenuAction(bool checked);
+ void documentInfoMenuAction();
+ void newTabMenuAction();
+ void newWindowMenuAction();
+ void closeTabMenuAction();
+ void closeWindowMenuAction();
+ void openErrorWindowMenuAction();
+ void helpMenuAction();
+ void keyBindingsMenuAction();
+ void aboutMenuAction();
+
+ void popupMenuAction(int idx);
+
+ void toggleSidebarButtonPressed();
+ void pageNumberChanged();
+ void backButtonPressed();
+ void forwardButtonPressed();
+ void zoomOutButtonPressed();
+ void zoomInButtonPressed();
+ void zoomIndexChanged(int idx);
+ void zoomEditingFinished();
+ void fitWidthButtonPressed();
+ void fitPageButtonPressed();
+ void selectModeButtonPressed();
+ void statusIndicatorPressed();
+ void findTextChanged();
+ void findNextButtonPressed();
+ void findPrevButtonPressed();
+ void newTabButtonPressed();
+
+ void switchTab(QListWidgetItem *current, QListWidgetItem *previous);
+ void tabsReordered(const QModelIndex &srcParent, int srcStart, int srcEnd,
+ const QModelIndex &destParent, int destRow);
+ void infoComboBoxChanged(int idx);
+ void outlineItemClicked(const QModelIndex& idx);
+ void layerItemClicked(const QModelIndex& idx);
+ void attachmentSaveClicked(int idx);
+
+ void clearFindError();
+
+private:
+
+ friend class XpdfErrorWindow;
+
+ //--- commands
+ int mouseX(QInputEvent *event);
+ int mouseY(QInputEvent *event);
+ void cmdAbout(GString *args[], int nArgs, QInputEvent *event);
+ void cmdBlockSelectMode(GString *args[], int nArgs, QInputEvent *event);
+ void cmdCheckOpenFile(GString *args[], int nArgs, QInputEvent *event);
+ void cmdCheckOpenFileAtDest(GString *args[], int nArgs, QInputEvent *event);
+ void cmdCheckOpenFileAtPage(GString *args[], int nArgs, QInputEvent *event);
+ void cmdCloseTabOrQuit(GString *args[], int nArgs, QInputEvent *event);
+ void cmdCloseSidebar(GString *args[], int nArgs, QInputEvent *event);
+ void cmdCloseSidebarMoveResizeWin(GString *args[], int nArgs, QInputEvent *event);
+ void cmdCloseSidebarResizeWin(GString *args[], int nArgs, QInputEvent *event);
+ void cmdCloseWindowOrQuit(GString *args[], int nArgs, QInputEvent *event);
+ void cmdContinuousMode(GString *args[], int nArgs, QInputEvent *event);
+ void cmdCopy(GString *args[], int nArgs, QInputEvent *event);
+ void cmdCopyLinkTarget(GString *args[], int nArgs, QInputEvent *event);
+#if 0 // for debugging
+ void cmdDebug1(GString *args[], int nArgs, QInputEvent *event);
+#endif
+ void cmdEndPan(GString *args[], int nArgs, QInputEvent *event);
+ void cmdEndSelection(GString *args[], int nArgs, QInputEvent *event);
+ void cmdExpandSidebar(GString *args[], int nArgs, QInputEvent *event);
+ void cmdFind(GString *args[], int nArgs, QInputEvent *event);
+ void cmdFindFirst(GString *args[], int nArgs, QInputEvent *event);
+ void cmdFindNext(GString *args[], int nArgs, QInputEvent *event);
+ void cmdFindPrevious(GString *args[], int nArgs, QInputEvent *event);
+ void cmdFocusToDocWin(GString *args[], int nArgs, QInputEvent *event);
+ void cmdFocusToPageNum(GString *args[], int nArgs, QInputEvent *event);
+ void cmdFollowLink(GString *args[], int nArgs, QInputEvent *event);
+ void cmdFollowLinkInNewTab(GString *args[], int nArgs, QInputEvent *event);
+ void cmdFollowLinkInNewTabNoSel(GString *args[], int nArgs, QInputEvent *event);
+ void cmdFollowLinkInNewWin(GString *args[], int nArgs, QInputEvent *event);
+ void cmdFollowLinkInNewWinNoSel(GString *args[], int nArgs, QInputEvent *event);
+ void cmdFollowLinkNoSel(GString *args[], int nArgs, QInputEvent *event);
+ void cmdFullScreenMode(GString *args[], int nArgs, QInputEvent *event);
+ void cmdGoBackward(GString *args[], int nArgs, QInputEvent *event);
+ void cmdGoForward(GString *args[], int nArgs, QInputEvent *event);
+ void cmdGotoDest(GString *args[], int nArgs, QInputEvent *event);
+ void cmdGotoLastPage(GString *args[], int nArgs, QInputEvent *event);
+ void cmdGotoPage(GString *args[], int nArgs, QInputEvent *event);
+ void cmdHelp(GString *args[], int nArgs, QInputEvent *event);
+ void cmdHideMenuBar(GString *args[], int nArgs, QInputEvent *event);
+ void cmdHideToolbar(GString *args[], int nArgs, QInputEvent *event);
+ void cmdHorizontalContinuousMode(GString *args[], int nArgs, QInputEvent *event);
+ void cmdLinearSelectMode(GString *args[], int nArgs, QInputEvent *event);
+ void cmdLoadTabState(GString *args[], int nArgs, QInputEvent *event);
+ void cmdNewTab(GString *args[], int nArgs, QInputEvent *event);
+ void cmdNewWindow(GString *args[], int nArgs, QInputEvent *event);
+ void cmdNextPage(GString *args[], int nArgs, QInputEvent *event);
+ void cmdNextPageNoScroll(GString *args[], int nArgs, QInputEvent *event);
+ void cmdNextTab(GString *args[], int nArgs, QInputEvent *event);
+ void cmdOpen(GString *args[], int nArgs, QInputEvent *event);
+ void cmdOpenErrorWindow(GString *args[], int nArgs, QInputEvent *event);
+ void cmdOpenFile(GString *args[], int nArgs, QInputEvent *event);
+ void cmdOpenFile2(GString *args[], int nArgs, QInputEvent *event);
+ void cmdOpenFileAtDest(GString *args[], int nArgs, QInputEvent *event);
+ void cmdOpenFileAtDestIn(GString *args[], int nArgs, QInputEvent *event);
+ void cmdOpenFileAtPage(GString *args[], int nArgs, QInputEvent *event);
+ void cmdOpenFileAtPageIn(GString *args[], int nArgs, QInputEvent *event);
+ void cmdOpenFileIn(GString *args[], int nArgs, QInputEvent *event);
+ void cmdOpenIn(GString *args[], int nArgs, QInputEvent *event);
+ void cmdOpenSidebar(GString *args[], int nArgs, QInputEvent *event);
+ void cmdOpenSidebarMoveResizeWin(GString *args[], int nArgs, QInputEvent *event);
+ void cmdOpenSidebarResizeWin(GString *args[], int nArgs, QInputEvent *event);
+ void cmdPageDown(GString *args[], int nArgs, QInputEvent *event);
+ void cmdPageUp(GString *args[], int nArgs, QInputEvent *event);
+ void cmdPostPopupMenu(GString *args[], int nArgs, QInputEvent *event);
+ void cmdPrevPage(GString *args[], int nArgs, QInputEvent *event);
+ void cmdPrevPageNoScroll(GString *args[], int nArgs, QInputEvent *event);
+ void cmdPrevTab(GString *args[], int nArgs, QInputEvent *event);
+#if XPDFWIDGET_PRINTING
+ void cmdPrint(GString *args[], int nArgs, QInputEvent *event);
+#endif
+ void cmdQuit(GString *args[], int nArgs, QInputEvent *event);
+ void cmdRaise(GString *args[], int nArgs, QInputEvent *event);
+ void cmdReload(GString *args[], int nArgs, QInputEvent *event);
+ void cmdRotateCW(GString *args[], int nArgs, QInputEvent *event);
+ void cmdRotateCCW(GString *args[], int nArgs, QInputEvent *event);
+ void cmdRun(GString *args[], int nArgs, QInputEvent *event);
+ void cmdSaveAs(GString *args[], int nArgs, QInputEvent *event);
+ void cmdSaveImage(GString *args[], int nArgs, QInputEvent *event);
+ void cmdSaveTabState(GString *args[], int nArgs, QInputEvent *event);
+ void cmdScrollDown(GString *args[], int nArgs, QInputEvent *event);
+ void cmdScrollDownNextPage(GString *args[], int nArgs, QInputEvent *event);
+ void cmdScrollLeft(GString *args[], int nArgs, QInputEvent *event);
+ void cmdScrollOutlineDown(GString *args[], int nArgs, QInputEvent *event);
+ void cmdScrollOutlineUp(GString *args[], int nArgs, QInputEvent *event);
+ void cmdScrollRight(GString *args[], int nArgs, QInputEvent *event);
+ void cmdScrollToBottomEdge(GString *args[], int nArgs, QInputEvent *event);
+ void cmdScrollToBottomRight(GString *args[], int nArgs, QInputEvent *event);
+ void cmdScrollToLeftEdge(GString *args[], int nArgs, QInputEvent *event);
+ void cmdScrollToRightEdge(GString *args[], int nArgs, QInputEvent *event);
+ void cmdScrollToTopEdge(GString *args[], int nArgs, QInputEvent *event);
+ void cmdScrollToTopLeft(GString *args[], int nArgs, QInputEvent *event);
+ void cmdScrollUp(GString *args[], int nArgs, QInputEvent *event);
+ void cmdScrollUpPrevPage(GString *args[], int nArgs, QInputEvent *event);
+ void cmdSelectLine(GString *args[], int nArgs, QInputEvent *event);
+ void cmdSelectWord(GString *args[], int nArgs, QInputEvent *event);
+ void cmdSetSelection(GString *args[], int nArgs, QInputEvent *event);
+ void cmdShowAttachmentsPane(GString *args[], int nArgs, QInputEvent *event);
+ void cmdShowDocumentInfo(GString *args[], int nArgs, QInputEvent *event);
+ void cmdShowKeyBindings(GString *args[], int nArgs, QInputEvent *event);
+ void cmdShowLayersPane(GString *args[], int nArgs, QInputEvent *event);
+ void cmdShowMenuBar(GString *args[], int nArgs, QInputEvent *event);
+ void cmdShowOutlinePane(GString *args[], int nArgs, QInputEvent *event);
+ void cmdShowToolbar(GString *args[], int nArgs, QInputEvent *event);
+ void cmdShrinkSidebar(GString *args[], int nArgs, QInputEvent *event);
+ void cmdSideBySideContinuousMode(GString *args[], int nArgs, QInputEvent *event);
+ void cmdSideBySideSingleMode(GString *args[], int nArgs, QInputEvent *event);
+ void cmdSinglePageMode(GString *args[], int nArgs, QInputEvent *event);
+ void cmdStartExtendedSelection(GString *args[], int nArgs, QInputEvent *event);
+ void cmdStartPan(GString *args[], int nArgs, QInputEvent *event);
+ void cmdStartSelection(GString *args[], int nArgs, QInputEvent *event);
+ void cmdToggleContinuousMode(GString *args[], int nArgs, QInputEvent *event);
+ void cmdToggleFullScreenMode(GString *args[], int nArgs, QInputEvent *event);
+ void cmdToggleMenuBar(GString *args[], int nArgs, QInputEvent *event);
+ void cmdToggleSelectMode(GString *args[], int nArgs, QInputEvent *event);
+ void cmdToggleSidebar(GString *args[], int nArgs, QInputEvent *event);
+ void cmdToggleSidebarMoveResizeWin(GString *args[], int nArgs, QInputEvent *event);
+ void cmdToggleSidebarResizeWin(GString *args[], int nArgs, QInputEvent *event);
+ void cmdToggleToolbar(GString *args[], int nArgs, QInputEvent *event);
+ void cmdViewPageLabels(GString *args[], int nArgs, QInputEvent *event);
+ void cmdViewPageNumbers(GString *args[], int nArgs, QInputEvent *event);
+ void cmdWindowMode(GString *args[], int nArgs, QInputEvent *event);
+ void cmdZoomFitPage(GString *args[], int nArgs, QInputEvent *event);
+ void cmdZoomFitWidth(GString *args[], int nArgs, QInputEvent *event);
+ void cmdZoomIn(GString *args[], int nArgs, QInputEvent *event);
+ void cmdZoomOut(GString *args[], int nArgs, QInputEvent *event);
+ void cmdZoomPercent(GString *args[], int nArgs, QInputEvent *event);
+ void cmdZoomToSelection(GString *args[], int nArgs, QInputEvent *event);
+ int scaleScroll(int delta);
+ void followLink(QInputEvent *event, GBool onlyIfNoSel,
+ GBool newTab, GBool newWindow);
+
+ //--- GUI events
+ int getModifiers(Qt::KeyboardModifiers qtMods);
+ int getContext(Qt::KeyboardModifiers qtMods);
+ int getMouseButton(Qt::MouseButton qtBtn);
+ virtual void keyPressEvent(QKeyEvent *e);
+ virtual void dragEnterEvent(QDragEnterEvent *e);
+ virtual void dropEvent(QDropEvent *e);
+ virtual bool eventFilter(QObject *watched, QEvent *event);
+
+ //--- GUI setup
+ void createWindow();
+ void createToolBar();
+ QToolButton *addToolBarButton(const QIcon &icon,
+ const char *slot, const char *tip);
+ XpdfMenuButton *addToolBarMenuButton(const QIcon &icon,
+ const char *tip, QMenu *menu);
+ void addToolBarSeparator();
+ void addToolBarSpacing(int w);
+ void addToolBarStretch();
+ void createMainMenu();
+ void createXpdfPopupMenu();
+ QWidget *createTabPane();
+ QWidget *createInfoPane();
+ void updateInfoPane();
+ void destroyWindow();
+ void enterFullScreenMode();
+ void exitFullScreenMode();
+ void addTab();
+ void closeTab(XpdfTabInfo *tab);
+ void gotoTab(int idx);
+ void updateModeInfo();
+ void updateZoomInfo();
+ void updateSelectModeInfo();
+ void updateDocInfo();
+ void updatePageNumberOrLabel(int pg);
+ void updateOutline(int pg);
+ void setOutlineOpenItems(const QModelIndex &idx);
+ void fillAttachmentList();
+ void statusIndicatorStart();
+ void statusIndicatorStop();
+ void statusIndicatorOk();
+ void statusIndicatorError();
+ void showFindError();
+ void createDocumentInfoDialog();
+ void updateDocumentInfoDialog(XpdfWidget *view);
+ QString createDocumentInfoMetadataHTML(XpdfWidget *view);
+ QString createDocumentInfoFontsHTML(XpdfWidget *view);
+ void createKeyBindingsDialog();
+ QString createKeyBindingsHTML();
+ void createAboutDialog();
+ void execSaveImageDialog();
+
+ static XpdfViewerCmd cmdTab[];
+
+ XpdfApp *app;
+
+ // menu
+ QMenuBar *mainMenu;
+ QMenu *displayModeSubmenu;
+ QAction *fullScreenMenuItem;
+ QAction *toggleToolbarMenuItem;
+ QAction *toggleSidebarMenuItem;
+ QAction *viewPageLabelsMenuItem;
+
+ // popup menu
+ QMenu *popupMenu;
+ QSignalMapper *popupMenuSignalMapper;
+
+ // toolbar
+ int toolBarFontSize; // used for HiDPI scaling
+ QToolBar *toolBar;
+ QLineEdit *pageNumber;
+ QLabel *pageCount;
+ QComboBox *zoomComboBox;
+ QToolButton *fitWidthBtn;
+ QToolButton *fitPageBtn;
+ QToolButton *selectModeBtn;
+ PropertyListAnimation *indicatorAnimation;
+ QList<QVariant> indicatorIcons;
+ QList<QVariant> indicatorErrIcons;
+ QLineEdit *findEdit;
+ QAction *findCaseSensitiveAction;
+ QAction *findWholeWordsAction;
+
+ // sidebar pane
+ QSplitter *sidebarSplitter;
+ int initialSidebarWidth;
+ int sidebarWidth;
+ QListWidget *tabList;
+ QComboBox *infoComboBox;
+ QStackedLayout *infoStack;
+
+ // viewer pane
+ QStackedWidget *viewerStack;
+
+ QLabel *linkTargetBar;
+ QString linkTargetInfo;
+
+ GList *tabInfo; // [XpdfTabInfo]
+ XpdfTabInfo *currentTab;
+ XpdfTabInfo *lastOpenedTab;
+
+ double scaleFactor;
+
+ XpdfWidget::DisplayMode fullScreenPreviousDisplayMode;
+ double fullScreenPreviousZoom;
+
+ QTimer *findErrorTimer;
+
+ XpdfErrorWindow *errorWindow;
+ QDialog *documentInfoDialog;
+ QTextBrowser *documentInfoMetadataTab;
+ QTextBrowser *documentInfoFontsTab;
+ QDialog *keyBindingsDialog;
+ QDialog *aboutDialog;
+#if XPDFWIDGET_PRINTING
+ QProgressDialog *printStatusDialog;
+#endif
+
+ QString lastFileOpened;
+
+ QLocalServer *remoteServer;
+};
+
+#endif
diff --git a/xpdf-qt/XpdfWidget.cc b/xpdf-qt/XpdfWidget.cc
new file mode 100644
index 0000000..f5ad763
--- /dev/null
+++ b/xpdf-qt/XpdfWidget.cc
@@ -0,0 +1,2256 @@
+//========================================================================
+//
+// XpdfWidget.cc
+//
+// Copyright 2009 Glyph & Cog, LLC
+//
+//========================================================================
+
+#include <aconf.h>
+
+#ifdef USE_GCC_PRAGMAS
+#pragma implementation
+#endif
+
+#ifdef _WIN32
+#include <windows.h>
+#endif
+#include <QApplication>
+#include <QMutex>
+#include <QKeyEvent>
+#include <QPaintEvent>
+#include <QTimer>
+#include <QAbstractScrollArea>
+#include <QGesture>
+#include <QGestureEvent>
+#if XPDFWIDGET_PRINTING
+# include <QPrinter>
+# include <QPrintDialog>
+#endif
+#include "gmem.h"
+#include "gmempp.h"
+#include "gfile.h"
+#include "GString.h"
+#include "GList.h"
+#include "SplashBitmap.h"
+#include "config.h"
+#include "GlobalParams.h"
+#include "PDFDoc.h"
+#include "Object.h"
+#include "SplashOutputDev.h"
+#include "Outline.h"
+#include "OptionalContent.h"
+#include "Link.h"
+#include "Annot.h"
+#include "AcroForm.h"
+#include "TextString.h"
+#include "QtPDFCore.h"
+#include "XpdfWidget.h"
+#if XPDFWIDGET_PRINTING
+# include "XpdfWidgetPrint.h"
+#endif
+
+//------------------------------------------------------------------------
+
+// Time (in ms) between incremental updates.
+#define incrementalUpdateInterval 100
+
+//------------------------------------------------------------------------
+
+QMutex XpdfWidget::initMutex;
+
+//------------------------------------------------------------------------
+
+XpdfWidget::XpdfWidget(const QColor &paperColor, const QColor &matteColor,
+ bool reverseVideo, QWidget *parentA):
+ QAbstractScrollArea(parentA)
+{
+ setup(paperColor, matteColor, reverseVideo);
+}
+
+XpdfWidget::XpdfWidget(QWidget *parentA, const QColor &paperColor,
+ const QColor &matteColor, bool reverseVideo):
+ QAbstractScrollArea(parentA)
+{
+ setup(paperColor, matteColor, reverseVideo);
+}
+
+void XpdfWidget::setup(const QColor &paperColor, const QColor &matteColor,
+ bool reverseVideo) {
+ SplashColor paperColor2, matteColor2;
+
+ init();
+
+ paperColor2[0] = (Guchar)paperColor.red();
+ paperColor2[1] = (Guchar)paperColor.green();
+ paperColor2[2] = (Guchar)paperColor.blue();
+ matteColor2[0] = (Guchar)matteColor.red();
+ matteColor2[1] = (Guchar)matteColor.green();
+ matteColor2[2] = (Guchar)matteColor.blue();
+ try {
+ core = new QtPDFCore(viewport(), horizontalScrollBar(),
+ verticalScrollBar(),
+ paperColor2, matteColor2, (GBool)reverseVideo);
+ core->setUpdateCbk(updateCbk, this);
+ core->setMidPageChangedCbk(midPageChangedCbk, this);
+ core->setPreLoadCbk(preLoadCbk, this);
+ core->setPostLoadCbk(postLoadCbk, this);
+ core->setLinkCbk(linkCbk, this);
+ core->setSelectDoneCbk(selectDoneCbk, this);
+ core->setPaintDoneCbk(paintDoneCbk, this);
+ core->setTileDoneCbk(tileDoneCbk, this);
+ connect(this, SIGNAL(tileDone()), viewport(), SLOT(update()));
+ scaleFactor = core->getScaleFactor();
+ } catch (GMemException e) {
+ //~ what should this do?
+ core = NULL;
+ }
+
+#if XPDFWIDGET_PRINTING
+ printerForDialog = NULL;
+ printDialog = NULL;
+ printHDPI = printVDPI = 0;
+#endif
+
+ keyPassthrough = false;
+ mousePassthrough = false;
+ lastMousePressX[0] = lastMousePressX[1] = lastMousePressX[2] = 0;
+ lastMousePressY[0] = lastMousePressY[1] = lastMousePressY[2] = 0;
+ lastMousePressTime[0] = lastMousePressTime[1] = lastMousePressTime[2] = 0;
+ lastMouseEventWasPress = false;
+
+ viewport()->installEventFilter(this);
+ touchPanEnabled = false;
+ touchZoomEnabled = false;
+ pinchZoomStart = 100;
+
+ tickTimer = new QTimer(this);
+ connect(tickTimer, SIGNAL(timeout()), this, SLOT(tick()));
+ tickTimer->start(incrementalUpdateInterval);
+}
+
+XpdfWidget::~XpdfWidget() {
+#if XPDFWIDGET_PRINTING
+ delete printerForDialog;
+ delete printDialog;
+#endif
+ delete tickTimer;
+ delete core;
+}
+
+void XpdfWidget::init(const QString &configFileName) {
+#ifdef _WIN32
+ char buf[512];
+ GString *dir, *path;
+ char *configFileName2;
+ int n;
+#endif
+
+ initMutex.lock();
+ if (!globalParams) {
+ try {
+#ifdef _WIN32
+ // get the executable directory
+ n = GetModuleFileNameA(NULL, buf, sizeof(buf));
+ if (n <= 0 || n >= sizeof(buf)) {
+ // error or path too long for buffer - just use the current dir
+ buf[0] = '\0';
+ }
+ dir = grabPath(buf);
+
+ // load the config file
+ path = NULL;
+ if (configFileName.isEmpty()) {
+ path = appendToPath(dir->copy(), xpdfSysConfigFile);
+ configFileName2 = path->getCString();
+ } else {
+ configFileName2 = (char *)configFileName.toLocal8Bit().constData();
+ }
+ globalParams = new GlobalParams(configFileName2);
+ globalParams->setBaseDir(dir->getCString());
+ globalParams->setErrQuiet(gTrue);
+ if (path) {
+ delete path;
+ }
+
+ // set up the base fonts
+ appendToPath(dir, "t1fonts");
+ globalParams->setupBaseFonts(dir->getCString());
+ delete dir;
+#else
+ globalParams = new GlobalParams(
+ (char *)configFileName.toLocal8Bit().constData());
+ globalParams->setErrQuiet(gTrue);
+ globalParams->setupBaseFonts(NULL);
+#endif
+ } catch (GMemException e) {
+ // there's no way to return an error code here
+ return;
+ }
+ }
+ initMutex.unlock();
+}
+
+void XpdfWidget::setConfig(const QString &command) {
+ GString *fileName;
+
+ init();
+ try {
+ fileName = new GString("(none)");
+ globalParams->parseLine((char *)command.toLocal8Bit().constData(),
+ fileName, 1);
+ delete fileName;
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::enableHyperlinks(bool on) {
+ try {
+ core->enableHyperlinks((GBool)on);
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::enableExternalHyperlinks(bool on) {
+ try {
+ core->enableExternalHyperlinks((GBool)on);
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::enableSelect(bool on) {
+ try {
+ core->enableSelect((GBool)on);
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::enablePan(bool on) {
+ try {
+ core->enablePan((GBool)on);
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::enableTouchPan(bool on) {
+ touchPanEnabled = on;
+ if (touchPanEnabled) {
+ viewport()->grabGesture(Qt::PanGesture);
+ } else {
+ viewport()->ungrabGesture(Qt::PanGesture);
+ }
+}
+
+void XpdfWidget::enableTouchZoom(bool on) {
+ touchZoomEnabled = on;
+ if (touchZoomEnabled) {
+ viewport()->grabGesture(Qt::PinchGesture);
+ } else {
+ viewport()->ungrabGesture(Qt::PinchGesture);
+ }
+}
+
+void XpdfWidget::showPasswordDialog(bool showDlg) {
+ try {
+ core->setShowPasswordDialog((GBool)showDlg);
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::setMatteColor(const QColor &matteColor) {
+ SplashColor matteColor2;
+
+ matteColor2[0] = (Guchar)matteColor.red();
+ matteColor2[1] = (Guchar)matteColor.green();
+ matteColor2[2] = (Guchar)matteColor.blue();
+ try {
+ core->setMatteColor(matteColor2);
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::setReverseVideo(bool reverse) {
+ try {
+ core->setReverseVideo((GBool)reverse);
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::setCursor(const QCursor &cursor) {
+ core->doSetCursor(cursor);
+}
+
+void XpdfWidget::unsetCursor() {
+ core->doUnsetCursor();
+}
+
+XpdfWidget::ErrorCode XpdfWidget::loadFile(const QString &fileName,
+ const QString &password) {
+ GString *passwordStr;
+#ifdef _WIN32
+ wchar_t *fileNameStr;
+ int n, i;
+#else
+ GString *fileNameStr;
+#endif
+ int err;
+
+ try {
+ if (password.isEmpty()) {
+ passwordStr = NULL;
+ } else {
+ passwordStr = new GString(password.toLocal8Bit().constData());
+ }
+#ifdef _WIN32
+ // this should use QString::toWCharArray(), but Qt builds their
+ // library with /Zc:wchar_t-, which confuses things
+ n = fileName.length();
+ fileNameStr = (wchar_t *)gmallocn(n, sizeof(wchar_t));
+ for (i = 0; i < n; ++i) {
+ fileNameStr[i] = (wchar_t)fileName[i].unicode();
+ }
+ err = core->loadFile(fileNameStr, n, passwordStr, passwordStr);
+ gfree(fileNameStr);
+#else
+ fileNameStr = new GString(fileName.toLocal8Bit().constData());
+ err = core->loadFile(fileNameStr, passwordStr, passwordStr);
+ delete fileNameStr;
+#endif
+ if (passwordStr) {
+ delete passwordStr;
+ }
+ if (!err) {
+ core->displayPage(1, gTrue, gFalse);
+ }
+ return (ErrorCode)err;
+ } catch (GMemException e) {
+ return pdfErrOutOfMemory;
+ }
+}
+
+XpdfWidget::ErrorCode XpdfWidget::loadMem(const char *buffer,
+ unsigned int bufferLength,
+ const QString &password) {
+ Object obj;
+ MemStream *stream;
+ GString *passwordStr;
+ int err;
+
+ try {
+ obj.initNull();
+ stream = new MemStream((char *)buffer, 0, bufferLength, &obj);
+ if (password.isEmpty()) {
+ passwordStr = NULL;
+ } else {
+ passwordStr = new GString(password.toLocal8Bit().constData());
+ }
+ err = core->loadFile(stream, passwordStr, passwordStr);
+ if (passwordStr) {
+ delete passwordStr;
+ }
+ if (!err) {
+ core->displayPage(1, gTrue, gFalse);
+ }
+ return (ErrorCode)err;
+ } catch (GMemException e) {
+ return pdfErrOutOfMemory;
+ }
+}
+
+XpdfWidget::ErrorCode XpdfWidget::readDoc(XpdfDocHandle *docPtr,
+ const QString &fileName,
+ const QString &password) {
+ GString *passwordStr;
+#ifdef _WIN32
+ wchar_t *fileNameStr;
+ int n, i;
+#else
+ GString *fileNameStr;
+#endif
+ PDFDoc *doc;
+ ErrorCode err;
+
+ *docPtr = NULL;
+ try {
+ if (password.isEmpty()) {
+ passwordStr = NULL;
+ } else {
+ passwordStr = new GString(password.toLocal8Bit().constData());
+ }
+#ifdef _WIN32
+ // this should use QString::toWCharArray(), but Qt builds their
+ // library with /Zc:wchar_t-, which confuses things
+ n = fileName.length();
+ fileNameStr = (wchar_t *)gmallocn(n, sizeof(wchar_t));
+ for (i = 0; i < n; ++i) {
+ fileNameStr[i] = (wchar_t)fileName[i].unicode();
+ }
+ doc = new PDFDoc(fileNameStr, n, passwordStr, passwordStr, core);
+ gfree(fileNameStr);
+#else
+ fileNameStr = new GString(fileName.toLocal8Bit().constData());
+ doc = new PDFDoc(fileNameStr, passwordStr, passwordStr, core);
+#endif
+ if (passwordStr) {
+ delete passwordStr;
+ }
+ if (doc->isOk()) {
+ *docPtr = doc;
+ err = pdfOk;
+ } else {
+ err = (ErrorCode)doc->getErrorCode();
+ delete doc;
+ }
+ } catch (GMemException e) {
+ err = pdfErrOutOfMemory;
+ }
+ return err;
+}
+
+XpdfWidget::ErrorCode XpdfWidget::loadDoc(XpdfDocHandle doc) {
+ if (!doc) {
+ return pdfErrNoHandle;
+ }
+ core->loadDoc((PDFDoc *)doc);
+ core->displayPage(1, gTrue, gFalse, gTrue);
+ return pdfOk;
+}
+
+void XpdfWidget::freeDoc(XpdfDocHandle doc) {
+ if (!doc) {
+ return;
+ }
+ delete (PDFDoc *)doc;
+}
+
+XpdfWidget::ErrorCode XpdfWidget::reload() {
+ try {
+ return (ErrorCode)core->reload();
+ } catch (GMemException e) {
+ return pdfErrOutOfMemory;
+ }
+}
+
+void XpdfWidget::closeFile() {
+ try {
+ core->clear();
+ } catch (GMemException e) {
+ }
+}
+
+XpdfWidget::ErrorCode XpdfWidget::saveAs(const QString &fileName) {
+ GString *s;
+
+ try {
+ if (!core->getDoc()) {
+ return pdfErrNoHandle;
+ }
+ s = new GString(fileName.toLocal8Bit().constData());
+ if (!core->getDoc()->saveAs(s)) {
+ delete s;
+ return pdfErrOpenFile;
+ }
+ delete s;
+ return pdfOk;
+ } catch (GMemException e) {
+ return pdfErrOutOfMemory;
+ }
+}
+
+bool XpdfWidget::hasOpenDocument() const {
+ try {
+ return core->getDoc() != NULL;
+ } catch (GMemException e) {
+ return false;
+ }
+}
+
+QString XpdfWidget::getFileName() const {
+ try {
+ if (!core->getDoc() || !core->getDoc()->getFileName()) {
+ return QString();
+ }
+#ifdef _WIN32
+ return QString::fromWCharArray(core->getDoc()->getFileNameU());
+#else
+ return QString::fromLocal8Bit(core->getDoc()->getFileName()->getCString());
+#endif
+ } catch (GMemException e) {
+ return QString();
+ }
+}
+
+int XpdfWidget::getNumPages() const {
+ try {
+ if (!core->getDoc()) {
+ return -1;
+ }
+ return core->getDoc()->getNumPages();
+ } catch (GMemException e) {
+ return -1;
+ }
+}
+
+int XpdfWidget::getCurrentPage() const {
+ try {
+ return core->getPageNum();
+ } catch (GMemException e) {
+ return -1;
+ }
+}
+
+int XpdfWidget::getMidPage() const {
+ try {
+ return core->getMidPageNum();
+ } catch (GMemException e) {
+ return -1;
+ }
+}
+
+void XpdfWidget::gotoPage(int pageNum) {
+ try {
+ core->displayPage(pageNum, gTrue, gFalse);
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::gotoFirstPage() {
+ try {
+ core->displayPage(1, gTrue, gFalse);
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::gotoLastPage() {
+ try {
+ if (!core->getDoc()) {
+ return;
+ }
+ core->displayPage(core->getDoc()->getNumPages(), gTrue, gFalse);
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::gotoNextPage(bool scrollToTop) {
+ try {
+ core->gotoNextPage(1, scrollToTop);
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::gotoPreviousPage(bool scrollToTop) {
+ try {
+ core->gotoPrevPage(1, scrollToTop, gFalse);
+ } catch (GMemException e) {
+ }
+}
+
+bool XpdfWidget::gotoNamedDestination(const QString &dest) {
+ GString *destStr;
+
+ try {
+ destStr = new GString(dest.toLocal8Bit().constData());
+ if (!core->gotoNamedDestination(destStr)) {
+ delete destStr;
+ return false;
+ }
+ delete destStr;
+ return true;
+ } catch (GMemException e) {
+ return false;
+ }
+}
+
+void XpdfWidget::goForward() {
+ try {
+ core->goForward();
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::goBackward() {
+ try {
+ core->goBackward();
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::scrollPageUp() {
+ try {
+ core->scrollPageUp();
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::scrollPageDown() {
+ try {
+ core->scrollPageDown();
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::scrollTo(int xx, int yy) {
+ try {
+ core->scrollTo(xx, yy);
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::scrollBy(int dx, int dy) {
+ try {
+ core->scrollTo(core->getScrollX() + dx, core->getScrollY()+ dy);
+ } catch (GMemException e) {
+ }
+}
+
+int XpdfWidget::getScrollX() const {
+ try {
+ return core->getScrollX();
+ } catch (GMemException e) {
+ return 0;
+ }
+}
+
+int XpdfWidget::getScrollY() const {
+ try {
+ return core->getScrollY();
+ } catch (GMemException e) {
+ return 0;
+ }
+}
+
+void XpdfWidget::setZoom(double zoom) {
+ try {
+ core->setZoom(zoom);
+ } catch (GMemException e) {
+ }
+}
+
+double XpdfWidget::getZoom() const {
+ try {
+ return core->getZoom();
+ } catch (GMemException e) {
+ return 0;
+ }
+}
+
+double XpdfWidget::getZoomPercent(int page) const {
+ double zoom;
+
+ try {
+ if (!core->getDoc() ||
+ page < 1 || page > core->getDoc()->getNumPages()) {
+ return 0;
+ }
+ zoom = core->getZoom();
+ if (zoom <= 0) {
+ zoom = 100 * core->getZoomDPI(page) / 72;
+ }
+ return zoom;
+ } catch (GMemException e) {
+ return 0;
+ }
+}
+
+void XpdfWidget::zoomToRect(int page, double xMin, double yMin,
+ double xMax, double yMax) {
+ try {
+ core->zoomToRect(page, xMin, yMin, xMax, yMax);
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::zoomCentered(double zoom) {
+ try {
+ core->zoomCentered(zoom);
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::zoomToCurrentWidth() {
+ try {
+ core->zoomToCurrentWidth();
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::setRotate(int rotate) {
+ if (!(rotate == 0 || rotate == 90 || rotate == 180 || rotate == 270)) {
+ return;
+ }
+ try {
+ core->setRotate(rotate);
+ } catch (GMemException e) {
+ }
+}
+
+int XpdfWidget::getRotate() const {
+ try {
+ return core->getRotate();
+ } catch (GMemException e) {
+ return 0;
+ }
+}
+
+void XpdfWidget::setContinuousMode(bool continuous) {
+ try {
+ core->setDisplayMode(continuous ? displayContinuous
+ : displaySingle);
+ } catch (GMemException e) {
+ }
+}
+
+bool XpdfWidget::getContinuousMode() const {
+ try {
+ return core->getDisplayMode() == displayContinuous;
+ } catch (GMemException e) {
+ return false;
+ }
+}
+
+void XpdfWidget::setDisplayMode(XpdfWidget::DisplayMode mode) {
+ try {
+ core->setDisplayMode((::DisplayMode)mode);
+ } catch (GMemException e) {
+ }
+}
+
+XpdfWidget::DisplayMode XpdfWidget::getDisplayMode() {
+ try {
+ return (XpdfWidget::DisplayMode)core->getDisplayMode();
+ } catch (GMemException e) {
+ return pdfDisplaySingle;
+ }
+}
+
+bool XpdfWidget::mouseOverLink() {
+ QPoint pt;
+ int page;
+ double xx, yy;
+
+ try {
+ if (core->getHyperlinksEnabled()) {
+ return core->getLinkAction() != NULL;
+ } else {
+ pt = mapFromGlobal(QCursor::pos());
+ if (!convertWindowToPDFCoords(pt.x(), pt.y(), &page, &xx, &yy)) {
+ return false;
+ }
+ return core->findLink(page, xx, yy) != NULL;
+ }
+ } catch (GMemException e) {
+ return false;
+ }
+}
+
+bool XpdfWidget::onLink(int page, double xx, double yy) {
+ try {
+ if (!core->getDoc()) {
+ return false;
+ }
+ if (page < 1 || page > core->getDoc()->getNumPages()) {
+ return false;
+ }
+ return core->findLink(page, xx, yy) != NULL;
+ } catch (GMemException e) {
+ return false;
+ }
+}
+
+QString XpdfWidget::getLinkInfo(int page, double xx, double yy) {
+ LinkAction *action;
+
+ try {
+ if (!core->getDoc()) {
+ return QString();
+ }
+ if (page < 1 || page > core->getDoc()->getNumPages()) {
+ return QString();
+ }
+ if (!(action = core->findLink(page, xx, yy))) {
+ return QString();
+ }
+ return core->getLinkInfo(action);
+ } catch (GMemException e) {
+ return QString();
+ }
+}
+
+QString XpdfWidget::getMouseLinkInfo() {
+ try {
+ if (!core->getLinkAction()) {
+ return QString();
+ }
+ return core->getLinkInfo(core->getLinkAction());
+ } catch (GMemException e) {
+ return QString();
+ }
+}
+
+bool XpdfWidget::gotoLinkAt(int page, double xx, double yy) {
+ LinkAction *action;
+
+ try {
+ if (!core->getDoc()) {
+ return false;
+ }
+ if (page < 1 || page > core->getDoc()->getNumPages()) {
+ return false;
+ }
+ if ((action = core->findLink(page, xx, yy))) {
+ if (!core->doAction(action)) {
+ return false;
+ }
+ }
+ } catch (GMemException e) {
+ }
+ return true;
+}
+
+bool XpdfWidget::getLinkTarget(int page, double xx, double yy,
+ QString &targetFileName, int &targetPage,
+ QString &targetDest) {
+ LinkAction *action;
+ LinkDest *dest;
+ GString *fileName, *namedDest, *path;
+ Ref pageRef;
+ char *s;
+
+ try {
+ if (!core->getDoc()) {
+ return false;
+ }
+ if (page < 1 || page > core->getDoc()->getNumPages()) {
+ return false;
+ }
+ if (!(action = core->findLink(page, xx, yy))) {
+ return false;
+ }
+ switch (action->getKind()) {
+ case actionGoTo:
+ if (!core->getDoc()->getFileName()) {
+ return false;
+ }
+ targetFileName = core->getDoc()->getFileName()->getCString();
+ if ((dest = ((LinkGoTo *)action)->getDest())) {
+ if (dest->isPageRef()) {
+ pageRef = dest->getPageRef();
+ targetPage = core->getDoc()->findPage(pageRef.num, pageRef.gen);
+ } else {
+ targetPage = dest->getPageNum();
+ }
+ targetDest = "";
+ } else if ((namedDest = ((LinkGoTo *)action)->getNamedDest())) {
+ targetDest = namedDest->getCString();
+ targetPage = 1;
+ }
+ return true;
+ case actionGoToR:
+ s = ((LinkGoToR *)action)->getFileName()->getCString();
+ if (isAbsolutePath(s)) {
+ targetFileName = s;
+ } else {
+ if (!core->getDoc()->getFileName()) {
+ return false;
+ }
+ path = appendToPath(
+ grabPath(core->getDoc()->getFileName()->getCString()), s);
+ targetFileName = path->getCString();
+ delete path;
+ }
+ if ((dest = ((LinkGoToR *)action)->getDest())) {
+ if (dest->isPageRef()) {
+ return false;
+ }
+ targetPage = dest->getPageNum();
+ targetDest = "";
+ } else if ((namedDest = ((LinkGoToR *)action)->getNamedDest())) {
+ targetDest = namedDest->getCString();
+ targetPage = 1;
+ }
+ return true;
+ case actionLaunch:
+ fileName = ((LinkLaunch *)action)->getFileName();
+ s = fileName->getCString();
+ if (!(fileName->getLength() >= 4 &&
+ (!strcmp(s + fileName->getLength() - 4, ".pdf") ||
+ !strcmp(s + fileName->getLength() - 4, ".PDF")))) {
+ return false;
+ }
+ if (isAbsolutePath(s)) {
+ targetFileName = s;
+ } else {
+ if (!core->getDoc()->getFileName()) {
+ return false;
+ }
+ path = appendToPath(
+ grabPath(core->getDoc()->getFileName()->getCString()), s);
+ targetFileName = path->getCString();
+ delete path;
+ }
+ targetPage = 1;
+ targetDest = "";
+ return true;
+ default:
+ return false;
+ }
+ } catch (GMemException e) {
+ return false;
+ }
+}
+
+XpdfAnnotHandle XpdfWidget::onAnnot(int page, double xx, double yy) {
+ try {
+ if (!core->getDoc()) {
+ return NULL;
+ }
+ return (XpdfAnnotHandle)core->findAnnot(page, xx, yy);
+ } catch (GMemException e) {
+ return NULL;
+ }
+}
+
+QString XpdfWidget::getAnnotType(XpdfAnnotHandle annot) {
+ try {
+ return ((Annot *)annot)->getType()->getCString();
+ } catch (GMemException e) {
+ return QString();
+ }
+}
+
+QString XpdfWidget::getAnnotContent(XpdfAnnotHandle annot) {
+ QString s;
+ Object annotObj, contentsObj;
+ TextString *ts;
+ Unicode *u;
+ int i;
+
+ try {
+ if (((Annot *)annot)->getObject(&annotObj)->isDict()) {
+ if (annotObj.dictLookup("Contents", &contentsObj)->isString()) {
+ ts = new TextString(contentsObj.getString());
+ u = ts->getUnicode();
+ for (i = 0; i < ts->getLength(); ++i) {
+ s.append((QChar)u[i]);
+ }
+ }
+ contentsObj.free();
+ }
+ annotObj.free();
+ return s;
+ } catch (GMemException e) {
+ return QString();
+ }
+}
+
+XpdfFormFieldHandle XpdfWidget::onFormField(int page, double xx, double yy) {
+ try {
+ if (!core->getDoc()) {
+ return NULL;
+ }
+ return (XpdfFormFieldHandle)core->findFormField(page, xx, yy);
+ } catch (GMemException e) {
+ return NULL;
+ }
+}
+
+QString XpdfWidget::getFormFieldType(XpdfFormFieldHandle field) {
+ try {
+ return ((AcroFormField *)field)->getType();
+ } catch (GMemException e) {
+ return QString();
+ }
+}
+
+QString XpdfWidget::getFormFieldName(XpdfFormFieldHandle field) {
+ Unicode *u;
+ QString s;
+ int length, i;
+
+ try {
+ u = ((AcroFormField *)field)->getName(&length);
+ for (i = 0; i < length; ++i) {
+ s.append((QChar)u[i]);
+ }
+ gfree(u);
+ return s;
+ } catch (GMemException e) {
+ return QString();
+ }
+}
+
+QString XpdfWidget::getFormFieldValue(XpdfFormFieldHandle field) {
+ Unicode *u;
+ QString s;
+ int length, i;
+
+ try {
+ u = ((AcroFormField *)field)->getValue(&length);
+ for (i = 0; i < length; ++i) {
+ s.append((QChar)u[i]);
+ }
+ gfree(u);
+ return s;
+ } catch (GMemException e) {
+ return QString();
+ }
+}
+
+void XpdfWidget::getFormFieldBBox(XpdfFormFieldHandle field, int *pageNum,
+ double *xMin, double *yMin,
+ double *xMax, double *yMax) {
+ try {
+ *pageNum = ((AcroFormField *)field)->getPageNum();
+ ((AcroFormField *)field)->getBBox(xMin, yMin, xMax, yMax);
+ } catch (GMemException e) {
+ }
+}
+
+bool XpdfWidget::convertWindowToPDFCoords(int winX, int winY,
+ int *page,
+ double *pdfX, double *pdfY) {
+ try {
+ return core->cvtWindowToUser(winX, winY, page, pdfX, pdfY);
+ } catch (GMemException e) {
+ return false;
+ }
+}
+
+void XpdfWidget::convertPDFToWindowCoords(int page, double pdfX, double pdfY,
+ int *winX, int *winY) {
+ try {
+ core->cvtUserToWindow(page, pdfX, pdfY, winX, winY);
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::enableRedraw(bool enable) {
+ setUpdatesEnabled(enable);
+}
+
+void XpdfWidget::getPageBox(int page, const QString &box,
+ double *xMin, double *yMin,
+ double *xMax, double *yMax) const {
+ PDFRectangle *r;
+
+ *xMin = *yMin = *xMax = *yMax = 0;
+ try {
+ if (!core->getDoc()) {
+ return;
+ }
+ if (page < 1 || page > core->getDoc()->getNumPages()) {
+ return;
+ }
+ if (!box.compare("media", Qt::CaseInsensitive)) {
+ r = core->getDoc()->getCatalog()->getPage(page)->getMediaBox();
+ } else if (!box.compare("crop", Qt::CaseInsensitive)) {
+ r = core->getDoc()->getCatalog()->getPage(page)->getCropBox();
+ } else if (!box.compare("bleed", Qt::CaseInsensitive)) {
+ r = core->getDoc()->getCatalog()->getPage(page)->getBleedBox();
+ } else if (!box.compare("trim", Qt::CaseInsensitive)) {
+ r = core->getDoc()->getCatalog()->getPage(page)->getTrimBox();
+ } else if (!box.compare("art", Qt::CaseInsensitive)) {
+ r = core->getDoc()->getCatalog()->getPage(page)->getArtBox();
+ } else {
+ return;
+ }
+ *xMin = r->x1;
+ *yMin = r->y1;
+ *xMax = r->x2;
+ *yMax = r->y2;
+ } catch (GMemException e) {
+ }
+}
+
+double XpdfWidget::getPageWidth(int page) const {
+ try {
+ if (!core->getDoc()) {
+ return 0;
+ }
+ if (page < 1 || page > core->getDoc()->getNumPages()) {
+ return 0;
+ }
+ return core->getDoc()->getPageCropWidth(page);
+ } catch (GMemException e) {
+ return 0;
+ }
+}
+
+double XpdfWidget::getPageHeight(int page) const {
+ try {
+ if (!core->getDoc()) {
+ return 0;
+ }
+ if (page < 1 || page > core->getDoc()->getNumPages()) {
+ return 0;
+ }
+ return core->getDoc()->getPageCropHeight(page);
+ } catch (GMemException e) {
+ return 0;
+ }
+}
+
+int XpdfWidget::getPageRotation(int page) const {
+ try {
+ if (!core->getDoc()) {
+ return 0;
+ }
+ if (page < 1 || page > core->getDoc()->getNumPages()) {
+ return 0;
+ }
+ return core->getDoc()->getCatalog()->getPage(page)->getRotate();
+ } catch (GMemException e) {
+ return 0;
+ }
+}
+
+bool XpdfWidget::hasSelection() {
+ try {
+ return (bool)core->hasSelection();
+ } catch (GMemException e) {
+ return false;
+ }
+}
+
+bool XpdfWidget::getCurrentSelection(int *page, double *x0, double *y0,
+ double *x1, double *y1) const {
+ try {
+ return (bool)core->getSelection(page, x0, y0, x1, y1);
+ } catch (GMemException e) {
+ return false;
+ }
+}
+
+void XpdfWidget::setCurrentSelection(int page, double x0, double y0,
+ double x1, double y1) {
+ int ulx, uly, lrx, lry, t;
+
+ try {
+ core->cvtUserToDev(page, x0, y0, &ulx, &uly);
+ core->cvtUserToDev(page, x1, y1, &lrx, &lry);
+ if (ulx > lrx) {
+ t = ulx; ulx = lrx; lrx = t;
+ }
+ if (uly > lry) {
+ t = uly; uly = lry; lry = t;
+ }
+ core->setSelection(page, ulx, uly, lrx, lry);
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::clearSelection() {
+ try {
+ core->clearSelection();
+ } catch (GMemException e) {
+ }
+}
+
+bool XpdfWidget::isBlockSelectMode() {
+ try {
+ return core->getSelectMode() == selectModeBlock;
+ } catch (GMemException e) {
+ return false;
+ }
+}
+
+bool XpdfWidget::isLinearSelectMode() {
+ try {
+ return core->getSelectMode() == selectModeLinear;
+ } catch (GMemException e) {
+ return false;
+ }
+}
+
+void XpdfWidget::setBlockSelectMode() {
+ try {
+ core->setSelectMode(selectModeBlock);
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::setLinearSelectMode() {
+ try {
+ core->setSelectMode(selectModeLinear);
+ } catch (GMemException e) {
+ }
+}
+
+void XpdfWidget::setSelectionColor(const QColor &selectionColor) {
+ SplashColor col;
+
+ try {
+ col[0] = (Guchar)selectionColor.red();
+ col[1] = (Guchar)selectionColor.green();
+ col[2] = (Guchar)selectionColor.blue();
+ core->setSelectionColor(col);
+ } catch (GMemException e) {
+ }
+}
+
+
+void XpdfWidget::forceRedraw() {
+ try {
+ core->forceRedraw();
+ } catch (GMemException e) {
+ }
+}
+
+#if XPDFWIDGET_PRINTING
+
+bool XpdfWidget::okToPrint() const {
+ try {
+ if (!core->getDoc()) {
+ return false;
+ }
+ return (bool)core->getDoc()->okToPrint();
+ } catch (GMemException e) {
+ return false;
+ }
+}
+
+XpdfWidget::ErrorCode XpdfWidget::print(bool showDialog) {
+ GString *defaultPrinter;
+ ErrorCode err;
+
+ try {
+ if (!core->getDoc()) {
+ return pdfErrNoHandle;
+ }
+ if (!printerForDialog) {
+ printerForDialog = new QPrinter(QPrinter::HighResolution);
+ if ((defaultPrinter = globalParams->getDefaultPrinter())) {
+ printerForDialog->setPrinterName(
+ QString::fromUtf8(defaultPrinter->getCString()));
+ delete defaultPrinter;
+ }
+ }
+ printerForDialog->setFromTo(1, core->getDoc()->getNumPages());
+ if (showDialog) {
+ if (!printDialog) {
+ printDialog = new QPrintDialog(printerForDialog, this);
+ }
+ if (printDialog->exec() != QDialog::Accepted) {
+ return pdfErrPrinting;
+ }
+ }
+ printCanceled = false;
+ err = printPDF(core->getDoc(), printerForDialog,
+ printHDPI, printVDPI, this);
+ return err;
+ } catch (GMemException e) {
+ return pdfErrOutOfMemory;
+ }
+}
+
+XpdfWidget::ErrorCode XpdfWidget::print(QPrinter *prt) {
+ try {
+ if (!core->getDoc()) {
+ return pdfErrNoHandle;
+ }
+ printCanceled = false;
+ return printPDF(core->getDoc(), prt, printHDPI, printVDPI, this);
+ } catch (GMemException e) {
+ return pdfErrOutOfMemory;
+ }
+}
+
+void XpdfWidget::updatePrintStatus(int nextPage, int firstPage, int lastPage) {
+ emit printStatus(nextPage, firstPage, lastPage);
+}
+
+void XpdfWidget::setPrintDPI(int hDPI, int vDPI) {
+ printHDPI = hDPI;
+ printVDPI = vDPI;
+}
+
+#endif // XPDFWIDGET_PRINTING
+
+QImage XpdfWidget::convertPageToImage(int page, double dpi, bool transparent) {
+ try {
+ PDFDoc *doc = core->getDoc();
+ if (!doc) {
+ return QImage();
+ }
+ if (page < 1 || page > doc->getNumPages()) {
+ return QImage();
+ }
+ if (transparent) {
+ SplashColor paperColor;
+ paperColor[0] = paperColor[1] = paperColor[2] = 0xff; // unused
+ SplashOutputDev *out = new SplashOutputDev(splashModeRGB8, 1, gFalse,
+ paperColor);
+ out->setNoComposite(gTrue);
+ out->startDoc(doc->getXRef());
+ doc->displayPage(out, page, dpi, dpi, core->getRotate(),
+ gFalse, gTrue, gFalse);
+ SplashBitmap *bitmap = out->getBitmap();
+ QImage img(bitmap->getWidth(), bitmap->getHeight(),
+ QImage::Format_ARGB32);
+ Guchar *pix = bitmap->getDataPtr();
+ Guchar *alpha = bitmap->getAlphaPtr();
+ Guint *argb = (Guint *)img.bits();
+ for (int y = 0; y < bitmap->getHeight(); ++y) {
+ for (int x = 0; x < bitmap->getWidth(); ++x) {
+ *argb = (*alpha << 24) | (pix[0] << 16) | (pix[1] << 8) | pix[2];
+ pix += 3;
+ ++alpha;
+ ++argb;
+ }
+ }
+ delete out;
+ return img;
+ } else {
+ SplashColor paperColor;
+ paperColor[0] = paperColor[1] = paperColor[2] = 0xff;
+ SplashOutputDev *out = new SplashOutputDev(splashModeRGB8, 4, gFalse,
+ paperColor);
+ out->startDoc(doc->getXRef());
+ doc->displayPage(out, page, dpi, dpi, core->getRotate(),
+ gFalse, gTrue, gFalse);
+ SplashBitmap *bitmap = out->getBitmap();
+ QImage *img = new QImage((const uchar *)bitmap->getDataPtr(),
+ bitmap->getWidth(), bitmap->getHeight(),
+ QImage::Format_RGB888);
+ // force a copy
+ QImage img2(img->copy());
+ delete img;
+ delete out;
+ return img2;
+ }
+ } catch (GMemException e) {
+ return QImage();
+ }
+}
+
+QImage XpdfWidget::convertRegionToImage(int page, double x0, double y0,
+ double x1, double y1, double dpi,
+ bool transparent) {
+ try {
+ PDFDoc *doc = core->getDoc();
+ if (!doc) {
+ return QImage();
+ }
+ if (page < 1 || page > doc->getNumPages()) {
+ return QImage();
+ }
+
+ if (x0 > x1) {
+ double t = x0; x0 = x1; x1 = t;
+ }
+ if (y0 > y1) {
+ double t = y0; y0 = y1; y1 = t;
+ }
+ PDFRectangle *box = doc->getCatalog()->getPage(page)->getCropBox();
+ int rot = doc->getPageRotate(page);
+ double k = dpi / 72.0;
+ int sliceX, sliceY, sliceW, sliceH;
+ if (rot == 90) {
+ sliceX = (int)(k * (y0 - box->y1));
+ sliceY = (int)(k * (x0 - box->x1));
+ sliceW = (int)(k * (y1 - y0));
+ sliceH = (int)(k * (x1 - x0));
+ } else if (rot == 180) {
+ sliceX = (int)(k * (box->x2 - x1));
+ sliceY = (int)(k * (y0 - box->y1));
+ sliceW = (int)(k * (x1 - x0));
+ sliceH = (int)(k * (y1 - y0));
+ } else if (rot == 270) {
+ sliceX = (int)(k * (box->y2 - y1));
+ sliceY = (int)(k * (box->x2 - x1));
+ sliceW = (int)(k * (y1 - y0));
+ sliceH = (int)(k * (x1 - x0));
+ } else {
+ sliceX = (int)(k * (x0 - box->x1));
+ sliceY = (int)(k * (box->y2 - y1));
+ sliceW = (int)(k * (x1 - x0));
+ sliceH = (int)(k * (y1 - y0));
+ }
+
+ if (transparent) {
+ SplashColor paperColor;
+ paperColor[0] = paperColor[1] = paperColor[2] = 0xff; // unused
+ SplashOutputDev *out = new SplashOutputDev(splashModeRGB8, 1, gFalse,
+ paperColor);
+ out->setNoComposite(gTrue);
+ out->startDoc(doc->getXRef());
+ doc->displayPageSlice(out, page, dpi, dpi, core->getRotate(),
+ gFalse, gTrue, gFalse,
+ sliceX, sliceY, sliceW, sliceH);
+ SplashBitmap *bitmap = out->getBitmap();
+ QImage img(bitmap->getWidth(), bitmap->getHeight(),
+ QImage::Format_ARGB32);
+ Guchar *pix = bitmap->getDataPtr();
+ Guchar *alpha = bitmap->getAlphaPtr();
+ Guint *argb = (Guint *)img.bits();
+ for (int y = 0; y < bitmap->getHeight(); ++y) {
+ for (int x = 0; x < bitmap->getWidth(); ++x) {
+ *argb = (*alpha << 24) | (pix[0] << 16) | (pix[1] << 8) | pix[2];
+ pix += 3;
+ ++alpha;
+ ++argb;
+ }
+ }
+ delete out;
+ return img;
+ } else {
+ SplashColor paperColor;
+ paperColor[0] = paperColor[1] = paperColor[2] = 0xff;
+ SplashOutputDev *out = new SplashOutputDev(splashModeRGB8, 4, gFalse,
+ paperColor);
+ out->startDoc(doc->getXRef());
+ doc->displayPageSlice(out, page, dpi, dpi, core->getRotate(),
+ gFalse, gTrue, gFalse,
+ sliceX, sliceY, sliceW, sliceH);
+ SplashBitmap *bitmap = out->getBitmap();
+ QImage *img = new QImage((const uchar *)bitmap->getDataPtr(),
+ bitmap->getWidth(), bitmap->getHeight(),
+ QImage::Format_RGB888);
+ // force a copy
+ QImage img2(img->copy());
+ delete img;
+ delete out;
+ return img2;
+ }
+ } catch (GMemException e) {
+ return QImage();
+ }
+}
+
+QImage XpdfWidget::getThumbnail(int page) {
+ Object thumbObj, decodeObj, colorSpaceObj, obj;
+ Dict *thumbDict;
+ GfxColorSpace *colorSpace;
+ GfxImageColorMap *colorMap;
+ ImageStream *imgStream;
+ Guchar *line, *rgb;
+ int w, h, bpc, yy;
+
+ try {
+ if (!core->getDoc()) {
+ return QImage();
+ }
+ if (page < 1 || page > core->getDoc()->getNumPages()) {
+ return QImage();
+ }
+
+ // get the thumbnail image object
+ if (!core->getDoc()->getCatalog()->getPage(page)
+ ->getThumbnail(&thumbObj)->isStream()) {
+ thumbObj.free();
+ return QImage();
+ }
+
+ // get the image parameters
+ thumbDict = thumbObj.streamGetDict();
+ if (!thumbDict->lookup("Width", &obj)->isInt()) {
+ obj.free();
+ thumbObj.free();
+ return QImage();
+ }
+ w = obj.getInt();
+ obj.free();
+ if (!thumbDict->lookup("Height", &obj)->isInt()) {
+ obj.free();
+ thumbObj.free();
+ return QImage();
+ }
+ h = obj.getInt();
+ obj.free();
+ if (!thumbDict->lookup("BitsPerComponent", &obj)->isInt()) {
+ obj.free();
+ thumbObj.free();
+ return QImage();
+ }
+ bpc = obj.getInt();
+ obj.free();
+
+ // create the color space and color map
+ thumbDict->lookup("Decode", &decodeObj);
+ thumbDict->lookup("ColorSpace", &colorSpaceObj);
+ colorSpace = GfxColorSpace::parse(&colorSpaceObj
+ );
+ colorMap = new GfxImageColorMap(bpc, &decodeObj, colorSpace);
+ colorSpaceObj.free();
+ decodeObj.free();
+ imgStream = new ImageStream(thumbObj.getStream(),
+ w, colorSpace->getNComps(), bpc);
+
+ // create the QImage, and read the image data
+ QImage img(w, h, QImage::Format_RGB888);
+ rgb = (Guchar *)gmallocn(w, 3);
+ imgStream->reset();
+ for (yy = 0; yy < h; ++yy) {
+ line = imgStream->getLine();
+ colorMap->getRGBByteLine(line, rgb, w, gfxRenderingIntentPerceptual);
+ memcpy(img.scanLine(yy), rgb, 3 * w);
+ }
+ gfree(rgb);
+
+ delete colorMap;
+ delete imgStream;
+ thumbObj.free();
+
+ return img;
+ } catch (GMemException e) {
+ return QImage();
+ }
+}
+
+bool XpdfWidget::okToExtractText() const {
+ try {
+ if (!core->getDoc()) {
+ return false;
+ }
+ return (bool)core->getDoc()->okToCopy();
+ } catch (GMemException e) {
+ return false;
+ }
+}
+
+void XpdfWidget::setTextEncoding(const QString &encodingName) {
+ init();
+ try {
+ globalParams->setTextEncoding((char *)encodingName.toLatin1().constData());
+ } catch (GMemException e) {
+ }
+}
+
+QString XpdfWidget::extractText(int page, double x0, double y0,
+ double x1, double y1) {
+ GString *s, *enc;
+ GBool twoByte;
+ QString ret;
+ int i;
+
+ try {
+ if (!core->getDoc()) {
+ return QString();
+ }
+ if (!(s = core->extractText(page, x0, y0, x1, y1))) {
+ return QString();
+ }
+ enc = globalParams->getTextEncodingName();
+ twoByte = !enc->cmp("UCS-2");
+ delete enc;
+ if (twoByte) {
+ for (i = 0; i+1 < s->getLength(); i += 2) {
+ ret.append((QChar)(((s->getChar(i) & 0xff) << 8) +
+ (s->getChar(i+1) & 0xff)));
+ }
+ } else {
+ ret.append(s->getCString());
+ }
+ delete s;
+ return ret;
+ } catch (GMemException e) {
+ return QString();
+ }
+}
+
+QString XpdfWidget::getSelectedText() {
+ try {
+ return core->getSelectedTextQString();
+ } catch (GMemException e) {
+ return "";
+ }
+}
+
+void XpdfWidget::copySelection() {
+ try {
+ core->copySelection(gTrue);
+ } catch (GMemException e) {
+ }
+}
+
+bool XpdfWidget::find(const QString &text, int flags) {
+ Unicode *u;
+ bool ret;
+ int len, i;
+
+ try {
+ if (!core->getDoc()) {
+ return false;
+ }
+ len = text.length();
+ u = (Unicode *)gmallocn(len, sizeof(Unicode));
+ for (i = 0; i < len; ++i) {
+ u[i] = (Unicode)text[i].unicode();
+ }
+ ret = (bool)core->findU(u, len,
+ (flags & findCaseSensitive) ? gTrue : gFalse,
+ (flags & findNext) ? gTrue : gFalse,
+ (flags & findBackward) ? gTrue : gFalse,
+ (flags & findWholeWord) ? gTrue : gFalse,
+ (flags & findOnePageOnly) ? gTrue : gFalse);
+ gfree(u);
+ return ret;
+ } catch (GMemException e) {
+ return false;
+ }
+}
+
+QVector<XpdfFindResult> XpdfWidget::findAll(const QString &text, int firstPage,
+ int lastPage, int flags) {
+ QVector<XpdfFindResult> v;
+ try {
+ if (!core->getDoc()) {
+ return v;
+ }
+ int len = text.length();
+ Unicode *u = (Unicode *)gmallocn(len, sizeof(Unicode));
+ for (int i = 0; i < len; ++i) {
+ u[i] = (Unicode)text[i].unicode();
+ }
+ GList *results = core->findAll(u, len,
+ (flags & findCaseSensitive) ? gTrue : gFalse,
+ (flags & findWholeWord) ? gTrue : gFalse,
+ firstPage, lastPage);
+ gfree(u);
+ for (int i = 0; i < results->getLength(); ++i) {
+ FindResult *result = (FindResult *)results->get(i);
+ v.append(XpdfFindResult(result->page, result->xMin, result->yMin,
+ result->xMax, result->yMax));
+ }
+ deleteGList(results, FindResult);
+ return v;
+ } catch (GMemException e) {
+ return v;
+ }
+}
+
+bool XpdfWidget::hasPageLabels() {
+ try {
+ if (!core->getDoc()) {
+ return false;
+ }
+ return core->getDoc()->getCatalog()->hasPageLabels();
+ } catch (GMemException e) {
+ return false;
+ }
+}
+
+QString XpdfWidget::getPageLabelFromPageNum(int pageNum) {
+ try {
+ if (!core->getDoc()) {
+ return QString();
+ }
+ TextString *ts = core->getDoc()->getCatalog()->getPageLabel(pageNum);
+ if (!ts) {
+ return QString();
+ }
+ QString qs;
+ Unicode *u = ts->getUnicode();
+ for (int i = 0; i < ts->getLength(); ++i) {
+ qs.append((QChar)u[i]);
+ }
+ delete ts;
+ return qs;
+ } catch (GMemException e) {
+ return QString();
+ }
+}
+
+int XpdfWidget::getPageNumFromPageLabel(QString pageLabel) {
+ try {
+ if (!core->getDoc()) {
+ return -1;
+ }
+ TextString *ts = new TextString();
+ for (int i = 0; i < pageLabel.size(); ++i) {
+ ts->append((Unicode)pageLabel.at(i).unicode());
+ }
+ int pg = core->getDoc()->getCatalog()->getPageNumFromPageLabel(ts);
+ delete ts;
+ return pg;
+ } catch (GMemException e) {
+ return -1;
+ }
+}
+
+int XpdfWidget::getOutlineNumChildren(XpdfOutlineHandle outline) {
+ GList *items;
+
+ try {
+ if (!core->getDoc()) {
+ return 0;
+ }
+ if (outline) {
+ ((OutlineItem *)outline)->open();
+ items = ((OutlineItem *)outline)->getKids();
+ } else {
+ items = core->getDoc()->getOutline()->getItems();
+ }
+ if (!items) {
+ return 0;
+ }
+ return items->getLength();
+ } catch (GMemException e) {
+ return 0;
+ }
+}
+
+XpdfOutlineHandle XpdfWidget::getOutlineChild(XpdfOutlineHandle outline,
+ int idx) {
+ GList *items;
+
+ try {
+ if (!core->getDoc()) {
+ return NULL;
+ }
+ if (outline) {
+ ((OutlineItem *)outline)->open();
+ items = ((OutlineItem *)outline)->getKids();
+ } else {
+ items = core->getDoc()->getOutline()->getItems();
+ }
+ if (!items) {
+ return NULL;
+ }
+ if (idx < 0 || idx >= items->getLength()) {
+ return NULL;
+ }
+ return (XpdfOutlineHandle)items->get(idx);
+ } catch (GMemException e) {
+ return NULL;
+ }
+}
+
+XpdfOutlineHandle XpdfWidget::getOutlineParent(XpdfOutlineHandle outline) {
+ if (!outline) {
+ return NULL;
+ }
+ return (XpdfOutlineHandle)((OutlineItem *)outline)->getParent();
+}
+
+QString XpdfWidget::getOutlineTitle(XpdfOutlineHandle outline) {
+ Unicode *title;
+ QString s;
+ int titleLen, i;
+
+ if (!outline) {
+ return QString();
+ }
+ try {
+ title = ((OutlineItem *)outline)->getTitle();
+ titleLen = ((OutlineItem *)outline)->getTitleLength();
+ for (i = 0; i < titleLen; ++i) {
+ s.append((QChar)title[i]);
+ }
+ return s;
+ } catch (GMemException e) {
+ return QString();
+ }
+}
+
+bool XpdfWidget::getOutlineStartsOpen(XpdfOutlineHandle outline) {
+ if (!outline) {
+ return false;
+ }
+ try {
+ return (bool)((OutlineItem *)outline)->isOpen();
+ } catch (GMemException e) {
+ return false;
+ }
+}
+
+int XpdfWidget::getOutlineTargetPage(XpdfOutlineHandle outline) {
+ try {
+ if (!outline || !core->getDoc()) {
+ return 0;
+ }
+ return core->getDoc()->getOutlineTargetPage((OutlineItem *)outline);
+ } catch (GMemException e) {
+ return 0;
+ }
+}
+
+void XpdfWidget::gotoOutlineTarget(XpdfOutlineHandle outline) {
+ if (!outline) {
+ return;
+ }
+ try {
+ if (((OutlineItem *)outline)->getAction()) {
+ core->doAction(((OutlineItem *)outline)->getAction());
+ }
+ } catch (GMemException e) {
+ }
+}
+
+int XpdfWidget::getNumLayers() const {
+ try {
+ if (!core->getDoc()) {
+ return 0;
+ }
+ return core->getDoc()->getOptionalContent()->getNumOCGs();
+ } catch (GMemException e) {
+ return 0;
+ }
+}
+
+XpdfLayerHandle XpdfWidget::getLayer(int idx) const {
+ try {
+ if (!core->getDoc() ||
+ idx < 0 ||
+ idx >= core->getDoc()->getOptionalContent()->getNumOCGs()) {
+ return NULL;
+ }
+ return (XpdfLayerHandle)core->getDoc()->getOptionalContent()->getOCG(idx);
+ } catch (GMemException e) {
+ return NULL;
+ }
+}
+
+QString XpdfWidget::getLayerName(XpdfLayerHandle layer) const {
+ Unicode *name;
+ QString s;
+ int nameLen, i;
+
+ if (!layer) {
+ return QString();
+ }
+ try {
+ name = ((OptionalContentGroup *)layer)->getName();
+ nameLen = ((OptionalContentGroup *)layer)->getNameLength();
+ for (i = 0; i < nameLen; ++i) {
+ s.append((QChar)name[i]);
+ }
+ return s;
+ } catch (GMemException e) {
+ return QString();
+ }
+}
+
+bool XpdfWidget::getLayerVisibility(XpdfLayerHandle layer) const {
+ if (!layer) {
+ return false;
+ }
+ try {
+ return (bool)((OptionalContentGroup *)layer)->getState();
+ } catch (GMemException e) {
+ return false;
+ }
+}
+
+void XpdfWidget::setLayerVisibility(XpdfLayerHandle layer, bool visibility) {
+ try {
+ if (!core->getDoc() || !layer) {
+ return;
+ }
+ core->setOCGState(((OptionalContentGroup *)layer), (GBool)visibility);
+ } catch (GMemException e) {
+ return;
+ }
+}
+
+int XpdfWidget::getLayerViewState(XpdfLayerHandle layer) const {
+ int s;
+
+ if (!layer) {
+ return 0;
+ }
+ try {
+ s = ((OptionalContentGroup *)layer)->getViewState();
+ return (s == ocUsageOn) ? 1 : (s == ocUsageOff) ? 0 : -1;
+ } catch (GMemException e) {
+ return 0;
+ }
+}
+
+int XpdfWidget::getLayerPrintState(XpdfLayerHandle layer) const {
+ int s;
+
+ if (!layer) {
+ return 0;
+ }
+ try {
+ s = ((OptionalContentGroup *)layer)->getPrintState();
+ return (s == ocUsageOn) ? 1 : (s == ocUsageOff) ? 0 : -1;
+ } catch (GMemException e) {
+ return 0;
+ }
+}
+
+XpdfLayerOrderHandle XpdfWidget::getLayerOrderRoot() const {
+ try {
+ if (!core->getDoc()) {
+ return NULL;
+ }
+ return (XpdfLayerOrderHandle)
+ core->getDoc()->getOptionalContent()->getDisplayRoot();
+ } catch (GMemException e) {
+ return NULL;
+ }
+}
+
+bool XpdfWidget::getLayerOrderIsName(XpdfLayerOrderHandle order) const {
+ if (!order) {
+ return false;
+ }
+ try {
+ return ((OCDisplayNode *)order)->getOCG() == NULL;
+ } catch (GMemException e) {
+ return false;
+ }
+}
+
+QString XpdfWidget::getLayerOrderName(XpdfLayerOrderHandle order) const {
+ Unicode *name;
+ QString s;
+ int nameLen, i;
+
+ if (!order) {
+ return QString();
+ }
+ try {
+ name = ((OCDisplayNode *)order)->getName();
+ nameLen = ((OCDisplayNode *)order)->getNameLength();
+ for (i = 0; i < nameLen; ++i) {
+ s.append((QChar)name[i]);
+ }
+ return s;
+ } catch (GMemException e) {
+ return QString();
+ }
+}
+
+XpdfLayerHandle XpdfWidget::getLayerOrderLayer(XpdfLayerOrderHandle order) {
+ if (!order) {
+ return NULL;
+ }
+ try {
+ return (XpdfLayerHandle)((OCDisplayNode *)order)->getOCG();
+ } catch (GMemException e) {
+ return NULL;
+ }
+}
+
+int XpdfWidget::getLayerOrderNumChildren(XpdfLayerOrderHandle order) {
+ if (!order) {
+ return 0;
+ }
+ try {
+ return ((OCDisplayNode *)order)->getNumChildren();
+ } catch (GMemException e) {
+ return 0;
+ }
+}
+
+XpdfLayerOrderHandle XpdfWidget::getLayerOrderChild(XpdfLayerOrderHandle order,
+ int idx) {
+ if (!order) {
+ return NULL;
+ }
+ try {
+ if (idx < 0 || idx >= ((OCDisplayNode *)order)->getNumChildren()) {
+ return NULL;
+ }
+ return (XpdfLayerOrderHandle)((OCDisplayNode *)order)->getChild(idx);
+ } catch (GMemException e) {
+ return NULL;
+ }
+}
+
+XpdfLayerOrderHandle XpdfWidget::getLayerOrderParent(
+ XpdfLayerOrderHandle order) {
+ if (!order) {
+ return NULL;
+ }
+ try {
+ return (XpdfLayerOrderHandle)((OCDisplayNode *)order)->getParent();
+ } catch (GMemException e) {
+ return NULL;
+ }
+}
+
+int XpdfWidget::getNumEmbeddedFiles() {
+ try {
+ if (!core->getDoc()) {
+ return 0;
+ }
+ return core->getDoc()->getNumEmbeddedFiles();
+ } catch (GMemException e) {
+ return 0;
+ }
+}
+
+QString XpdfWidget::getEmbeddedFileName(int idx) {
+ Unicode *name;
+ QString s;
+ int nameLen, i;
+
+ try {
+ if (!core->getDoc() ||
+ idx < 0 ||
+ idx >= core->getDoc()->getNumEmbeddedFiles()) {
+ return "";
+ }
+ name = core->getDoc()->getEmbeddedFileName(idx);
+ nameLen = core->getDoc()->getEmbeddedFileNameLength(idx);
+ for (i = 0; i < nameLen; ++i) {
+ s.append((QChar)name[i]);
+ }
+ return s;
+ } catch (GMemException e) {
+ return 0;
+ }
+}
+
+bool XpdfWidget::saveEmbeddedFile(int idx, QString fileName) {
+ try {
+ if (!core->getDoc() ||
+ idx < 0 ||
+ idx >= core->getDoc()->getNumEmbeddedFiles()) {
+ return false;
+ }
+ return core->getDoc()->saveEmbeddedFile(
+ idx, fileName.toLocal8Bit().constData());
+ } catch (GMemException e) {
+ return false;
+ }
+}
+
+QSize XpdfWidget::sizeHint() const {
+ try {
+ return core->getBestSize();
+ } catch (GMemException e) {
+ }
+ return QSize(612, 792);
+}
+
+//------------------------------------------------------------------------
+// callbacks from QtPDFCore
+//------------------------------------------------------------------------
+
+void XpdfWidget::updateCbk(void *data, GString *fileName,
+ int pageNum, int numPages,
+ const char *linkLabel) {
+ XpdfWidget *xpdf = (XpdfWidget *)data;
+
+ if (fileName) {
+ if (pageNum >= 0) {
+ emit xpdf->pageChange(pageNum);
+ }
+ }
+}
+
+void XpdfWidget::midPageChangedCbk(void *data, int pageNum) {
+ XpdfWidget *xpdf = (XpdfWidget *)data;
+
+ emit xpdf->midPageChange(pageNum);
+}
+
+void XpdfWidget::preLoadCbk(void *data) {
+ XpdfWidget *xpdf = (XpdfWidget *)data;
+
+ emit xpdf->preLoad();
+}
+
+void XpdfWidget::postLoadCbk(void *data) {
+ XpdfWidget *xpdf = (XpdfWidget *)data;
+
+ emit xpdf->postLoad();
+}
+
+void XpdfWidget::linkCbk(void *data, const char *type,
+ const char *dest, int page) {
+ XpdfWidget *xpdf = (XpdfWidget *)data;
+
+ emit xpdf->linkClick(type, dest, page);
+}
+
+void XpdfWidget::selectDoneCbk(void *data) {
+ XpdfWidget *xpdf = (XpdfWidget *)data;
+
+ emit xpdf->selectDone();
+}
+
+void XpdfWidget::paintDoneCbk(void *data, bool finished) {
+ XpdfWidget *xpdf = (XpdfWidget *)data;
+
+ emit xpdf->paintDone(finished);
+}
+
+// NB: this function is called on a worker thread.
+void XpdfWidget::tileDoneCbk(void *data) {
+ XpdfWidget *xpdf = (XpdfWidget *)data;
+
+ emit xpdf->tileDone();
+}
+
+
+//------------------------------------------------------------------------
+// events from the QAbstractScrollArea
+//------------------------------------------------------------------------
+
+void XpdfWidget::paintEvent(QPaintEvent *eventA) {
+ core->paintEvent(eventA->rect().left(),
+ eventA->rect().top(),
+ eventA->rect().width(),
+ eventA->rect().height());
+}
+
+void XpdfWidget::resizeEvent(QResizeEvent *eventA) {
+ core->resizeEvent();
+ emit resized();
+}
+
+void XpdfWidget::scrollContentsBy(int dx, int dy) {
+ core->scrollEvent();
+}
+
+void XpdfWidget::keyPressEvent(QKeyEvent *e) {
+ int key;
+
+ if (!keyPassthrough) {
+ key = e->key();
+ if (key == Qt::Key_Left) {
+ core->scrollLeft();
+ return;
+ } else if (key == Qt::Key_Right) {
+ core->scrollRight();
+ return;
+ } else if (key == Qt::Key_Up) {
+ core->scrollUp();
+ return;
+ } else if (key == Qt::Key_Down) {
+ core->scrollDown();
+ return;
+ } else if (key == Qt::Key_PageUp) {
+ core->scrollPageUp();
+ return;
+ } else if (key == Qt::Key_PageDown ||
+ key == Qt::Key_Space) {
+ core->scrollPageDown();
+ return;
+ }
+ }
+ emit keyPress(e);
+}
+
+void XpdfWidget::mousePressEvent(QMouseEvent *e) {
+ int x, y;
+
+ lastMousePressX[0] = lastMousePressX[1];
+ lastMousePressY[0] = lastMousePressY[1];
+ lastMousePressTime[0] = lastMousePressTime[1];
+ lastMousePressX[1] = lastMousePressX[2];
+ lastMousePressY[1] = lastMousePressY[2];
+ lastMousePressTime[1] = lastMousePressTime[2];
+ lastMousePressX[2] = e->pos().x();
+ lastMousePressY[2] = e->pos().y();
+ lastMousePressTime[2] = e->timestamp();
+ lastMouseEventWasPress = true;
+ if (!mousePassthrough) {
+ x = (int)(e->pos().x() * scaleFactor);
+ y = (int)(e->pos().y() * scaleFactor);
+ if (e->button() == Qt::LeftButton) {
+ core->startSelection(x, y, e->modifiers() & Qt::ShiftModifier);
+ } else if (e->button() == Qt::MiddleButton) {
+ core->startPan(x, y);
+ }
+ }
+ emit mousePress(e);
+}
+
+void XpdfWidget::mouseReleaseEvent(QMouseEvent *e) {
+ int x, y;
+
+ // some versions of Qt drop mouse press events in double-clicks (?)
+ if (!lastMouseEventWasPress) {
+ mousePressEvent(e);
+ }
+ lastMouseEventWasPress = false;
+
+ x = y = 0;
+ if (!mousePassthrough) {
+ x = (int)(e->pos().x() * scaleFactor);
+ y = (int)(e->pos().y() * scaleFactor);
+ if (e->button() == Qt::LeftButton) {
+ core->endSelection(x, y);
+ } else if (e->button() == Qt::MiddleButton) {
+ core->endPan(x, y);
+ }
+ }
+ emit mouseRelease(e);
+
+ // double and triple clicks have to be "quick" and "nearby";
+ // single clicks just have to be "nearby"
+ ulong maxTime = (ulong)QApplication::doubleClickInterval();
+ int maxDistance = QApplication::startDragDistance();
+ if (e->timestamp() - lastMousePressTime[0] < 2 * maxTime &&
+ abs(e->pos().x() - lastMousePressX[0])
+ + abs(e->pos().y() - lastMousePressY[0]) <= maxDistance) {
+ if (!mousePassthrough && e->button() == Qt::LeftButton) {
+ core->selectLine(x, y);
+ }
+ emit mouseTripleClick(e);
+ } else if (e->timestamp() - lastMousePressTime[1] < maxTime &&
+ abs(e->pos().x() - lastMousePressX[1])
+ + abs(e->pos().y() - lastMousePressY[1]) <= maxDistance) {
+ if (!mousePassthrough && e->button() == Qt::LeftButton) {
+ core->selectWord(x, y);
+ }
+ emit mouseDoubleClick(e);
+ } else if (abs(e->pos().x() - lastMousePressX[2])
+ + abs(e->pos().y() - lastMousePressY[2]) <= maxDistance) {
+ emit mouseClick(e);
+ }
+}
+
+void XpdfWidget::mouseMoveEvent(QMouseEvent *e) {
+ int x, y;
+
+ x = (int)(e->pos().x() * scaleFactor);
+ y = (int)(e->pos().y() * scaleFactor);
+ core->mouseMove(x, y);
+ emit mouseMove(e);
+}
+
+void XpdfWidget::wheelEvent(QWheelEvent *e) {
+ if (!mousePassthrough) {
+ QAbstractScrollArea::wheelEvent(e);
+ }
+ emit mouseWheel(e);
+}
+
+bool XpdfWidget::eventFilter(QObject *obj, QEvent *event) {
+ QGestureEvent *gestureEvent;
+ QPanGesture *panGesture;
+ QPinchGesture *pinchGesture;
+ double z;
+
+ if (obj == viewport() && event->type() == QEvent::Gesture) {
+ gestureEvent = (QGestureEvent *)event;
+ if (touchPanEnabled &&
+ (panGesture = (QPanGesture *)gestureEvent->gesture(Qt::PanGesture))) {
+ core->scrollTo(core->getScrollX() - (int)panGesture->delta().x(),
+ core->getScrollY() - (int)panGesture->delta().y());
+ gestureEvent->accept();
+ return true;
+ } else if (touchZoomEnabled &&
+ (pinchGesture =
+ (QPinchGesture *)gestureEvent->gesture(Qt::PinchGesture))) {
+ if (pinchGesture->changeFlags() & QPinchGesture::ScaleFactorChanged) {
+ if (pinchGesture->state() == Qt::GestureStarted) {
+ pinchZoomStart = getZoomPercent(core->getMidPageNum());
+ } else {
+ z = pinchZoomStart * pinchGesture->totalScaleFactor();
+ if (z < 10) {
+ z = 10;
+ } else if (z > 800) {
+ z = 800;
+ }
+ core->zoomCentered(z);
+ }
+ }
+ gestureEvent->accept();
+ return true;
+ }
+ }
+ return QAbstractScrollArea::eventFilter(obj, event);
+}
+
+void XpdfWidget::tick() {
+ core->tick();
+}
diff --git a/xpdf-qt/XpdfWidget.h b/xpdf-qt/XpdfWidget.h
new file mode 100644
index 0000000..0e33d0d
--- /dev/null
+++ b/xpdf-qt/XpdfWidget.h
@@ -0,0 +1,1029 @@
+//========================================================================
+//
+// XpdfWidget.h
+//
+// Copyright 2009-2021 Glyph & Cog, LLC
+//
+//========================================================================
+
+//! \mainpage
+//!
+//! XpdfWidget is a PDF viewer widget class for Qt.
+//! <br><br>
+//! <a href="changes.html">Change history</a>
+//! <br><br>
+//! Copyright 2009-2022 Glyph & Cog, LLC
+
+//! \file
+
+#ifndef XPDFWIDGET_H
+#define XPDFWIDGET_H
+
+#include <aconf.h>
+
+#ifdef USE_GCC_PRAGMAS
+#pragma interface
+#endif
+
+#include <QAbstractScrollArea>
+
+class QMutex;
+class QTimer;
+#if XPDFWIDGET_PRINTING
+class QPrinter;
+class QPrintDialog;
+#endif
+
+class GString;
+class PDFDoc;
+class QtPDFCore;
+
+//------------------------------------------------------------------------
+
+
+/*! Opaque handle used to represent an outline node. */
+typedef void *XpdfOutlineHandle;
+
+/*! Opaque handle used to represent a layer. */
+typedef void *XpdfLayerHandle;
+
+/*! Opaque handle used to represent a layer display order tree node. */
+typedef void *XpdfLayerOrderHandle;
+
+/*! Opaque handle used to represent an annotation. */
+typedef void *XpdfAnnotHandle;
+
+/*! Opaque handle used to represent a form field. */
+typedef void *XpdfFormFieldHandle;
+
+/*! Opaque handle used to represent a PDF document. */
+typedef void *XpdfDocHandle;
+
+//------------------------------------------------------------------------
+
+/*! Text search result, returned by XpdfWidget::findAll(). */
+struct XpdfFindResult {
+
+ //! \cond PROTECTED
+ XpdfFindResult(int pageA, double xMinA, double yMinA,
+ double xMaxA, double yMaxA)
+ : page(pageA), xMin(xMinA), yMin(yMinA), xMax(xMaxA), yMax(yMaxA) {}
+ XpdfFindResult(): page(0), xMin(0), yMin(0), xMax(0), yMax(0) {}
+ //! \endcond
+
+ /*! Page number. */
+ int page;
+
+ /*! \name Bounding box. */
+ ///@{
+ double xMin, yMin, xMax, yMax;
+ ///@}
+};
+
+//------------------------------------------------------------------------
+
+//! A PDF viewer widget class for Qt.
+class XpdfWidget: public QAbstractScrollArea {
+ Q_OBJECT
+
+public:
+
+ //! Error codes returned by certain XpdfViewer functions.
+ enum ErrorCode {
+ pdfOk = 0, //!< no error
+ pdfErrOpenFile = 1, //!< couldn't open the PDF file
+ pdfErrBadCatalog = 2, //!< couldn't read the page catalog
+ pdfErrDamaged = 3, //!< PDF file was damaged and couldn't be
+ //!< repaired
+ pdfErrEncrypted = 4, //!< file was encrypted and password was
+ //!< incorrect or not supplied
+ pdfErrHighlightFile = 5, //!< nonexistent or invalid highlight file
+ pdfErrBadPrinter = 6, //!< invalid printer
+ pdfErrPrinting = 7, //!< error during printing
+ pdfErrPermission = 8, //!< PDF file doesn't allow that operation
+ pdfErrBadPageNum = 9, //!< invalid page number
+ pdfErrFileIO = 10, //!< file I/O error
+ pdfErrNoHandle = 1001, //!< NULL object handle
+ pdfErrOutOfMemory = 1002, //!< out of memory
+ pdfErrBusy = 1003, //!< PDF component is busy
+ pdfErrBadArg = 1004 //!< invalid argument
+ };
+
+ //! Display modes, to be passed to XpdfWidget::setDisplayMode().
+ enum DisplayMode {
+ pdfDisplaySingle, //!< single page
+ pdfDisplayContinuous, //!< pages stacked vertically
+ pdfDisplaySideBySideSingle, //!< two facing pages
+ pdfDisplaySideBySideContinuous, //!< facing pages, stacked vertically
+ pdfDisplayHorizontalContinuous //!< pages stacked horizontally
+ };
+
+ //! \name Zoom values
+ //! Special values for XpdfWidget::setZoom() / XpdfWidget::getZoom()
+ //@{
+ static const int zoomToPage = -1; //!< zoom to fit whole page
+ static const int zoomToWidth = -2; //!< zoom to fit page width
+ static const int zoomToHeight = -3; //!< zoom to fit page height
+ //@}
+
+ //! \name Find flags
+ //! Flags to be passed to XpdfWidget::find()
+ //@{
+ //! search backward from the starting point
+ static const int findBackward = 0x00000001;
+ //! perform a case-sensitive search (default is case-insensitive)
+ static const int findCaseSensitive = 0x00000002;
+ //! start searching from the previous search result
+ static const int findNext = 0x00000004;
+ //! limit the search to the current page
+ static const int findOnePageOnly = 0x00000008;
+ //! limit the search to whole words
+ static const int findWholeWord = 0x00000010;
+ //@}
+
+ //! Initialize the XpdfWidget class, reading a configuration file.
+ //! If \a configFileName is non-empty, the specified file is
+ //! tried first. If \a configFileName is empty, or the file
+ //! doesn't exist, the default location is tried (\c <exe-dir>/xpdfrc
+ //! on Windows; \c ~/\c .xpdfrc on Unix).
+ //!
+ //! This function must be called before any other XpdfWidget functions
+ //! (including the constructor). It will be called automatically
+ //! (with a NULL \a configFileName) if it hasn't already been
+ //! called when the first XpdfWidget function is used.
+ static void init(const QString &configFileName = QString());
+
+ //! Process a configuration command, i.e., one line of an xpdfrc file.
+ //! Note that this applies globally to all XpdfWidget instances.
+ static void setConfig(const QString &command);
+
+ //! The XpdfWidget constructor.
+ //! \param paperColor the paper background color (which should generally
+ //! be left as white)
+ //! \param matteColor the matte color displayed between pages, and around
+ //! pages that are smaller than the window
+ //! \param reverseVideo sets reverse video at startup
+ //! \param parentA the parent QWidget
+ XpdfWidget(const QColor &paperColor = QColor(0xff, 0xff, 0xff),
+ const QColor &matteColor = QColor(0x80, 0x80, 0x80),
+ bool reverseVideo = false, QWidget *parentA = 0);
+
+ //! The XpdfWidget constructor.
+ //! \param paperColor the paper background color (which should generally
+ //! be left as white)
+ //! \param matteColor the matte color displayed between pages, and around
+ //! pages that are smaller than the window
+ //! \param reverseVideo sets reverse video at startup
+ //! \param parentA the parent QWidget
+ //! This version has the \a parent argument first so it works correctly
+ //! with Qt Designer.
+ XpdfWidget(QWidget *parentA,
+ const QColor &paperColor = QColor(0xff, 0xff, 0xff),
+ const QColor &matteColor = QColor(0x80, 0x80, 0x80),
+ bool reverseVideo = false);
+
+ //! Destroys the XpdfWidget.
+ virtual ~XpdfWidget();
+
+ //! Control handling of hyperlinks.
+ //! If enabled, the viewer will follow hyperlinks when clicked with the
+ //! left mouse button. If disabled, the viewer will ignore left mouse
+ //! button clicks on hyperlinks. The default is enabled.
+ void enableHyperlinks(bool on);
+
+ //! Control handling of external hyperlinks.
+ //! This setting allows disabling external hyperlinks (links that
+ //! open another PDF file, or that involve a URL), independent of
+ //! internal hyperlinks (links to locations within the same PDF
+ //! file). This setting is ignored if all hyperlinks are disabled
+ //! (enableHyperlinks(false)). The default is enabled.
+ void enableExternalHyperlinks(bool on);
+
+ //! Control handling of text selection.
+ //! If enabled, the viewer will allow the user to select rectangular
+ //! regions of text when the user drags with the left mouse button. If
+ //! disabled, dragging with the left mouse button is ignored. The
+ //! default is enabled.
+ void enableSelect(bool on);
+
+ //! Control mouse panning.
+ //! If enabled, dragging with the middle mouse button pressed will pan
+ //! the page. If disabled, the middle button is ignored. The default
+ //! is enabled.
+ void enablePan(bool on);
+
+ //! Control touchscreen panning.
+ //! If enabled, QPanGestures are recognized and used to pan the PDF
+ //! view.
+ void enableTouchPan(bool on);
+
+ //! Control touchscreen zooming.
+ //! If enabled QPinchGestures are recognized and used to pinch-zoom
+ //! the PDF view.
+ void enableTouchZoom(bool on);
+
+ //! Control keypress passthrough.
+ //! If enabled, XpdfWidget will pass keypress events through to the
+ //! keyPress signal, with no other processing. If disabled, XpdfWidget
+ //! will implement some built-in key bindings. The default is disabled.
+ void setKeyPassthrough(bool on) { keyPassthrough = on; }
+
+ //! Control mouse event passthrough.
+ //! If enabled, XpdfWidget will pass mouse events through to the
+ //! mousePress/mouseRelease signals, with no other processing. If
+ //! disabled, XpdfWidget will implement some built-in mouse handling
+ //! (in addition to sending the signals). The default is disabled.
+ void setMousePassthrough(bool on) { mousePassthrough = on; }
+
+ //! Control the password dialog.
+ //! If enabled, the viewer will show a password dialog for encrypted
+ //! files; if disabled, it will simply return \c pdfErrEncrypted unless
+ //! the correct password is passed to \c pdfLoadFileWithPassword. The
+ //! default is enabled.
+ void showPasswordDialog(bool showDlg);
+
+ //! Set the matte color, i.e., the color used for background outside
+ //! the actual page area. The default is a medium gray.
+ void setMatteColor(const QColor &matteColor);
+
+ //! Turn reverse video mode on/off. The default is off.
+ void setReverseVideo(bool reverse);
+
+ //! Set the cursor. The requested cursor will only be displayed in
+ //! the viewport (not in the scrollbars).
+ void setCursor(const QCursor &cursor);
+
+ //! Reset to the default cursor.
+ void unsetCursor();
+
+ //! Load a PDF file and display its first page.
+ //! \param fileName the PDF file to load
+ //! \param password a string to be tried first as the owner password
+ //! and then as the user password
+ //! \return \c pdfOk if successful; an error code, otherwise
+ ErrorCode loadFile(const QString &fileName,
+ const QString &password = "");
+
+ //! Load a PDF file from a memory buffer and display its first page.
+ //! \param buffer the PDF file in memory
+ //! \param bufferLength length of \a buffer
+ //! \param password a string to be tried first as the owner password
+ //! and then as the user password
+ //! \return \c pdfOk if successful; an error code otherwise
+ ErrorCode loadMem(const char *buffer, unsigned int bufferLength,
+ const QString &password = "");
+
+ //! Load a PDF file and return a handle.
+
+ //! This function can be safely called from a non-GUI thread. Use
+ //! XpdfWidget::loadDoc (on the GUI thread) to load the document
+ //! handle into the viewer. The handle returned in *\c docPtr
+ //! should be passed to either XpdfWidget::loadDoc or
+ //! XpdfWidget::freeDoc.
+ //!
+ //! Calling XpdfWidget::readDoc + XpdfWidget::loadDoc is equivalent
+ //! to calling XpdfWidget::loadFile. The difference is that readDoc
+ //! can be called on a background thread to avoid stalling the user
+ //! interface.
+ //! \param docPtr the PDF document handle will be returned her
+ //! \param fileName the PDF file to load
+ //! \param password a string to be tried first as the owner password
+ //! and then as the user password
+ //! \return \c pdfOk if successful; an error code, otherwise
+ ErrorCode readDoc(XpdfDocHandle *docPtr,
+ const QString &fileName,
+ const QString &password = "");
+
+ //! Load a PDF document and display its first page.
+ //! This function displays a PDF document handle created by
+ //! XpdfWidget::readDoc. The document handle should not be used for
+ //! anything else after calling this function.
+ //! \return \c pdfOk if successful; an error code, otherwise
+ ErrorCode loadDoc(XpdfDocHandle doc);
+
+ //! Free a PDF document.
+ //! This function frees a PDF document handle created by
+ //! XpdfWidget::readDoc. It should only be called if the document
+ //! is not going to be displayed. That is: after calling
+ //! XpdfWidget::readDoc, you should call either XpdfWidget::loadDoc
+ //! or XpdfWidget::freeDoc. The document handle should not be used
+ //! for anything else after calling this function.
+ void freeDoc(XpdfDocHandle doc);
+
+ //! Reload the current PDF file.
+ //! This reloads the current PDF file, maintaining the zoom and
+ //! scroll position (if possible). This only works if the PDF file
+ //! was loaded from a file (i.e., with XpdfWidget::loadFile, not
+ //! with XpdfWidget::loadMem).
+ //! \return \c pdfOk if successful; an error code otherwise
+ ErrorCode reload();
+
+ //! Close the currently open PDF file (if any).
+ //! Calling this function is optional - the current PDF file will be
+ //! automatically closed if XpdfWidget::loadFile or XpdfWidget::loadMem
+ //! is called.
+ void closeFile();
+
+ //! Save the PDF file with another name.
+ //! \param fileName the file to be written
+ //! \return \c pdfOk if successful; an error code otherwise
+ ErrorCode saveAs(const QString &fileName);
+
+ //! Get the file name of the currently open PDF file.
+ QString getFileName() const;
+
+ //! Returns true if there is currently a PDF file open.
+ bool hasOpenDocument() const;
+
+ //! Return the number of pages in the currently open PDF file.
+ //! Returns -1 if no file is open.
+ int getNumPages() const;
+
+ //! Return the currently displayed page number.
+ //! Returns -1 if no file is open.
+ int getCurrentPage() const;
+
+ //! Return the page number corresponding to the middle of the
+ //! window.
+ int getMidPage() const;
+
+ //! Display the specified page.
+ void gotoPage(int pageNum);
+
+ //! Display the first page.
+ //! This is equivalent to \code
+ //! gotoPage(1)
+ //! \endcode
+ void gotoFirstPage();
+
+ //! Display the last page.
+ //! This is equivalent to \code
+ //! gotoPage(getNumPages())
+ //! \endcode
+ void gotoLastPage();
+
+ //! Display the next page.
+ void gotoNextPage(bool scrollToTop = true);
+
+ //! Display the previous page.
+ void gotoPreviousPage(bool scrollToTop = true);
+
+ //! Go to a named destination.
+ bool gotoNamedDestination(const QString &dest);
+
+ //! Go forward along the history list.
+ void goForward();
+
+ //! Go backward along the history list.
+ void goBackward();
+
+ //! Scroll one screen up.
+ void scrollPageUp();
+
+ //! Scroll one screen down.
+ void scrollPageDown();
+
+ //! Scroll the page so that the top-left corner of the window is
+ //! (\a xx,\a yy) pixels from the top-left corner of the PDF page.
+ void scrollTo(int xx, int yy);
+
+ //! Scroll the page by (\a dx,\a dy) pixels. If \a dx is positive,
+ //! scrolls right; if \a dx is negative, scrolls left. Similarly,
+ //! positive and negative values of \a dy scroll down and up,
+ //! respectively.
+ void scrollBy(int dx, int dy);
+
+ //! Return the current scroll position x coordinate.
+ int getScrollX() const;
+
+ //! Return the current scroll position y coordinate.
+ int getScrollY() const;
+
+ //! Change the zoom factor.
+ //! This can be a percentage factor (where 100 means 72 dpi) or one of
+ //! the special values, XpdfWidget::zoomToPage or XpdfWidget::zoomToWidth.
+ void setZoom(double zoom);
+
+ //! Return the current zoom factor.
+ //! This can be a percentage factor or one of the special values,
+ //! XpdfWidget::zoomToPage or XpdfWidget::zoomToWidth.
+ double getZoom() const;
+
+ //! Return the current zoom factor as a percentage.
+ //! If the zoom is set to XpdfWidget::zoomToPage or
+ //! XpdfWidget::zoomToWidth, returns the computed zoom percentage
+ //! for the specified page, based on the current window size.
+ double getZoomPercent(int page = 1) const;
+
+ //! Zoom in to the specified rectangle.
+ //! The coordinate system is the same one used by
+ //! XpdfWidget::getCurrentSelection. This function will set the zoom
+ //! factor and scroll position so that the specified rectangle just fits
+ //! in the window.
+ void zoomToRect(int page, double xMin, double yMin,
+ double xMax, double yMax);
+
+ //! Set the zoom factor, while maintaining the current center.
+ //! Accepts the same zoom values as XpdfWidget::setZoom.
+ void zoomCentered(double zoom);
+
+ //! Zoom so that the current page(s) fill the window width.
+ //! Maintains the vertical center.
+ void zoomToCurrentWidth();
+
+ //! Change the page rotation.
+ //! \param rotate rotation angle in degrees - must be 0, 90, 180, or 270
+ void setRotate(int rotate);
+
+ //! Return the current page rotation.
+ //! The angle can be 0, 90, 180, or 270.
+ int getRotate() const;
+
+ //! Set continuous or single-page view mode.
+ //! Deprecated: this is equivalent to calling setDisplayMode() with
+ //! pdfDisplaySingle or pdfDisplayContinuous.
+ //! \param continuous true for continous view mode, false for single-page
+ //! view mode
+ void setContinuousMode(bool continuous);
+
+ //! Return true if the viewer is in continuous view mode, or false
+ //! if it is in any other mode. Deprecated: see getDisplayMode().
+ bool getContinuousMode() const;
+
+ //! Set the display mode.
+ void setDisplayMode(DisplayMode mode);
+
+ //! Return the current display mode.
+ DisplayMode getDisplayMode();
+
+ //! Returns true if the mouse is currently over a hyperlink.
+ bool mouseOverLink();
+
+ //! Returns true if the specified coordinates are inside a
+ //! hyperlink. Note: This function expects PDF coordinates, not window
+ //! coordinates.
+ bool onLink(int page, double xx, double yy);
+
+ //! Get destination information for the hyperlink at the specified
+ //! page and coordinates. If there is a link at the specified
+ //! point, returns a string suitable for displaying to a user;
+ //! otherwise returns an empty string. Note: This function expects
+ //! PDF coordinates, not window coordinates.
+ QString getLinkInfo(int page, double xx, double yy);
+
+ //! Get destination information for the hyperlink under the mouse.
+ //! If the mouse is currently over a hyperlink, return an info
+ //! string (same as with getLinkInfo()); otherwise return an empty
+ //! string.
+ QString getMouseLinkInfo();
+
+ //! Activate the link (if any) at the specified page and coordinates.
+ //! Returns true if successful. Note: This function expects PDF
+ //! coordinates, not window coordinates.
+ bool gotoLinkAt(int page, double xx, double yy);
+
+ //! Check for an annotation containing the specified point.
+ //! Returns NULL if there is no annotation at this point. Note:
+ //! This function expects PDF coordinates, not window coordinates.
+ XpdfAnnotHandle onAnnot(int page, double xx, double yy);
+
+ //! Get the annotation type.
+ QString getAnnotType(XpdfAnnotHandle annot);
+
+ //! Get the annotation's content.
+ //! Usage of this depends on the annotation type.
+ QString getAnnotContent(XpdfAnnotHandle annot);
+
+ //! Check for a form field containing the specified point.
+ //! Returns NULL if there is no annotation at this point. Note:
+ //! This function expects PDF coordinates, not window coordinates.
+ XpdfFormFieldHandle onFormField(int page, double xx, double yy);
+
+ //! Get the form field's type.
+ QString getFormFieldType(XpdfFormFieldHandle field);
+
+ //! Get the form field's name.
+ QString getFormFieldName(XpdfFormFieldHandle field);
+
+ //! Get the form field's content.
+ //! Usage of this depends on the field type.
+ QString getFormFieldValue(XpdfFormFieldHandle field);
+
+ //! Get the form field's bounding box.
+ void getFormFieldBBox(XpdfFormFieldHandle field, int *pageNum,
+ double *xMin, double *yMin,
+ double *xMax, double *yMax);
+
+ //! Convert window coordinates to PDF coordinates. Returns true if
+ //! successful, i.e., if the specified point falls on a PDF page.
+ bool convertWindowToPDFCoords(int winX, int winY,
+ int *page, double *pdfX, double *pdfY);
+
+ //! Convert PDF coordinates to window coordinates.
+ void convertPDFToWindowCoords(int page, double pdfX, double pdfY,
+ int *winX, int *winY);
+
+ //! Enable or disable window redraws.
+ //! This is useful, e.g., for avoiding extra redraws during window
+ //! resizing. Deprecated -- this just calls setUpdatesEnabled().
+ void enableRedraw(bool enable);
+
+ //! Return the coordinates of the specified page box.
+ //! \param page the page number
+ //! \param box the requested page box - one of "media", "crop",
+ //! "bleed", "trim", or "art" (\a box is not case-sensitive)
+ //! \param *xMin returns the minimum x coordinate of the box
+ //! \param *yMin returns the minimum y coordinate of the box
+ //! \param *xMax returns the maximum x coordinate of the box
+ //! \param *yMax returns the maximum y coordinate of the box
+ //!
+ //! All coordinates are in points (1 point = 1/72 inch).
+ void getPageBox(int page, const QString &box,
+ double *xMin, double *yMin, double *xMax, double *yMax) const;
+
+ //! Return the width of the specified page.
+ //! This function returns the crop box width, measured in points
+ //! (1 point = 1/72 inch).
+ double getPageWidth(int page) const;
+
+ //! Return the height of the specified page.
+ //! This function returns the crop box height, measured in points
+ //! (1 point = 1/72 inch).
+ double getPageHeight(int page) const;
+
+ //! Get the default rotation for the specified page.
+ //! This is the default viewing rotation specified in the PDF file -
+ //! it will be one of 0, 90, 180, or 270.
+ int getPageRotation(int page) const;
+
+ //! Check to see if there is a selection.
+ //! Returns true if there is a currently active selection.
+ bool hasSelection();
+
+ //! Returns the current selection.
+ //! If there is a currently active selection, sets *\a page, (*\a x0,*\a y0),
+ //! and (*\a x1,*\a y1) to the page number and upper-left and lower-right
+ //! coordinates, respectively, and returns true. If there is no selection,
+ //! returns false.
+ bool getCurrentSelection(int *page, double *x0, double *y0,
+ double *x1, double *y1) const;
+
+ //! Set the selection.
+ //! Sets the current selection to the rectangle with upper-left corner
+ //! (\a x0,\a y0) and lower-right corner (\a x1,\a y1) on \a page.
+ void setCurrentSelection(int page, double x0, double y0,
+ double x1, double y1);
+
+ //! Clear the selection.
+ void clearSelection();
+
+ //! Check for block selection mode.
+ //! Returns true if the current selection mode is block.
+ bool isBlockSelectMode();
+
+ //! Check for linear selection mode.
+ //! Returns true if the current selection mode is linear.
+ bool isLinearSelectMode();
+
+ //! Set block selection mode.
+ //! In this mode, the selection is a simple rectangle. Any part of
+ //! the page can be selected, regardless of the content on the page.
+ void setBlockSelectMode();
+
+ //! Set linear selection mode.
+ //! In this mode, the selection follows text. Non-text regions
+ //! cannot be selected.
+ void setLinearSelectMode();
+
+ //! Set the selection color.
+ void setSelectionColor(const QColor &selectionColor);
+
+
+ //! Force a complete redraw.
+ void forceRedraw();
+
+#if XPDFWIDGET_PRINTING
+ //! Checks to see if printing is allowed.
+ //! This function returns false if the currently displayed PDF file
+ //! is encrypted and does not allow printing (or if no PDF file is
+ //! currently open). The owner password can be used to circumvent
+ //! this: if a valid owner password was supplied to
+ //! XpdfWidget::loadFile, this function will always return true. If
+ //! this function returns false, the printing functions will return
+ //! an error.
+ bool okToPrint() const;
+
+ //! Print the currently displayed PDF file.
+ //! Prints the currently displayed PDF file. If \a showDialog is
+ //! true, displays the Qt print dialog, and uses the printer
+ //! selected by the user. If \a showDialog is false, prints to the
+ //! default printer without showing any dialogs.
+ ErrorCode print(bool showDialog);
+
+ //! Print the currently displayed PDF file.
+ //! Prints the currently displayed PDF file to \a prt.
+ ErrorCode print(QPrinter *prt);
+
+ //! Cancel an in-progress print job. This should be called in
+ //! response to a printStatus signal.
+ void cancelPrint() { printCanceled = true; }
+
+ void updatePrintStatus(int nextPage, int firstPage, int lastPage);
+ bool isPrintCanceled() { return printCanceled; }
+
+ //! Set the horizontal and vertical print resolution, in dots per
+ //! inch (DPI). The horizontal and vertical resolutions are
+ //! typically the same. (There are exceptions, such as some chart
+ //! printers.)
+ void setPrintDPI(int hDPI, int vDPI);
+#endif // XPDFWIDGET_PRINTING
+
+ //! Convert a page to a color image.
+ //! This function converts the page number \a page to a 24-bit RGB
+ //! bitmap, at a resolution of \a dpi dots per inch. If \a
+ //! transparent is true, the returned image will be 32-bit ARGB
+ //! instead, and will include an alpha channel.
+ QImage convertPageToImage(int page, double dpi, bool transparent = false);
+
+ //! Convert a rectangular region of a page to a color image.
+ //! This function converts a rectangular region, defined by corners
+ //! (\a x0,\a y0) and (\a x1,\a y1), of page number \a page to a
+ //! 24-bit RGB bitmap, at a resolution of \a dpi dots per inch. If
+ //! \a transparent is true, the returned image will be 32-bit ARGB
+ //! instead, and will include an alpha channel.
+ QImage convertRegionToImage(int page, double x0, double y0,
+ double x1, double y1, double dpi,
+ bool transparent = false);
+
+ //! Retrieve an embedded thumbnail image.
+ //! This function returns the embedded thumbnail image for the
+ //! specified page, or a null image if there is no embedded
+ //! thumbnail. This function does not do any rasterization -- it
+ //! only returns a non-null image if there is an embedded thumbnail
+ //! in the PDF file.
+ QImage getThumbnail(int page);
+
+ //! Checks to see if text extraction is allowed.
+ //! This function returns false if the currently displayed PDF file
+ //! is encrypted and does not allow extraction of text (or if no PDF
+ //! file is currently open). The owner password can be used to
+ //! circumvent this: if a valid owner password was supplied to
+ //! XpdfWidget::loadFile, this function will always return true.
+ //! If this function returns false, the text extraction functions will
+ //! not return any text.
+ bool okToExtractText() const;
+
+ //! Set the encoding to use for text extraction.
+ //! The following encodings are predefined:
+ //! - \c "Latin1": ISO-8859-1 (this is the default value)
+ //! - \c "ASCII7": 7-bit ASCII
+ //! - \c "UTF-8": Unicode in UTF-8 format
+ //! - \c "UCS-2": Unicode in UCS-2 format
+ //!
+ //! Additional encodings can be defined via the xpdfrc config file.
+ void setTextEncoding(const QString &encodingName);
+
+ //! Extract text from a region of a page.
+ //! This function extracts and returns text from the rectangular
+ //! region, defined by corners (\a x0,\a y0) and (\a x1,\a y1), of
+ //! page number \a page. The coordinates returned by
+ //! XpdfWidget::getCurrentSelection may be passed directly to this
+ //! function. Returns an empty string if no file is open or if
+ //! text extraction is not allowed.
+ QString extractText(int page, double x0, double y0,
+ double x1, double y1);
+
+ //! Get the currently selected text.
+ //! Returns an empty string if there is no selection (or if there is
+ //! no text in the selected region).
+ QString getSelectedText();
+
+ //! Copy the current selection to the clipboard.
+ void copySelection();
+
+ //! Find a text string.
+ //! This function searches for a Unicode text string. Starts
+ //! searching after (before, if searching backward) the current
+ //! selection (if there is a selection), or at the top (bottom,
+ //! if searching backward) of the current page (if there is no
+ //! selection). The \a flags argument consists of zero or more
+ //! of the following, or-ed together:
+ //! - \c findBackward - search backward from the starting point
+ //! - \c findCaseSensitive - perform a case-sensitive search
+ //! (default is case-insensitive)
+ //! - \c findNext - start searching from the previous search result
+ //! - \c findOnePageOnly - limit the search to the current page
+ //! - \c findWholeWord - limit the search to whole words
+ bool find(const QString &text, int flags = 0);
+
+ //! Find all occurrences of a text string.
+ //! This function searches for a Unicode text string, in pages
+ //! \a firstPage .. \a lastPage. The \a flags argument consists of
+ //! zero or more of the following, or-ed together:
+ //! - \c findCaseSensitive - perform a case-sensitive search
+ //! (default is case-insensitive)
+ //! - \c findWholeWord - limit the search to whole words
+ //! Returns a list of search results.
+ QVector<XpdfFindResult> findAll(const QString &text, int firstPage,
+ int lastPage, int flags = 0);
+
+ //! Check if the PDF file has page labels.
+ //! Return true if the currently open PDF file has page labels.
+ bool hasPageLabels();
+
+ //! Convert a page number to a page label.
+ //! Return the page label for page number \a pageNum. Returns an
+ //! empty string if the page number is invalid or if the PDF file
+ //! doesn't have page labels.
+ QString getPageLabelFromPageNum(int pageNum);
+
+ //! Convert a page label to a page number.
+ //! Return the page number for \a pageLabel. Returns -1 if there is
+ //! no matching page label or if the PDF file doesn't have page
+ //! labels.
+ int getPageNumFromPageLabel(QString pageLabel);
+
+ //! Return the number of children of an outline tree node.
+ //! This function returns the number of children of node \a outline,
+ //! or the number of root outline entries if \a outline is \c NULL.
+ int getOutlineNumChildren(XpdfOutlineHandle outline);
+
+ //! Return a child of an outline tree node.
+ //! This function returns the \a idx 'th child of node \a outline,
+ //! or the \a idx 'th root entry if \a outline is \c NULL.
+ XpdfOutlineHandle getOutlineChild(XpdfOutlineHandle outline, int idx);
+
+ //! Return the parent of an outline tree node.
+ //! This function returns the parent of node \a outline, or NULL if
+ //! \a outline is a root item.
+ XpdfOutlineHandle getOutlineParent(XpdfOutlineHandle outline);
+
+ //! Get the title of an outline tree node.
+ //! This function returns the title of node \a outline.
+ QString getOutlineTitle(XpdfOutlineHandle outline);
+
+ //! Return true if the specified outline entry starts open.
+ bool getOutlineStartsOpen(XpdfOutlineHandle outline);
+
+ //! Return the target page number for the specified outline entry.
+ int getOutlineTargetPage(XpdfOutlineHandle outline);
+
+ //! Jump to the target of the specified outline entry.
+ void gotoOutlineTarget(XpdfOutlineHandle outline);
+
+ //! Return the number of layers in the PDF file.
+ //! Note that a PDF file can have zero or more layers.
+ int getNumLayers() const;
+
+ //! Get a layer handle.
+ //! This function returns a handle for the \a idx 'th layer.
+ XpdfLayerHandle getLayer(int idx) const;
+
+ //! Get the name of a layer.
+ //! This function returns the title of \a layer.
+ QString getLayerName(XpdfLayerHandle layer) const;
+
+ //! Get the visibility state of a layer.
+ //! Returns true if the layer is currently visible, false if not.
+ bool getLayerVisibility(XpdfLayerHandle layer) const;
+
+ //! Set the visibility state of a layer.
+ //! \param layer the layer handle
+ //! \param visibility the new state - true for visible, false for not
+ //! visible
+ void setLayerVisibility(XpdfLayerHandle layer, bool visibility);
+
+ //! Get the suggested state for this layer in viewing mode.
+ //! This function returns one of:
+ //! - 1: on
+ //! - 0: off
+ //! - -1: unset
+ int getLayerViewState(XpdfLayerHandle layer) const;
+
+ //! Get the suggested state for this layer in printing mode.
+ //! This function returns one of:
+ //! - 1: on
+ //! - 0: off
+ //! - -1: unset
+ int getLayerPrintState(XpdfLayerHandle layer) const;
+
+ //! Get the root of the layer display order tree.
+ XpdfLayerOrderHandle getLayerOrderRoot() const;
+
+ //! Check the type of a layer display order tree node.
+ //! Returns true if the specified node of the layer display order
+ //! tree is a name; false if the node is a layer.
+ bool getLayerOrderIsName(XpdfLayerOrderHandle order) const;
+
+ //! Get the name of a layer display order tree node.
+ //! This should only be called if getLayerOrderIsName returns true.
+ QString getLayerOrderName(XpdfLayerOrderHandle order) const;
+
+ //! Get the layer associated with a layer display order tree node.
+ XpdfLayerHandle getLayerOrderLayer(XpdfLayerOrderHandle order);
+
+ //! Returns the number of children attached to a layer display order
+ //! tree node.
+ int getLayerOrderNumChildren(XpdfLayerOrderHandle order);
+
+ //! Returns the \a idx 'th child of a layer display order tree node.
+ XpdfLayerOrderHandle getLayerOrderChild(XpdfLayerOrderHandle order, int idx);
+
+ //! Return the parent of a layer display order tree node.
+ //! This function returns the parent of node \a order, or NULL if \a
+ //! order is the root node.
+ XpdfLayerOrderHandle getLayerOrderParent(XpdfLayerOrderHandle order);
+
+ //! Return the number of embedded files in the current PDF file.
+ int getNumEmbeddedFiles();
+
+ //! Return the name of the \a idx 'th embedded file.
+ QString getEmbeddedFileName(int idx);
+
+ //! Save the \a idx 'th embedded file with the specified file name.
+ //! Returns true if successful.
+ bool saveEmbeddedFile(int idx, QString fileName);
+
+ //--- for internal use
+
+ //! \cond
+
+ virtual QSize sizeHint() const;
+ QtPDFCore *getCore() { return core; }
+
+ //! \endcond
+
+signals:
+
+ //! This signal is emitted whenever the viewer displays a new page.
+ //! It can be triggered by user actions (e.g., the PageDown button),
+ //! or program control (e.g., the gotoNextPage function).
+ //! \param pageNum - the new page number
+ void pageChange(int pageNum);
+
+ //! This signal is emitted whenever the page shown at the middle of
+ //! the window changes.
+ //! It is similar to XpdfWidget::pageChange, except that it reflects
+ //! the page shown at the middle of the window (instead of the page
+ //! at the top of the window).
+ void midPageChange(int pageNum);
+
+ //! This signal is emitted just before a PDF file is loaded.
+ void preLoad();
+
+ //! This signal is emitted just after a PDF file is loaded.
+ void postLoad();
+
+ //! This signal is emitted whenever a key is pressed.
+ void keyPress(QKeyEvent *e);
+
+ //! This signal is emitted whenever a mouse button is pressed.
+ void mousePress(QMouseEvent *e);
+
+ //! This signal is emitted whenever a mouse button is released.
+ void mouseRelease(QMouseEvent *e);
+
+ //! This signal is emitted whenever a mouse button is clicked.
+ //! A click is defined as a button press and release within a short
+ //! distance of each other (a few pixels). The sequence of signals
+ //! is: mousePress, possibly a few mouseMoves, mouseRelease, and
+ //! then mouseClick.
+ void mouseClick(QMouseEvent *e);
+
+ //! This signal is emitted whenever a mouse button is double-clicked.
+ //! Double clicks are two clicks within a few pixels of each other,
+ //! and within a certain time of each other. The sequence of
+ //! signals is: mousePress, mouseRelease, mouseClick, mousePress,
+ //! mouseRelease, mouseDoubleClick. There may also be mouseMoves
+ //! between the presses and releases.
+ void mouseDoubleClick(QMouseEvent *e);
+
+ //! This signal is emitted whenever a mouse button is triple-clicked.
+ //! Triple clicks are three clicks within a few pixels of each
+ //! other, and within a certain time of each other. The sequence of
+ //! signals is: mousePress, mouseRelease, mouseClick, mousePress,
+ //! mouseRelease, mouseDoubleClick, mousePress, mouseRelease,
+ //! mouseTripleClick. There may also be mouseMoves between the
+ //! presses and releases.
+ void mouseTripleClick(QMouseEvent *e);
+
+ //! This signal is emitted whenever the mouse pointer is moved.
+ void mouseMove(QMouseEvent *e);
+
+ //! This signal is emitted whenever a mouse wheel is clicked.
+ void mouseWheel(QWheelEvent *e);
+
+ //! This signal is emitted whenever the user clicks on a hyperlink.
+ //! \param linkType the type of link - one of:
+ //! - \c "goto": a link to another page in the same PDF
+ //! file - \a dest is empty; \a page is the destination
+ //! page number
+ //! - \c "pdf": a link to another PDF file - \a dest is the
+ //! target PDF file; \a page is 0
+ //! - \c "launch": an arbitrary command to be run - \a dest
+ //! is the command; \a page is 0
+ //! - \c "url": a URL link - \a dest is the URL; \a page is 0
+ //! - \c "named": a "named action" link - \a dest is the
+ //! action (see the PDF spec for details); \a page is 0
+ //! - \c "unknown": an unknown link type - \a dest is empty;
+ //! \a page is 0
+ //! \param dest destination string
+ //! \param page destination page number
+ void linkClick(const QString &linkType, const QString &dest, int page);
+
+ //! This signal is emitted when the user selects an area.
+ //! Use XpdfWidget::getCurrentSelection to retrieve the selection.
+ void selectDone();
+
+ //! This signal is emitted whenever the widget is repainted. \a
+ //! finished is true if the painted view is complete, or false if
+ //! this was an incremental update, i.e., if the view is still being
+ //! rendered.
+ void paintDone(bool finished);
+
+ //! This signal is emitted when the widget is resized.
+ void resized();
+
+
+#if XPDFWIDGET_PRINTING
+ //! This signal is called before each page is spooled, and after the
+ //! last page is spooled. It is typically used to update a print
+ //! status dialog. \a nextPage is the next page to be printed.
+ //! \a firstPage and \a lastPage specify the range of pages being
+ //! printed.
+ void printStatus(int nextPage, int firstPage, int lastPage);
+#endif
+
+ //! \cond PROTECTED
+
+ void tileDone();
+
+ //! \endcond
+
+protected:
+
+ //! \cond PROTECTED
+
+ virtual void paintEvent(QPaintEvent *eventA);
+ virtual void resizeEvent(QResizeEvent *eventA);
+ virtual void scrollContentsBy(int dx, int dy);
+ virtual void keyPressEvent(QKeyEvent *e);
+ virtual void mousePressEvent(QMouseEvent *e);
+ virtual void mouseReleaseEvent(QMouseEvent *e);
+ virtual void mouseMoveEvent(QMouseEvent *e);
+ virtual void wheelEvent(QWheelEvent *e);
+ virtual bool eventFilter(QObject *obj, QEvent *event);
+
+ //! \endcond
+
+private slots:
+
+ void tick();
+
+private:
+
+ void setup(const QColor &paperColor, const QColor &matteColor,
+ bool reverseVideo);
+ static void updateCbk(void *data, GString *fileName,
+ int pageNum, int numPages,
+ const char *linkLabel);
+ static void midPageChangedCbk(void *data, int pageNum);
+ static void preLoadCbk(void *data);
+ static void postLoadCbk(void *data);
+ static void linkCbk(void *data, const char *type,
+ const char *dest, int page);
+ static void selectDoneCbk(void *data);
+ static void paintDoneCbk(void *data, bool finished);
+ static void tileDoneCbk(void *data);
+
+ friend class XpdfViewer;
+ bool getLinkTarget(int page, double xx, double yy,
+ QString &targetFileName, int &targetPage,
+ QString &targetDest);
+
+#if XPDFWIDGET_PRINTING
+ QPrinter *printerForDialog;
+ QPrintDialog *printDialog;
+ int printHDPI, printVDPI;
+ bool printCanceled;
+#endif
+
+ static QMutex initMutex;
+
+ QtPDFCore *core;
+ double scaleFactor;
+
+ bool keyPassthrough;
+ bool mousePassthrough;
+ int lastMousePressX[3], lastMousePressY[3];
+ ulong lastMousePressTime[3];
+ bool lastMouseEventWasPress;
+
+ bool touchPanEnabled;
+ bool touchZoomEnabled;
+ double pinchZoomStart;
+
+ QTimer *tickTimer;
+};
+
+#endif
diff --git a/xpdf-qt/XpdfWidgetPrint.cc b/xpdf-qt/XpdfWidgetPrint.cc
new file mode 100644
index 0000000..e57ae10
--- /dev/null
+++ b/xpdf-qt/XpdfWidgetPrint.cc
@@ -0,0 +1,500 @@
+//========================================================================
+//
+// XpdfWidgetPrint.cc
+//
+// Copyright 2012 Glyph & Cog, LLC
+//
+//========================================================================
+
+#if XPDFWIDGET_PRINTING
+
+#include <aconf.h>
+
+#include <stdlib.h>
+#include <QPrinter>
+#include "gfile.h"
+#include "PDFDoc.h"
+#include "ErrorCodes.h"
+#include "XpdfWidget.h"
+
+#if defined(_WIN32)
+#elif defined(__APPLE__)
+# include <CoreFoundation/CoreFoundation.h>
+# include <ApplicationServices/ApplicationServices.h>
+#elif defined(__linux__)
+# include "PSOutputDev.h"
+# include <cups/cups.h>
+#endif
+
+#include "gmempp.h"
+
+//------------------------------------------------------------------------
+// Windows
+//------------------------------------------------------------------------
+
+#if defined(_WIN32)
+
+//------------------------------------------------------------------------
+// Mac OS X
+//------------------------------------------------------------------------
+
+#elif defined(__APPLE__)
+
+XpdfWidget::ErrorCode printPDF(PDFDoc *doc, QPrinter *prt,
+ int hDPI, int vDPI,
+ XpdfWidget *widget) {
+ GString *pdfFileName;
+ CFStringRef s;
+ CFURLRef url;
+ CGPDFDocumentRef pdfDoc;
+ CGPDFPageRef pdfPage;
+ GString *printerName;
+ CFArrayRef printerList, pageFormatList;
+ char prtName[512];
+ PMPrinter printer;
+ PMPrintSession session;
+ PMPageFormat pageFormat;
+ PMPrintSettings printSettings;
+ PMRect paperRect;
+ CGRect paperRect2;
+ CGContextRef ctx;
+ CGAffineTransform pageTransform;
+ QPrinter::ColorMode colorMode;
+ QSizeF paperSize;
+ QPrinter::PaperSource paperSource;
+ QPageLayout::Orientation pageOrientation;
+ FILE *f;
+ GBool deletePDFFile;
+ int startPage, endPage, pg, i;
+
+ //--- get PDF file name
+
+ deletePDFFile = gFalse;
+ if (doc->getFileName()) {
+ pdfFileName = doc->getFileName()->copy();
+ } else {
+ if (!openTempFile(&pdfFileName, &f, "wb", ".pdf")) {
+ goto err0;
+ }
+ fclose(f);
+ deletePDFFile = gTrue;
+ if (!doc->saveAs(pdfFileName)) {
+ goto err1;
+ }
+ }
+
+ //--- load the PDF file
+
+ s = CFStringCreateWithCString(NULL, pdfFileName->getCString(),
+ kCFStringEncodingUTF8);
+ url = CFURLCreateWithFileSystemPath(NULL, s, kCFURLPOSIXPathStyle, false);
+ CFRelease(s);
+ pdfDoc = CGPDFDocumentCreateWithURL(url);
+ CFRelease(url);
+ if (!pdfDoc) {
+ goto err1;
+ }
+
+ //--- get page range
+
+ startPage = prt->fromPage();
+ endPage = prt->toPage();
+ if (startPage == 0) {
+ startPage = 1;
+ }
+ if (endPage == 0) {
+ endPage = doc->getNumPages();
+ }
+ if (startPage > endPage) {
+ CFRelease(pdfDoc);
+ if (deletePDFFile) {
+ unlink(pdfFileName->getCString());
+ }
+ delete pdfFileName;
+ return XpdfWidget::pdfErrBadPageNum;
+ }
+
+ //--- get other parameters
+
+ colorMode = prt->colorMode();
+ paperSize = prt->paperSize(QPrinter::Point);
+ paperSource = prt->paperSource();
+ pageOrientation = prt->pageLayout().orientation();
+
+ //--- create the Session and PrintSettings
+
+ if (PMCreateSession(&session)) {
+ goto err2;
+ }
+ if (PMCreatePrintSettings(&printSettings)) {
+ goto err3;
+ }
+ if (PMSessionDefaultPrintSettings(session, printSettings)) {
+ goto err4;
+ }
+ s = CFStringCreateWithCString(NULL, pdfFileName->getCString(),
+ kCFStringEncodingUTF8);
+ PMPrintSettingsSetJobName(printSettings, s);
+ CFRelease(s);
+
+ //--- set up for print-to-file
+
+ if (!prt->outputFileName().isEmpty()) {
+
+ s = CFStringCreateWithCString(NULL,
+ prt->outputFileName().toUtf8().constData(),
+ kCFStringEncodingUTF8);
+ url = CFURLCreateWithFileSystemPath(NULL, s, kCFURLPOSIXPathStyle, false);
+ CFRelease(s);
+ if (PMSessionSetDestination(session, printSettings, kPMDestinationFile,
+ kPMDocumentFormatPDF, url)) {
+ CFRelease(url);
+ goto err4;
+ }
+ CFRelease(url);
+
+ //--- set the printer
+
+ } else {
+
+ if (PMServerCreatePrinterList(kPMServerLocal, &printerList)) {
+ goto err4;
+ }
+ printer = NULL;
+ printerName = new GString(prt->printerName().toUtf8().constData());
+ for (i = 0; i < CFArrayGetCount(printerList); ++i) {
+ printer = (PMPrinter)CFArrayGetValueAtIndex(printerList, i);
+#if QT_VERSION >= 0x050000
+ s = PMPrinterGetID(printer);
+#else
+ s = PMPrinterGetName(printer);
+#endif
+ if (CFStringGetCString(s, prtName, sizeof(prtName),
+ kCFStringEncodingUTF8)) {
+ if (!strcmp(prtName, printerName->getCString())) {
+ break;
+ }
+ }
+ }
+ delete printerName;
+ if (i >= CFArrayGetCount(printerList)) {
+ CFRelease(printerList);
+ PMRelease(printSettings);
+ PMRelease(session);
+ CFRelease(pdfDoc);
+ return XpdfWidget::pdfErrBadPrinter;
+ }
+ if (PMSessionSetCurrentPMPrinter(session, printer)) {
+ CFRelease(printerList);
+ goto err4;
+ }
+ CFRelease(printerList);
+ }
+
+ //--- set color mode
+
+#if 0
+ if (colorMode == QPrinter::GrayScale) {
+ // this is deprecated, with no replacement
+ PMSetColorMode(printSettings, kPMGray);
+ }
+#endif
+
+ //--- set paper size
+
+ if (PMSessionGetCurrentPrinter(session, &printer)) {
+ goto err4;
+ }
+ if (PMSessionCreatePageFormatList(session, printer, &pageFormatList)) {
+ goto err4;
+ }
+ pageFormat = NULL;
+ for (i = 0; i < CFArrayGetCount(pageFormatList); ++i) {
+ pageFormat = (PMPageFormat)CFArrayGetValueAtIndex(pageFormatList, i);
+ PMGetUnadjustedPaperRect(pageFormat, &paperRect);
+ if (fabs((paperRect.right - paperRect.left) - paperSize.width()) < 2 &&
+ fabs((paperRect.bottom - paperRect.top) - paperSize.height()) < 2) {
+ PMRetain(pageFormat);
+ break;
+ }
+ pageFormat = NULL;
+ }
+ CFRelease(pageFormatList);
+ if (!pageFormat) {
+ if (PMCreatePageFormat(&pageFormat)) {
+ goto err4;
+ }
+ if (PMSessionDefaultPageFormat(session, pageFormat)) {
+ goto err5;
+ }
+ }
+
+ //--- set page orientation
+
+ PMGetAdjustedPaperRect(pageFormat, &paperRect);
+ if (pageOrientation == QPageLayout::Landscape) {
+ PMSetOrientation(pageFormat, kPMLandscape, kPMUnlocked);
+ paperRect2 = CGRectMake(paperRect.top,
+ paperRect.left,
+ paperRect.bottom - paperRect.top,
+ paperRect.right - paperRect.left);
+ } else {
+ PMSetOrientation(pageFormat, kPMPortrait, kPMUnlocked);
+ paperRect2 = CGRectMake(paperRect.left,
+ paperRect.top,
+ paperRect.right - paperRect.left,
+ paperRect.bottom - paperRect.top);
+ }
+
+ //--- print
+
+ if (PMSetPageRange(printSettings, startPage, endPage)) {
+ goto err5;
+ }
+ if (PMSessionBeginCGDocumentNoDialog(session, printSettings, pageFormat)) {
+ goto err5;
+ }
+ for (pg = startPage; pg <= endPage; ++pg) {
+ widget->updatePrintStatus(pg, startPage, endPage);
+ if (widget->isPrintCanceled()) {
+ goto err6;
+ }
+ if (PMSessionBeginPageNoDialog(session, pageFormat, NULL)) {
+ goto err6;
+ }
+ if (PMSessionGetCGGraphicsContext(session, &ctx)) {
+ goto err6;
+ }
+ if (!(pdfPage = CGPDFDocumentGetPage(pdfDoc, pg))) {
+ goto err6;
+ }
+ pageTransform = CGPDFPageGetDrawingTransform(pdfPage, kCGPDFMediaBox,
+ paperRect2, 0, true);
+ CGContextSaveGState(ctx);
+ CGContextConcatCTM(ctx, pageTransform);
+ CGContextDrawPDFPage(ctx, pdfPage);
+ CGContextRestoreGState(ctx);
+ if (PMSessionEndPageNoDialog(session)) {
+ goto err6;
+ }
+ }
+ widget->updatePrintStatus(endPage + 1, startPage, endPage);
+ PMSessionEndDocumentNoDialog(session);
+ PMRelease(pageFormat);
+ PMRelease(printSettings);
+ PMRelease(session);
+
+ CFRelease(pdfDoc);
+ if (deletePDFFile) {
+ unlink(pdfFileName->getCString());
+ }
+ delete pdfFileName;
+
+ return XpdfWidget::pdfOk;
+
+ err6:
+ PMSessionEndDocumentNoDialog(session);
+ err5:
+ PMRelease(pageFormat);
+ err4:
+ PMRelease(printSettings);
+ err3:
+ PMRelease(session);
+ err2:
+ CFRelease(pdfDoc);
+ err1:
+ if (deletePDFFile) {
+ unlink(pdfFileName->getCString());
+ }
+ delete pdfFileName;
+ err0:
+ return XpdfWidget::pdfErrPrinting;
+}
+
+//------------------------------------------------------------------------
+// Linux
+//------------------------------------------------------------------------
+
+#elif defined(__linux__)
+
+static void fileOut(void *stream, const char *data, int len) {
+ fwrite(data, 1, len, (FILE *)stream);
+}
+
+XpdfWidget::ErrorCode printPDF(PDFDoc *doc, QPrinter *prt,
+ int hDPI, int vDPI,
+ XpdfWidget *widget) {
+ int startPage, endPage;
+ QPrinter::PaperSize paperSize;
+ QSizeF paperSizePts;
+ QPrinter::PaperSource paperSource;
+ QPrinter::DuplexMode duplex;
+ GString *psFileName;
+ FILE *psFile;
+ PSOutputDev *psOut;
+ GString *printerName;
+ cups_dest_t *dests, *dest;
+ cups_option_t *options;
+ const char *paperSizeStr, *paperSourceStr;
+ GString *s;
+ int nDests, nOptions;
+ int pg;
+
+ //--- get page range
+
+ startPage = prt->fromPage();
+ endPage = prt->toPage();
+ if (startPage == 0) {
+ startPage = 1;
+ }
+ if (endPage == 0) {
+ endPage = doc->getNumPages();
+ }
+ if (startPage > endPage) {
+ return XpdfWidget::pdfErrBadPageNum;
+ }
+
+ //--- get other parameters
+
+ paperSize = prt->paperSize();
+ paperSizePts = prt->paperSize(QPrinter::Point);
+ paperSource = prt->paperSource();
+ duplex = prt->duplex();
+
+ //--- print to file
+
+ if (!prt->outputFileName().isEmpty()) {
+ psFileName = NULL; // don't delete the PS file
+ if (!(psFile = fopen(prt->outputFileName().toUtf8().constData(), "wb"))) {
+ goto err0;
+ }
+
+ //--- open temporary PS file
+
+ } else {
+ if (!openTempFile(&psFileName, &psFile, "wb", ".ps")) {
+ goto err0;
+ }
+ }
+
+ //--- generate the PS file
+
+ globalParams->setPSPaperWidth((int)(paperSizePts.width() + 0.5));
+ globalParams->setPSPaperHeight((int)(paperSizePts.height() + 0.5));
+
+ widget->updatePrintStatus(startPage, startPage, endPage);
+ psOut = new PSOutputDev(fileOut, psFile, doc, startPage, endPage,
+ psModePS);
+ if (!psOut->isOk()) {
+ delete psOut;
+ goto err1;
+ }
+ for (pg = startPage; pg <= endPage; ++pg) {
+ if (widget->isPrintCanceled()) {
+ delete psOut;
+ fclose(psFile);
+ goto err1;
+ }
+ doc->displayPage(psOut, pg, 72, 72, 0,
+ !globalParams->getPSUseCropBoxAsPage(),
+ gTrue, gTrue);
+ widget->updatePrintStatus(pg + 1, startPage, endPage);
+ }
+ delete psOut;
+ fclose(psFile);
+
+ //--- print the PS file
+
+ if (psFileName) {
+
+ if (!prt->printerName().isEmpty()) {
+ printerName = new GString(prt->printerName().toLocal8Bit().constData());
+ } else {
+ nDests = cupsGetDests(&dests);
+ if (!(dest = cupsGetDest(NULL, NULL, nDests, dests))) {
+ unlink(psFileName->getCString());
+ delete psFileName;
+ cupsFreeDests(nDests, dests);
+ return XpdfWidget::pdfErrBadPrinter;
+ }
+ printerName = new GString(dest->name);
+ cupsFreeDests(nDests, dests);
+ }
+
+ options = NULL;
+ nOptions = 0;
+
+ switch (paperSize) {
+ case QPrinter::A4: paperSizeStr = "A4"; break;
+ case QPrinter::Comm10E: paperSizeStr = "COM10"; break;
+ case QPrinter::DLE: paperSizeStr = "DL"; break;
+ case QPrinter::Legal: paperSizeStr = "Legal"; break;
+ case QPrinter::Letter: paperSizeStr = "Letter"; break;
+ default: paperSizeStr = NULL; break;
+ }
+ switch (paperSource) {
+ case QPrinter::LargeCapacity: paperSourceStr = "LargeCapacity"; break;
+ case QPrinter::Lower: paperSourceStr = "Lower"; break;
+ default: paperSourceStr = NULL; break;
+ }
+ if (paperSizeStr && paperSourceStr) {
+ s = GString::format("{0:s},{1:s}", paperSizeStr, paperSourceStr);
+ cupsAddOption("media", s->getCString(), nOptions, &options);
+ delete s;
+ ++nOptions;
+ } else if (paperSizeStr) {
+ cupsAddOption("media", paperSizeStr, nOptions, &options);
+ ++nOptions;
+ } else if (paperSourceStr) {
+ cupsAddOption("media", paperSourceStr, nOptions, &options);
+ ++nOptions;
+ }
+
+ switch (duplex) {
+ case QPrinter::DuplexNone:
+ cupsAddOption("sides", "one-sided", nOptions, &options);
+ ++nOptions;
+ break;
+ case QPrinter::DuplexAuto:
+ break;
+ case QPrinter::DuplexLongSide:
+ cupsAddOption("sides", "two-sided-long-edge", nOptions, &options);
+ ++nOptions;
+ break;
+ case QPrinter::DuplexShortSide:
+ cupsAddOption("sides", "two-sided-short-edge", nOptions, &options);
+ ++nOptions;
+ break;
+ }
+
+ if (!cupsPrintFile(printerName->getCString(),
+ psFileName->getCString(),
+ doc->getFileName() ? doc->getFileName()->getCString()
+ : "Xpdf printing",
+ nOptions, options)) {
+ cupsFreeOptions(nOptions, options);
+ delete printerName;
+ goto err1;
+ }
+ cupsFreeOptions(nOptions, options);
+
+ delete printerName;
+
+ unlink(psFileName->getCString());
+ delete psFileName;
+ }
+
+ return XpdfWidget::pdfOk;
+
+ err1:
+ if (psFileName) {
+ unlink(psFileName->getCString());
+ delete psFileName;
+ }
+ err0:
+ return XpdfWidget::pdfErrPrinting;
+}
+
+#endif
+
+#endif // XPDFWIDGET_PRINTING
diff --git a/xpdf-qt/XpdfWidgetPrint.h b/xpdf-qt/XpdfWidgetPrint.h
new file mode 100644
index 0000000..b48cd8f
--- /dev/null
+++ b/xpdf-qt/XpdfWidgetPrint.h
@@ -0,0 +1,24 @@
+//========================================================================
+//
+// XpdfWidgetPrint.h
+//
+// Copyright 2012 Glyph & Cog, LLC
+//
+//========================================================================
+
+#ifndef XPDFWIDGETPRINT_H
+#define XPDFWIDGETPRINT_H
+
+#if XPDFWIDGET_PRINTING
+
+#include <aconf.h>
+
+class XpdfWidget;
+
+extern XpdfWidget::ErrorCode printPDF(PDFDoc *doc, QPrinter *prt,
+ int hDPI, int vDPI,
+ XpdfWidget *widget);
+
+#endif // XPDFWIDGET_PRINTING
+
+#endif // XPDFWIDGETPRINT_H
diff --git a/xpdf-qt/back.svg b/xpdf-qt/back.svg
new file mode 100644
index 0000000..69a37b8
--- /dev/null
+++ b/xpdf-qt/back.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <polyline stroke="#555555" stroke-width="8" fill="none"
+ points="16,40 68,40"/>
+ <polyline stroke="#555555" stroke-width="8" fill="none"
+ points="36,20 12,40 36,60"/>
+</svg>
diff --git a/xpdf-qt/cmake_install.cmake b/xpdf-qt/cmake_install.cmake
new file mode 100644
index 0000000..58e79c3
--- /dev/null
+++ b/xpdf-qt/cmake_install.cmake
@@ -0,0 +1,64 @@
+# Install script for directory: /home/calvin/src/xpdf-4.04/xpdf-qt
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+ set(CMAKE_INSTALL_PREFIX "/usr/local")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+ if(BUILD_TYPE)
+ string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+ CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+ else()
+ set(CMAKE_INSTALL_CONFIG_NAME "")
+ endif()
+ message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+ if(COMPONENT)
+ message(STATUS "Install component: \"${COMPONENT}\"")
+ set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+ else()
+ set(CMAKE_INSTALL_COMPONENT)
+ endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+ set(CMAKE_INSTALL_SO_NO_EXE "1")
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+ set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+
+# Set default install directory permissions.
+if(NOT DEFINED CMAKE_OBJDUMP)
+ set(CMAKE_OBJDUMP "/usr/bin/objdump")
+endif()
+
+if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
+ if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/xpdf" AND
+ NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/xpdf")
+ file(RPATH_CHECK
+ FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/xpdf"
+ RPATH "")
+ endif()
+ file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" TYPE EXECUTABLE FILES "/home/calvin/src/xpdf-4.04/xpdf-qt/xpdf")
+ if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/xpdf" AND
+ NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/xpdf")
+ if(CMAKE_INSTALL_DO_STRIP)
+ execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/xpdf")
+ endif()
+ endif()
+endif()
+
+if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
+ file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man1" TYPE FILE FILES "/home/calvin/src/xpdf-4.04/doc/xpdf.1")
+endif()
+
diff --git a/xpdf-qt/findNext.svg b/xpdf-qt/findNext.svg
new file mode 100644
index 0000000..fa6a4ef
--- /dev/null
+++ b/xpdf-qt/findNext.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="60" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <polyline stroke="#555555" stroke-width="8" fill="none"
+ points="12,32 30,48 48,32"/>
+</svg>
diff --git a/xpdf-qt/findPrevious.svg b/xpdf-qt/findPrevious.svg
new file mode 100644
index 0000000..2088342
--- /dev/null
+++ b/xpdf-qt/findPrevious.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="60" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <polyline stroke="#555555" stroke-width="8" fill="none"
+ points="12,48 30,32 48,48"/>
+</svg>
diff --git a/xpdf-qt/findSettings.svg b/xpdf-qt/findSettings.svg
new file mode 100644
index 0000000..97aefdf
--- /dev/null
+++ b/xpdf-qt/findSettings.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="60" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <circle fill="#555555" cx="14" cy="40" r="5"/>
+ <circle fill="#555555" cx="30" cy="40" r="5"/>
+ <circle fill="#555555" cx="46" cy="40" r="5"/>
+</svg>
diff --git a/xpdf-qt/fitPage.svg b/xpdf-qt/fitPage.svg
new file mode 100644
index 0000000..6922ace
--- /dev/null
+++ b/xpdf-qt/fitPage.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <rect fill="none" stroke="#555555" stroke-width="4"
+ x="14" y="6" width="56" height="72"/>
+ <polyline stroke="#555555" stroke-width="4" fill="none"
+ points="22,42 62,42"/>
+ <polyline stroke="#555555" stroke-width="4" fill="none"
+ points="32,32 22,42 32,52"/>
+ <polyline stroke="#555555" stroke-width="4" fill="none"
+ points="52,32 62,42 52,52"/>
+ <polyline stroke="#555555" stroke-width="4" fill="none"
+ points="42,14 42,70"/>
+ <polyline stroke="#555555" stroke-width="4" fill="none"
+ points="32,24 42,14 52,24"/>
+ <polyline stroke="#555555" stroke-width="4" fill="none"
+ points="32,60 42,70 52,60"/>
+</svg>
diff --git a/xpdf-qt/fitPageOn.svg b/xpdf-qt/fitPageOn.svg
new file mode 100644
index 0000000..170644f
--- /dev/null
+++ b/xpdf-qt/fitPageOn.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <rect fill="#ddddff" stroke="#555555" stroke-width="4"
+ x="14" y="6" width="56" height="72"/>
+ <polyline stroke="#555555" stroke-width="4" fill="none"
+ points="22,42 62,42"/>
+ <polyline stroke="#555555" stroke-width="4" fill="none"
+ points="32,32 22,42 32,52"/>
+ <polyline stroke="#555555" stroke-width="4" fill="none"
+ points="52,32 62,42 52,52"/>
+ <polyline stroke="#555555" stroke-width="4" fill="none"
+ points="42,14 42,70"/>
+ <polyline stroke="#555555" stroke-width="4" fill="none"
+ points="32,24 42,14 52,24"/>
+ <polyline stroke="#555555" stroke-width="4" fill="none"
+ points="32,60 42,70 52,60"/>
+</svg>
diff --git a/xpdf-qt/fitWidth.svg b/xpdf-qt/fitWidth.svg
new file mode 100644
index 0000000..622eb9e
--- /dev/null
+++ b/xpdf-qt/fitWidth.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <rect fill="none" stroke="#555555" stroke-width="4"
+ x="14" y="6" width="56" height="72"/>
+ <polyline stroke="#555555" stroke-width="4" fill="none"
+ points="22,42 62,42"/>
+ <polyline stroke="#555555" stroke-width="4" fill="none"
+ points="32,32 22,42 32,52"/>
+ <polyline stroke="#555555" stroke-width="4" fill="none"
+ points="52,32 62,42 52,52"/>
+</svg>
diff --git a/xpdf-qt/fitWidthOn.svg b/xpdf-qt/fitWidthOn.svg
new file mode 100644
index 0000000..06f0990
--- /dev/null
+++ b/xpdf-qt/fitWidthOn.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <rect fill="#ddddff" stroke="#555555" stroke-width="4"
+ x="14" y="6" width="56" height="72"/>
+ <polyline stroke="#555555" stroke-width="4" fill="none"
+ points="22,42 62,42"/>
+ <polyline stroke="#555555" stroke-width="4" fill="none"
+ points="32,32 22,42 32,52"/>
+ <polyline stroke="#555555" stroke-width="4" fill="none"
+ points="52,32 62,42 52,52"/>
+</svg>
diff --git a/xpdf-qt/forward.svg b/xpdf-qt/forward.svg
new file mode 100644
index 0000000..e408ff7
--- /dev/null
+++ b/xpdf-qt/forward.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <polyline stroke="#555555" stroke-width="8" fill="none"
+ points="12,40 64,40"/>
+ <polyline stroke="#555555" stroke-width="8" fill="none"
+ points="44,20 68,40 44,60"/>
+</svg>
diff --git a/xpdf-qt/icons.qrc b/xpdf-qt/icons.qrc
new file mode 100644
index 0000000..07566f3
--- /dev/null
+++ b/xpdf-qt/icons.qrc
@@ -0,0 +1,35 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+ <file alias="back-button">back.svg</file>
+ <file alias="forward-button">forward.svg</file>
+ <file alias="findNext-button">findNext.svg</file>
+ <file alias="findPrevious-button">findPrevious.svg</file>
+ <file alias="findSettings-button">findSettings.svg</file>
+ <file alias="fitPage-button">fitPage.svg</file>
+ <file alias="fitPageOn-button">fitPageOn.svg</file>
+ <file alias="fitWidth-button">fitWidth.svg</file>
+ <file alias="fitWidthOn-button">fitWidthOn.svg</file>
+ <file alias="toggleSidebar-button">toggleSidebar.svg</file>
+ <file alias="zoomIn-button">zoomIn.svg</file>
+ <file alias="zoomOut-button">zoomOut.svg</file>
+ <file alias="indicator-icon0">indicator-icon0.svg</file>
+ <file alias="indicator-icon1">indicator-icon1.svg</file>
+ <file alias="indicator-icon2">indicator-icon2.svg</file>
+ <file alias="indicator-icon3">indicator-icon3.svg</file>
+ <file alias="indicator-icon4">indicator-icon4.svg</file>
+ <file alias="indicator-icon5">indicator-icon5.svg</file>
+ <file alias="indicator-icon6">indicator-icon6.svg</file>
+ <file alias="indicator-icon7">indicator-icon7.svg</file>
+ <file alias="indicator-icon-err0">indicator-icon-err0.svg</file>
+ <file alias="indicator-icon-err1">indicator-icon-err1.svg</file>
+ <file alias="indicator-icon-err2">indicator-icon-err2.svg</file>
+ <file alias="indicator-icon-err3">indicator-icon-err3.svg</file>
+ <file alias="indicator-icon-err4">indicator-icon-err4.svg</file>
+ <file alias="indicator-icon-err5">indicator-icon-err5.svg</file>
+ <file alias="indicator-icon-err6">indicator-icon-err6.svg</file>
+ <file alias="indicator-icon-err7">indicator-icon-err7.svg</file>
+ <file alias="selectModeLinear-button">selectModeLinear.svg</file>
+ <file alias="selectModeBlock-button">selectModeBlock.svg</file>
+ <file alias="xpdf-icon">xpdf-icon.svg</file>
+</qresource>
+</RCC>
diff --git a/xpdf-qt/icons.qrc.depends b/xpdf-qt/icons.qrc.depends
new file mode 100644
index 0000000..07566f3
--- /dev/null
+++ b/xpdf-qt/icons.qrc.depends
@@ -0,0 +1,35 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+ <file alias="back-button">back.svg</file>
+ <file alias="forward-button">forward.svg</file>
+ <file alias="findNext-button">findNext.svg</file>
+ <file alias="findPrevious-button">findPrevious.svg</file>
+ <file alias="findSettings-button">findSettings.svg</file>
+ <file alias="fitPage-button">fitPage.svg</file>
+ <file alias="fitPageOn-button">fitPageOn.svg</file>
+ <file alias="fitWidth-button">fitWidth.svg</file>
+ <file alias="fitWidthOn-button">fitWidthOn.svg</file>
+ <file alias="toggleSidebar-button">toggleSidebar.svg</file>
+ <file alias="zoomIn-button">zoomIn.svg</file>
+ <file alias="zoomOut-button">zoomOut.svg</file>
+ <file alias="indicator-icon0">indicator-icon0.svg</file>
+ <file alias="indicator-icon1">indicator-icon1.svg</file>
+ <file alias="indicator-icon2">indicator-icon2.svg</file>
+ <file alias="indicator-icon3">indicator-icon3.svg</file>
+ <file alias="indicator-icon4">indicator-icon4.svg</file>
+ <file alias="indicator-icon5">indicator-icon5.svg</file>
+ <file alias="indicator-icon6">indicator-icon6.svg</file>
+ <file alias="indicator-icon7">indicator-icon7.svg</file>
+ <file alias="indicator-icon-err0">indicator-icon-err0.svg</file>
+ <file alias="indicator-icon-err1">indicator-icon-err1.svg</file>
+ <file alias="indicator-icon-err2">indicator-icon-err2.svg</file>
+ <file alias="indicator-icon-err3">indicator-icon-err3.svg</file>
+ <file alias="indicator-icon-err4">indicator-icon-err4.svg</file>
+ <file alias="indicator-icon-err5">indicator-icon-err5.svg</file>
+ <file alias="indicator-icon-err6">indicator-icon-err6.svg</file>
+ <file alias="indicator-icon-err7">indicator-icon-err7.svg</file>
+ <file alias="selectModeLinear-button">selectModeLinear.svg</file>
+ <file alias="selectModeBlock-button">selectModeBlock.svg</file>
+ <file alias="xpdf-icon">xpdf-icon.svg</file>
+</qresource>
+</RCC>
diff --git a/xpdf-qt/indicator-icon-err0.svg b/xpdf-qt/indicator-icon-err0.svg
new file mode 100644
index 0000000..3cc00d1
--- /dev/null
+++ b/xpdf-qt/indicator-icon-err0.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <circle fill="#ff4444" stroke="none"
+ cx="40" cy="40" r="33"/>
+ <circle stroke="#555555" stroke-width="6" fill="none"
+ cx="40" cy="40" r="30"/>
+ <circle fill="#555555" stroke="none"
+ cx="40" cy="24" r="8"/>
+</svg>
diff --git a/xpdf-qt/indicator-icon-err1.svg b/xpdf-qt/indicator-icon-err1.svg
new file mode 100644
index 0000000..ce1c5a4
--- /dev/null
+++ b/xpdf-qt/indicator-icon-err1.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <circle fill="#ff4444" stroke="none"
+ cx="40" cy="40" r="33"/>
+ <circle stroke="#555555" stroke-width="6" fill="none"
+ cx="40" cy="40" r="30"/>
+ <circle fill="#555555" stroke="none"
+ cx="51" cy="29" r="8"/>
+</svg>
diff --git a/xpdf-qt/indicator-icon-err2.svg b/xpdf-qt/indicator-icon-err2.svg
new file mode 100644
index 0000000..d5143eb
--- /dev/null
+++ b/xpdf-qt/indicator-icon-err2.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <circle fill="#ff4444" stroke="none"
+ cx="40" cy="40" r="33"/>
+ <circle stroke="#555555" stroke-width="6" fill="none"
+ cx="40" cy="40" r="30"/>
+ <circle fill="#555555" stroke="none"
+ cx="56" cy="40" r="8"/>
+</svg>
diff --git a/xpdf-qt/indicator-icon-err3.svg b/xpdf-qt/indicator-icon-err3.svg
new file mode 100644
index 0000000..76fdf1e
--- /dev/null
+++ b/xpdf-qt/indicator-icon-err3.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <circle fill="#ff4444" stroke="none"
+ cx="40" cy="40" r="33"/>
+ <circle stroke="#555555" stroke-width="6" fill="none"
+ cx="40" cy="40" r="30"/>
+ <circle fill="#555555" stroke="none"
+ cx="51" cy="51" r="8"/>
+</svg>
diff --git a/xpdf-qt/indicator-icon-err4.svg b/xpdf-qt/indicator-icon-err4.svg
new file mode 100644
index 0000000..ebca839
--- /dev/null
+++ b/xpdf-qt/indicator-icon-err4.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <circle fill="#ff4444" stroke="none"
+ cx="40" cy="40" r="33"/>
+ <circle stroke="#555555" stroke-width="6" fill="none"
+ cx="40" cy="40" r="30"/>
+ <circle fill="#555555" stroke="none"
+ cx="40" cy="56" r="8"/>
+</svg>
diff --git a/xpdf-qt/indicator-icon-err5.svg b/xpdf-qt/indicator-icon-err5.svg
new file mode 100644
index 0000000..6c0de7c
--- /dev/null
+++ b/xpdf-qt/indicator-icon-err5.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <circle fill="#ff4444" stroke="none"
+ cx="40" cy="40" r="33"/>
+ <circle stroke="#555555" stroke-width="6" fill="none"
+ cx="40" cy="40" r="30"/>
+ <circle fill="#555555" stroke="none"
+ cx="29" cy="51" r="8"/>
+</svg>
diff --git a/xpdf-qt/indicator-icon-err6.svg b/xpdf-qt/indicator-icon-err6.svg
new file mode 100644
index 0000000..f46b797
--- /dev/null
+++ b/xpdf-qt/indicator-icon-err6.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <circle fill="#ff4444" stroke="none"
+ cx="40" cy="40" r="33"/>
+ <circle stroke="#555555" stroke-width="6" fill="none"
+ cx="40" cy="40" r="30"/>
+ <circle fill="#555555" stroke="none"
+ cx="24" cy="40" r="8"/>
+</svg>
diff --git a/xpdf-qt/indicator-icon-err7.svg b/xpdf-qt/indicator-icon-err7.svg
new file mode 100644
index 0000000..75266a4
--- /dev/null
+++ b/xpdf-qt/indicator-icon-err7.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <circle fill="#ff4444" stroke="none"
+ cx="40" cy="40" r="33"/>
+ <circle stroke="#555555" stroke-width="6" fill="none"
+ cx="40" cy="40" r="30"/>
+ <circle fill="#555555" stroke="none"
+ cx="29" cy="29" r="8"/>
+</svg>
diff --git a/xpdf-qt/indicator-icon0.svg b/xpdf-qt/indicator-icon0.svg
new file mode 100644
index 0000000..eacb3ab
--- /dev/null
+++ b/xpdf-qt/indicator-icon0.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <circle stroke="#555555" stroke-width="6" fill="none"
+ cx="40" cy="40" r="30"/>
+ <circle fill="#555555" stroke="none"
+ cx="40" cy="24" r="8"/>
+</svg>
diff --git a/xpdf-qt/indicator-icon1.svg b/xpdf-qt/indicator-icon1.svg
new file mode 100644
index 0000000..c1aec28
--- /dev/null
+++ b/xpdf-qt/indicator-icon1.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <circle stroke="#555555" stroke-width="6" fill="none"
+ cx="40" cy="40" r="30"/>
+ <circle fill="#555555" stroke="none"
+ cx="51" cy="29" r="8"/>
+</svg>
diff --git a/xpdf-qt/indicator-icon2.svg b/xpdf-qt/indicator-icon2.svg
new file mode 100644
index 0000000..9a4a4d5
--- /dev/null
+++ b/xpdf-qt/indicator-icon2.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <circle stroke="#555555" stroke-width="6" fill="none"
+ cx="40" cy="40" r="30"/>
+ <circle fill="#555555" stroke="none"
+ cx="56" cy="40" r="8"/>
+</svg>
diff --git a/xpdf-qt/indicator-icon3.svg b/xpdf-qt/indicator-icon3.svg
new file mode 100644
index 0000000..1f8d941
--- /dev/null
+++ b/xpdf-qt/indicator-icon3.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <circle stroke="#555555" stroke-width="6" fill="none"
+ cx="40" cy="40" r="30"/>
+ <circle fill="#555555" stroke="none"
+ cx="51" cy="51" r="8"/>
+</svg>
diff --git a/xpdf-qt/indicator-icon4.svg b/xpdf-qt/indicator-icon4.svg
new file mode 100644
index 0000000..bc3dc40
--- /dev/null
+++ b/xpdf-qt/indicator-icon4.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <circle stroke="#555555" stroke-width="6" fill="none"
+ cx="40" cy="40" r="30"/>
+ <circle fill="#555555" stroke="none"
+ cx="40" cy="56" r="8"/>
+</svg>
diff --git a/xpdf-qt/indicator-icon5.svg b/xpdf-qt/indicator-icon5.svg
new file mode 100644
index 0000000..42a51d9
--- /dev/null
+++ b/xpdf-qt/indicator-icon5.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <circle stroke="#555555" stroke-width="6" fill="none"
+ cx="40" cy="40" r="30"/>
+ <circle fill="#555555" stroke="none"
+ cx="29" cy="51" r="8"/>
+</svg>
diff --git a/xpdf-qt/indicator-icon6.svg b/xpdf-qt/indicator-icon6.svg
new file mode 100644
index 0000000..0f5798f
--- /dev/null
+++ b/xpdf-qt/indicator-icon6.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <circle stroke="#555555" stroke-width="6" fill="none"
+ cx="40" cy="40" r="30"/>
+ <circle fill="#555555" stroke="none"
+ cx="24" cy="40" r="8"/>
+</svg>
diff --git a/xpdf-qt/indicator-icon7.svg b/xpdf-qt/indicator-icon7.svg
new file mode 100644
index 0000000..ce2a819
--- /dev/null
+++ b/xpdf-qt/indicator-icon7.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <circle stroke="#555555" stroke-width="6" fill="none"
+ cx="40" cy="40" r="30"/>
+ <circle fill="#555555" stroke="none"
+ cx="29" cy="29" r="8"/>
+</svg>
diff --git a/xpdf-qt/moc_XpdfApp.cpp b/xpdf-qt/moc_XpdfApp.cpp
new file mode 100644
index 0000000..9a4e4cb
--- /dev/null
+++ b/xpdf-qt/moc_XpdfApp.cpp
@@ -0,0 +1,95 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'XpdfApp.h'
+**
+** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include <memory>
+#include "XpdfApp.h"
+#include <QtCore/qbytearray.h>
+#include <QtCore/qmetatype.h>
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'XpdfApp.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 67
+#error "This file was generated using the moc from 5.15.2. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+struct qt_meta_stringdata_XpdfApp_t {
+ QByteArrayData data[1];
+ char stringdata0[8];
+};
+#define QT_MOC_LITERAL(idx, ofs, len) \
+ Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
+ qptrdiff(offsetof(qt_meta_stringdata_XpdfApp_t, stringdata0) + ofs \
+ - idx * sizeof(QByteArrayData)) \
+ )
+static const qt_meta_stringdata_XpdfApp_t qt_meta_stringdata_XpdfApp = {
+ {
+QT_MOC_LITERAL(0, 0, 7) // "XpdfApp"
+
+ },
+ "XpdfApp"
+};
+#undef QT_MOC_LITERAL
+
+static const uint qt_meta_data_XpdfApp[] = {
+
+ // content:
+ 8, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 0, 0, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 0, // signalCount
+
+ 0 // eod
+};
+
+void XpdfApp::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+ Q_UNUSED(_o);
+ Q_UNUSED(_id);
+ Q_UNUSED(_c);
+ Q_UNUSED(_a);
+}
+
+QT_INIT_METAOBJECT const QMetaObject XpdfApp::staticMetaObject = { {
+ QMetaObject::SuperData::link<QApplication::staticMetaObject>(),
+ qt_meta_stringdata_XpdfApp.data,
+ qt_meta_data_XpdfApp,
+ qt_static_metacall,
+ nullptr,
+ nullptr
+} };
+
+
+const QMetaObject *XpdfApp::metaObject() const
+{
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *XpdfApp::qt_metacast(const char *_clname)
+{
+ if (!_clname) return nullptr;
+ if (!strcmp(_clname, qt_meta_stringdata_XpdfApp.stringdata0))
+ return static_cast<void*>(this);
+ return QApplication::qt_metacast(_clname);
+}
+
+int XpdfApp::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QApplication::qt_metacall(_c, _id, _a);
+ return _id;
+}
+QT_WARNING_POP
+QT_END_MOC_NAMESPACE
diff --git a/xpdf-qt/moc_XpdfApp.cpp_parameters b/xpdf-qt/moc_XpdfApp.cpp_parameters
new file mode 100644
index 0000000..77077d6
--- /dev/null
+++ b/xpdf-qt/moc_XpdfApp.cpp_parameters
@@ -0,0 +1,28 @@
+-I/home/calvin/src/xpdf-4.04
+-I/home/calvin/src/xpdf-4.04
+-I/home/calvin/src/xpdf-4.04/goo
+-I/home/calvin/src/xpdf-4.04/fofi
+-I/home/calvin/src/xpdf-4.04/splash
+-I/home/calvin/src/xpdf-4.04/xpdf
+-I/usr/include/x86_64-linux-gnu/qt5/
+-I/usr/include/x86_64-linux-gnu/qt5/QtWidgets
+-I/usr/include/x86_64-linux-gnu/qt5/QtGui
+-I/usr/include/x86_64-linux-gnu/qt5/QtCore
+-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ /usr/include/x86_64-linux-gnu/qt5/
+-I/usr/include/x86_64-linux-gnu/qt5/QtNetwork
+-I/usr/include/x86_64-linux-gnu/qt5/QtCore
+-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ /usr/include/x86_64-linux-gnu/qt5/
+-I/usr/include/x86_64-linux-gnu/qt5/QtPrintSupport
+-I/usr/include/x86_64-linux-gnu/qt5/QtWidgets
+-I/usr/include/x86_64-linux-gnu/qt5/QtGui
+-I/usr/include/x86_64-linux-gnu/qt5/QtCore
+-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++
+-DQT_WIDGETS_LIB
+-DQT_GUI_LIB
+-DQT_WIDGETS_LIB
+-DQT_GUI_LIB
+-DQT_CORE_LIB
+-DXPDFWIDGET_PRINTING=1
+-o
+/home/calvin/src/xpdf-4.04/xpdf-qt/moc_XpdfApp.cpp
+/home/calvin/src/xpdf-4.04/xpdf-qt/XpdfApp.h
diff --git a/xpdf-qt/moc_XpdfViewer.cpp b/xpdf-qt/moc_XpdfViewer.cpp
new file mode 100644
index 0000000..c004cc2
--- /dev/null
+++ b/xpdf-qt/moc_XpdfViewer.cpp
@@ -0,0 +1,654 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'XpdfViewer.h'
+**
+** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include <memory>
+#include "XpdfViewer.h"
+#include <QtCore/qbytearray.h>
+#include <QtCore/qmetatype.h>
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'XpdfViewer.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 67
+#error "This file was generated using the moc from 5.15.2. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+struct qt_meta_stringdata_XpdfMenuButton_t {
+ QByteArrayData data[3];
+ char stringdata0[27];
+};
+#define QT_MOC_LITERAL(idx, ofs, len) \
+ Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
+ qptrdiff(offsetof(qt_meta_stringdata_XpdfMenuButton_t, stringdata0) + ofs \
+ - idx * sizeof(QByteArrayData)) \
+ )
+static const qt_meta_stringdata_XpdfMenuButton_t qt_meta_stringdata_XpdfMenuButton = {
+ {
+QT_MOC_LITERAL(0, 0, 14), // "XpdfMenuButton"
+QT_MOC_LITERAL(1, 15, 10), // "btnPressed"
+QT_MOC_LITERAL(2, 26, 0) // ""
+
+ },
+ "XpdfMenuButton\0btnPressed\0"
+};
+#undef QT_MOC_LITERAL
+
+static const uint qt_meta_data_XpdfMenuButton[] = {
+
+ // content:
+ 8, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 1, 14, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 0, // signalCount
+
+ // slots: name, argc, parameters, tag, flags
+ 1, 0, 19, 2, 0x08 /* Private */,
+
+ // slots: parameters
+ QMetaType::Void,
+
+ 0 // eod
+};
+
+void XpdfMenuButton::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ auto *_t = static_cast<XpdfMenuButton *>(_o);
+ Q_UNUSED(_t)
+ switch (_id) {
+ case 0: _t->btnPressed(); break;
+ default: ;
+ }
+ }
+ Q_UNUSED(_a);
+}
+
+QT_INIT_METAOBJECT const QMetaObject XpdfMenuButton::staticMetaObject = { {
+ QMetaObject::SuperData::link<QToolButton::staticMetaObject>(),
+ qt_meta_stringdata_XpdfMenuButton.data,
+ qt_meta_data_XpdfMenuButton,
+ qt_static_metacall,
+ nullptr,
+ nullptr
+} };
+
+
+const QMetaObject *XpdfMenuButton::metaObject() const
+{
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *XpdfMenuButton::qt_metacast(const char *_clname)
+{
+ if (!_clname) return nullptr;
+ if (!strcmp(_clname, qt_meta_stringdata_XpdfMenuButton.stringdata0))
+ return static_cast<void*>(this);
+ return QToolButton::qt_metacast(_clname);
+}
+
+int XpdfMenuButton::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QToolButton::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ if (_id < 1)
+ qt_static_metacall(this, _c, _id, _a);
+ _id -= 1;
+ } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
+ if (_id < 1)
+ *reinterpret_cast<int*>(_a[0]) = -1;
+ _id -= 1;
+ }
+ return _id;
+}
+struct qt_meta_stringdata_XpdfErrorWindow_t {
+ QByteArrayData data[3];
+ char stringdata0[33];
+};
+#define QT_MOC_LITERAL(idx, ofs, len) \
+ Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
+ qptrdiff(offsetof(qt_meta_stringdata_XpdfErrorWindow_t, stringdata0) + ofs \
+ - idx * sizeof(QByteArrayData)) \
+ )
+static const qt_meta_stringdata_XpdfErrorWindow_t qt_meta_stringdata_XpdfErrorWindow = {
+ {
+QT_MOC_LITERAL(0, 0, 15), // "XpdfErrorWindow"
+QT_MOC_LITERAL(1, 16, 15), // "clearBtnPressed"
+QT_MOC_LITERAL(2, 32, 0) // ""
+
+ },
+ "XpdfErrorWindow\0clearBtnPressed\0"
+};
+#undef QT_MOC_LITERAL
+
+static const uint qt_meta_data_XpdfErrorWindow[] = {
+
+ // content:
+ 8, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 1, 14, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 0, // signalCount
+
+ // slots: name, argc, parameters, tag, flags
+ 1, 0, 19, 2, 0x08 /* Private */,
+
+ // slots: parameters
+ QMetaType::Void,
+
+ 0 // eod
+};
+
+void XpdfErrorWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ auto *_t = static_cast<XpdfErrorWindow *>(_o);
+ Q_UNUSED(_t)
+ switch (_id) {
+ case 0: _t->clearBtnPressed(); break;
+ default: ;
+ }
+ }
+ Q_UNUSED(_a);
+}
+
+QT_INIT_METAOBJECT const QMetaObject XpdfErrorWindow::staticMetaObject = { {
+ QMetaObject::SuperData::link<QWidget::staticMetaObject>(),
+ qt_meta_stringdata_XpdfErrorWindow.data,
+ qt_meta_data_XpdfErrorWindow,
+ qt_static_metacall,
+ nullptr,
+ nullptr
+} };
+
+
+const QMetaObject *XpdfErrorWindow::metaObject() const
+{
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *XpdfErrorWindow::qt_metacast(const char *_clname)
+{
+ if (!_clname) return nullptr;
+ if (!strcmp(_clname, qt_meta_stringdata_XpdfErrorWindow.stringdata0))
+ return static_cast<void*>(this);
+ return QWidget::qt_metacast(_clname);
+}
+
+int XpdfErrorWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QWidget::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ if (_id < 1)
+ qt_static_metacall(this, _c, _id, _a);
+ _id -= 1;
+ } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
+ if (_id < 1)
+ *reinterpret_cast<int*>(_a[0]) = -1;
+ _id -= 1;
+ }
+ return _id;
+}
+struct qt_meta_stringdata_XpdfViewer_t {
+ QByteArrayData data[96];
+ char stringdata0[1559];
+};
+#define QT_MOC_LITERAL(idx, ofs, len) \
+ Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
+ qptrdiff(offsetof(qt_meta_stringdata_XpdfViewer_t, stringdata0) + ofs \
+ - idx * sizeof(QByteArrayData)) \
+ )
+static const qt_meta_stringdata_XpdfViewer_t qt_meta_stringdata_XpdfViewer = {
+ {
+QT_MOC_LITERAL(0, 0, 10), // "XpdfViewer"
+QT_MOC_LITERAL(1, 11, 5), // "close"
+QT_MOC_LITERAL(2, 17, 0), // ""
+QT_MOC_LITERAL(3, 18, 22), // "remoteServerConnection"
+QT_MOC_LITERAL(4, 41, 16), // "remoteServerRead"
+QT_MOC_LITERAL(5, 58, 10), // "pdfResized"
+QT_MOC_LITERAL(6, 69, 12), // "pdfPaintDone"
+QT_MOC_LITERAL(7, 82, 8), // "finished"
+QT_MOC_LITERAL(8, 91, 7), // "preLoad"
+QT_MOC_LITERAL(9, 99, 8), // "postLoad"
+QT_MOC_LITERAL(10, 108, 8), // "keyPress"
+QT_MOC_LITERAL(11, 117, 10), // "QKeyEvent*"
+QT_MOC_LITERAL(12, 128, 1), // "e"
+QT_MOC_LITERAL(13, 130, 10), // "mousePress"
+QT_MOC_LITERAL(14, 141, 12), // "QMouseEvent*"
+QT_MOC_LITERAL(15, 154, 12), // "mouseRelease"
+QT_MOC_LITERAL(16, 167, 10), // "mouseClick"
+QT_MOC_LITERAL(17, 178, 16), // "mouseDoubleClick"
+QT_MOC_LITERAL(18, 195, 16), // "mouseTripleClick"
+QT_MOC_LITERAL(19, 212, 10), // "mouseWheel"
+QT_MOC_LITERAL(20, 223, 12), // "QWheelEvent*"
+QT_MOC_LITERAL(21, 236, 9), // "mouseMove"
+QT_MOC_LITERAL(22, 246, 10), // "pageChange"
+QT_MOC_LITERAL(23, 257, 2), // "pg"
+QT_MOC_LITERAL(24, 260, 20), // "sidebarSplitterMoved"
+QT_MOC_LITERAL(25, 281, 3), // "pos"
+QT_MOC_LITERAL(26, 285, 5), // "index"
+QT_MOC_LITERAL(27, 291, 11), // "printStatus"
+QT_MOC_LITERAL(28, 303, 8), // "nextPage"
+QT_MOC_LITERAL(29, 312, 9), // "firstPage"
+QT_MOC_LITERAL(30, 322, 8), // "lastPage"
+QT_MOC_LITERAL(31, 331, 11), // "cancelPrint"
+QT_MOC_LITERAL(32, 343, 14), // "openMenuAction"
+QT_MOC_LITERAL(33, 358, 22), // "openInNewWinMenuAction"
+QT_MOC_LITERAL(34, 381, 16), // "reloadMenuAction"
+QT_MOC_LITERAL(35, 398, 16), // "saveAsMenuAction"
+QT_MOC_LITERAL(36, 415, 19), // "saveImageMenuAction"
+QT_MOC_LITERAL(37, 435, 15), // "printMenuAction"
+QT_MOC_LITERAL(38, 451, 14), // "quitMenuAction"
+QT_MOC_LITERAL(39, 466, 14), // "copyMenuAction"
+QT_MOC_LITERAL(40, 481, 24), // "singlePageModeMenuAction"
+QT_MOC_LITERAL(41, 506, 24), // "continuousModeMenuAction"
+QT_MOC_LITERAL(42, 531, 30), // "sideBySideSingleModeMenuAction"
+QT_MOC_LITERAL(43, 562, 34), // "sideBySideContinuousModeMenuA..."
+QT_MOC_LITERAL(44, 597, 34), // "horizontalContinuousModeMenuA..."
+QT_MOC_LITERAL(45, 632, 20), // "fullScreenMenuAction"
+QT_MOC_LITERAL(46, 653, 7), // "checked"
+QT_MOC_LITERAL(47, 661, 25), // "rotateClockwiseMenuAction"
+QT_MOC_LITERAL(48, 687, 32), // "rotateCounterclockwiseMenuAction"
+QT_MOC_LITERAL(49, 720, 25), // "zoomToSelectionMenuAction"
+QT_MOC_LITERAL(50, 746, 23), // "toggleToolbarMenuAction"
+QT_MOC_LITERAL(51, 770, 23), // "toggleSidebarMenuAction"
+QT_MOC_LITERAL(52, 794, 24), // "viewPageLabelsMenuAction"
+QT_MOC_LITERAL(53, 819, 22), // "documentInfoMenuAction"
+QT_MOC_LITERAL(54, 842, 16), // "newTabMenuAction"
+QT_MOC_LITERAL(55, 859, 19), // "newWindowMenuAction"
+QT_MOC_LITERAL(56, 879, 18), // "closeTabMenuAction"
+QT_MOC_LITERAL(57, 898, 21), // "closeWindowMenuAction"
+QT_MOC_LITERAL(58, 920, 25), // "openErrorWindowMenuAction"
+QT_MOC_LITERAL(59, 946, 14), // "helpMenuAction"
+QT_MOC_LITERAL(60, 961, 21), // "keyBindingsMenuAction"
+QT_MOC_LITERAL(61, 983, 15), // "aboutMenuAction"
+QT_MOC_LITERAL(62, 999, 15), // "popupMenuAction"
+QT_MOC_LITERAL(63, 1015, 3), // "idx"
+QT_MOC_LITERAL(64, 1019, 26), // "toggleSidebarButtonPressed"
+QT_MOC_LITERAL(65, 1046, 17), // "pageNumberChanged"
+QT_MOC_LITERAL(66, 1064, 17), // "backButtonPressed"
+QT_MOC_LITERAL(67, 1082, 20), // "forwardButtonPressed"
+QT_MOC_LITERAL(68, 1103, 20), // "zoomOutButtonPressed"
+QT_MOC_LITERAL(69, 1124, 19), // "zoomInButtonPressed"
+QT_MOC_LITERAL(70, 1144, 16), // "zoomIndexChanged"
+QT_MOC_LITERAL(71, 1161, 19), // "zoomEditingFinished"
+QT_MOC_LITERAL(72, 1181, 21), // "fitWidthButtonPressed"
+QT_MOC_LITERAL(73, 1203, 20), // "fitPageButtonPressed"
+QT_MOC_LITERAL(74, 1224, 23), // "selectModeButtonPressed"
+QT_MOC_LITERAL(75, 1248, 22), // "statusIndicatorPressed"
+QT_MOC_LITERAL(76, 1271, 15), // "findTextChanged"
+QT_MOC_LITERAL(77, 1287, 21), // "findNextButtonPressed"
+QT_MOC_LITERAL(78, 1309, 21), // "findPrevButtonPressed"
+QT_MOC_LITERAL(79, 1331, 19), // "newTabButtonPressed"
+QT_MOC_LITERAL(80, 1351, 9), // "switchTab"
+QT_MOC_LITERAL(81, 1361, 16), // "QListWidgetItem*"
+QT_MOC_LITERAL(82, 1378, 7), // "current"
+QT_MOC_LITERAL(83, 1386, 8), // "previous"
+QT_MOC_LITERAL(84, 1395, 13), // "tabsReordered"
+QT_MOC_LITERAL(85, 1409, 11), // "QModelIndex"
+QT_MOC_LITERAL(86, 1421, 9), // "srcParent"
+QT_MOC_LITERAL(87, 1431, 8), // "srcStart"
+QT_MOC_LITERAL(88, 1440, 6), // "srcEnd"
+QT_MOC_LITERAL(89, 1447, 10), // "destParent"
+QT_MOC_LITERAL(90, 1458, 7), // "destRow"
+QT_MOC_LITERAL(91, 1466, 19), // "infoComboBoxChanged"
+QT_MOC_LITERAL(92, 1486, 18), // "outlineItemClicked"
+QT_MOC_LITERAL(93, 1505, 16), // "layerItemClicked"
+QT_MOC_LITERAL(94, 1522, 21), // "attachmentSaveClicked"
+QT_MOC_LITERAL(95, 1544, 14) // "clearFindError"
+
+ },
+ "XpdfViewer\0close\0\0remoteServerConnection\0"
+ "remoteServerRead\0pdfResized\0pdfPaintDone\0"
+ "finished\0preLoad\0postLoad\0keyPress\0"
+ "QKeyEvent*\0e\0mousePress\0QMouseEvent*\0"
+ "mouseRelease\0mouseClick\0mouseDoubleClick\0"
+ "mouseTripleClick\0mouseWheel\0QWheelEvent*\0"
+ "mouseMove\0pageChange\0pg\0sidebarSplitterMoved\0"
+ "pos\0index\0printStatus\0nextPage\0firstPage\0"
+ "lastPage\0cancelPrint\0openMenuAction\0"
+ "openInNewWinMenuAction\0reloadMenuAction\0"
+ "saveAsMenuAction\0saveImageMenuAction\0"
+ "printMenuAction\0quitMenuAction\0"
+ "copyMenuAction\0singlePageModeMenuAction\0"
+ "continuousModeMenuAction\0"
+ "sideBySideSingleModeMenuAction\0"
+ "sideBySideContinuousModeMenuAction\0"
+ "horizontalContinuousModeMenuAction\0"
+ "fullScreenMenuAction\0checked\0"
+ "rotateClockwiseMenuAction\0"
+ "rotateCounterclockwiseMenuAction\0"
+ "zoomToSelectionMenuAction\0"
+ "toggleToolbarMenuAction\0toggleSidebarMenuAction\0"
+ "viewPageLabelsMenuAction\0"
+ "documentInfoMenuAction\0newTabMenuAction\0"
+ "newWindowMenuAction\0closeTabMenuAction\0"
+ "closeWindowMenuAction\0openErrorWindowMenuAction\0"
+ "helpMenuAction\0keyBindingsMenuAction\0"
+ "aboutMenuAction\0popupMenuAction\0idx\0"
+ "toggleSidebarButtonPressed\0pageNumberChanged\0"
+ "backButtonPressed\0forwardButtonPressed\0"
+ "zoomOutButtonPressed\0zoomInButtonPressed\0"
+ "zoomIndexChanged\0zoomEditingFinished\0"
+ "fitWidthButtonPressed\0fitPageButtonPressed\0"
+ "selectModeButtonPressed\0statusIndicatorPressed\0"
+ "findTextChanged\0findNextButtonPressed\0"
+ "findPrevButtonPressed\0newTabButtonPressed\0"
+ "switchTab\0QListWidgetItem*\0current\0"
+ "previous\0tabsReordered\0QModelIndex\0"
+ "srcParent\0srcStart\0srcEnd\0destParent\0"
+ "destRow\0infoComboBoxChanged\0"
+ "outlineItemClicked\0layerItemClicked\0"
+ "attachmentSaveClicked\0clearFindError"
+};
+#undef QT_MOC_LITERAL
+
+static const uint qt_meta_data_XpdfViewer[] = {
+
+ // content:
+ 8, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 72, 14, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 0, // signalCount
+
+ // slots: name, argc, parameters, tag, flags
+ 1, 0, 374, 2, 0x0a /* Public */,
+ 3, 0, 375, 2, 0x08 /* Private */,
+ 4, 0, 376, 2, 0x08 /* Private */,
+ 5, 0, 377, 2, 0x08 /* Private */,
+ 6, 1, 378, 2, 0x08 /* Private */,
+ 8, 0, 381, 2, 0x08 /* Private */,
+ 9, 0, 382, 2, 0x08 /* Private */,
+ 10, 1, 383, 2, 0x08 /* Private */,
+ 13, 1, 386, 2, 0x08 /* Private */,
+ 15, 1, 389, 2, 0x08 /* Private */,
+ 16, 1, 392, 2, 0x08 /* Private */,
+ 17, 1, 395, 2, 0x08 /* Private */,
+ 18, 1, 398, 2, 0x08 /* Private */,
+ 19, 1, 401, 2, 0x08 /* Private */,
+ 21, 1, 404, 2, 0x08 /* Private */,
+ 22, 1, 407, 2, 0x08 /* Private */,
+ 24, 2, 410, 2, 0x08 /* Private */,
+ 27, 3, 415, 2, 0x08 /* Private */,
+ 31, 0, 422, 2, 0x08 /* Private */,
+ 32, 0, 423, 2, 0x08 /* Private */,
+ 33, 0, 424, 2, 0x08 /* Private */,
+ 34, 0, 425, 2, 0x08 /* Private */,
+ 35, 0, 426, 2, 0x08 /* Private */,
+ 36, 0, 427, 2, 0x08 /* Private */,
+ 37, 0, 428, 2, 0x08 /* Private */,
+ 38, 0, 429, 2, 0x08 /* Private */,
+ 39, 0, 430, 2, 0x08 /* Private */,
+ 40, 0, 431, 2, 0x08 /* Private */,
+ 41, 0, 432, 2, 0x08 /* Private */,
+ 42, 0, 433, 2, 0x08 /* Private */,
+ 43, 0, 434, 2, 0x08 /* Private */,
+ 44, 0, 435, 2, 0x08 /* Private */,
+ 45, 1, 436, 2, 0x08 /* Private */,
+ 47, 0, 439, 2, 0x08 /* Private */,
+ 48, 0, 440, 2, 0x08 /* Private */,
+ 49, 0, 441, 2, 0x08 /* Private */,
+ 50, 1, 442, 2, 0x08 /* Private */,
+ 51, 1, 445, 2, 0x08 /* Private */,
+ 52, 1, 448, 2, 0x08 /* Private */,
+ 53, 0, 451, 2, 0x08 /* Private */,
+ 54, 0, 452, 2, 0x08 /* Private */,
+ 55, 0, 453, 2, 0x08 /* Private */,
+ 56, 0, 454, 2, 0x08 /* Private */,
+ 57, 0, 455, 2, 0x08 /* Private */,
+ 58, 0, 456, 2, 0x08 /* Private */,
+ 59, 0, 457, 2, 0x08 /* Private */,
+ 60, 0, 458, 2, 0x08 /* Private */,
+ 61, 0, 459, 2, 0x08 /* Private */,
+ 62, 1, 460, 2, 0x08 /* Private */,
+ 64, 0, 463, 2, 0x08 /* Private */,
+ 65, 0, 464, 2, 0x08 /* Private */,
+ 66, 0, 465, 2, 0x08 /* Private */,
+ 67, 0, 466, 2, 0x08 /* Private */,
+ 68, 0, 467, 2, 0x08 /* Private */,
+ 69, 0, 468, 2, 0x08 /* Private */,
+ 70, 1, 469, 2, 0x08 /* Private */,
+ 71, 0, 472, 2, 0x08 /* Private */,
+ 72, 0, 473, 2, 0x08 /* Private */,
+ 73, 0, 474, 2, 0x08 /* Private */,
+ 74, 0, 475, 2, 0x08 /* Private */,
+ 75, 0, 476, 2, 0x08 /* Private */,
+ 76, 0, 477, 2, 0x08 /* Private */,
+ 77, 0, 478, 2, 0x08 /* Private */,
+ 78, 0, 479, 2, 0x08 /* Private */,
+ 79, 0, 480, 2, 0x08 /* Private */,
+ 80, 2, 481, 2, 0x08 /* Private */,
+ 84, 5, 486, 2, 0x08 /* Private */,
+ 91, 1, 497, 2, 0x08 /* Private */,
+ 92, 1, 500, 2, 0x08 /* Private */,
+ 93, 1, 503, 2, 0x08 /* Private */,
+ 94, 1, 506, 2, 0x08 /* Private */,
+ 95, 0, 509, 2, 0x08 /* Private */,
+
+ // slots: parameters
+ QMetaType::Bool,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void, QMetaType::Bool, 7,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void, 0x80000000 | 11, 12,
+ QMetaType::Void, 0x80000000 | 14, 12,
+ QMetaType::Void, 0x80000000 | 14, 12,
+ QMetaType::Void, 0x80000000 | 14, 12,
+ QMetaType::Void, 0x80000000 | 14, 12,
+ QMetaType::Void, 0x80000000 | 14, 12,
+ QMetaType::Void, 0x80000000 | 20, 12,
+ QMetaType::Void, 0x80000000 | 14, 12,
+ QMetaType::Void, QMetaType::Int, 23,
+ QMetaType::Void, QMetaType::Int, QMetaType::Int, 25, 26,
+ QMetaType::Void, QMetaType::Int, QMetaType::Int, QMetaType::Int, 28, 29, 30,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void, QMetaType::Bool, 46,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void, QMetaType::Bool, 46,
+ QMetaType::Void, QMetaType::Bool, 46,
+ QMetaType::Void, QMetaType::Bool, 46,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void, QMetaType::Int, 63,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void, QMetaType::Int, 63,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void, 0x80000000 | 81, 0x80000000 | 81, 82, 83,
+ QMetaType::Void, 0x80000000 | 85, QMetaType::Int, QMetaType::Int, 0x80000000 | 85, QMetaType::Int, 86, 87, 88, 89, 90,
+ QMetaType::Void, QMetaType::Int, 63,
+ QMetaType::Void, 0x80000000 | 85, 63,
+ QMetaType::Void, 0x80000000 | 85, 63,
+ QMetaType::Void, QMetaType::Int, 63,
+ QMetaType::Void,
+
+ 0 // eod
+};
+
+void XpdfViewer::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ auto *_t = static_cast<XpdfViewer *>(_o);
+ Q_UNUSED(_t)
+ switch (_id) {
+ case 0: { bool _r = _t->close();
+ if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = std::move(_r); } break;
+ case 1: _t->remoteServerConnection(); break;
+ case 2: _t->remoteServerRead(); break;
+ case 3: _t->pdfResized(); break;
+ case 4: _t->pdfPaintDone((*reinterpret_cast< bool(*)>(_a[1]))); break;
+ case 5: _t->preLoad(); break;
+ case 6: _t->postLoad(); break;
+ case 7: _t->keyPress((*reinterpret_cast< QKeyEvent*(*)>(_a[1]))); break;
+ case 8: _t->mousePress((*reinterpret_cast< QMouseEvent*(*)>(_a[1]))); break;
+ case 9: _t->mouseRelease((*reinterpret_cast< QMouseEvent*(*)>(_a[1]))); break;
+ case 10: _t->mouseClick((*reinterpret_cast< QMouseEvent*(*)>(_a[1]))); break;
+ case 11: _t->mouseDoubleClick((*reinterpret_cast< QMouseEvent*(*)>(_a[1]))); break;
+ case 12: _t->mouseTripleClick((*reinterpret_cast< QMouseEvent*(*)>(_a[1]))); break;
+ case 13: _t->mouseWheel((*reinterpret_cast< QWheelEvent*(*)>(_a[1]))); break;
+ case 14: _t->mouseMove((*reinterpret_cast< QMouseEvent*(*)>(_a[1]))); break;
+ case 15: _t->pageChange((*reinterpret_cast< int(*)>(_a[1]))); break;
+ case 16: _t->sidebarSplitterMoved((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
+ case 17: _t->printStatus((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break;
+ case 18: _t->cancelPrint(); break;
+ case 19: _t->openMenuAction(); break;
+ case 20: _t->openInNewWinMenuAction(); break;
+ case 21: _t->reloadMenuAction(); break;
+ case 22: _t->saveAsMenuAction(); break;
+ case 23: _t->saveImageMenuAction(); break;
+ case 24: _t->printMenuAction(); break;
+ case 25: _t->quitMenuAction(); break;
+ case 26: _t->copyMenuAction(); break;
+ case 27: _t->singlePageModeMenuAction(); break;
+ case 28: _t->continuousModeMenuAction(); break;
+ case 29: _t->sideBySideSingleModeMenuAction(); break;
+ case 30: _t->sideBySideContinuousModeMenuAction(); break;
+ case 31: _t->horizontalContinuousModeMenuAction(); break;
+ case 32: _t->fullScreenMenuAction((*reinterpret_cast< bool(*)>(_a[1]))); break;
+ case 33: _t->rotateClockwiseMenuAction(); break;
+ case 34: _t->rotateCounterclockwiseMenuAction(); break;
+ case 35: _t->zoomToSelectionMenuAction(); break;
+ case 36: _t->toggleToolbarMenuAction((*reinterpret_cast< bool(*)>(_a[1]))); break;
+ case 37: _t->toggleSidebarMenuAction((*reinterpret_cast< bool(*)>(_a[1]))); break;
+ case 38: _t->viewPageLabelsMenuAction((*reinterpret_cast< bool(*)>(_a[1]))); break;
+ case 39: _t->documentInfoMenuAction(); break;
+ case 40: _t->newTabMenuAction(); break;
+ case 41: _t->newWindowMenuAction(); break;
+ case 42: _t->closeTabMenuAction(); break;
+ case 43: _t->closeWindowMenuAction(); break;
+ case 44: _t->openErrorWindowMenuAction(); break;
+ case 45: _t->helpMenuAction(); break;
+ case 46: _t->keyBindingsMenuAction(); break;
+ case 47: _t->aboutMenuAction(); break;
+ case 48: _t->popupMenuAction((*reinterpret_cast< int(*)>(_a[1]))); break;
+ case 49: _t->toggleSidebarButtonPressed(); break;
+ case 50: _t->pageNumberChanged(); break;
+ case 51: _t->backButtonPressed(); break;
+ case 52: _t->forwardButtonPressed(); break;
+ case 53: _t->zoomOutButtonPressed(); break;
+ case 54: _t->zoomInButtonPressed(); break;
+ case 55: _t->zoomIndexChanged((*reinterpret_cast< int(*)>(_a[1]))); break;
+ case 56: _t->zoomEditingFinished(); break;
+ case 57: _t->fitWidthButtonPressed(); break;
+ case 58: _t->fitPageButtonPressed(); break;
+ case 59: _t->selectModeButtonPressed(); break;
+ case 60: _t->statusIndicatorPressed(); break;
+ case 61: _t->findTextChanged(); break;
+ case 62: _t->findNextButtonPressed(); break;
+ case 63: _t->findPrevButtonPressed(); break;
+ case 64: _t->newTabButtonPressed(); break;
+ case 65: _t->switchTab((*reinterpret_cast< QListWidgetItem*(*)>(_a[1])),(*reinterpret_cast< QListWidgetItem*(*)>(_a[2]))); break;
+ case 66: _t->tabsReordered((*reinterpret_cast< const QModelIndex(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3])),(*reinterpret_cast< const QModelIndex(*)>(_a[4])),(*reinterpret_cast< int(*)>(_a[5]))); break;
+ case 67: _t->infoComboBoxChanged((*reinterpret_cast< int(*)>(_a[1]))); break;
+ case 68: _t->outlineItemClicked((*reinterpret_cast< const QModelIndex(*)>(_a[1]))); break;
+ case 69: _t->layerItemClicked((*reinterpret_cast< const QModelIndex(*)>(_a[1]))); break;
+ case 70: _t->attachmentSaveClicked((*reinterpret_cast< int(*)>(_a[1]))); break;
+ case 71: _t->clearFindError(); break;
+ default: ;
+ }
+ }
+}
+
+QT_INIT_METAOBJECT const QMetaObject XpdfViewer::staticMetaObject = { {
+ QMetaObject::SuperData::link<QMainWindow::staticMetaObject>(),
+ qt_meta_stringdata_XpdfViewer.data,
+ qt_meta_data_XpdfViewer,
+ qt_static_metacall,
+ nullptr,
+ nullptr
+} };
+
+
+const QMetaObject *XpdfViewer::metaObject() const
+{
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *XpdfViewer::qt_metacast(const char *_clname)
+{
+ if (!_clname) return nullptr;
+ if (!strcmp(_clname, qt_meta_stringdata_XpdfViewer.stringdata0))
+ return static_cast<void*>(this);
+ return QMainWindow::qt_metacast(_clname);
+}
+
+int XpdfViewer::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QMainWindow::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ if (_id < 72)
+ qt_static_metacall(this, _c, _id, _a);
+ _id -= 72;
+ } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
+ if (_id < 72)
+ *reinterpret_cast<int*>(_a[0]) = -1;
+ _id -= 72;
+ }
+ return _id;
+}
+QT_WARNING_POP
+QT_END_MOC_NAMESPACE
diff --git a/xpdf-qt/moc_XpdfViewer.cpp_parameters b/xpdf-qt/moc_XpdfViewer.cpp_parameters
new file mode 100644
index 0000000..0bd1c12
--- /dev/null
+++ b/xpdf-qt/moc_XpdfViewer.cpp_parameters
@@ -0,0 +1,28 @@
+-I/home/calvin/src/xpdf-4.04
+-I/home/calvin/src/xpdf-4.04
+-I/home/calvin/src/xpdf-4.04/goo
+-I/home/calvin/src/xpdf-4.04/fofi
+-I/home/calvin/src/xpdf-4.04/splash
+-I/home/calvin/src/xpdf-4.04/xpdf
+-I/usr/include/x86_64-linux-gnu/qt5/
+-I/usr/include/x86_64-linux-gnu/qt5/QtWidgets
+-I/usr/include/x86_64-linux-gnu/qt5/QtGui
+-I/usr/include/x86_64-linux-gnu/qt5/QtCore
+-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ /usr/include/x86_64-linux-gnu/qt5/
+-I/usr/include/x86_64-linux-gnu/qt5/QtNetwork
+-I/usr/include/x86_64-linux-gnu/qt5/QtCore
+-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ /usr/include/x86_64-linux-gnu/qt5/
+-I/usr/include/x86_64-linux-gnu/qt5/QtPrintSupport
+-I/usr/include/x86_64-linux-gnu/qt5/QtWidgets
+-I/usr/include/x86_64-linux-gnu/qt5/QtGui
+-I/usr/include/x86_64-linux-gnu/qt5/QtCore
+-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++
+-DQT_WIDGETS_LIB
+-DQT_GUI_LIB
+-DQT_WIDGETS_LIB
+-DQT_GUI_LIB
+-DQT_CORE_LIB
+-DXPDFWIDGET_PRINTING=1
+-o
+/home/calvin/src/xpdf-4.04/xpdf-qt/moc_XpdfViewer.cpp
+/home/calvin/src/xpdf-4.04/xpdf-qt/XpdfViewer.h
diff --git a/xpdf-qt/moc_XpdfWidget.cpp b/xpdf-qt/moc_XpdfWidget.cpp
new file mode 100644
index 0000000..b0b2ea7
--- /dev/null
+++ b/xpdf-qt/moc_XpdfWidget.cpp
@@ -0,0 +1,463 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'XpdfWidget.h'
+**
+** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include <memory>
+#include "XpdfWidget.h"
+#include <QtCore/qbytearray.h>
+#include <QtCore/qmetatype.h>
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'XpdfWidget.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 67
+#error "This file was generated using the moc from 5.15.2. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+struct qt_meta_stringdata_XpdfWidget_t {
+ QByteArrayData data[33];
+ char stringdata0[321];
+};
+#define QT_MOC_LITERAL(idx, ofs, len) \
+ Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
+ qptrdiff(offsetof(qt_meta_stringdata_XpdfWidget_t, stringdata0) + ofs \
+ - idx * sizeof(QByteArrayData)) \
+ )
+static const qt_meta_stringdata_XpdfWidget_t qt_meta_stringdata_XpdfWidget = {
+ {
+QT_MOC_LITERAL(0, 0, 10), // "XpdfWidget"
+QT_MOC_LITERAL(1, 11, 10), // "pageChange"
+QT_MOC_LITERAL(2, 22, 0), // ""
+QT_MOC_LITERAL(3, 23, 7), // "pageNum"
+QT_MOC_LITERAL(4, 31, 13), // "midPageChange"
+QT_MOC_LITERAL(5, 45, 7), // "preLoad"
+QT_MOC_LITERAL(6, 53, 8), // "postLoad"
+QT_MOC_LITERAL(7, 62, 8), // "keyPress"
+QT_MOC_LITERAL(8, 71, 10), // "QKeyEvent*"
+QT_MOC_LITERAL(9, 82, 1), // "e"
+QT_MOC_LITERAL(10, 84, 10), // "mousePress"
+QT_MOC_LITERAL(11, 95, 12), // "QMouseEvent*"
+QT_MOC_LITERAL(12, 108, 12), // "mouseRelease"
+QT_MOC_LITERAL(13, 121, 10), // "mouseClick"
+QT_MOC_LITERAL(14, 132, 16), // "mouseDoubleClick"
+QT_MOC_LITERAL(15, 149, 16), // "mouseTripleClick"
+QT_MOC_LITERAL(16, 166, 9), // "mouseMove"
+QT_MOC_LITERAL(17, 176, 10), // "mouseWheel"
+QT_MOC_LITERAL(18, 187, 12), // "QWheelEvent*"
+QT_MOC_LITERAL(19, 200, 9), // "linkClick"
+QT_MOC_LITERAL(20, 210, 8), // "linkType"
+QT_MOC_LITERAL(21, 219, 4), // "dest"
+QT_MOC_LITERAL(22, 224, 4), // "page"
+QT_MOC_LITERAL(23, 229, 10), // "selectDone"
+QT_MOC_LITERAL(24, 240, 9), // "paintDone"
+QT_MOC_LITERAL(25, 250, 8), // "finished"
+QT_MOC_LITERAL(26, 259, 7), // "resized"
+QT_MOC_LITERAL(27, 267, 11), // "printStatus"
+QT_MOC_LITERAL(28, 279, 8), // "nextPage"
+QT_MOC_LITERAL(29, 288, 9), // "firstPage"
+QT_MOC_LITERAL(30, 298, 8), // "lastPage"
+QT_MOC_LITERAL(31, 307, 8), // "tileDone"
+QT_MOC_LITERAL(32, 316, 4) // "tick"
+
+ },
+ "XpdfWidget\0pageChange\0\0pageNum\0"
+ "midPageChange\0preLoad\0postLoad\0keyPress\0"
+ "QKeyEvent*\0e\0mousePress\0QMouseEvent*\0"
+ "mouseRelease\0mouseClick\0mouseDoubleClick\0"
+ "mouseTripleClick\0mouseMove\0mouseWheel\0"
+ "QWheelEvent*\0linkClick\0linkType\0dest\0"
+ "page\0selectDone\0paintDone\0finished\0"
+ "resized\0printStatus\0nextPage\0firstPage\0"
+ "lastPage\0tileDone\0tick"
+};
+#undef QT_MOC_LITERAL
+
+static const uint qt_meta_data_XpdfWidget[] = {
+
+ // content:
+ 8, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 19, 14, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 18, // signalCount
+
+ // signals: name, argc, parameters, tag, flags
+ 1, 1, 109, 2, 0x06 /* Public */,
+ 4, 1, 112, 2, 0x06 /* Public */,
+ 5, 0, 115, 2, 0x06 /* Public */,
+ 6, 0, 116, 2, 0x06 /* Public */,
+ 7, 1, 117, 2, 0x06 /* Public */,
+ 10, 1, 120, 2, 0x06 /* Public */,
+ 12, 1, 123, 2, 0x06 /* Public */,
+ 13, 1, 126, 2, 0x06 /* Public */,
+ 14, 1, 129, 2, 0x06 /* Public */,
+ 15, 1, 132, 2, 0x06 /* Public */,
+ 16, 1, 135, 2, 0x06 /* Public */,
+ 17, 1, 138, 2, 0x06 /* Public */,
+ 19, 3, 141, 2, 0x06 /* Public */,
+ 23, 0, 148, 2, 0x06 /* Public */,
+ 24, 1, 149, 2, 0x06 /* Public */,
+ 26, 0, 152, 2, 0x06 /* Public */,
+ 27, 3, 153, 2, 0x06 /* Public */,
+ 31, 0, 160, 2, 0x06 /* Public */,
+
+ // slots: name, argc, parameters, tag, flags
+ 32, 0, 161, 2, 0x08 /* Private */,
+
+ // signals: parameters
+ QMetaType::Void, QMetaType::Int, 3,
+ QMetaType::Void, QMetaType::Int, 3,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void, 0x80000000 | 8, 9,
+ QMetaType::Void, 0x80000000 | 11, 9,
+ QMetaType::Void, 0x80000000 | 11, 9,
+ QMetaType::Void, 0x80000000 | 11, 9,
+ QMetaType::Void, 0x80000000 | 11, 9,
+ QMetaType::Void, 0x80000000 | 11, 9,
+ QMetaType::Void, 0x80000000 | 11, 9,
+ QMetaType::Void, 0x80000000 | 18, 9,
+ QMetaType::Void, QMetaType::QString, QMetaType::QString, QMetaType::Int, 20, 21, 22,
+ QMetaType::Void,
+ QMetaType::Void, QMetaType::Bool, 25,
+ QMetaType::Void,
+ QMetaType::Void, QMetaType::Int, QMetaType::Int, QMetaType::Int, 28, 29, 30,
+ QMetaType::Void,
+
+ // slots: parameters
+ QMetaType::Void,
+
+ 0 // eod
+};
+
+void XpdfWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ auto *_t = static_cast<XpdfWidget *>(_o);
+ Q_UNUSED(_t)
+ switch (_id) {
+ case 0: _t->pageChange((*reinterpret_cast< int(*)>(_a[1]))); break;
+ case 1: _t->midPageChange((*reinterpret_cast< int(*)>(_a[1]))); break;
+ case 2: _t->preLoad(); break;
+ case 3: _t->postLoad(); break;
+ case 4: _t->keyPress((*reinterpret_cast< QKeyEvent*(*)>(_a[1]))); break;
+ case 5: _t->mousePress((*reinterpret_cast< QMouseEvent*(*)>(_a[1]))); break;
+ case 6: _t->mouseRelease((*reinterpret_cast< QMouseEvent*(*)>(_a[1]))); break;
+ case 7: _t->mouseClick((*reinterpret_cast< QMouseEvent*(*)>(_a[1]))); break;
+ case 8: _t->mouseDoubleClick((*reinterpret_cast< QMouseEvent*(*)>(_a[1]))); break;
+ case 9: _t->mouseTripleClick((*reinterpret_cast< QMouseEvent*(*)>(_a[1]))); break;
+ case 10: _t->mouseMove((*reinterpret_cast< QMouseEvent*(*)>(_a[1]))); break;
+ case 11: _t->mouseWheel((*reinterpret_cast< QWheelEvent*(*)>(_a[1]))); break;
+ case 12: _t->linkClick((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break;
+ case 13: _t->selectDone(); break;
+ case 14: _t->paintDone((*reinterpret_cast< bool(*)>(_a[1]))); break;
+ case 15: _t->resized(); break;
+ case 16: _t->printStatus((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break;
+ case 17: _t->tileDone(); break;
+ case 18: _t->tick(); break;
+ default: ;
+ }
+ } else if (_c == QMetaObject::IndexOfMethod) {
+ int *result = reinterpret_cast<int *>(_a[0]);
+ {
+ using _t = void (XpdfWidget::*)(int );
+ if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&XpdfWidget::pageChange)) {
+ *result = 0;
+ return;
+ }
+ }
+ {
+ using _t = void (XpdfWidget::*)(int );
+ if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&XpdfWidget::midPageChange)) {
+ *result = 1;
+ return;
+ }
+ }
+ {
+ using _t = void (XpdfWidget::*)();
+ if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&XpdfWidget::preLoad)) {
+ *result = 2;
+ return;
+ }
+ }
+ {
+ using _t = void (XpdfWidget::*)();
+ if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&XpdfWidget::postLoad)) {
+ *result = 3;
+ return;
+ }
+ }
+ {
+ using _t = void (XpdfWidget::*)(QKeyEvent * );
+ if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&XpdfWidget::keyPress)) {
+ *result = 4;
+ return;
+ }
+ }
+ {
+ using _t = void (XpdfWidget::*)(QMouseEvent * );
+ if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&XpdfWidget::mousePress)) {
+ *result = 5;
+ return;
+ }
+ }
+ {
+ using _t = void (XpdfWidget::*)(QMouseEvent * );
+ if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&XpdfWidget::mouseRelease)) {
+ *result = 6;
+ return;
+ }
+ }
+ {
+ using _t = void (XpdfWidget::*)(QMouseEvent * );
+ if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&XpdfWidget::mouseClick)) {
+ *result = 7;
+ return;
+ }
+ }
+ {
+ using _t = void (XpdfWidget::*)(QMouseEvent * );
+ if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&XpdfWidget::mouseDoubleClick)) {
+ *result = 8;
+ return;
+ }
+ }
+ {
+ using _t = void (XpdfWidget::*)(QMouseEvent * );
+ if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&XpdfWidget::mouseTripleClick)) {
+ *result = 9;
+ return;
+ }
+ }
+ {
+ using _t = void (XpdfWidget::*)(QMouseEvent * );
+ if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&XpdfWidget::mouseMove)) {
+ *result = 10;
+ return;
+ }
+ }
+ {
+ using _t = void (XpdfWidget::*)(QWheelEvent * );
+ if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&XpdfWidget::mouseWheel)) {
+ *result = 11;
+ return;
+ }
+ }
+ {
+ using _t = void (XpdfWidget::*)(const QString & , const QString & , int );
+ if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&XpdfWidget::linkClick)) {
+ *result = 12;
+ return;
+ }
+ }
+ {
+ using _t = void (XpdfWidget::*)();
+ if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&XpdfWidget::selectDone)) {
+ *result = 13;
+ return;
+ }
+ }
+ {
+ using _t = void (XpdfWidget::*)(bool );
+ if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&XpdfWidget::paintDone)) {
+ *result = 14;
+ return;
+ }
+ }
+ {
+ using _t = void (XpdfWidget::*)();
+ if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&XpdfWidget::resized)) {
+ *result = 15;
+ return;
+ }
+ }
+ {
+ using _t = void (XpdfWidget::*)(int , int , int );
+ if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&XpdfWidget::printStatus)) {
+ *result = 16;
+ return;
+ }
+ }
+ {
+ using _t = void (XpdfWidget::*)();
+ if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&XpdfWidget::tileDone)) {
+ *result = 17;
+ return;
+ }
+ }
+ }
+}
+
+QT_INIT_METAOBJECT const QMetaObject XpdfWidget::staticMetaObject = { {
+ QMetaObject::SuperData::link<QAbstractScrollArea::staticMetaObject>(),
+ qt_meta_stringdata_XpdfWidget.data,
+ qt_meta_data_XpdfWidget,
+ qt_static_metacall,
+ nullptr,
+ nullptr
+} };
+
+
+const QMetaObject *XpdfWidget::metaObject() const
+{
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *XpdfWidget::qt_metacast(const char *_clname)
+{
+ if (!_clname) return nullptr;
+ if (!strcmp(_clname, qt_meta_stringdata_XpdfWidget.stringdata0))
+ return static_cast<void*>(this);
+ return QAbstractScrollArea::qt_metacast(_clname);
+}
+
+int XpdfWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QAbstractScrollArea::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ if (_id < 19)
+ qt_static_metacall(this, _c, _id, _a);
+ _id -= 19;
+ } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
+ if (_id < 19)
+ *reinterpret_cast<int*>(_a[0]) = -1;
+ _id -= 19;
+ }
+ return _id;
+}
+
+// SIGNAL 0
+void XpdfWidget::pageChange(int _t1)
+{
+ void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
+ QMetaObject::activate(this, &staticMetaObject, 0, _a);
+}
+
+// SIGNAL 1
+void XpdfWidget::midPageChange(int _t1)
+{
+ void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
+ QMetaObject::activate(this, &staticMetaObject, 1, _a);
+}
+
+// SIGNAL 2
+void XpdfWidget::preLoad()
+{
+ QMetaObject::activate(this, &staticMetaObject, 2, nullptr);
+}
+
+// SIGNAL 3
+void XpdfWidget::postLoad()
+{
+ QMetaObject::activate(this, &staticMetaObject, 3, nullptr);
+}
+
+// SIGNAL 4
+void XpdfWidget::keyPress(QKeyEvent * _t1)
+{
+ void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
+ QMetaObject::activate(this, &staticMetaObject, 4, _a);
+}
+
+// SIGNAL 5
+void XpdfWidget::mousePress(QMouseEvent * _t1)
+{
+ void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
+ QMetaObject::activate(this, &staticMetaObject, 5, _a);
+}
+
+// SIGNAL 6
+void XpdfWidget::mouseRelease(QMouseEvent * _t1)
+{
+ void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
+ QMetaObject::activate(this, &staticMetaObject, 6, _a);
+}
+
+// SIGNAL 7
+void XpdfWidget::mouseClick(QMouseEvent * _t1)
+{
+ void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
+ QMetaObject::activate(this, &staticMetaObject, 7, _a);
+}
+
+// SIGNAL 8
+void XpdfWidget::mouseDoubleClick(QMouseEvent * _t1)
+{
+ void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
+ QMetaObject::activate(this, &staticMetaObject, 8, _a);
+}
+
+// SIGNAL 9
+void XpdfWidget::mouseTripleClick(QMouseEvent * _t1)
+{
+ void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
+ QMetaObject::activate(this, &staticMetaObject, 9, _a);
+}
+
+// SIGNAL 10
+void XpdfWidget::mouseMove(QMouseEvent * _t1)
+{
+ void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
+ QMetaObject::activate(this, &staticMetaObject, 10, _a);
+}
+
+// SIGNAL 11
+void XpdfWidget::mouseWheel(QWheelEvent * _t1)
+{
+ void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
+ QMetaObject::activate(this, &staticMetaObject, 11, _a);
+}
+
+// SIGNAL 12
+void XpdfWidget::linkClick(const QString & _t1, const QString & _t2, int _t3)
+{
+ void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t3))) };
+ QMetaObject::activate(this, &staticMetaObject, 12, _a);
+}
+
+// SIGNAL 13
+void XpdfWidget::selectDone()
+{
+ QMetaObject::activate(this, &staticMetaObject, 13, nullptr);
+}
+
+// SIGNAL 14
+void XpdfWidget::paintDone(bool _t1)
+{
+ void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
+ QMetaObject::activate(this, &staticMetaObject, 14, _a);
+}
+
+// SIGNAL 15
+void XpdfWidget::resized()
+{
+ QMetaObject::activate(this, &staticMetaObject, 15, nullptr);
+}
+
+// SIGNAL 16
+void XpdfWidget::printStatus(int _t1, int _t2, int _t3)
+{
+ void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t3))) };
+ QMetaObject::activate(this, &staticMetaObject, 16, _a);
+}
+
+// SIGNAL 17
+void XpdfWidget::tileDone()
+{
+ QMetaObject::activate(this, &staticMetaObject, 17, nullptr);
+}
+QT_WARNING_POP
+QT_END_MOC_NAMESPACE
diff --git a/xpdf-qt/moc_XpdfWidget.cpp_parameters b/xpdf-qt/moc_XpdfWidget.cpp_parameters
new file mode 100644
index 0000000..524da2a
--- /dev/null
+++ b/xpdf-qt/moc_XpdfWidget.cpp_parameters
@@ -0,0 +1,28 @@
+-I/home/calvin/src/xpdf-4.04
+-I/home/calvin/src/xpdf-4.04
+-I/home/calvin/src/xpdf-4.04/goo
+-I/home/calvin/src/xpdf-4.04/fofi
+-I/home/calvin/src/xpdf-4.04/splash
+-I/home/calvin/src/xpdf-4.04/xpdf
+-I/usr/include/x86_64-linux-gnu/qt5/
+-I/usr/include/x86_64-linux-gnu/qt5/QtWidgets
+-I/usr/include/x86_64-linux-gnu/qt5/QtGui
+-I/usr/include/x86_64-linux-gnu/qt5/QtCore
+-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ /usr/include/x86_64-linux-gnu/qt5/
+-I/usr/include/x86_64-linux-gnu/qt5/QtNetwork
+-I/usr/include/x86_64-linux-gnu/qt5/QtCore
+-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ /usr/include/x86_64-linux-gnu/qt5/
+-I/usr/include/x86_64-linux-gnu/qt5/QtPrintSupport
+-I/usr/include/x86_64-linux-gnu/qt5/QtWidgets
+-I/usr/include/x86_64-linux-gnu/qt5/QtGui
+-I/usr/include/x86_64-linux-gnu/qt5/QtCore
+-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++
+-DQT_WIDGETS_LIB
+-DQT_GUI_LIB
+-DQT_WIDGETS_LIB
+-DQT_GUI_LIB
+-DQT_CORE_LIB
+-DXPDFWIDGET_PRINTING=1
+-o
+/home/calvin/src/xpdf-4.04/xpdf-qt/moc_XpdfWidget.cpp
+/home/calvin/src/xpdf-4.04/xpdf-qt/XpdfWidget.h
diff --git a/xpdf-qt/qrc_icons.cpp b/xpdf-qt/qrc_icons.cpp
new file mode 100644
index 0000000..0bdcd27
--- /dev/null
+++ b/xpdf-qt/qrc_icons.cpp
@@ -0,0 +1,1325 @@
+/****************************************************************************
+** Resource object code
+**
+** Created by: The Resource Compiler for Qt version 5.15.2
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+static const unsigned char qt_resource_data[] = {
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/fitPage.svg
+ 0x0,0x0,0x3,0x4b,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0x20,0xa,0x20,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,
+ 0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,
+ 0x63,0x73,0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,
+ 0x76,0x67,0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,
+ 0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,
+ 0x74,0x3d,0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,
+ 0x31,0x2e,0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,
+ 0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,
+ 0x30,0x30,0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x72,0x65,0x63,
+ 0x74,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0x20,0x73,0x74,
+ 0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,
+ 0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x34,0x22,0xa,
+ 0x20,0x20,0x20,0x78,0x3d,0x22,0x31,0x34,0x22,0x20,0x79,0x3d,0x22,0x36,0x22,0x20,
+ 0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x35,0x36,0x22,0x20,0x68,0x65,0x69,0x67,0x68,
+ 0x74,0x3d,0x22,0x37,0x32,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x70,0x6f,0x6c,0x79,
+ 0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,
+ 0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,
+ 0x74,0x68,0x3d,0x22,0x34,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,
+ 0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,0x22,0x32,0x32,
+ 0x2c,0x34,0x32,0x20,0x20,0x36,0x32,0x2c,0x34,0x32,0x22,0x2f,0x3e,0xa,0x20,0x20,
+ 0x3c,0x70,0x6f,0x6c,0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,
+ 0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,
+ 0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x34,0x22,0x20,0x66,0x69,0x6c,0x6c,
+ 0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,
+ 0x73,0x3d,0x22,0x33,0x32,0x2c,0x33,0x32,0x20,0x20,0x32,0x32,0x2c,0x34,0x32,0x20,
+ 0x20,0x33,0x32,0x2c,0x35,0x32,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x70,0x6f,0x6c,
+ 0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,
+ 0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x34,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,
+ 0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,0x22,0x35,
+ 0x32,0x2c,0x33,0x32,0x20,0x20,0x36,0x32,0x2c,0x34,0x32,0x20,0x20,0x35,0x32,0x2c,
+ 0x35,0x32,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x70,0x6f,0x6c,0x79,0x6c,0x69,0x6e,
+ 0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,
+ 0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,
+ 0x22,0x34,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,
+ 0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,0x22,0x34,0x32,0x2c,0x31,0x34,
+ 0x20,0x20,0x34,0x32,0x2c,0x37,0x30,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x70,0x6f,
+ 0x6c,0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,
+ 0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,
+ 0x69,0x64,0x74,0x68,0x3d,0x22,0x34,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,
+ 0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,0x22,
+ 0x33,0x32,0x2c,0x32,0x34,0x20,0x20,0x34,0x32,0x2c,0x31,0x34,0x20,0x20,0x35,0x32,
+ 0x2c,0x32,0x34,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x70,0x6f,0x6c,0x79,0x6c,0x69,
+ 0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,
+ 0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,
+ 0x3d,0x22,0x34,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,
+ 0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,0x22,0x33,0x32,0x2c,0x36,
+ 0x30,0x20,0x20,0x34,0x32,0x2c,0x37,0x30,0x20,0x20,0x35,0x32,0x2c,0x36,0x30,0x22,
+ 0x2f,0x3e,0xa,0x3c,0x2f,0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/back.svg
+ 0x0,0x0,0x1,0x83,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0x20,0xa,0x20,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,
+ 0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,
+ 0x63,0x73,0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,
+ 0x76,0x67,0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,
+ 0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,
+ 0x74,0x3d,0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,
+ 0x31,0x2e,0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,
+ 0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,
+ 0x30,0x30,0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x70,0x6f,0x6c,
+ 0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,
+ 0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x38,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,
+ 0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,0x22,0x31,
+ 0x36,0x2c,0x34,0x30,0x20,0x20,0x36,0x38,0x2c,0x34,0x30,0x22,0x2f,0x3e,0xa,0x20,
+ 0x20,0x3c,0x70,0x6f,0x6c,0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,
+ 0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,
+ 0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x38,0x22,0x20,0x66,0x69,0x6c,
+ 0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,
+ 0x74,0x73,0x3d,0x22,0x33,0x36,0x2c,0x32,0x30,0x20,0x20,0x31,0x32,0x2c,0x34,0x30,
+ 0x20,0x20,0x33,0x36,0x2c,0x36,0x30,0x22,0x2f,0x3e,0xa,0x3c,0x2f,0x73,0x76,0x67,
+ 0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/selectModeLinear.svg
+ 0x0,0x0,0x3,0xa0,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0x20,0xa,0x20,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,
+ 0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,
+ 0x63,0x73,0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,
+ 0x76,0x67,0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,
+ 0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,
+ 0x74,0x3d,0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,
+ 0x31,0x2e,0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,
+ 0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,
+ 0x30,0x30,0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x70,0x6f,0x6c,
+ 0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,
+ 0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x34,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,
+ 0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,0x22,0x32,
+ 0x36,0x2c,0x31,0x38,0x20,0x33,0x34,0x2c,0x31,0x38,0x20,0x33,0x38,0x2c,0x32,0x32,
+ 0x20,0x34,0x32,0x2c,0x31,0x38,0x20,0x35,0x30,0x2c,0x31,0x38,0x22,0x2f,0x3e,0xa,
+ 0x20,0x20,0x3c,0x70,0x6f,0x6c,0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,
+ 0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,
+ 0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x34,0x22,0x20,0x66,0x69,
+ 0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,
+ 0x6e,0x74,0x73,0x3d,0x22,0x33,0x38,0x2c,0x32,0x32,0x20,0x33,0x38,0x2c,0x36,0x32,
+ 0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x70,0x6f,0x6c,0x79,0x6c,0x69,0x6e,0x65,0x20,
+ 0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,0x35,0x22,
+ 0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x34,
+ 0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,
+ 0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,0x22,0x32,0x36,0x2c,0x36,0x36,0x20,0x33,
+ 0x34,0x2c,0x36,0x36,0x20,0x33,0x38,0x2c,0x36,0x32,0x20,0x34,0x32,0x2c,0x36,0x36,
+ 0x20,0x35,0x30,0x2c,0x36,0x36,0x22,0x2f,0x3e,0xa,0xa,0x3c,0x21,0x2d,0x2d,0xa,
+ 0x20,0x20,0x3c,0x70,0x6f,0x6c,0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,
+ 0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,
+ 0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x38,0x22,0x20,0x66,0x69,
+ 0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,
+ 0x6e,0x74,0x73,0x3d,0x22,0x34,0x30,0x2c,0x32,0x30,0x20,0x34,0x30,0x2c,0x36,0x30,
+ 0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x70,0x6f,0x6c,0x79,0x6c,0x69,0x6e,0x65,0x20,
+ 0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,0x35,0x22,
+ 0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x38,
+ 0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,
+ 0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,0x22,0x32,0x34,0x2c,0x31,0x36,0x20,0x33,
+ 0x36,0x2c,0x31,0x36,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x70,0x6f,0x6c,0x79,0x6c,
+ 0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,
+ 0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,
+ 0x68,0x3d,0x22,0x38,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,
+ 0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,0x22,0x34,0x34,0x2c,
+ 0x31,0x36,0x20,0x35,0x36,0x2c,0x31,0x36,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x70,
+ 0x6f,0x6c,0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,
+ 0x23,0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,
+ 0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x38,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,
+ 0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,
+ 0x22,0x32,0x34,0x2c,0x36,0x34,0x20,0x33,0x36,0x2c,0x36,0x34,0x22,0x2f,0x3e,0xa,
+ 0x20,0x20,0x3c,0x70,0x6f,0x6c,0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,
+ 0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,
+ 0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x38,0x22,0x20,0x66,0x69,
+ 0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,
+ 0x6e,0x74,0x73,0x3d,0x22,0x34,0x34,0x2c,0x36,0x34,0x20,0x35,0x36,0x2c,0x36,0x34,
+ 0x22,0x2f,0x3e,0xa,0x2d,0x2d,0x3e,0xa,0x3c,0x2f,0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/findPrevious.svg
+ 0x0,0x0,0x1,0x2e,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0x20,0xa,0x20,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,
+ 0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,
+ 0x63,0x73,0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,
+ 0x76,0x67,0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,
+ 0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x36,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,
+ 0x74,0x3d,0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,
+ 0x31,0x2e,0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,
+ 0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,
+ 0x30,0x30,0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x70,0x6f,0x6c,
+ 0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,
+ 0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x38,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,
+ 0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,0x22,0x31,
+ 0x32,0x2c,0x34,0x38,0x20,0x20,0x33,0x30,0x2c,0x33,0x32,0x20,0x20,0x34,0x38,0x2c,
+ 0x34,0x38,0x22,0x2f,0x3e,0xa,0x3c,0x2f,0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/zoomIn.svg
+ 0x0,0x0,0x1,0x7c,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0x20,0xa,0x20,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,
+ 0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,
+ 0x63,0x73,0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,
+ 0x76,0x67,0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,
+ 0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,
+ 0x74,0x3d,0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,
+ 0x31,0x2e,0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,
+ 0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,
+ 0x30,0x30,0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x70,0x6f,0x6c,
+ 0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,
+ 0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x38,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,
+ 0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,0x22,0x31,
+ 0x36,0x2c,0x34,0x30,0x20,0x20,0x36,0x34,0x2c,0x34,0x30,0x22,0x2f,0x3e,0xa,0x20,
+ 0x20,0x3c,0x70,0x6f,0x6c,0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,
+ 0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,
+ 0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x38,0x22,0x20,0x66,0x69,0x6c,
+ 0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,
+ 0x74,0x73,0x3d,0x22,0x34,0x30,0x2c,0x31,0x36,0x20,0x20,0x34,0x30,0x2c,0x36,0x34,
+ 0x22,0x2f,0x3e,0xa,0x3c,0x2f,0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/forward.svg
+ 0x0,0x0,0x1,0x83,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0x20,0xa,0x20,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,
+ 0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,
+ 0x63,0x73,0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,
+ 0x76,0x67,0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,
+ 0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,
+ 0x74,0x3d,0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,
+ 0x31,0x2e,0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,
+ 0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,
+ 0x30,0x30,0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x70,0x6f,0x6c,
+ 0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,
+ 0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x38,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,
+ 0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,0x22,0x31,
+ 0x32,0x2c,0x34,0x30,0x20,0x20,0x36,0x34,0x2c,0x34,0x30,0x22,0x2f,0x3e,0xa,0x20,
+ 0x20,0x3c,0x70,0x6f,0x6c,0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,
+ 0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,
+ 0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x38,0x22,0x20,0x66,0x69,0x6c,
+ 0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,
+ 0x74,0x73,0x3d,0x22,0x34,0x34,0x2c,0x32,0x30,0x20,0x20,0x36,0x38,0x2c,0x34,0x30,
+ 0x20,0x20,0x34,0x34,0x2c,0x36,0x30,0x22,0x2f,0x3e,0xa,0x3c,0x2f,0x73,0x76,0x67,
+ 0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/fitWidth.svg
+ 0x0,0x0,0x2,0x3e,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0x20,0xa,0x20,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,
+ 0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,
+ 0x63,0x73,0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,
+ 0x76,0x67,0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,
+ 0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,
+ 0x74,0x3d,0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,
+ 0x31,0x2e,0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,
+ 0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,
+ 0x30,0x30,0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x72,0x65,0x63,
+ 0x74,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0x20,0x73,0x74,
+ 0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,
+ 0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x34,0x22,0xa,
+ 0x20,0x20,0x20,0x78,0x3d,0x22,0x31,0x34,0x22,0x20,0x79,0x3d,0x22,0x36,0x22,0x20,
+ 0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x35,0x36,0x22,0x20,0x68,0x65,0x69,0x67,0x68,
+ 0x74,0x3d,0x22,0x37,0x32,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x70,0x6f,0x6c,0x79,
+ 0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,
+ 0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,
+ 0x74,0x68,0x3d,0x22,0x34,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,
+ 0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,0x22,0x32,0x32,
+ 0x2c,0x34,0x32,0x20,0x20,0x36,0x32,0x2c,0x34,0x32,0x22,0x2f,0x3e,0xa,0x20,0x20,
+ 0x3c,0x70,0x6f,0x6c,0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,
+ 0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,
+ 0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x34,0x22,0x20,0x66,0x69,0x6c,0x6c,
+ 0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,
+ 0x73,0x3d,0x22,0x33,0x32,0x2c,0x33,0x32,0x20,0x20,0x32,0x32,0x2c,0x34,0x32,0x20,
+ 0x20,0x33,0x32,0x2c,0x35,0x32,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x70,0x6f,0x6c,
+ 0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,
+ 0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x34,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,
+ 0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,0x22,0x35,
+ 0x32,0x2c,0x33,0x32,0x20,0x20,0x36,0x32,0x2c,0x34,0x32,0x20,0x20,0x35,0x32,0x2c,
+ 0x35,0x32,0x22,0x2f,0x3e,0xa,0x3c,0x2f,0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/indicator-icon-err0.svg
+ 0x0,0x0,0x1,0xa9,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0xa,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,
+ 0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,0x63,0x73,
+ 0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,0x76,0x67,
+ 0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,
+ 0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,
+ 0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,
+ 0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,
+ 0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x66,0x66,0x34,0x34,0x34,0x34,0x22,
+ 0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,
+ 0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,0x3d,0x22,0x34,0x30,
+ 0x22,0x20,0x72,0x3d,0x22,0x33,0x33,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,
+ 0x72,0x63,0x6c,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,
+ 0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,
+ 0x74,0x68,0x3d,0x22,0x36,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,
+ 0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,
+ 0x3d,0x22,0x34,0x30,0x22,0x20,0x72,0x3d,0x22,0x33,0x30,0x22,0x2f,0x3e,0xa,0x20,
+ 0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,
+ 0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,
+ 0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,
+ 0x20,0x63,0x79,0x3d,0x22,0x32,0x34,0x22,0x20,0x72,0x3d,0x22,0x38,0x22,0x2f,0x3e,
+ 0xa,0x3c,0x2f,0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/indicator-icon-err1.svg
+ 0x0,0x0,0x1,0xa9,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0xa,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,
+ 0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,0x63,0x73,
+ 0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,0x76,0x67,
+ 0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,
+ 0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,
+ 0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,
+ 0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,
+ 0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x66,0x66,0x34,0x34,0x34,0x34,0x22,
+ 0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,
+ 0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,0x3d,0x22,0x34,0x30,
+ 0x22,0x20,0x72,0x3d,0x22,0x33,0x33,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,
+ 0x72,0x63,0x6c,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,
+ 0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,
+ 0x74,0x68,0x3d,0x22,0x36,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,
+ 0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,
+ 0x3d,0x22,0x34,0x30,0x22,0x20,0x72,0x3d,0x22,0x33,0x30,0x22,0x2f,0x3e,0xa,0x20,
+ 0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,
+ 0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,
+ 0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x35,0x31,0x22,
+ 0x20,0x63,0x79,0x3d,0x22,0x32,0x39,0x22,0x20,0x72,0x3d,0x22,0x38,0x22,0x2f,0x3e,
+ 0xa,0x3c,0x2f,0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/indicator-icon-err2.svg
+ 0x0,0x0,0x1,0xa9,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0xa,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,
+ 0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,0x63,0x73,
+ 0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,0x76,0x67,
+ 0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,
+ 0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,
+ 0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,
+ 0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,
+ 0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x66,0x66,0x34,0x34,0x34,0x34,0x22,
+ 0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,
+ 0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,0x3d,0x22,0x34,0x30,
+ 0x22,0x20,0x72,0x3d,0x22,0x33,0x33,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,
+ 0x72,0x63,0x6c,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,
+ 0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,
+ 0x74,0x68,0x3d,0x22,0x36,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,
+ 0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,
+ 0x3d,0x22,0x34,0x30,0x22,0x20,0x72,0x3d,0x22,0x33,0x30,0x22,0x2f,0x3e,0xa,0x20,
+ 0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,
+ 0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,
+ 0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x35,0x36,0x22,
+ 0x20,0x63,0x79,0x3d,0x22,0x34,0x30,0x22,0x20,0x72,0x3d,0x22,0x38,0x22,0x2f,0x3e,
+ 0xa,0x3c,0x2f,0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/indicator-icon-err3.svg
+ 0x0,0x0,0x1,0xa9,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0xa,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,
+ 0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,0x63,0x73,
+ 0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,0x76,0x67,
+ 0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,
+ 0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,
+ 0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,
+ 0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,
+ 0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x66,0x66,0x34,0x34,0x34,0x34,0x22,
+ 0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,
+ 0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,0x3d,0x22,0x34,0x30,
+ 0x22,0x20,0x72,0x3d,0x22,0x33,0x33,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,
+ 0x72,0x63,0x6c,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,
+ 0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,
+ 0x74,0x68,0x3d,0x22,0x36,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,
+ 0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,
+ 0x3d,0x22,0x34,0x30,0x22,0x20,0x72,0x3d,0x22,0x33,0x30,0x22,0x2f,0x3e,0xa,0x20,
+ 0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,
+ 0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,
+ 0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x35,0x31,0x22,
+ 0x20,0x63,0x79,0x3d,0x22,0x35,0x31,0x22,0x20,0x72,0x3d,0x22,0x38,0x22,0x2f,0x3e,
+ 0xa,0x3c,0x2f,0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/indicator-icon-err4.svg
+ 0x0,0x0,0x1,0xa9,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0xa,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,
+ 0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,0x63,0x73,
+ 0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,0x76,0x67,
+ 0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,
+ 0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,
+ 0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,
+ 0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,
+ 0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x66,0x66,0x34,0x34,0x34,0x34,0x22,
+ 0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,
+ 0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,0x3d,0x22,0x34,0x30,
+ 0x22,0x20,0x72,0x3d,0x22,0x33,0x33,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,
+ 0x72,0x63,0x6c,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,
+ 0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,
+ 0x74,0x68,0x3d,0x22,0x36,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,
+ 0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,
+ 0x3d,0x22,0x34,0x30,0x22,0x20,0x72,0x3d,0x22,0x33,0x30,0x22,0x2f,0x3e,0xa,0x20,
+ 0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,
+ 0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,
+ 0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,
+ 0x20,0x63,0x79,0x3d,0x22,0x35,0x36,0x22,0x20,0x72,0x3d,0x22,0x38,0x22,0x2f,0x3e,
+ 0xa,0x3c,0x2f,0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/indicator-icon-err5.svg
+ 0x0,0x0,0x1,0xa9,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0xa,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,
+ 0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,0x63,0x73,
+ 0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,0x76,0x67,
+ 0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,
+ 0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,
+ 0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,
+ 0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,
+ 0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x66,0x66,0x34,0x34,0x34,0x34,0x22,
+ 0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,
+ 0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,0x3d,0x22,0x34,0x30,
+ 0x22,0x20,0x72,0x3d,0x22,0x33,0x33,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,
+ 0x72,0x63,0x6c,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,
+ 0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,
+ 0x74,0x68,0x3d,0x22,0x36,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,
+ 0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,
+ 0x3d,0x22,0x34,0x30,0x22,0x20,0x72,0x3d,0x22,0x33,0x30,0x22,0x2f,0x3e,0xa,0x20,
+ 0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,
+ 0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,
+ 0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x32,0x39,0x22,
+ 0x20,0x63,0x79,0x3d,0x22,0x35,0x31,0x22,0x20,0x72,0x3d,0x22,0x38,0x22,0x2f,0x3e,
+ 0xa,0x3c,0x2f,0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/indicator-icon-err6.svg
+ 0x0,0x0,0x1,0xa9,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0xa,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,
+ 0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,0x63,0x73,
+ 0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,0x76,0x67,
+ 0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,
+ 0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,
+ 0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,
+ 0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,
+ 0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x66,0x66,0x34,0x34,0x34,0x34,0x22,
+ 0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,
+ 0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,0x3d,0x22,0x34,0x30,
+ 0x22,0x20,0x72,0x3d,0x22,0x33,0x33,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,
+ 0x72,0x63,0x6c,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,
+ 0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,
+ 0x74,0x68,0x3d,0x22,0x36,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,
+ 0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,
+ 0x3d,0x22,0x34,0x30,0x22,0x20,0x72,0x3d,0x22,0x33,0x30,0x22,0x2f,0x3e,0xa,0x20,
+ 0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,
+ 0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,
+ 0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x32,0x34,0x22,
+ 0x20,0x63,0x79,0x3d,0x22,0x34,0x30,0x22,0x20,0x72,0x3d,0x22,0x38,0x22,0x2f,0x3e,
+ 0xa,0x3c,0x2f,0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/indicator-icon0.svg
+ 0x0,0x0,0x1,0x66,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0xa,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,
+ 0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,0x63,0x73,
+ 0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,0x76,0x67,
+ 0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,
+ 0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,
+ 0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,
+ 0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,
+ 0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,
+ 0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,
+ 0x22,0x36,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,
+ 0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,0x3d,0x22,0x34,
+ 0x30,0x22,0x20,0x72,0x3d,0x22,0x33,0x30,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x63,
+ 0x69,0x72,0x63,0x6c,0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x35,0x35,0x35,
+ 0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x6e,0x6f,0x6e,
+ 0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,
+ 0x3d,0x22,0x32,0x34,0x22,0x20,0x72,0x3d,0x22,0x38,0x22,0x2f,0x3e,0xa,0x3c,0x2f,
+ 0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/indicator-icon-err7.svg
+ 0x0,0x0,0x1,0xa9,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0xa,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,
+ 0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,0x63,0x73,
+ 0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,0x76,0x67,
+ 0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,
+ 0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,
+ 0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,
+ 0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,
+ 0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x66,0x66,0x34,0x34,0x34,0x34,0x22,
+ 0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,
+ 0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,0x3d,0x22,0x34,0x30,
+ 0x22,0x20,0x72,0x3d,0x22,0x33,0x33,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,
+ 0x72,0x63,0x6c,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,
+ 0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,
+ 0x74,0x68,0x3d,0x22,0x36,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,
+ 0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,
+ 0x3d,0x22,0x34,0x30,0x22,0x20,0x72,0x3d,0x22,0x33,0x30,0x22,0x2f,0x3e,0xa,0x20,
+ 0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,
+ 0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,
+ 0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x32,0x39,0x22,
+ 0x20,0x63,0x79,0x3d,0x22,0x32,0x39,0x22,0x20,0x72,0x3d,0x22,0x38,0x22,0x2f,0x3e,
+ 0xa,0x3c,0x2f,0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/findSettings.svg
+ 0x0,0x0,0x1,0x65,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0x20,0xa,0x20,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,
+ 0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,
+ 0x63,0x73,0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,
+ 0x76,0x67,0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,
+ 0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x36,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,
+ 0x74,0x3d,0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,
+ 0x31,0x2e,0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,
+ 0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,
+ 0x30,0x30,0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,0x72,
+ 0x63,0x6c,0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,
+ 0x35,0x22,0x20,0x63,0x78,0x3d,0x22,0x31,0x34,0x22,0x20,0x63,0x79,0x3d,0x22,0x34,
+ 0x30,0x22,0x20,0x72,0x3d,0x22,0x35,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,
+ 0x72,0x63,0x6c,0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,
+ 0x35,0x35,0x22,0x20,0x63,0x78,0x3d,0x22,0x33,0x30,0x22,0x20,0x63,0x79,0x3d,0x22,
+ 0x34,0x30,0x22,0x20,0x72,0x3d,0x22,0x35,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x63,
+ 0x69,0x72,0x63,0x6c,0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x35,0x35,0x35,
+ 0x35,0x35,0x35,0x22,0x20,0x63,0x78,0x3d,0x22,0x34,0x36,0x22,0x20,0x63,0x79,0x3d,
+ 0x22,0x34,0x30,0x22,0x20,0x72,0x3d,0x22,0x35,0x22,0x2f,0x3e,0xa,0x3c,0x2f,0x73,
+ 0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/indicator-icon1.svg
+ 0x0,0x0,0x1,0x66,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0xa,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,
+ 0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,0x63,0x73,
+ 0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,0x76,0x67,
+ 0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,
+ 0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,
+ 0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,
+ 0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,
+ 0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,
+ 0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,
+ 0x22,0x36,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,
+ 0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,0x3d,0x22,0x34,
+ 0x30,0x22,0x20,0x72,0x3d,0x22,0x33,0x30,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x63,
+ 0x69,0x72,0x63,0x6c,0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x35,0x35,0x35,
+ 0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x6e,0x6f,0x6e,
+ 0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x35,0x31,0x22,0x20,0x63,0x79,
+ 0x3d,0x22,0x32,0x39,0x22,0x20,0x72,0x3d,0x22,0x38,0x22,0x2f,0x3e,0xa,0x3c,0x2f,
+ 0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/zoomOut.svg
+ 0x0,0x0,0x1,0x27,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0x20,0xa,0x20,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,
+ 0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,
+ 0x63,0x73,0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,
+ 0x76,0x67,0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,
+ 0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,
+ 0x74,0x3d,0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,
+ 0x31,0x2e,0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,
+ 0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,
+ 0x30,0x30,0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x70,0x6f,0x6c,
+ 0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,
+ 0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x38,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,
+ 0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,0x22,0x31,
+ 0x36,0x2c,0x34,0x30,0x20,0x20,0x36,0x34,0x2c,0x34,0x30,0x22,0x2f,0x3e,0xa,0x3c,
+ 0x2f,0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/indicator-icon2.svg
+ 0x0,0x0,0x1,0x66,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0xa,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,
+ 0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,0x63,0x73,
+ 0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,0x76,0x67,
+ 0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,
+ 0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,
+ 0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,
+ 0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,
+ 0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,
+ 0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,
+ 0x22,0x36,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,
+ 0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,0x3d,0x22,0x34,
+ 0x30,0x22,0x20,0x72,0x3d,0x22,0x33,0x30,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x63,
+ 0x69,0x72,0x63,0x6c,0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x35,0x35,0x35,
+ 0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x6e,0x6f,0x6e,
+ 0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x35,0x36,0x22,0x20,0x63,0x79,
+ 0x3d,0x22,0x34,0x30,0x22,0x20,0x72,0x3d,0x22,0x38,0x22,0x2f,0x3e,0xa,0x3c,0x2f,
+ 0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/indicator-icon3.svg
+ 0x0,0x0,0x1,0x66,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0xa,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,
+ 0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,0x63,0x73,
+ 0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,0x76,0x67,
+ 0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,
+ 0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,
+ 0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,
+ 0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,
+ 0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,
+ 0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,
+ 0x22,0x36,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,
+ 0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,0x3d,0x22,0x34,
+ 0x30,0x22,0x20,0x72,0x3d,0x22,0x33,0x30,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x63,
+ 0x69,0x72,0x63,0x6c,0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x35,0x35,0x35,
+ 0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x6e,0x6f,0x6e,
+ 0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x35,0x31,0x22,0x20,0x63,0x79,
+ 0x3d,0x22,0x35,0x31,0x22,0x20,0x72,0x3d,0x22,0x38,0x22,0x2f,0x3e,0xa,0x3c,0x2f,
+ 0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/indicator-icon4.svg
+ 0x0,0x0,0x1,0x66,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0xa,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,
+ 0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,0x63,0x73,
+ 0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,0x76,0x67,
+ 0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,
+ 0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,
+ 0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,
+ 0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,
+ 0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,
+ 0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,
+ 0x22,0x36,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,
+ 0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,0x3d,0x22,0x34,
+ 0x30,0x22,0x20,0x72,0x3d,0x22,0x33,0x30,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x63,
+ 0x69,0x72,0x63,0x6c,0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x35,0x35,0x35,
+ 0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x6e,0x6f,0x6e,
+ 0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,
+ 0x3d,0x22,0x35,0x36,0x22,0x20,0x72,0x3d,0x22,0x38,0x22,0x2f,0x3e,0xa,0x3c,0x2f,
+ 0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/findNext.svg
+ 0x0,0x0,0x1,0x2e,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0x20,0xa,0x20,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,
+ 0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,
+ 0x63,0x73,0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,
+ 0x76,0x67,0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,
+ 0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x36,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,
+ 0x74,0x3d,0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,
+ 0x31,0x2e,0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,
+ 0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,
+ 0x30,0x30,0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x70,0x6f,0x6c,
+ 0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,
+ 0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x38,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,
+ 0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,0x22,0x31,
+ 0x32,0x2c,0x33,0x32,0x20,0x20,0x33,0x30,0x2c,0x34,0x38,0x20,0x20,0x34,0x38,0x2c,
+ 0x33,0x32,0x22,0x2f,0x3e,0xa,0x3c,0x2f,0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/xpdf-icon.svg
+ 0x0,0x0,0x3,0x47,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0xa,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,
+ 0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,0x63,0x73,
+ 0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,0x76,0x67,
+ 0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x36,0x34,0x22,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,
+ 0x22,0x36,0x34,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,
+ 0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,
+ 0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x70,0x61,0x74,0x68,0x20,
+ 0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x30,0x30,0x34,0x34,0x36,0x36,0x22,0x20,0x73,
+ 0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,
+ 0x64,0x3d,0x22,0x4d,0x20,0x38,0x2c,0x34,0x20,0x4c,0x20,0x32,0x30,0x2c,0x34,0x20,
+ 0x41,0x20,0x31,0x32,0x2c,0x31,0x32,0x2c,0x30,0x2c,0x30,0x2c,0x31,0x2c,0x33,0x32,
+ 0x2c,0x31,0x36,0x20,0x41,0x20,0x31,0x32,0x2c,0x31,0x32,0x2c,0x30,0x2c,0x30,0x2c,
+ 0x31,0x2c,0x34,0x34,0x2c,0x34,0x20,0x4c,0x20,0x35,0x36,0x2c,0x34,0xa,0x20,0x20,
+ 0x20,0x20,0x20,0x20,0x4c,0x20,0x35,0x36,0x2c,0x36,0x30,0xa,0x20,0x20,0x20,0x20,
+ 0x20,0x20,0x4c,0x20,0x34,0x34,0x2c,0x36,0x30,0x20,0x41,0x20,0x31,0x32,0x2c,0x31,
+ 0x32,0x2c,0x30,0x2c,0x30,0x2c,0x31,0x2c,0x33,0x32,0x2c,0x34,0x38,0x20,0x41,0x20,
+ 0x31,0x32,0x2c,0x31,0x32,0x2c,0x30,0x2c,0x30,0x2c,0x31,0x2c,0x32,0x30,0x2c,0x36,
+ 0x30,0x20,0x4c,0x20,0x38,0x2c,0x36,0x30,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x4c,
+ 0x20,0x38,0x2c,0x34,0x34,0x20,0x4c,0x20,0x31,0x32,0x2c,0x34,0x34,0x20,0x41,0x20,
+ 0x34,0x2c,0x34,0x2c,0x30,0x2c,0x30,0x2c,0x30,0x2c,0x31,0x36,0x2c,0x34,0x30,0x20,
+ 0x4c,0x20,0x31,0x36,0x2c,0x32,0x34,0x20,0x41,0x20,0x34,0x2c,0x34,0x2c,0x30,0x2c,
+ 0x30,0x2c,0x30,0x2c,0x31,0x32,0x2c,0x32,0x30,0x20,0x4c,0x20,0x38,0x2c,0x32,0x30,
+ 0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x70,0x61,0x74,0x68,0x20,0x73,0x74,0x72,0x6f,
+ 0x6b,0x65,0x3d,0x22,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x22,0x20,0x73,0x74,0x72,
+ 0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x36,0x22,0x20,0x66,0x69,
+ 0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x64,0x3d,0x22,
+ 0x4d,0x20,0x31,0x32,0x2c,0x31,0x32,0x20,0x4c,0x20,0x31,0x36,0x2c,0x31,0x32,0x20,
+ 0x41,0x20,0x38,0x2c,0x38,0x2c,0x30,0x2c,0x30,0x2c,0x31,0x2c,0x32,0x34,0x2c,0x32,
+ 0x30,0x20,0x4c,0x20,0x32,0x34,0x2c,0x32,0x34,0x20,0x41,0x20,0x38,0x2c,0x38,0x2c,
+ 0x30,0x2c,0x30,0x2c,0x30,0x2c,0x33,0x32,0x2c,0x33,0x32,0xa,0x20,0x20,0x20,0x20,
+ 0x20,0x20,0x41,0x20,0x38,0x2c,0x38,0x2c,0x30,0x2c,0x30,0x2c,0x30,0x2c,0x32,0x34,
+ 0x2c,0x34,0x30,0x20,0x4c,0x20,0x32,0x34,0x2c,0x34,0x34,0x20,0x41,0x20,0x38,0x2c,
+ 0x38,0x2c,0x30,0x2c,0x30,0x2c,0x31,0x2c,0x31,0x36,0x2c,0x35,0x32,0x20,0x4c,0x20,
+ 0x31,0x32,0x2c,0x35,0x32,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,0x72,0x63,
+ 0x6c,0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x66,0x66,0x66,0x66,0x66,0x66,
+ 0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,
+ 0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x36,0x22,0x20,0x63,0x79,0x3d,0x22,0x31,
+ 0x35,0x22,0x20,0x72,0x3d,0x22,0x36,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,
+ 0x72,0x63,0x6c,0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x30,0x30,0x61,0x61,
+ 0x30,0x30,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x6e,0x6f,0x6e,0x65,
+ 0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x36,0x22,0x20,0x63,0x79,0x3d,
+ 0x22,0x33,0x32,0x22,0x20,0x72,0x3d,0x22,0x36,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,
+ 0x63,0x69,0x72,0x63,0x6c,0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x66,0x66,
+ 0x66,0x66,0x66,0x66,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x6e,0x6f,
+ 0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x36,0x22,0x20,0x63,
+ 0x79,0x3d,0x22,0x34,0x39,0x22,0x20,0x72,0x3d,0x22,0x36,0x22,0x2f,0x3e,0xa,0x3c,
+ 0x2f,0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/fitPageOn.svg
+ 0x0,0x0,0x3,0x4e,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0x20,0xa,0x20,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,
+ 0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,
+ 0x63,0x73,0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,
+ 0x76,0x67,0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,
+ 0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,
+ 0x74,0x3d,0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,
+ 0x31,0x2e,0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,
+ 0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,
+ 0x30,0x30,0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x72,0x65,0x63,
+ 0x74,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x64,0x64,0x64,0x64,0x66,0x66,0x22,
+ 0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,0x35,
+ 0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,
+ 0x34,0x22,0xa,0x20,0x20,0x20,0x78,0x3d,0x22,0x31,0x34,0x22,0x20,0x79,0x3d,0x22,
+ 0x36,0x22,0x20,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x35,0x36,0x22,0x20,0x68,0x65,
+ 0x69,0x67,0x68,0x74,0x3d,0x22,0x37,0x32,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x70,
+ 0x6f,0x6c,0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,
+ 0x23,0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,
+ 0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x34,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,
+ 0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,
+ 0x22,0x32,0x32,0x2c,0x34,0x32,0x20,0x20,0x36,0x32,0x2c,0x34,0x32,0x22,0x2f,0x3e,
+ 0xa,0x20,0x20,0x3c,0x70,0x6f,0x6c,0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,
+ 0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,
+ 0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x34,0x22,0x20,0x66,
+ 0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,
+ 0x69,0x6e,0x74,0x73,0x3d,0x22,0x33,0x32,0x2c,0x33,0x32,0x20,0x20,0x32,0x32,0x2c,
+ 0x34,0x32,0x20,0x20,0x33,0x32,0x2c,0x35,0x32,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,
+ 0x70,0x6f,0x6c,0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,
+ 0x22,0x23,0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,
+ 0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x34,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,
+ 0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,
+ 0x3d,0x22,0x35,0x32,0x2c,0x33,0x32,0x20,0x20,0x36,0x32,0x2c,0x34,0x32,0x20,0x20,
+ 0x35,0x32,0x2c,0x35,0x32,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x70,0x6f,0x6c,0x79,
+ 0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,
+ 0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,
+ 0x74,0x68,0x3d,0x22,0x34,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,
+ 0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,0x22,0x34,0x32,
+ 0x2c,0x31,0x34,0x20,0x20,0x34,0x32,0x2c,0x37,0x30,0x22,0x2f,0x3e,0xa,0x20,0x20,
+ 0x3c,0x70,0x6f,0x6c,0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,
+ 0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,
+ 0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x34,0x22,0x20,0x66,0x69,0x6c,0x6c,
+ 0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,
+ 0x73,0x3d,0x22,0x33,0x32,0x2c,0x32,0x34,0x20,0x20,0x34,0x32,0x2c,0x31,0x34,0x20,
+ 0x20,0x35,0x32,0x2c,0x32,0x34,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x70,0x6f,0x6c,
+ 0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,
+ 0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x34,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,
+ 0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,0x22,0x33,
+ 0x32,0x2c,0x36,0x30,0x20,0x20,0x34,0x32,0x2c,0x37,0x30,0x20,0x20,0x35,0x32,0x2c,
+ 0x36,0x30,0x22,0x2f,0x3e,0xa,0x3c,0x2f,0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/indicator-icon5.svg
+ 0x0,0x0,0x1,0x66,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0xa,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,
+ 0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,0x63,0x73,
+ 0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,0x76,0x67,
+ 0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,
+ 0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,
+ 0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,
+ 0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,
+ 0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,
+ 0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,
+ 0x22,0x36,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,
+ 0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,0x3d,0x22,0x34,
+ 0x30,0x22,0x20,0x72,0x3d,0x22,0x33,0x30,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x63,
+ 0x69,0x72,0x63,0x6c,0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x35,0x35,0x35,
+ 0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x6e,0x6f,0x6e,
+ 0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x32,0x39,0x22,0x20,0x63,0x79,
+ 0x3d,0x22,0x35,0x31,0x22,0x20,0x72,0x3d,0x22,0x38,0x22,0x2f,0x3e,0xa,0x3c,0x2f,
+ 0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/indicator-icon6.svg
+ 0x0,0x0,0x1,0x66,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0xa,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,
+ 0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,0x63,0x73,
+ 0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,0x76,0x67,
+ 0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,
+ 0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,
+ 0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,
+ 0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,
+ 0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,
+ 0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,
+ 0x22,0x36,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,
+ 0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,0x3d,0x22,0x34,
+ 0x30,0x22,0x20,0x72,0x3d,0x22,0x33,0x30,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x63,
+ 0x69,0x72,0x63,0x6c,0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x35,0x35,0x35,
+ 0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x6e,0x6f,0x6e,
+ 0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x32,0x34,0x22,0x20,0x63,0x79,
+ 0x3d,0x22,0x34,0x30,0x22,0x20,0x72,0x3d,0x22,0x38,0x22,0x2f,0x3e,0xa,0x3c,0x2f,
+ 0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/indicator-icon7.svg
+ 0x0,0x0,0x1,0x66,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0xa,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,
+ 0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,0x63,0x73,
+ 0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,0x76,0x67,
+ 0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,0x77,0x69,
+ 0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,
+ 0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,
+ 0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,
+ 0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x63,0x69,0x72,0x63,0x6c,
+ 0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,
+ 0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,
+ 0x22,0x36,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,
+ 0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x34,0x30,0x22,0x20,0x63,0x79,0x3d,0x22,0x34,
+ 0x30,0x22,0x20,0x72,0x3d,0x22,0x33,0x30,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x63,
+ 0x69,0x72,0x63,0x6c,0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x35,0x35,0x35,
+ 0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x6e,0x6f,0x6e,
+ 0x65,0x22,0xa,0x20,0x20,0x20,0x63,0x78,0x3d,0x22,0x32,0x39,0x22,0x20,0x63,0x79,
+ 0x3d,0x22,0x32,0x39,0x22,0x20,0x72,0x3d,0x22,0x38,0x22,0x2f,0x3e,0xa,0x3c,0x2f,
+ 0x73,0x76,0x67,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/fitWidthOn.svg
+ 0x0,0x0,0x2,0x41,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0x20,0xa,0x20,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,
+ 0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,
+ 0x63,0x73,0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,
+ 0x76,0x67,0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,
+ 0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,
+ 0x74,0x3d,0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,
+ 0x31,0x2e,0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,
+ 0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,
+ 0x30,0x30,0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x72,0x65,0x63,
+ 0x74,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x64,0x64,0x64,0x64,0x66,0x66,0x22,
+ 0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,0x35,
+ 0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,
+ 0x34,0x22,0xa,0x20,0x20,0x20,0x78,0x3d,0x22,0x31,0x34,0x22,0x20,0x79,0x3d,0x22,
+ 0x36,0x22,0x20,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x35,0x36,0x22,0x20,0x68,0x65,
+ 0x69,0x67,0x68,0x74,0x3d,0x22,0x37,0x32,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x70,
+ 0x6f,0x6c,0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,
+ 0x23,0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,
+ 0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x34,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,
+ 0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,
+ 0x22,0x32,0x32,0x2c,0x34,0x32,0x20,0x20,0x36,0x32,0x2c,0x34,0x32,0x22,0x2f,0x3e,
+ 0xa,0x20,0x20,0x3c,0x70,0x6f,0x6c,0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,
+ 0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,
+ 0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x34,0x22,0x20,0x66,
+ 0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,
+ 0x69,0x6e,0x74,0x73,0x3d,0x22,0x33,0x32,0x2c,0x33,0x32,0x20,0x20,0x32,0x32,0x2c,
+ 0x34,0x32,0x20,0x20,0x33,0x32,0x2c,0x35,0x32,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,
+ 0x70,0x6f,0x6c,0x79,0x6c,0x69,0x6e,0x65,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,
+ 0x22,0x23,0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,
+ 0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x34,0x22,0x20,0x66,0x69,0x6c,0x6c,0x3d,
+ 0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,
+ 0x3d,0x22,0x35,0x32,0x2c,0x33,0x32,0x20,0x20,0x36,0x32,0x2c,0x34,0x32,0x20,0x20,
+ 0x35,0x32,0x2c,0x35,0x32,0x22,0x2f,0x3e,0xa,0x3c,0x2f,0x73,0x76,0x67,0x3e,0xa,
+
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/toggleSidebar.svg
+ 0x0,0x0,0x2,0x39,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0x20,0xa,0x20,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,
+ 0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,
+ 0x63,0x73,0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,
+ 0x76,0x67,0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,
+ 0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,
+ 0x74,0x3d,0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,
+ 0x31,0x2e,0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,
+ 0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,
+ 0x30,0x30,0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x72,0x65,0x63,
+ 0x74,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0x20,0x73,0x74,
+ 0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,
+ 0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x34,0x22,0xa,
+ 0x20,0x20,0x20,0x78,0x3d,0x22,0x34,0x22,0x20,0x79,0x3d,0x22,0x34,0x22,0x20,0x77,
+ 0x69,0x64,0x74,0x68,0x3d,0x22,0x37,0x32,0x22,0x20,0x68,0x65,0x69,0x67,0x68,0x74,
+ 0x3d,0x22,0x37,0x32,0x22,0x2f,0x3e,0xa,0x20,0x20,0x3c,0x72,0x65,0x63,0x74,0x20,
+ 0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x64,0x64,0x64,0x64,0x66,0x66,0x22,0x20,0x73,
+ 0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,
+ 0x73,0x74,0x72,0x6f,0x6b,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x34,0x22,
+ 0xa,0x20,0x20,0x20,0x78,0x3d,0x22,0x34,0x22,0x20,0x79,0x3d,0x22,0x34,0x22,0x20,
+ 0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x32,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,
+ 0x74,0x3d,0x22,0x37,0x32,0x22,0x2f,0x3e,0xa,0x3c,0x2f,0x73,0x76,0x67,0x3e,0xa,
+ 0x3c,0x21,0x2d,0x2d,0xa,0x3c,0x73,0x76,0x67,0x20,0x77,0x69,0x64,0x74,0x68,0x3d,
+ 0x22,0x34,0x38,0x22,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,0x22,0x38,0x30,0x22,
+ 0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,0x31,0x22,0xa,0x20,
+ 0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,
+ 0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,0x30,0x30,0x30,0x2f,0x73,0x76,
+ 0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x70,0x6f,0x6c,0x79,0x6c,0x69,0x6e,0x65,0x20,
+ 0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x35,0x35,0x35,0x35,0x35,0x35,0x22,0x20,0x73,
+ 0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x6e,0x6f,0x6e,0x65,0x22,0xa,0x20,0x20,0x20,
+ 0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,0x22,0x33,0x32,0x2c,0x31,0x36,0x20,0x31,0x32,
+ 0x2c,0x34,0x30,0x20,0x33,0x32,0x2c,0x36,0x34,0x22,0x2f,0x3e,0xa,0x3c,0x2f,0x73,
+ 0x76,0x67,0x3e,0xa,0x2d,0x2d,0x3e,0xa,
+ // /home/calvin/src/xpdf-4.04/xpdf-qt/selectModeBlock.svg
+ 0x0,0x0,0x1,0x32,
+ 0x3c,
+ 0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,
+ 0x30,0x22,0x3f,0x3e,0xa,0x3c,0x21,0x44,0x4f,0x43,0x54,0x59,0x50,0x45,0x20,0x73,
+ 0x76,0x67,0x20,0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,0x2f,0x57,0x33,
+ 0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,
+ 0x45,0x4e,0x22,0x20,0xa,0x20,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,
+ 0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,
+ 0x63,0x73,0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,0x54,0x44,0x2f,0x73,
+ 0x76,0x67,0x31,0x31,0x2e,0x64,0x74,0x64,0x22,0x3e,0xa,0x3c,0x73,0x76,0x67,0x20,
+ 0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x22,0x20,0x68,0x65,0x69,0x67,0x68,
+ 0x74,0x3d,0x22,0x38,0x30,0x22,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,
+ 0x31,0x2e,0x31,0x22,0xa,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,
+ 0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x32,
+ 0x30,0x30,0x30,0x2f,0x73,0x76,0x67,0x22,0x3e,0xa,0x20,0x20,0x3c,0x70,0x6f,0x6c,
+ 0x79,0x6c,0x69,0x6e,0x65,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x35,0x35,0x35,
+ 0x35,0x35,0x35,0x22,0x20,0x73,0x74,0x72,0x6f,0x6b,0x65,0x3d,0x22,0x6e,0x6f,0x6e,
+ 0x65,0x22,0xa,0x20,0x20,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3d,0x22,0x32,0x34,
+ 0x2c,0x34,0x38,0x20,0x32,0x34,0x2c,0x38,0x20,0x35,0x36,0x2c,0x33,0x32,0x20,0x34,
+ 0x34,0x2c,0x33,0x38,0x20,0x35,0x38,0x2c,0x36,0x36,0x20,0x35,0x30,0x2c,0x37,0x30,
+ 0x20,0x33,0x36,0x2c,0x34,0x32,0x22,0x2f,0x3e,0xa,0x3c,0x2f,0x73,0x76,0x67,0x3e,
+ 0xa,
+
+};
+
+static const unsigned char qt_resource_name[] = {
+ // fitPage-button
+ 0x0,0xe,
+ 0x2,0xb0,0x5a,0x9e,
+ 0x0,0x66,
+ 0x0,0x69,0x0,0x74,0x0,0x50,0x0,0x61,0x0,0x67,0x0,0x65,0x0,0x2d,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x6f,0x0,0x6e,
+ // back-button
+ 0x0,0xb,
+ 0x3,0x4c,0x48,0x9e,
+ 0x0,0x62,
+ 0x0,0x61,0x0,0x63,0x0,0x6b,0x0,0x2d,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x6f,0x0,0x6e,
+ // selectModeLinear-button
+ 0x0,0x17,
+ 0xf,0x1a,0x4b,0xbe,
+ 0x0,0x73,
+ 0x0,0x65,0x0,0x6c,0x0,0x65,0x0,0x63,0x0,0x74,0x0,0x4d,0x0,0x6f,0x0,0x64,0x0,0x65,0x0,0x4c,0x0,0x69,0x0,0x6e,0x0,0x65,0x0,0x61,0x0,0x72,0x0,0x2d,
+ 0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x6f,0x0,0x6e,
+ // findPrevious-button
+ 0x0,0x13,
+ 0xe,0xe,0x3d,0x5e,
+ 0x0,0x66,
+ 0x0,0x69,0x0,0x6e,0x0,0x64,0x0,0x50,0x0,0x72,0x0,0x65,0x0,0x76,0x0,0x69,0x0,0x6f,0x0,0x75,0x0,0x73,0x0,0x2d,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,
+ 0x0,0x6f,0x0,0x6e,
+ // zoomIn-button
+ 0x0,0xd,
+ 0x1,0x50,0xf9,0x7e,
+ 0x0,0x7a,
+ 0x0,0x6f,0x0,0x6f,0x0,0x6d,0x0,0x49,0x0,0x6e,0x0,0x2d,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x6f,0x0,0x6e,
+ // forward-button
+ 0x0,0xe,
+ 0xe,0xa7,0xb0,0xfe,
+ 0x0,0x66,
+ 0x0,0x6f,0x0,0x72,0x0,0x77,0x0,0x61,0x0,0x72,0x0,0x64,0x0,0x2d,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x6f,0x0,0x6e,
+ // fitWidth-button
+ 0x0,0xf,
+ 0x0,0x22,0x7a,0x1e,
+ 0x0,0x66,
+ 0x0,0x69,0x0,0x74,0x0,0x57,0x0,0x69,0x0,0x64,0x0,0x74,0x0,0x68,0x0,0x2d,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x6f,0x0,0x6e,
+ // indicator-icon-err0
+ 0x0,0x13,
+ 0x5,0xf2,0x53,0xb0,
+ 0x0,0x69,
+ 0x0,0x6e,0x0,0x64,0x0,0x69,0x0,0x63,0x0,0x61,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x2d,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x2d,0x0,0x65,0x0,0x72,
+ 0x0,0x72,0x0,0x30,
+ // indicator-icon-err1
+ 0x0,0x13,
+ 0x5,0xf2,0x53,0xb1,
+ 0x0,0x69,
+ 0x0,0x6e,0x0,0x64,0x0,0x69,0x0,0x63,0x0,0x61,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x2d,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x2d,0x0,0x65,0x0,0x72,
+ 0x0,0x72,0x0,0x31,
+ // indicator-icon-err2
+ 0x0,0x13,
+ 0x5,0xf2,0x53,0xb2,
+ 0x0,0x69,
+ 0x0,0x6e,0x0,0x64,0x0,0x69,0x0,0x63,0x0,0x61,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x2d,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x2d,0x0,0x65,0x0,0x72,
+ 0x0,0x72,0x0,0x32,
+ // indicator-icon-err3
+ 0x0,0x13,
+ 0x5,0xf2,0x53,0xb3,
+ 0x0,0x69,
+ 0x0,0x6e,0x0,0x64,0x0,0x69,0x0,0x63,0x0,0x61,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x2d,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x2d,0x0,0x65,0x0,0x72,
+ 0x0,0x72,0x0,0x33,
+ // indicator-icon-err4
+ 0x0,0x13,
+ 0x5,0xf2,0x53,0xb4,
+ 0x0,0x69,
+ 0x0,0x6e,0x0,0x64,0x0,0x69,0x0,0x63,0x0,0x61,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x2d,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x2d,0x0,0x65,0x0,0x72,
+ 0x0,0x72,0x0,0x34,
+ // indicator-icon-err5
+ 0x0,0x13,
+ 0x5,0xf2,0x53,0xb5,
+ 0x0,0x69,
+ 0x0,0x6e,0x0,0x64,0x0,0x69,0x0,0x63,0x0,0x61,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x2d,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x2d,0x0,0x65,0x0,0x72,
+ 0x0,0x72,0x0,0x35,
+ // indicator-icon-err6
+ 0x0,0x13,
+ 0x5,0xf2,0x53,0xb6,
+ 0x0,0x69,
+ 0x0,0x6e,0x0,0x64,0x0,0x69,0x0,0x63,0x0,0x61,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x2d,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x2d,0x0,0x65,0x0,0x72,
+ 0x0,0x72,0x0,0x36,
+ // indicator-icon0
+ 0x0,0xf,
+ 0x0,0xcd,0x75,0xf0,
+ 0x0,0x69,
+ 0x0,0x6e,0x0,0x64,0x0,0x69,0x0,0x63,0x0,0x61,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x2d,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x30,
+ // indicator-icon-err7
+ 0x0,0x13,
+ 0x5,0xf2,0x53,0xb7,
+ 0x0,0x69,
+ 0x0,0x6e,0x0,0x64,0x0,0x69,0x0,0x63,0x0,0x61,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x2d,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x2d,0x0,0x65,0x0,0x72,
+ 0x0,0x72,0x0,0x37,
+ // findSettings-button
+ 0x0,0x13,
+ 0x0,0xce,0x42,0x5e,
+ 0x0,0x66,
+ 0x0,0x69,0x0,0x6e,0x0,0x64,0x0,0x53,0x0,0x65,0x0,0x74,0x0,0x74,0x0,0x69,0x0,0x6e,0x0,0x67,0x0,0x73,0x0,0x2d,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,
+ 0x0,0x6f,0x0,0x6e,
+ // indicator-icon1
+ 0x0,0xf,
+ 0x0,0xcd,0x75,0xf1,
+ 0x0,0x69,
+ 0x0,0x6e,0x0,0x64,0x0,0x69,0x0,0x63,0x0,0x61,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x2d,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x31,
+ // zoomOut-button
+ 0x0,0xe,
+ 0xf,0x58,0x43,0xfe,
+ 0x0,0x7a,
+ 0x0,0x6f,0x0,0x6f,0x0,0x6d,0x0,0x4f,0x0,0x75,0x0,0x74,0x0,0x2d,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x6f,0x0,0x6e,
+ // indicator-icon2
+ 0x0,0xf,
+ 0x0,0xcd,0x75,0xf2,
+ 0x0,0x69,
+ 0x0,0x6e,0x0,0x64,0x0,0x69,0x0,0x63,0x0,0x61,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x2d,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x32,
+ // indicator-icon3
+ 0x0,0xf,
+ 0x0,0xcd,0x75,0xf3,
+ 0x0,0x69,
+ 0x0,0x6e,0x0,0x64,0x0,0x69,0x0,0x63,0x0,0x61,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x2d,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x33,
+ // indicator-icon4
+ 0x0,0xf,
+ 0x0,0xcd,0x75,0xf4,
+ 0x0,0x69,
+ 0x0,0x6e,0x0,0x64,0x0,0x69,0x0,0x63,0x0,0x61,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x2d,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x34,
+ // findNext-button
+ 0x0,0xf,
+ 0xa,0xb4,0x91,0xbe,
+ 0x0,0x66,
+ 0x0,0x69,0x0,0x6e,0x0,0x64,0x0,0x4e,0x0,0x65,0x0,0x78,0x0,0x74,0x0,0x2d,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x6f,0x0,0x6e,
+ // xpdf-icon
+ 0x0,0x9,
+ 0xa,0x93,0x8,0x9e,
+ 0x0,0x78,
+ 0x0,0x70,0x0,0x64,0x0,0x66,0x0,0x2d,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,
+ // fitPageOn-button
+ 0x0,0x10,
+ 0xf,0x7c,0x35,0x3e,
+ 0x0,0x66,
+ 0x0,0x69,0x0,0x74,0x0,0x50,0x0,0x61,0x0,0x67,0x0,0x65,0x0,0x4f,0x0,0x6e,0x0,0x2d,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x6f,0x0,0x6e,
+ // indicator-icon5
+ 0x0,0xf,
+ 0x0,0xcd,0x75,0xf5,
+ 0x0,0x69,
+ 0x0,0x6e,0x0,0x64,0x0,0x69,0x0,0x63,0x0,0x61,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x2d,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x35,
+ // indicator-icon6
+ 0x0,0xf,
+ 0x0,0xcd,0x75,0xf6,
+ 0x0,0x69,
+ 0x0,0x6e,0x0,0x64,0x0,0x69,0x0,0x63,0x0,0x61,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x2d,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x36,
+ // indicator-icon7
+ 0x0,0xf,
+ 0x0,0xcd,0x75,0xf7,
+ 0x0,0x69,
+ 0x0,0x6e,0x0,0x64,0x0,0x69,0x0,0x63,0x0,0x61,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x2d,0x0,0x69,0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x37,
+ // fitWidthOn-button
+ 0x0,0x11,
+ 0xd,0x5d,0x28,0x1e,
+ 0x0,0x66,
+ 0x0,0x69,0x0,0x74,0x0,0x57,0x0,0x69,0x0,0x64,0x0,0x74,0x0,0x68,0x0,0x4f,0x0,0x6e,0x0,0x2d,0x0,0x62,0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x6f,0x0,0x6e,
+
+ // toggleSidebar-button
+ 0x0,0x14,
+ 0xb,0xb3,0x3c,0x3e,
+ 0x0,0x74,
+ 0x0,0x6f,0x0,0x67,0x0,0x67,0x0,0x6c,0x0,0x65,0x0,0x53,0x0,0x69,0x0,0x64,0x0,0x65,0x0,0x62,0x0,0x61,0x0,0x72,0x0,0x2d,0x0,0x62,0x0,0x75,0x0,0x74,
+ 0x0,0x74,0x0,0x6f,0x0,0x6e,
+ // selectModeBlock-button
+ 0x0,0x16,
+ 0xe,0x22,0xff,0xfe,
+ 0x0,0x73,
+ 0x0,0x65,0x0,0x6c,0x0,0x65,0x0,0x63,0x0,0x74,0x0,0x4d,0x0,0x6f,0x0,0x64,0x0,0x65,0x0,0x42,0x0,0x6c,0x0,0x6f,0x0,0x63,0x0,0x6b,0x0,0x2d,0x0,0x62,
+ 0x0,0x75,0x0,0x74,0x0,0x74,0x0,0x6f,0x0,0x6e,
+
+};
+
+static const unsigned char qt_resource_struct[] = {
+ // :
+ 0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x1f,0x0,0x0,0x0,0x1,
+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+ // :/fitWidth-button
+ 0x0,0x0,0x0,0xe0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xc,0xb3,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/indicator-icon0
+ 0x0,0x0,0x2,0x38,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1a,0xb0,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/indicator-icon1
+ 0x0,0x0,0x2,0xb4,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1f,0x30,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/indicator-icon2
+ 0x0,0x0,0x2,0xfa,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x21,0xc5,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/indicator-icon3
+ 0x0,0x0,0x3,0x1e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x23,0x2f,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/indicator-icon4
+ 0x0,0x0,0x3,0x42,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x24,0x99,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/indicator-icon5
+ 0x0,0x0,0x3,0xc8,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x2d,0xd2,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/indicator-icon6
+ 0x0,0x0,0x3,0xec,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x2f,0x3c,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/indicator-icon7
+ 0x0,0x0,0x4,0x10,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x30,0xa6,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/findSettings-button
+ 0x0,0x0,0x2,0x88,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1d,0xc7,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/zoomIn-button
+ 0x0,0x0,0x0,0x9e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x9,0xac,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/fitPage-button
+ 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/back-button
+ 0x0,0x0,0x0,0x22,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x3,0x4f,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/indicator-icon-err0
+ 0x0,0x0,0x1,0x4,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xe,0xf5,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/indicator-icon-err1
+ 0x0,0x0,0x1,0x30,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x10,0xa2,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/indicator-icon-err2
+ 0x0,0x0,0x1,0x5c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x12,0x4f,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/indicator-icon-err3
+ 0x0,0x0,0x1,0x88,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x13,0xfc,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/indicator-icon-err4
+ 0x0,0x0,0x1,0xb4,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x15,0xa9,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/indicator-icon-err5
+ 0x0,0x0,0x1,0xe0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x17,0x56,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/indicator-icon-err6
+ 0x0,0x0,0x2,0xc,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x19,0x3,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/indicator-icon-err7
+ 0x0,0x0,0x2,0x5c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1c,0x1a,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/xpdf-icon
+ 0x0,0x0,0x3,0x8a,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x27,0x35,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/findNext-button
+ 0x0,0x0,0x3,0x66,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x26,0x3,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/toggleSidebar-button
+ 0x0,0x0,0x4,0x5c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x34,0x55,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/fitWidthOn-button
+ 0x0,0x0,0x4,0x34,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x32,0x10,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/findPrevious-button
+ 0x0,0x0,0x0,0x72,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x8,0x7a,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/selectModeBlock-button
+ 0x0,0x0,0x4,0x8a,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x36,0x92,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/forward-button
+ 0x0,0x0,0x0,0xbe,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xb,0x2c,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/selectModeLinear-button
+ 0x0,0x0,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x4,0xd6,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/zoomOut-button
+ 0x0,0x0,0x2,0xd8,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x20,0x9a,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+ // :/fitPageOn-button
+ 0x0,0x0,0x3,0xa2,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x2a,0x80,
+0x0,0x0,0x1,0x80,0x3e,0x84,0xc,0x78,
+
+};
+
+#ifdef QT_NAMESPACE
+# define QT_RCC_PREPEND_NAMESPACE(name) ::QT_NAMESPACE::name
+# define QT_RCC_MANGLE_NAMESPACE0(x) x
+# define QT_RCC_MANGLE_NAMESPACE1(a, b) a##_##b
+# define QT_RCC_MANGLE_NAMESPACE2(a, b) QT_RCC_MANGLE_NAMESPACE1(a,b)
+# define QT_RCC_MANGLE_NAMESPACE(name) QT_RCC_MANGLE_NAMESPACE2( \
+ QT_RCC_MANGLE_NAMESPACE0(name), QT_RCC_MANGLE_NAMESPACE0(QT_NAMESPACE))
+#else
+# define QT_RCC_PREPEND_NAMESPACE(name) name
+# define QT_RCC_MANGLE_NAMESPACE(name) name
+#endif
+
+#ifdef QT_NAMESPACE
+namespace QT_NAMESPACE {
+#endif
+
+bool qRegisterResourceData(int, const unsigned char *, const unsigned char *, const unsigned char *);
+bool qUnregisterResourceData(int, const unsigned char *, const unsigned char *, const unsigned char *);
+
+#ifdef QT_NAMESPACE
+}
+#endif
+
+int QT_RCC_MANGLE_NAMESPACE(qInitResources_icons)();
+int QT_RCC_MANGLE_NAMESPACE(qInitResources_icons)()
+{
+ int version = 3;
+ QT_RCC_PREPEND_NAMESPACE(qRegisterResourceData)
+ (version, qt_resource_struct, qt_resource_name, qt_resource_data);
+ return 1;
+}
+
+int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_icons)();
+int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_icons)()
+{
+ int version = 3;
+ QT_RCC_PREPEND_NAMESPACE(qUnregisterResourceData)
+ (version, qt_resource_struct, qt_resource_name, qt_resource_data);
+ return 1;
+}
+
+namespace {
+ struct initializer {
+ initializer() { QT_RCC_MANGLE_NAMESPACE(qInitResources_icons)(); }
+ ~initializer() { QT_RCC_MANGLE_NAMESPACE(qCleanupResources_icons)(); }
+ } dummy;
+}
diff --git a/xpdf-qt/selectModeBlock.svg b/xpdf-qt/selectModeBlock.svg
new file mode 100644
index 0000000..4918f4e
--- /dev/null
+++ b/xpdf-qt/selectModeBlock.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <polyline fill="#555555" stroke="none"
+ points="24,48 24,8 56,32 44,38 58,66 50,70 36,42"/>
+</svg>
diff --git a/xpdf-qt/selectModeLinear.svg b/xpdf-qt/selectModeLinear.svg
new file mode 100644
index 0000000..a463038
--- /dev/null
+++ b/xpdf-qt/selectModeLinear.svg
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <polyline stroke="#555555" stroke-width="4" fill="none"
+ points="26,18 34,18 38,22 42,18 50,18"/>
+ <polyline stroke="#555555" stroke-width="4" fill="none"
+ points="38,22 38,62"/>
+ <polyline stroke="#555555" stroke-width="4" fill="none"
+ points="26,66 34,66 38,62 42,66 50,66"/>
+
+<!--
+ <polyline stroke="#555555" stroke-width="8" fill="none"
+ points="40,20 40,60"/>
+ <polyline stroke="#555555" stroke-width="8" fill="none"
+ points="24,16 36,16"/>
+ <polyline stroke="#555555" stroke-width="8" fill="none"
+ points="44,16 56,16"/>
+ <polyline stroke="#555555" stroke-width="8" fill="none"
+ points="24,64 36,64"/>
+ <polyline stroke="#555555" stroke-width="8" fill="none"
+ points="44,64 56,64"/>
+-->
+</svg>
diff --git a/xpdf-qt/toggleSidebar.svg b/xpdf-qt/toggleSidebar.svg
new file mode 100644
index 0000000..99f764e
--- /dev/null
+++ b/xpdf-qt/toggleSidebar.svg
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <rect fill="none" stroke="#555555" stroke-width="4"
+ x="4" y="4" width="72" height="72"/>
+ <rect fill="#ddddff" stroke="#555555" stroke-width="4"
+ x="4" y="4" width="20" height="72"/>
+</svg>
+<!--
+<svg width="48" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <polyline fill="#555555" stroke="none"
+ points="32,16 12,40 32,64"/>
+</svg>
+-->
diff --git a/xpdf-qt/xpdf b/xpdf-qt/xpdf
new file mode 100755
index 0000000..e283ba8
--- /dev/null
+++ b/xpdf-qt/xpdf
Binary files differ
diff --git a/xpdf-qt/xpdf-icon.ico b/xpdf-qt/xpdf-icon.ico
new file mode 100644
index 0000000..6a4a85c
--- /dev/null
+++ b/xpdf-qt/xpdf-icon.ico
Binary files differ
diff --git a/xpdf-qt/xpdf-icon.svg b/xpdf-qt/xpdf-icon.svg
new file mode 100644
index 0000000..b8e95dc
--- /dev/null
+++ b/xpdf-qt/xpdf-icon.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="64" height="64" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <path fill="#004466" stroke="none"
+ d="M 8,4 L 20,4 A 12,12,0,0,1,32,16 A 12,12,0,0,1,44,4 L 56,4
+ L 56,60
+ L 44,60 A 12,12,0,0,1,32,48 A 12,12,0,0,1,20,60 L 8,60
+ L 8,44 L 12,44 A 4,4,0,0,0,16,40 L 16,24 A 4,4,0,0,0,12,20 L 8,20"/>
+ <path stroke="#ffffff" stroke-width="6" fill="none"
+ d="M 12,12 L 16,12 A 8,8,0,0,1,24,20 L 24,24 A 8,8,0,0,0,32,32
+ A 8,8,0,0,0,24,40 L 24,44 A 8,8,0,0,1,16,52 L 12,52"/>
+ <circle fill="#ffffff" stroke="none"
+ cx="46" cy="15" r="6"/>
+ <circle fill="#00aa00" stroke="none"
+ cx="46" cy="32" r="6"/>
+ <circle fill="#ffffff" stroke="none"
+ cx="46" cy="49" r="6"/>
+</svg>
diff --git a/xpdf-qt/xpdf.cc b/xpdf-qt/xpdf.cc
new file mode 100644
index 0000000..63e52d8
--- /dev/null
+++ b/xpdf-qt/xpdf.cc
@@ -0,0 +1,59 @@
+//========================================================================
+//
+// xpdf.cc
+//
+// Copyright 1996-2105 Glyph & Cog, LLC
+//
+//========================================================================
+
+#include <aconf.h>
+
+#include "gmem.h"
+#include "Object.h"
+#include "XpdfApp.h"
+
+int main(int argc, char *argv[]) {
+ int exitCode;
+
+ {
+ // this is inside a block so that the XpdfApp object gets freed
+ XpdfApp app(argc, argv);
+ if (app.getNumViewers() > 0) {
+ exitCode = app.exec();
+ } else {
+ exitCode = 1;
+ }
+ }
+
+ Object::memCheck(stderr);
+ gMemReport(stderr);
+
+ return exitCode;
+}
+
+#ifdef _WIN32
+int CALLBACK WinMain(HINSTANCE hIstance, HINSTANCE hPrevInstance,
+ LPSTR lpCmdLine, int nCmdShow) {
+ wchar_t **args;
+ int argc, i, n, ret;
+
+ if (!(args = CommandLineToArgvW(GetCommandLineW(), &argc)) ||
+ argc < 0) {
+ return -1;
+ }
+ char **argv = (char **)gmallocn(argc + 1, sizeof(char *));
+ for (i = 0; i < argc; ++i) {
+ n = WideCharToMultiByte(CP_UTF8, 0, args[i], -1, NULL, 0, NULL, NULL);
+ argv[i] = (char *)gmalloc(n);
+ WideCharToMultiByte(CP_UTF8, 0, args[i], -1, argv[i], n, NULL, NULL);
+ }
+ argv[argc] = NULL;
+ LocalFree(args);
+ ret = main(argc, argv);
+ for (i = 0; i < argc; ++i) {
+ gfree(argv[i]);
+ }
+ gfree(argv);
+ return ret;
+}
+#endif
diff --git a/xpdf-qt/xpdf.rc b/xpdf-qt/xpdf.rc
new file mode 100644
index 0000000..b458ba5
--- /dev/null
+++ b/xpdf-qt/xpdf.rc
@@ -0,0 +1 @@
+IDI_ICON1 ICON "xpdf-icon.ico"
diff --git a/xpdf-qt/zoomIn.svg b/xpdf-qt/zoomIn.svg
new file mode 100644
index 0000000..b3d8c14
--- /dev/null
+++ b/xpdf-qt/zoomIn.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <polyline stroke="#555555" stroke-width="8" fill="none"
+ points="16,40 64,40"/>
+ <polyline stroke="#555555" stroke-width="8" fill="none"
+ points="40,16 40,64"/>
+</svg>
diff --git a/xpdf-qt/zoomOut.svg b/xpdf-qt/zoomOut.svg
new file mode 100644
index 0000000..2427f12
--- /dev/null
+++ b/xpdf-qt/zoomOut.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="80" height="80" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <polyline stroke="#555555" stroke-width="8" fill="none"
+ points="16,40 64,40"/>
+</svg>