summaryrefslogtreecommitdiffstats
path: root/examples/pdfwidgets/pdfviewer
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@qt.io>2022-06-01 22:55:34 +0200
committerAxel Spoerl <axel.spoerl@qt.io>2023-02-16 11:19:37 +0100
commit9e0c55cf423d2f521a2152020f76c8abab2f33c5 (patch)
treed35b9a8bb940f3b6fab7a9fd8f2fd8326fe6b9c1 /examples/pdfwidgets/pdfviewer
parentc53fd87cf50e51e338d2f8e54f494a8dbab8d712 (diff)
Support DecorationRole for icons in QPdfDocument::pageModel
...and begin rendering thumbnails in the widget-based example by adding a QListView in IconMode. Change-Id: Ia0f446e48ce868e27cd7d64a3712a7db1b1e618b Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Diffstat (limited to 'examples/pdfwidgets/pdfviewer')
-rw-r--r--examples/pdfwidgets/pdfviewer/mainwindow.cpp8
-rw-r--r--examples/pdfwidgets/pdfviewer/mainwindow.h1
-rw-r--r--examples/pdfwidgets/pdfviewer/mainwindow.ui39
3 files changed, 47 insertions, 1 deletions
diff --git a/examples/pdfwidgets/pdfviewer/mainwindow.cpp b/examples/pdfwidgets/pdfviewer/mainwindow.cpp
index d7527a8d5..f5dae88e1 100644
--- a/examples/pdfwidgets/pdfviewer/mainwindow.cpp
+++ b/examples/pdfwidgets/pdfviewer/mainwindow.cpp
@@ -49,7 +49,7 @@ MainWindow::MainWindow(QWidget *parent)
ui->bookmarkView->setModel(bookmarkModel);
connect(ui->bookmarkView, &QAbstractItemView::activated, this, &MainWindow::bookmarkSelected);
- ui->tabWidget->setTabEnabled(1, false); // disable 'Pages' tab for now
+ ui->thumbnailsView->setModel(m_document->pageModel());
ui->pdfView->setDocument(m_document);
@@ -150,6 +150,12 @@ void MainWindow::on_actionNext_Page_triggered()
nav->jump(nav->currentPage() + 1, {}, nav->currentZoom());
}
+void MainWindow::on_thumbnailsView_activated(const QModelIndex &index)
+{
+ auto nav = ui->pdfView->pageNavigator();
+ nav->jump(index.row(), {}, nav->currentZoom());
+}
+
void MainWindow::on_actionContinuous_triggered()
{
ui->pdfView->setPageMode(ui->actionContinuous->isChecked() ?
diff --git a/examples/pdfwidgets/pdfviewer/mainwindow.h b/examples/pdfwidgets/pdfviewer/mainwindow.h
index 2827fb2b6..84b779be1 100644
--- a/examples/pdfwidgets/pdfviewer/mainwindow.h
+++ b/examples/pdfwidgets/pdfviewer/mainwindow.h
@@ -47,6 +47,7 @@ private slots:
void on_actionZoom_Out_triggered();
void on_actionPrevious_Page_triggered();
void on_actionNext_Page_triggered();
+ void on_thumbnailsView_activated(const QModelIndex &index);
void on_actionContinuous_triggered();
void on_actionBack_triggered();
void on_actionForward_triggered();
diff --git a/examples/pdfwidgets/pdfviewer/mainwindow.ui b/examples/pdfwidgets/pdfviewer/mainwindow.ui
index 304d4cfc8..458c5a8c9 100644
--- a/examples/pdfwidgets/pdfviewer/mainwindow.ui
+++ b/examples/pdfwidgets/pdfviewer/mainwindow.ui
@@ -111,6 +111,45 @@
<attribute name="title">
<string>Pages</string>
</attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <property name="leftMargin">
+ <number>2</number>
+ </property>
+ <property name="topMargin">
+ <number>2</number>
+ </property>
+ <property name="rightMargin">
+ <number>2</number>
+ </property>
+ <property name="bottomMargin">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QListView" name="thumbnailsView">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>128</width>
+ <height>128</height>
+ </size>
+ </property>
+ <property name="movement">
+ <enum>QListView::Static</enum>
+ </property>
+ <property name="resizeMode">
+ <enum>QListView::Adjust</enum>
+ </property>
+ <property name="viewMode">
+ <enum>QListView::IconMode</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
</widget>
</widget>
<widget class="QPdfView" name="pdfView" native="true">