diff options
-rw-r--r-- | src/pdf/qpdfdocument.cpp | 3 | ||||
-rw-r--r-- | src/pdfwidgets/qpdfpageselector.cpp | 8 | ||||
-rw-r--r-- | src/pdfwidgets/qpdfpageselector.h | 1 |
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) |