summaryrefslogtreecommitdiffstats
path: root/src/pdf/qpdflinkmodel.cpp
diff options
context:
space:
mode:
authorTarja Sundqvist <tarja.sundqvist@qt.io>2025-06-04 09:23:45 +0300
committerTarja Sundqvist <tarja.sundqvist@qt.io>2025-06-04 09:23:45 +0300
commit94c09aab1dac228a9ddf03abd7d76559b5d6af16 (patch)
tree9a02c6407dded2f74b6790f8686c4ab7c8777b21 /src/pdf/qpdflinkmodel.cpp
parentf08b503f680e8a6d4021d2fd21d2386f8e60da24 (diff)
parent0efae85f199a61fd6919703cfbb74d680d9a9443 (diff)
Merge tag 'v6.5.6-lts' into 6.5.66.5.6
Qt 6.5.6-lts release Conflicts solved: dependencies.yaml Change-Id: I31ed402989d58b5195459a8a3bf309e6354c35f6
Diffstat (limited to 'src/pdf/qpdflinkmodel.cpp')
-rw-r--r--src/pdf/qpdflinkmodel.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/pdf/qpdflinkmodel.cpp b/src/pdf/qpdflinkmodel.cpp
index 366b77344..645dff21a 100644
--- a/src/pdf/qpdflinkmodel.cpp
+++ b/src/pdf/qpdflinkmodel.cpp
@@ -179,7 +179,6 @@ void QPdfLinkModelPrivate::update()
qCWarning(qLcLink) << "failed to load page" << page;
return;
}
- double pageHeight = FPDF_GetPageHeight(pdfPage);
q->beginResetModel();
links.clear();
@@ -204,8 +203,7 @@ void QPdfLinkModelPrivate::update()
std::swap(rect.bottom, rect.top);
QPdfLink linkData;
- linkData.d->rects << QRectF(rect.left, pageHeight - rect.top,
- rect.right - rect.left, rect.top - rect.bottom);
+ linkData.d->rects << document->d->mapPageToView(pdfPage, rect.left, rect.top, rect.right, rect.bottom);
FPDF_DEST dest = FPDFLink_GetDest(doc, linkAnnot);
FPDF_ACTION action = FPDFLink_GetAction(linkAnnot);
switch (FPDFAction_GetType(action)) {
@@ -224,7 +222,7 @@ void QPdfLinkModelPrivate::update()
break; // at least we got a page number, so the link will jump there
}
if (hasX && hasY)
- linkData.d->location = QPointF(x, pageHeight - y);
+ linkData.d->location = document->d->mapPageToView(pdfPage, x, y);
if (hasZoom)
linkData.d->zoom = zoom;
break;
@@ -287,7 +285,7 @@ void QPdfLinkModelPrivate::update()
double left, top, right, bottom;
bool success = FPDFLink_GetRect(webLinks, i, r, &left, &top, &right, &bottom);
if (success) {
- linkData.d->rects << QRectF(left, pageHeight - top, right - left, top - bottom);
+ linkData.d->rects << document->d->mapPageToView(pdfPage, left, top, right, bottom);
links << linkData;
}
}