mirror of
https://github.com/JakubMelka/PDF4QT.git
synced 2025-06-05 21:59:17 +02:00
Sidebar widget refactoring
This commit is contained in:
@ -35,9 +35,11 @@ PDFSidebarWidget::PDFSidebarWidget(QWidget* parent) :
|
||||
ui->setupUi(this);
|
||||
|
||||
// Outline
|
||||
m_outlineTreeModel = new pdf::PDFOutlineTreeItemModel(this);
|
||||
QIcon bookmarkIcon(":/resources/bookmark.svg");
|
||||
m_outlineTreeModel = new pdf::PDFOutlineTreeItemModel(qMove(bookmarkIcon), this);
|
||||
ui->bookmarksTreeView->setModel(m_outlineTreeModel);
|
||||
ui->bookmarksTreeView->header()->hide();
|
||||
connect(ui->bookmarksTreeView, &QTreeView::clicked, this, &PDFSidebarWidget::onOutlineItemClicked);
|
||||
|
||||
// Optional content
|
||||
ui->optionalContentTreeView->header()->hide();
|
||||
@ -75,18 +77,18 @@ void PDFSidebarWidget::setDocument(const pdf::PDFDocument* document, pdf::PDFOpt
|
||||
Page preferred = Invalid;
|
||||
if (m_document)
|
||||
{
|
||||
const pdf::PDFViewerPreferences::NonFullScreenPageMode pageMode = m_document->getCatalog()->getViewerPreferences()->getNonFullScreenPageMode();
|
||||
const pdf::PageMode pageMode = m_document->getCatalog()->getPageMode();
|
||||
switch (pageMode)
|
||||
{
|
||||
case pdf::PDFViewerPreferences::NonFullScreenPageMode::UseOutline:
|
||||
case pdf::PageMode::UseOutlines:
|
||||
preferred = Bookmarks;
|
||||
break;
|
||||
|
||||
case pdf::PDFViewerPreferences::NonFullScreenPageMode::UseThumbnails:
|
||||
case pdf::PageMode::UseThumbnails:
|
||||
preferred = Thumbnails;
|
||||
break;
|
||||
|
||||
case pdf::PDFViewerPreferences::NonFullScreenPageMode::UseOptionalContent:
|
||||
case pdf::PageMode::UseOptionalContent:
|
||||
preferred = OptionalContent;
|
||||
break;
|
||||
|
||||
@ -202,4 +204,12 @@ void PDFSidebarWidget::updateButtons()
|
||||
}
|
||||
}
|
||||
|
||||
void PDFSidebarWidget::onOutlineItemClicked(const QModelIndex& index)
|
||||
{
|
||||
if (const pdf::PDFAction* action = m_outlineTreeModel->getAction(index))
|
||||
{
|
||||
emit actionTriggered(action);
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace pdfviewer
|
||||
|
Reference in New Issue
Block a user