From 74847cd624132bb01f2bafa2db1038061238c845 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20W=C3=A4ckerlin?= Date: Tue, 10 Nov 2015 22:56:43 +0000 Subject: [PATCH] read and show pdf file --- ChangeLog | 15 +++++++++++++++ configure.ac | 2 ++ debian/control.in | 6 +++--- debian/pdfsign-dev.install | 10 +++++----- debian/pdfsign.install | 3 ++- src/main.cxx | 2 +- src/makefile.am | 8 +++++--- src/pdfsign.hxx | 27 ++++++++++++++++++++++++--- src/pdfsign.ui | 26 ++++++++++++++++++++++++-- 9 files changed, 81 insertions(+), 18 deletions(-) diff --git a/ChangeLog b/ChangeLog index e69de29..db3a767 100644 --- a/ChangeLog +++ b/ChangeLog @@ -0,0 +1,15 @@ +2015-11-10 19:48 marc + + * ., AUTHORS, COPYING, ChangeLog, INSTALL, NEWS, README, + ax_check_qt.m4, ax_cxx_compile_stdcxx_11.m4, + ax_init_standard_project.m4, bootstrap.sh, build-in-docker.sh, + build-resource-file.sh, configure.ac, debian, + debian/changelog.in, debian/compat, debian/control.in, + debian/docs, debian/pdfsign-dev.install, debian/pdfsign.install, + debian/rules, doc, doc/doxyfile.in, doc/makefile.am, + mac-create-app-bundle.sh, makefile.am, pdfsign.spec.in, + resolve-debbuilddeps.sh, resolve-rpmbuilddeps.sh, sql-to-dot.sed, + src, src/languages.qrc, src/main.cxx, src/makefile.am, + src/pdfsign.hxx, src/pdfsign.pc.in, src/pdfsign.ui, + src/version.cxx, src/version.hxx: initial setup + diff --git a/configure.ac b/configure.ac index d2be955..c231d6f 100644 --- a/configure.ac +++ b/configure.ac @@ -28,6 +28,8 @@ AX_USE_RPM_PACKAGING #AX_BUILD_EXAMPLES #AX_BUILD_HTML +AX_PKG_REQUIRE(pollper, poppler-qt5) + # qt features, uncomment, what you need: #AX_CHECK_QT([QT], [QtCore QtGui QtNetwork], [QtWidgets]) AX_REQUIRE_QT([QT], [QtCore QtGui QtNetwork], [QtWidgets]) diff --git a/debian/control.in b/debian/control.in index 5d67ec4..8563276 100644 --- a/debian/control.in +++ b/debian/control.in @@ -1,10 +1,10 @@ Source: @PACKAGE_NAME@ Priority: extra Maintainer: @AUTHOR@ -Build-Depends: debhelper, subversion, pkg-config, automake, libtool, autotools-dev, lsb-release , doxygen, graphviz, mscgen, qt5-default | libqt4-core | libqtcore4, qt5-qmake | qt4-qmake, qtbase5-dev | libqt4-dev, qtbase5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools +Build-Depends: debhelper, subversion, pkg-config, automake, libtool, autotools-dev, lsb-release , doxygen, graphviz, mscgen, qt5-default, qt5-qmake, qtbase5-dev, qtbase5-dev-tools, qttools5-dev-tools, qttools5-dev-tools, libpoppler-qt5-dev Package: @PACKAGE_NAME@ -Section: libs +Section: text Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: @DESCRIPTION@ @@ -13,6 +13,6 @@ Description: @DESCRIPTION@ Package: @PACKAGE_NAME@-dev Section: libdevel Architecture: any -Depends: @PACKAGE_NAME@ (= ${binary:Version}), debhelper, subversion, pkg-config, automake, libtool, autotools-dev, lsb-release , doxygen, graphviz, mscgen, qt5-default | libqt4-core | libqtcore4, qt5-qmake | qt4-qmake, qtbase5-dev | libqt4-dev, qtbase5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools +Depends: @PACKAGE_NAME@ (= ${binary:Version}), debhelper, subversion, pkg-config, automake, libtool, autotools-dev, lsb-release , doxygen, graphviz, mscgen, qt5-default, qt5-qmake, qtbase5-dev, qtbase5-dev-tools, qttools5-dev-tools, qttools5-dev-tools, libpoppler-qt5-dev Description: @DESCRIPTION@ - Development Package @README_DEB@ diff --git a/debian/pdfsign-dev.install b/debian/pdfsign-dev.install index 0f98751..9fb2384 100644 --- a/debian/pdfsign-dev.install +++ b/debian/pdfsign-dev.install @@ -1,7 +1,7 @@ -usr/include/* -usr/lib/lib*.a -usr/lib/lib*.so +#usr/include/* +#usr/lib/lib*.a +#usr/lib/lib*.so usr/lib/pkgconfig/* -usr/lib/*.la -usr/share/pdfsign +#usr/lib/*.la +#usr/share/pdfsign usr/share/doc/pdfsign/html diff --git a/debian/pdfsign.install b/debian/pdfsign.install index d0dbfd1..3c4d370 100644 --- a/debian/pdfsign.install +++ b/debian/pdfsign.install @@ -1 +1,2 @@ -usr/lib/lib*.so.* +usr/bin/* +#usr/lib/lib*.so.* diff --git a/src/main.cxx b/src/main.cxx index 94404a2..165227b 100644 --- a/src/main.cxx +++ b/src/main.cxx @@ -19,7 +19,7 @@ int main(int argc, char *argv[]) try { parser.addHelpOption(); parser.process(a); QStringList scripts(parser.positionalArguments()); - Pdfsign w; + PdfSign w; w.show(); return a.exec(); } catch (std::exception &x) { diff --git a/src/makefile.am b/src/makefile.am index d085f71..0c3dd83 100644 --- a/src/makefile.am +++ b/src/makefile.am @@ -55,14 +55,16 @@ pdfsign_TR_FILES = main.cxx version.cxx pdfsign_SOURCES = ${pdfsign_TR_FILES} ${BUILT_SOURCES} ## automatic assembly, no need to change -BUILT_SOURCES = ${pdfsign_MOCFILES} ${pdfsign_UIFILES} ${pdfsign_TRANSLATIONS} ${pdfsign_RESOURCES} +BUILT_SOURCES = ${pdfsign_MOCFILES} ${pdfsign_UIFILES} \ + ${pdfsign_TRANSLATIONS} ${pdfsign_RESOURCES} ## automatic assembly, no need to change -EXTRA_DIST_TR = ${pdfsign_MOCFILES:moc_%.cxx=%.hxx} ${pdfsign_UIFILES:ui_%.hxx=%.ui} +EXTRA_DIST_TR = ${pdfsign_MOCFILES:moc_%.cxx=%.hxx} ${pdfsign_UIFILES:ui_%.hxx=%.ui} ## automatic assembly, no need to change ## except: adapt the pre-delivered qt_%.qm list (language files you copy from qt -EXTRA_DIST = ${EXTRA_DIST_TR} ${pdfsign_RESOURCES:qrc_%.cxx:%.qrc} ${pdfsign_TRANSLATIONS:%.qm=%.ts} qt_de.qm qt_fr.qm +EXTRA_DIST = ${EXTRA_DIST_TR} ${pdfsign_RESOURCES:qrc_%.cxx:%.qrc} \ + ${pdfsign_TRANSLATIONS:%.qm=%.ts} qt_de.qm qt_fr.qm ## automatic assembly, no need to change LANGUAGE_FILES = ${EXTRA_DIST_TR} ${pdfsign_TR_FILES} diff --git a/src/pdfsign.hxx b/src/pdfsign.hxx index e06fd7f..6e3c64e 100644 --- a/src/pdfsign.hxx +++ b/src/pdfsign.hxx @@ -13,16 +13,37 @@ #include #include +#include +#include +#include /// Main Window /** Main window for pdfsign */ -class Pdfsign: public QMainWindow, protected Ui::Pdfsign { +class PdfSign: public QMainWindow, protected Ui::Pdfsign { Q_OBJECT; public: - explicit Pdfsign(QWidget *parent = 0): QMainWindow(parent) { + explicit PdfSign(QWidget *parent = 0): QMainWindow(parent) { setupUi(this); } - virtual ~Pdfsign() {} + virtual ~PdfSign() {} + public slots: + void on_actionOpen_triggered() { + QString fileName(QFileDialog::getOpenFileName(this, tr("Open PDF File"), QString(), + tr("PDF-Document (*.pdf)"))); + if (fileName.isEmpty()) return; + _pdf = std::shared_ptr(Poppler::Document::load(fileName)); + showPage(); + } + public: + void showPage(int pageNumber=0) { + if (!_pdf) return; + std::shared_ptr pdfPage(_pdf->page(pageNumber)); + if (!pdfPage) return; + _pdfDisplay->setPixmap(QPixmap::fromImage(pdfPage->renderToImage())); + return; + } + private: + std::shared_ptr _pdf; }; #endif diff --git a/src/pdfsign.ui b/src/pdfsign.ui index 75bff1a..dca0199 100644 --- a/src/pdfsign.ui +++ b/src/pdfsign.ui @@ -13,18 +13,40 @@ Pdfsign - + + + + + + PDF-Document + + + + + 0 0 800 - 22 + 20 + + + &File + + + + + + + &Open... + +