[poppler] qt5/demos qt5/src

2022-02-01 Thread GitLab Mirror
 qt5/demos/navigationtoolbar.cpp |   11 ---
 qt5/demos/viewer.cpp|   17 ++---
 qt5/src/poppler-optcontent.cc   |   15 ---
 3 files changed, 14 insertions(+), 29 deletions(-)

New commits:
commit b2f14ccbf4e5aef7489d2da45c03cacf8db67953
Author: Albert Astals Cid 
Date:   Tue Feb 1 15:35:47 2022 +0100

qt5: cleanup todos, we already require that qt version since a while

diff --git a/qt5/demos/navigationtoolbar.cpp b/qt5/demos/navigationtoolbar.cpp
index b1bf4576..74b32400 100644
--- a/qt5/demos/navigationtoolbar.cpp
+++ b/qt5/demos/navigationtoolbar.cpp
@@ -1,7 +1,7 @@
 /*
  * Copyright (C) 2008-2009, Pino Toscano 
  * Copyright (C) 2013, Fabio D'Urso 
- * Copyright (C) 2019, Albert Astals Cid 
+ * Copyright (C) 2019, 2022, Albert Astals Cid 
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -30,8 +30,7 @@ NavigationToolBar::NavigationToolBar(QWidget *parent) : 
QToolBar(parent)
 m_firstAct = addAction(tr("First"), this, SLOT(slotGoFirst()));
 m_prevAct = addAction(tr("Previous"), this, SLOT(slotGoPrev()));
 m_pageCombo = new QComboBox(this);
-// TODO replace with qOverload once we start requiring Qt 5.7
-connect(m_pageCombo, static_cast(::activated), this, 
::slotComboActivated);
+connect(m_pageCombo, qOverload(::activated), this, 
::slotComboActivated);
 addWidget(m_pageCombo);
 m_nextAct = addAction(tr("Next"), this, SLOT(slotGoNext()));
 m_lastAct = addAction(tr("Last"), this, SLOT(slotGoLast()));
@@ -53,8 +52,7 @@ NavigationToolBar::NavigationToolBar(QWidget *parent) : 
QToolBar(parent)
 m_zoomCombo->addItem(tr("300%"));
 m_zoomCombo->addItem(tr("400%"));
 m_zoomCombo->setCurrentIndex(6); // "100%"
-// TODO replace with qOverload once we start requiring Qt 5.7
-connect(m_zoomCombo, static_cast(::currentIndexChanged), this, 
::slotZoomComboChanged);
+connect(m_zoomCombo, qOverload(::currentIndexChanged), this, 
::slotZoomComboChanged);
 addWidget(m_zoomCombo);
 
 m_rotationCombo = new QComboBox(this);
@@ -63,8 +61,7 @@ NavigationToolBar::NavigationToolBar(QWidget *parent) : 
QToolBar(parent)
 m_rotationCombo->addItem(tr("90\302\260"));
 m_rotationCombo->addItem(tr("180\302\260"));
 m_rotationCombo->addItem(tr("270\302\260"));
-// TODO replace with qOverload once we start requiring Qt 5.7
-connect(m_rotationCombo, static_cast(::currentIndexChanged), this, 
::slotRotationComboChanged);
+connect(m_rotationCombo, qOverload(::currentIndexChanged), 
this, ::slotRotationComboChanged);
 addWidget(m_rotationCombo);
 
 documentClosed();
diff --git a/qt5/demos/viewer.cpp b/qt5/demos/viewer.cpp
index fd41320e..eebd08d1 100644
--- a/qt5/demos/viewer.cpp
+++ b/qt5/demos/viewer.cpp
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2008-2009, Pino Toscano 
- * Copyright (C) 2008, 2019, Albert Astals Cid 
+ * Copyright (C) 2008, 2019, 2022, Albert Astals Cid 
  * Copyright (C) 2009, Shawn Rutledge 
  * Copyright (C) 2013, Fabio D'Urso 
  * Copyright (C) 2020, Oliver Sander 
@@ -53,17 +53,14 @@ PdfViewer::PdfViewer(QWidget *parent) : 
QMainWindow(parent), m_currentPage(0), m
 
 // setup the menus
 QMenu *fileMenu = menuBar()->addMenu(tr(""));
-// TODO Use modern syntax when depending on Qt 5.6
-m_fileOpenAct = fileMenu->addAction(tr(""), this, 
SLOT(slotOpenFile())); // clazy:exclude=old-style-connect
+m_fileOpenAct = fileMenu->addAction(tr(""), this, 
::slotOpenFile);
 m_fileOpenAct->setShortcut(Qt::CTRL + Qt::Key_O);
 fileMenu->addSeparator();
-// TODO Use modern syntax when depending on Qt 5.6
-m_fileSaveCopyAct = fileMenu->addAction(tr(" a Copy..."), this, 
SLOT(slotSaveCopy())); // clazy:exclude=old-style-connect
+m_fileSaveCopyAct = fileMenu->addAction(tr(" a Copy..."), this, 
::slotSaveCopy);
 m_fileSaveCopyAct->setShortcut(Qt::CTRL + Qt::SHIFT + Qt::Key_S);
 m_fileSaveCopyAct->setEnabled(false);
 fileMenu->addSeparator();
-// TODO Use modern syntax when depending on Qt 5.6
-QAction *act = fileMenu->addAction(tr(""), qApp, 
SLOT(closeAllWindows())); // clazy:exclude=old-style-connect
+QAction *act = fileMenu->addAction(tr(""), qApp, 
::closeAllWindows);
 act->setShortcut(Qt::CTRL + Qt::Key_Q);
 
 QMenu *viewMenu = menuBar()->addMenu(tr(""));
@@ -90,10 +87,8 @@ PdfViewer::PdfViewer(QWidget *parent) : QMainWindow(parent), 
m_currentPage(0), m
 connect(m_settingsRenderBackendGrp, ::triggered, this, 
::slotRenderBackend);
 
 QMenu *helpMenu = menuBar()->addMenu(tr(""));
-// TODO Use modern syntax when depending on Qt 5.6
-act = helpMenu->addAction(tr(""), this, SLOT(slotAbout())); // 
clazy:exclude=old-style-connect
-// TODO Use modern syntax when depending on Qt 5.6
-act = helpMenu->addAction(tr("About "), this, SLOT(slotAboutQt())); // 
clazy:exclude=old-style-connect
+act = 

[poppler] qt5/demos qt5/src qt5/tests

2020-12-02 Thread GitLab Mirror
 qt5/demos/CMakeLists.txt |   13 +
 qt5/src/CMakeLists.txt   |5 +
 qt5/tests/CMakeLists.txt |   16 +++-
 3 files changed, 5 insertions(+), 29 deletions(-)

New commits:
commit 0f72f73357414ea79af774d4ce8f4fed80db3d98
Author: Albert Astals Cid 
Date:   Wed Dec 2 18:29:45 2020 +0100

cmake: Use the new syntax to link in the Qt5 libs

diff --git a/qt5/demos/CMakeLists.txt b/qt5/demos/CMakeLists.txt
index 060ff167..fc5ae601 100644
--- a/qt5/demos/CMakeLists.txt
+++ b/qt5/demos/CMakeLists.txt
@@ -1,17 +1,7 @@
-add_definitions(${QT5_DEFINITIONS})
-add_definitions(${Qt5Core_DEFINITIONS})
-add_definitions(${Qt5Gui_DEFINITIONS})
-add_definitions(${Qt5Widgets_DEFINITIONS})
-add_definitions(${Qt5Xml_DEFINITIONS})
-
 include_directories(
   ${CMAKE_CURRENT_SOURCE_DIR}
   ${CMAKE_CURRENT_SOURCE_DIR}/../src
   ${CMAKE_CURRENT_BINARY_DIR}
-  ${Qt5Core_INCLUDE_DIRS}
-  ${Qt5Widgets_INCLUDE_DIRS}
-  ${Qt5Gui_INCLUDE_DIRS}
-  ${Qt5Xml_INCLUDE_DIRS}
 )
 
 set(poppler_qt5viewer_SRCS
@@ -31,6 +21,5 @@ set(poppler_qt5viewer_SRCS
   viewer.cpp
 )
 
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS} 
${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")
 poppler_add_test(poppler_qt5viewer BUILD_QT5_TESTS ${poppler_qt5viewer_SRCS})
-target_link_libraries(poppler_qt5viewer poppler-qt5 ${Qt5Core_LIBRARIES} 
${Qt5Gui_LIBRARIES} ${Qt5Widgets_LIBRARIES} ${Qt5Xml_LIBRARIES})
+target_link_libraries(poppler_qt5viewer poppler-qt5 Qt5::Core Qt5::Gui 
Qt5::Widgets Qt5::Xml)
diff --git a/qt5/src/CMakeLists.txt b/qt5/src/CMakeLists.txt
index 80f40fca..ae055a12 100644
--- a/qt5/src/CMakeLists.txt
+++ b/qt5/src/CMakeLists.txt
@@ -1,10 +1,7 @@
-add_definitions(${QT5_DEFINITIONS})
-add_definitions(${Qt5Core_DEFINITIONS})
 add_definitions(-DQT_NO_SIGNALS_SLOTS_KEYWORDS)
 
 include_directories(
   ${CMAKE_CURRENT_SOURCE_DIR}
-  ${Qt5Core_INCLUDE_DIRS}
   ${CMAKE_CURRENT_BINARY_DIR}
 )
 
@@ -45,7 +42,7 @@ if(MINGW AND BUILD_SHARED_LIBS)
 get_target_property(POPPLER_QT5_SOVERSION poppler-qt5 SOVERSION)
 set_target_properties(poppler-qt5 PROPERTIES SUFFIX 
"-${POPPLER_QT5_SOVERSION}${CMAKE_SHARED_LIBRARY_SUFFIX}")
 endif()
-target_link_libraries(poppler-qt5 poppler ${Qt5Core_LIBRARIES} 
${Qt5Gui_LIBRARIES} ${Qt5Xml_LIBRARIES} ${FREETYPE_LIBRARIES})
+target_link_libraries(poppler-qt5 poppler Qt5::Core Qt5::Gui Qt5::Xml 
${FREETYPE_LIBRARIES})
 if(MSVC)
 target_link_libraries(poppler-qt5 poppler ${poppler_LIBS})
 endif()
diff --git a/qt5/tests/CMakeLists.txt b/qt5/tests/CMakeLists.txt
index b8b5a399..82ef2139 100644
--- a/qt5/tests/CMakeLists.txt
+++ b/qt5/tests/CMakeLists.txt
@@ -1,28 +1,18 @@
-add_definitions(${Qt5Core_DEFINITIONS})
 add_definitions(-DTESTDATADIR=\"${TESTDATADIR}\")
 
 include_directories(
   ${CMAKE_CURRENT_SOURCE_DIR}
   ${CMAKE_CURRENT_SOURCE_DIR}/../src
   ${CMAKE_CURRENT_BINARY_DIR}
-  ${Qt5Core_INCLUDE_DIRS}
-  ${Qt5Gui_INCLUDE_DIRS}
-  ${Qt5Xml_INCLUDE_DIRS}
-  ${Qt5Widgets_INCLUDE_DIRS}
 )
 
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}")
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Gui_EXECUTABLE_COMPILE_FLAGS}")
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Xml_EXECUTABLE_COMPILE_FLAGS}")
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} 
${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")
-
 macro(QT5_ADD_SIMPLETEST exe source)
   string(REPLACE "-" "" test_name ${exe})
   set(${test_name}_SOURCES
 ${source}
   )
   poppler_add_test(${exe} BUILD_QT5_TESTS ${${test_name}_SOURCES})
-  target_link_libraries(${exe} poppler-qt5 ${Qt5Widgets_LIBRARIES})
+  target_link_libraries(${exe} poppler-qt5 Qt5::Widgets)
   if(MSVC)
 target_link_libraries(${exe} poppler ${poppler_LIBS})
   endif()
@@ -36,7 +26,7 @@ macro(QT5_ADD_QTEST exe source)
 )
 poppler_add_test(${exe} BUILD_QT5_TESTS ${${test_name}_SOURCES})
 add_test(${exe} ${EXECUTABLE_OUTPUT_PATH}/${exe})
-target_link_libraries(${exe} poppler-qt5 ${Qt5Widgets_LIBRARIES} 
${Qt5Test_LIBRARIES} ${Qt5Core_LIBRARIES} ${Qt5Gui_LIBRARIES})
+target_link_libraries(${exe} poppler-qt5 Qt5::Widgets Qt5::Test Qt5::Core 
Qt5::Gui)
 if(MSVC)
   target_link_libraries(${exe} poppler ${poppler_LIBS})
 endif()
@@ -49,7 +39,7 @@ macro(QT_ADD_FUZZER exe)
 ${ARGN}
   )
   poppler_add_test(${exe} BUILD_QT5_TESTS ${${test_name}_SOURCES})
-  target_link_libraries(${exe} poppler-qt5 ${Qt5Widgets_LIBRARIES} 
${Qt5Test_LIBRARIES} ${Qt5Core_LIBRARIES} ${Qt5Gui_LIBRARIES})
+  target_link_libraries(${exe} poppler-qt5 Qt5::Widgets Qt5::Test Qt5::Core 
Qt5::Gui)
 endmacro(QT_ADD_FUZZER)
 
 qt5_add_simpletest(test-poppler-qt5 test-poppler-qt5.cpp)
___
poppler mailing list
poppler@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/poppler


[poppler] qt5/demos qt6/demos qt6/src

2020-10-20 Thread GitLab Mirror
 qt5/demos/viewer.cpp|1 +
 qt6/demos/viewer.cpp|1 +
 qt6/src/poppler-document.cc |2 +-
 3 files changed, 3 insertions(+), 1 deletion(-)

New commits:
commit 3e761a5035d5cdbcb861b3ad126942099d075d0e
Author: Albert Astals Cid 
Date:   Wed Oct 21 00:48:26 2020 +0200

Update (C)

diff --git a/qt5/demos/viewer.cpp b/qt5/demos/viewer.cpp
index be7dad7a..0b1a8f0e 100644
--- a/qt5/demos/viewer.cpp
+++ b/qt5/demos/viewer.cpp
@@ -3,6 +3,7 @@
  * Copyright (C) 2008, 2019, Albert Astals Cid 
  * Copyright (C) 2009, Shawn Rutledge 
  * Copyright (C) 2013, Fabio D'Urso 
+ * Copyright (C) 2020, Oliver Sander 
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/qt6/demos/viewer.cpp b/qt6/demos/viewer.cpp
index 6bba6e04..f1cfc852 100644
--- a/qt6/demos/viewer.cpp
+++ b/qt6/demos/viewer.cpp
@@ -3,6 +3,7 @@
  * Copyright (C) 2008, 2019, 2020, Albert Astals Cid 
  * Copyright (C) 2009, Shawn Rutledge 
  * Copyright (C) 2013, Fabio D'Urso 
+ * Copyright (C) 2020, Oliver Sander 
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/qt6/src/poppler-document.cc b/qt6/src/poppler-document.cc
index d014e253..4af90f07 100644
--- a/qt6/src/poppler-document.cc
+++ b/qt6/src/poppler-document.cc
@@ -13,7 +13,7 @@
  * Copyright (C) 2017 Adrian Johnson 
  * Copyright (C) 2017 Suzuki Toshiya 
  * Copyright (C) 2018 Klarälvdalens Datakonsult AB, a KDAB Group company, 
. Work sponsored by the LiMux project of the city of Munich
- * Copyright (C) 2019 Oliver Sander 
+ * Copyright (C) 2019, 2020 Oliver Sander 
  * Copyright (C) 2019 Alexander Volkov 
  * Copyright (C) 2020 Philipp Knechtges 
  *
___
poppler mailing list
poppler@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/poppler


[poppler] qt5/demos qt5/src qt5/tests qt6/demos qt6/src qt6/tests

2020-10-20 Thread GitLab Mirror
 qt5/demos/viewer.cpp   |2 
 qt5/src/CMakeLists.txt |2 
 qt5/src/QPainterOutputDev.cc   |  102 ++---
 qt5/src/QPainterOutputDev.h|   26 -
 qt5/src/poppler-document.cc|7 +-
 qt5/src/poppler-page.cc|   34 ++--
 qt5/src/poppler-qt5.h  |7 +-
 qt5/tests/check_stroke_opacity.cpp |2 
 qt5/tests/test-poppler-qt5.cpp |   20 +++
 qt5/tests/test-render-to-file.cpp  |   10 +--
 qt6/demos/viewer.cpp   |2 
 qt6/src/CMakeLists.txt |2 
 qt6/src/QPainterOutputDev.cc   |  102 ++---
 qt6/src/QPainterOutputDev.h|   26 -
 qt6/src/poppler-document.cc|4 -
 qt6/src/poppler-page.cc|   34 ++--
 qt6/src/poppler-qt6.h  |6 +-
 qt6/tests/check_stroke_opacity.cpp |2 
 qt6/tests/test-poppler-qt6.cpp |   20 +++
 qt6/tests/test-render-to-file.cpp  |   10 +--
 20 files changed, 211 insertions(+), 209 deletions(-)

New commits:
commit 99346560791c935f74d77405dd35bef0f5823d1b
Author: Oliver Sander 
Date:   Fri Oct 16 23:01:42 2020 +0200

Rename ArthurOutputDev to QPainterOutputDev

The Qt rendering system hasn't been called 'Arthur' for a long time,
let's adapt the code to that.

For backward compatibility, the ArthurBackend enum value remains
in the files poppler-qt5.h and poppler-qt6.h.  These shouldn't be
used anymore.

diff --git a/qt5/demos/viewer.cpp b/qt5/demos/viewer.cpp
index a7c18079..be7dad7a 100644
--- a/qt5/demos/viewer.cpp
+++ b/qt5/demos/viewer.cpp
@@ -79,7 +79,7 @@ PdfViewer::PdfViewer(QWidget *parent) : QMainWindow(parent), 
m_currentPage(0), m
 act->setChecked(true);
 act->setData(QVariant::fromValue(0));
 m_settingsRenderBackendGrp->addAction(act);
-act = settingsRenderMenu->addAction(tr("Arthur"));
+act = settingsRenderMenu->addAction(tr("QPainter"));
 act->setCheckable(true);
 act->setData(QVariant::fromValue(1));
 m_settingsRenderBackendGrp->addAction(act);
diff --git a/qt5/src/CMakeLists.txt b/qt5/src/CMakeLists.txt
index 0247fa3f..403458e5 100644
--- a/qt5/src/CMakeLists.txt
+++ b/qt5/src/CMakeLists.txt
@@ -36,7 +36,7 @@ set(poppler_qt5_SRCS
   poppler-page-transition.cc
   poppler-media.cc
   poppler-outline.cc
-  ArthurOutputDev.cc
+  QPainterOutputDev.cc
   poppler-version.cpp
 )
 add_library(poppler-qt5 ${poppler_qt5_SRCS})
diff --git a/qt5/src/ArthurOutputDev.cc b/qt5/src/QPainterOutputDev.cc
similarity index 90%
rename from qt5/src/ArthurOutputDev.cc
rename to qt5/src/QPainterOutputDev.cc
index a5a856b5..645b3cad 100644
--- a/qt5/src/ArthurOutputDev.cc
+++ b/qt5/src/QPainterOutputDev.cc
@@ -1,6 +1,6 @@
 //
 //
-// ArthurOutputDev.cc
+// QPainterOutputDev.cc
 //
 // Copyright 2003 Glyph & Cog, LLC
 //
@@ -50,7 +50,7 @@
 #include "FontEncodingTables.h"
 #include 
 #include 
-#include "ArthurOutputDev.h"
+#include "QPainterOutputDev.h"
 #include "Page.h"
 #include "Gfx.h"
 #include "PDFDoc.h"
@@ -61,10 +61,10 @@
 #include 
 #include 
 
-class ArthurType3Font
+class QPainterOutputDevType3Font
 {
 public:
-ArthurType3Font(PDFDoc *doc, Gfx8BitFont *font);
+QPainterOutputDevType3Font(PDFDoc *doc, Gfx8BitFont *font);
 
 const QPicture (int gid) const;
 
@@ -78,7 +78,7 @@ public:
 std::vector codeToGID;
 };
 
-ArthurType3Font::ArthurType3Font(PDFDoc *doc, Gfx8BitFont *font) : m_doc(doc), 
m_font(font)
+QPainterOutputDevType3Font::QPainterOutputDevType3Font(PDFDoc *doc, 
Gfx8BitFont *font) : m_doc(doc), m_font(font)
 {
 char *name;
 const Dict *charProcs = font->getCharProcs();
@@ -103,7 +103,7 @@ ArthurType3Font::ArthurType3Font(PDFDoc *doc, Gfx8BitFont 
*font) : m_doc(doc), m
 }
 }
 
-const QPicture ::getGlyph(int gid) const
+const QPicture ::getGlyph(int gid) const
 {
 if (!glyphs[gid]) {
 
@@ -118,7 +118,7 @@ const QPicture ::getGlyph(int gid) const
 QPainter glyphPainter;
 glyphs[gid] = std::make_unique();
 glyphPainter.begin(glyphs[gid].get());
-auto output_dev = std::make_unique();
+auto output_dev = std::make_unique();
 
 auto gfx = std::make_unique(m_doc, output_dev.get(), resDict,
  , // pagebox
@@ -140,10 +140,10 @@ const QPicture ::getGlyph(int gid) const
 }
 
 //
-// ArthurOutputDev
+// QPainterOutputDev
 //
 
-ArthurOutputDev::ArthurOutputDev(QPainter *painter) : 
m_lastTransparencyGroupPicture(nullptr), 
m_hintingPreference(QFont::PreferDefaultHinting)
+QPainterOutputDev::QPainterOutputDev(QPainter *painter) : 
m_lastTransparencyGroupPicture(nullptr), 
m_hintingPreference(QFont::PreferDefaultHinting)
 {
 m_painter.push(painter);

[poppler] qt5/demos

2019-11-22 Thread GitLab Mirror
 qt5/demos/navigationtoolbar.cpp |8 
 1 file changed, 4 insertions(+), 4 deletions(-)

New commits:
commit c59a2794b68f104fec15bb75af456793bf3c3d96
Author: Albert Astals Cid 
Date:   Fri Nov 22 18:49:06 2019 +0100

qt5: trUtf8 -> tr (less warnings)

diff --git a/qt5/demos/navigationtoolbar.cpp b/qt5/demos/navigationtoolbar.cpp
index 75eacfc1..77a011f1 100644
--- a/qt5/demos/navigationtoolbar.cpp
+++ b/qt5/demos/navigationtoolbar.cpp
@@ -59,10 +59,10 @@ NavigationToolBar::NavigationToolBar(QWidget *parent)
 
 m_rotationCombo = new QComboBox(this);
 // NOTE: \302\260 = degree symbol
-m_rotationCombo->addItem(trUtf8("0\302\260"));
-m_rotationCombo->addItem(trUtf8("90\302\260"));
-m_rotationCombo->addItem(trUtf8("180\302\260"));
-m_rotationCombo->addItem(trUtf8("270\302\260"));
+m_rotationCombo->addItem(tr("0\302\260"));
+m_rotationCombo->addItem(tr("90\302\260"));
+m_rotationCombo->addItem(tr("180\302\260"));
+m_rotationCombo->addItem(tr("270\302\260"));
 // TODO replace with qOverload once we start requiring Qt 5.7
 connect(m_rotationCombo, static_cast(::currentIndexChanged), this, 
::slotRotationComboChanged);
 addWidget(m_rotationCombo);
___
poppler mailing list
poppler@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/poppler

[poppler] qt5/demos

2019-01-10 Thread GitLab Mirror
 qt5/demos/toc.cpp |  145 --
 qt5/demos/toc.h   |6 +-
 2 files changed, 124 insertions(+), 27 deletions(-)

New commits:
commit 8da4d536cc2b982365483ee873f859b346efeff0
Author: Albert Astals Cid 
Date:   Wed Jan 9 09:58:43 2019 +0100

qt5: demo: Actually use the lazy toc model lazyly

diff --git a/qt5/demos/toc.cpp b/qt5/demos/toc.cpp
index db47c676..1efdc16a 100644
--- a/qt5/demos/toc.cpp
+++ b/qt5/demos/toc.cpp
@@ -1,6 +1,7 @@
 /*
  * Copyright (C) 2008, Pino Toscano 
- * Copyright (C) 2018 Adam Reichold 
+ * Copyright (C) 2018, Adam Reichold 
+ * Copyright (C) 2019, Albert Astals Cid 
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -21,40 +22,116 @@
 
 #include 
 
+#include 
 #include 
 #include 
 
-static void fillToc(const QVector , QTreeWidget 
*tree, QTreeWidgetItem *parentItem)
+#include 
+
+struct Node
+{
+Node(Poppler::OutlineItem &, int row, Node *parent)
+: m_row(row), m_parent(parent), m_item(std::move(item))
+{
+}
+
+~Node()
+{
+qDeleteAll(m_children);
+}
+
+Node(const Node &) = delete;
+Node& operator=(const Node &) = delete;
+
+int m_row;
+Node *m_parent;
+Poppler::OutlineItem m_item;
+QVector m_children;
+};
+
+class TocModel : public QAbstractItemModel
 {
-QTreeWidgetItem *newitem = nullptr;
-for (const auto  : items) {
-if (item.isNull()) {
-continue;
+Q_OBJECT
+public:
+TocModel(QVector &, QObject *parent)
+: QAbstractItemModel(parent)
+{
+for (int i = 0; i < items.count(); ++i) {
+m_topItems << new Node(std::move(items[i]), i, nullptr);
+}
 }
 
-if (!parentItem) {
-newitem = new QTreeWidgetItem(tree, newitem);
-} else {
-newitem = new QTreeWidgetItem(parentItem, newitem);
+~TocModel()
+{
+qDeleteAll(m_topItems);
 }
-newitem->setText(0, item.name());
 
-if (item.isOpen()) {
-tree->expandItem(newitem);
+QVariant data(const QModelIndex , int role) const override
+{
+if (role != Qt::DisplayRole)
+return {};
+
+Node *n = static_cast(index.internalPointer());
+return n->m_item.name();
 }
 
-const auto children = item.children();
-if (!children.isEmpty()) {
-fillToc(children, tree, newitem);
+QModelIndex index(int row, int column, const QModelIndex ) 
const override
+{
+Node *p = static_cast(parent.internalPointer());
+const QVector  = p ? p->m_children : m_topItems;
+
+return createIndex(row, column, children[row]);
 }
-}
-}
 
+QModelIndex parent(const QModelIndex ) const override
+{
+Node *n = static_cast(child.internalPointer());
+if (n->m_parent == nullptr)
+return QModelIndex();
+else
+return createIndex(n->m_parent->m_row, 0, n->m_parent);
+}
+
+int rowCount(const QModelIndex ) const override
+{
+Node *n = static_cast(parent.internalPointer());
+if (!n) {
+return m_topItems.count();
+}
+
+if (n->m_children.isEmpty() && !n->m_item.isNull()) {
+QVector items = n->m_item.children();
+for (int i = 0; i < items.count(); ++i) {
+n->m_children << new Node(std::move(items[i]), i, n);
+}
+}
+
+return n->m_children.count();
+}
+
+bool hasChildren(const QModelIndex ) const override
+{
+Node *n = static_cast(parent.internalPointer());
+if (!n)
+return true;
+
+return n->m_item.hasChildren();
+}
+
+int columnCount(const QModelIndex ) const override
+{
+return 1;
+}
+
+private:
+QVector m_topItems;
+
+};
 
 TocDock::TocDock(QWidget *parent)
 : AbstractInfoDock(parent)
 {
-m_tree = new QTreeWidget(this);
+m_tree = new QTreeView(this);
 setWidget(m_tree);
 m_tree->setAlternatingRowColors(true);
 m_tree->header()->hide();
@@ -66,22 +143,40 @@ TocDock::~TocDock()
 {
 }
 
+void TocDock::expandItemModels(const QModelIndex )
+{
+TocModel *model = static_cast(m_tree->model());
+for (int i = 0; i < model->rowCount(parent); ++i) {
+QModelIndex index = model->index(i, 0, parent);
+Node *n = static_cast(index.internalPointer());
+if (n->m_item.isOpen()) {
+m_tree->setExpanded(index, true);
+expandItemModels(index);
+}
+}
+}
+
 void TocDock::fillInfo()
 {
-const auto outline = document()->outline();
+auto outline = 

[poppler] qt5/demos qt5/src

2019-01-09 Thread GitLab Mirror
 qt5/demos/toc.cpp |1 +
 qt5/src/poppler-outline-private.h |2 ++
 qt5/src/poppler-outline.cc|2 ++
 qt5/src/poppler-qt5.h |2 +-
 4 files changed, 6 insertions(+), 1 deletion(-)

New commits:
commit c8e6e73a28f6d66e6babedf9cc8da4f10b9e5ffe
Author: Albert Astals Cid 
Date:   Wed Jan 9 20:07:10 2019 +0100

Update (C) of previous commits

diff --git a/qt5/demos/toc.cpp b/qt5/demos/toc.cpp
index 50d4d68d..db47c676 100644
--- a/qt5/demos/toc.cpp
+++ b/qt5/demos/toc.cpp
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2008, Pino Toscano 
+ * Copyright (C) 2018 Adam Reichold 
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/qt5/src/poppler-outline-private.h 
b/qt5/src/poppler-outline-private.h
index 6c00c162..01b7b83d 100644
--- a/qt5/src/poppler-outline-private.h
+++ b/qt5/src/poppler-outline-private.h
@@ -1,5 +1,7 @@
 /* poppler-outline-private.h: qt interface to poppler
  *
+ * Copyright (C) 2018 Adam Reichold 
+ *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2, or (at your option)
diff --git a/qt5/src/poppler-outline.cc b/qt5/src/poppler-outline.cc
index b420a3ef..c0fbefaf 100644
--- a/qt5/src/poppler-outline.cc
+++ b/qt5/src/poppler-outline.cc
@@ -1,5 +1,7 @@
 /* poppler-outline.cc: qt interface to poppler
  *
+ * Copyright (C) 2018 Adam Reichold 
+ *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2, or (at your option)
diff --git a/qt5/src/poppler-qt5.h b/qt5/src/poppler-qt5.h
index 38dd05fc..c03fec15 100644
--- a/qt5/src/poppler-qt5.h
+++ b/qt5/src/poppler-qt5.h
@@ -12,7 +12,7 @@
  * Copyright (C) 2012, Guillermo A. Amaral B. 
  * Copyright (C) 2012, Fabio D'Urso 
  * Copyright (C) 2012, Tobias Koenig 
- * Copyright (C) 2012, 2014, 2015, 2019 Adam Reichold 

+ * Copyright (C) 2012, 2014, 2015, 2018, 2019 Adam Reichold 

  * Copyright (C) 2012, 2013 Thomas Freitag 
  * Copyright (C) 2013 Anthony Granger 
  * Copyright (C) 2016 Jakub Alba 
___
poppler mailing list
poppler@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/poppler


[poppler] qt5/demos

2017-12-26 Thread Albert Astals Cid
 qt5/demos/pageview.cpp |7 +++
 1 file changed, 7 insertions(+)

New commits:
commit ffefe1c038de555ed39c3d9eca6ef79ac1f97b86
Author: Albert Astals Cid 
Date:   Tue Dec 26 23:57:21 2017 +0100

qt5: demo: don't crash if page is malformed

diff --git a/qt5/demos/pageview.cpp b/qt5/demos/pageview.cpp
index 4f56108e..81e6a98f 100644
--- a/qt5/demos/pageview.cpp
+++ b/qt5/demos/pageview.cpp
@@ -1,6 +1,7 @@
 /*
  * Copyright (C) 2008-2009, Pino Toscano 
  * Copyright (C) 2013, Fabio D'Urso 
+ * Copyright (C) 2017, Albert Astals Cid 
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -26,6 +27,7 @@
 #include 
 #include 
 #include 
+#include 
 
 PageView::PageView(QWidget *parent)
 : QScrollArea(parent)
@@ -56,6 +58,11 @@ void PageView::documentClosed()
 void PageView::pageChanged(int page)
 {
 Poppler::Page *popplerPage = document()->page(page);
+
+if (!popplerPage) {
+qDebug() << "Page" << page << "is malformed";
+return;
+}
 const double resX = m_dpiX * m_zoom;
 const double resY = m_dpiY * m_zoom;
 
___
poppler mailing list
poppler@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/poppler


[poppler] qt5/demos qt5/src

2017-09-20 Thread Albert Astals Cid
 qt5/demos/abstractinfodock.cpp  |1 -
 qt5/demos/embeddedfiles.cpp |1 -
 qt5/demos/fonts.cpp |1 -
 qt5/demos/info.cpp  |1 -
 qt5/demos/metadata.cpp  |1 -
 qt5/demos/navigationtoolbar.cpp |1 -
 qt5/demos/optcontent.cpp|1 -
 qt5/demos/pageview.cpp  |1 -
 qt5/demos/permissions.cpp   |1 -
 qt5/demos/thumbnails.cpp|1 -
 qt5/demos/toc.cpp   |1 -
 qt5/demos/viewer.cpp|1 -
 qt5/src/poppler-optcontent.cc   |1 -
 13 files changed, 13 deletions(-)

New commits:
commit 26a067d4a84f80eeb892e30a5ab608d0fbea1de5
Author: Albert Astals Cid 
Date:   Wed Sep 20 10:36:04 2017 +0200

Remove the moc includes

Some people are having trouble with them and automoc really should
be taking care of this so no need to have the include. Let's hope this
doesn't break some other people :D

diff --git a/qt5/demos/abstractinfodock.cpp b/qt5/demos/abstractinfodock.cpp
index 7b306d82..970b7228 100644
--- a/qt5/demos/abstractinfodock.cpp
+++ b/qt5/demos/abstractinfodock.cpp
@@ -54,4 +54,3 @@ void AbstractInfoDock::slotVisibilityChanged(bool visible)
 }
 }
 
-#include "abstractinfodock.moc"
diff --git a/qt5/demos/embeddedfiles.cpp b/qt5/demos/embeddedfiles.cpp
index 36ffa36d..12267135 100644
--- a/qt5/demos/embeddedfiles.cpp
+++ b/qt5/demos/embeddedfiles.cpp
@@ -79,4 +79,3 @@ void EmbeddedFilesDock::documentClosed()
 AbstractInfoDock::documentClosed();
 }
 
-#include "embeddedfiles.moc"
diff --git a/qt5/demos/fonts.cpp b/qt5/demos/fonts.cpp
index b75bc49f..68f11a1e 100644
--- a/qt5/demos/fonts.cpp
+++ b/qt5/demos/fonts.cpp
@@ -69,4 +69,3 @@ void FontsDock::documentClosed()
 AbstractInfoDock::documentClosed();
 }
 
-#include "fonts.moc"
diff --git a/qt5/demos/info.cpp b/qt5/demos/info.cpp
index 0aa6d2c0..277674ce 100644
--- a/qt5/demos/info.cpp
+++ b/qt5/demos/info.cpp
@@ -69,4 +69,3 @@ void InfoDock::documentClosed()
 AbstractInfoDock::documentClosed();
 }
 
-#include "info.moc"
diff --git a/qt5/demos/metadata.cpp b/qt5/demos/metadata.cpp
index ef7b1f48..a8ebc28d 100644
--- a/qt5/demos/metadata.cpp
+++ b/qt5/demos/metadata.cpp
@@ -47,4 +47,3 @@ void MetadataDock::documentClosed()
 AbstractInfoDock::documentClosed();
 }
 
-#include "metadata.moc"
diff --git a/qt5/demos/navigationtoolbar.cpp b/qt5/demos/navigationtoolbar.cpp
index 0b6c8622..a2c1b76b 100644
--- a/qt5/demos/navigationtoolbar.cpp
+++ b/qt5/demos/navigationtoolbar.cpp
@@ -141,4 +141,3 @@ void NavigationToolBar::slotRotationComboChanged(int idx)
 emit rotationChanged(idx * 90);
 }
 
-#include "navigationtoolbar.moc"
diff --git a/qt5/demos/optcontent.cpp b/qt5/demos/optcontent.cpp
index 56f8e967..d1f20b1b 100644
--- a/qt5/demos/optcontent.cpp
+++ b/qt5/demos/optcontent.cpp
@@ -66,4 +66,3 @@ void OptContentDock::reloadImage()
 reloadPage();
 }
 
-#include "optcontent.moc"
diff --git a/qt5/demos/pageview.cpp b/qt5/demos/pageview.cpp
index cb2731b1..4f56108e 100644
--- a/qt5/demos/pageview.cpp
+++ b/qt5/demos/pageview.cpp
@@ -98,4 +98,3 @@ void PageView::slotRotationChanged(int value)
 reloadPage();
 }
 
-#include "pageview.moc"
diff --git a/qt5/demos/permissions.cpp b/qt5/demos/permissions.cpp
index 983dc0fc..2cb1ffca 100644
--- a/qt5/demos/permissions.cpp
+++ b/qt5/demos/permissions.cpp
@@ -63,4 +63,3 @@ void PermissionsDock::documentClosed()
 AbstractInfoDock::documentClosed();
 }
 
-#include "permissions.moc"
diff --git a/qt5/demos/thumbnails.cpp b/qt5/demos/thumbnails.cpp
index 1dafb5ee..dbf24799 100644
--- a/qt5/demos/thumbnails.cpp
+++ b/qt5/demos/thumbnails.cpp
@@ -81,4 +81,3 @@ void ThumbnailsDock::slotItemActivated(QListWidgetItem *item)
 setPage(item->data(PageRole).toInt());
 }
 
-#include "thumbnails.moc"
diff --git a/qt5/demos/toc.cpp b/qt5/demos/toc.cpp
index c7fec837..740c0ca0 100644
--- a/qt5/demos/toc.cpp
+++ b/qt5/demos/toc.cpp
@@ -85,4 +85,3 @@ void TocDock::documentClosed()
 AbstractInfoDock::documentClosed();
 }
 
-#include "toc.moc"
diff --git a/qt5/demos/viewer.cpp b/qt5/demos/viewer.cpp
index a95d7f33..3c571f55 100644
--- a/qt5/demos/viewer.cpp
+++ b/qt5/demos/viewer.cpp
@@ -316,4 +316,3 @@ int PdfViewer::page() const
 return m_currentPage;
 }
 
-#include "viewer.moc"
diff --git a/qt5/src/poppler-optcontent.cc b/qt5/src/poppler-optcontent.cc
index 805d8965..0a10769c 100644
--- a/qt5/src/poppler-optcontent.cc
+++ b/qt5/src/poppler-optcontent.cc
@@ -454,4 +454,3 @@ namespace Poppler
   }
 }
 
-#include "poppler-optcontent.moc"
___
poppler mailing list
poppler@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/poppler