summaryrefslogtreecommitdiff
path: root/src/gui/previewwindow.cpp
diff options
context:
space:
mode:
authorAleks Kissinger <aleks0@gmail.com>2018-12-18 09:53:00 +0100
committerAleks Kissinger <aleks0@gmail.com>2018-12-18 09:53:00 +0100
commit2332239082db6a33ee66bb08491c1e9cf099f9b6 (patch)
tree4f226e662be2372b874ff8f5fb5a875813889fd5 /src/gui/previewwindow.cpp
parent6121b486e168334db70cbbe7a67afe56c0272748 (diff)
preview works
Diffstat (limited to 'src/gui/previewwindow.cpp')
-rw-r--r--src/gui/previewwindow.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/gui/previewwindow.cpp b/src/gui/previewwindow.cpp
index 0a37e1b..8625045 100644
--- a/src/gui/previewwindow.cpp
+++ b/src/gui/previewwindow.cpp
@@ -13,6 +13,7 @@
#include <QFile>
#include <QTextStream>
#include <QStandardPaths>
+#include <QMessageBox>
#include <cmath>
PreviewWindow::PreviewWindow(QWidget *parent) :
@@ -45,7 +46,15 @@ PreviewWindow::~PreviewWindow()
void PreviewWindow::setPdf(QString file)
{
Poppler::Document *oldDoc = _doc;
- _doc = Poppler::Document::load(file);
+ Poppler::Document *newDoc = Poppler::Document::load(file);
+ if (!newDoc) {
+ QMessageBox::warning(nullptr,
+ "Could not read PDF",
+ "Could not read: '" + file + "'.");
+ return;
+ }
+
+ _doc = newDoc;
_doc->setRenderHint(Poppler::Document::Antialiasing);
_doc->setRenderHint(Poppler::Document::TextAntialiasing);
_doc->setRenderHint(Poppler::Document::TextHinting );
@@ -82,8 +91,8 @@ void PreviewWindow::render() {
QSizeF size = _page->pageSizeF();
QRect rect = ui->scrollArea->visibleRegion().boundingRect();
- int w = rect.width();
- int h = rect.height();
+ int w = rect.width() - 20;
+ int h = rect.height() - 20;
qreal scale = fmin(static_cast<qreal>(w) / size.width(),
static_cast<qreal>(h) / size.height());
int dpi = static_cast<int>(scale * 72.0);