From cba4df3eac644710aac8e8da157f0c79e3f4ea2a Mon Sep 17 00:00:00 2001 From: Albert S Date: Sun, 24 Jul 2022 11:40:38 +0200 Subject: [PATCH] gui: previews: Add label with file path below every preview --- gui/mainwindow.cpp | 48 ++++++++++++++++++++++++++++++++++------------ 1 file changed, 36 insertions(+), 12 deletions(-) diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index 734e5a0..748256d 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -439,22 +439,46 @@ void MainWindow::previewReceived(QSharedPointer preview, unsigned QString docPath = preview->getDocumentPath(); auto previewPage = preview->getPage(); + ClickLabel *headerLabel = new ClickLabel(); + headerLabel->setText(QString("Path: ") + preview->getDocumentPath()); + ClickLabel *label = dynamic_cast(preview->createPreviewWidget()); - ui->scrollAreaWidgetContents->layout()->addWidget(label); + + QVBoxLayout *previewLayout = new QVBoxLayout(); + QFont font = label->font(); font.setPointSize(QApplication::font().pointSize() * currentSelectedScale() / 100); label->setFont(font); - connect(label, &ClickLabel::leftClick, [this, docPath, previewPage]() { openDocument(docPath, previewPage); }); - connect(label, &ClickLabel::rightClick, - [this, docPath, previewPage]() - { - QFileInfo fileInfo{docPath}; - QMenu menu("labeRightClick", this); - createSearchResutlMenu(menu, fileInfo); - menu.addAction("Copy page number", [previewPage] - { QGuiApplication::clipboard()->setText(QString::number(previewPage)); }); - menu.exec(QCursor::pos()); - }); + headerLabel->setFont(font); + + auto leftClickHandler = [this, docPath, previewPage]() { openDocument(docPath, previewPage); }; + auto rightClickhandler = [this, docPath, previewPage]() + { + QFileInfo fileInfo{docPath}; + QMenu menu("labeRightClick", this); + createSearchResutlMenu(menu, fileInfo); + menu.addAction("Copy page number", + [previewPage] { QGuiApplication::clipboard()->setText(QString::number(previewPage)); }); + menu.exec(QCursor::pos()); + }; + + connect(label, &ClickLabel::leftClick, leftClickHandler); + connect(label, &ClickLabel::rightClick, rightClickhandler); + + connect(headerLabel, &ClickLabel::rightClick, rightClickhandler); + + previewLayout->addWidget(label); + + previewLayout->addWidget(headerLabel); + + previewLayout->setMargin(0); + previewLayout->insertStretch(0, 1); + previewLayout->insertStretch(-1, 1); + QWidget *previewWidget = new QWidget(); + + previewWidget->setLayout(previewLayout); + + ui->scrollAreaWidgetContents->layout()->addWidget(previewWidget); } }