diff options
author | Shawn Rutledge <shawn.rutledge@qt.io> | 2022-06-01 22:55:34 +0200 |
---|---|---|
committer | Axel Spoerl <axel.spoerl@qt.io> | 2023-02-16 11:19:37 +0100 |
commit | 9e0c55cf423d2f521a2152020f76c8abab2f33c5 (patch) | |
tree | d35b9a8bb940f3b6fab7a9fd8f2fd8326fe6b9c1 /examples/pdfwidgets/pdfviewer | |
parent | c53fd87cf50e51e338d2f8e54f494a8dbab8d712 (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.cpp | 8 | ||||
-rw-r--r-- | examples/pdfwidgets/pdfviewer/mainwindow.h | 1 | ||||
-rw-r--r-- | examples/pdfwidgets/pdfviewer/mainwindow.ui | 39 |
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"> |