summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/pdf/qpdfdocument.cpp3
-rw-r--r--src/pdfwidgets/qpdfpageselector.cpp8
-rw-r--r--src/pdfwidgets/qpdfpageselector.h1
3 files changed, 9 insertions, 3 deletions
diff --git a/src/pdf/qpdfdocument.cpp b/src/pdf/qpdfdocument.cpp
index 695b30c59..e2309be9c 100644
--- a/src/pdf/qpdfdocument.cpp
+++ b/src/pdf/qpdfdocument.cpp
@@ -831,9 +831,8 @@ QString QPdfDocument::pageLabel(int page)
*/
int QPdfDocument::pageIndexForLabel(const QString &label)
{
- const auto trimmed = label.trimmed();
for (int i = 0; i < d->pageCount; ++i) {
- if (pageLabel(i) == trimmed)
+ if (pageLabel(i) == label)
return i;
}
return -1;
diff --git a/src/pdfwidgets/qpdfpageselector.cpp b/src/pdfwidgets/qpdfpageselector.cpp
index 72ab28355..7d7e7b11e 100644
--- a/src/pdfwidgets/qpdfpageselector.cpp
+++ b/src/pdfwidgets/qpdfpageselector.cpp
@@ -88,7 +88,7 @@ int QPdfPageSelector::valueFromText(const QString &text) const
if (d->document.isNull())
return 0;
- return d->document->pageIndexForLabel(text);
+ return d->document->pageIndexForLabel(text.trimmed());
}
QString QPdfPageSelector::textFromValue(int value) const
@@ -100,6 +100,12 @@ QString QPdfPageSelector::textFromValue(int value) const
return d->document->pageLabel(value);
}
+QValidator::State QPdfPageSelector::validate(QString &text, int &pos) const
+{
+ Q_UNUSED(pos);
+ return valueFromText(text) >= 0 ? QValidator::Acceptable : QValidator::Intermediate;
+}
+
QT_END_NAMESPACE
#include "moc_qpdfpageselector.cpp"
diff --git a/src/pdfwidgets/qpdfpageselector.h b/src/pdfwidgets/qpdfpageselector.h
index bc2e352f7..f529690e8 100644
--- a/src/pdfwidgets/qpdfpageselector.h
+++ b/src/pdfwidgets/qpdfpageselector.h
@@ -33,6 +33,7 @@ Q_SIGNALS:
protected:
int valueFromText(const QString &text) const override;
QString textFromValue(int value) const override;
+ QValidator::State validate(QString &text, int &pos) const override;
private:
Q_DECLARE_PRIVATE(QPdfPageSelector)