summaryrefslogtreecommitdiffstats
path: root/src/pdf/quick/qquickpdfsearchmodel_p.h
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@qt.io>2020-02-21 11:38:27 +0100
committerShawn Rutledge <shawn.rutledge@qt.io>2020-02-21 11:40:49 +0100
commitd9349a299f66fb154ad24f410451872a7ca253fb (patch)
tree2e8258ef3679707a2a9245c85bc8490251b3e256 /src/pdf/quick/qquickpdfsearchmodel_p.h
parent50bc8b124705c33c5e27f035b1eab756e14247ba (diff)
parentc0aa9d794378846e4cc0b6fe94f2765bc31cefdd (diff)
Merge remote-tracking branch 'origin/wip/qtpdf' into 5.15v5.15.0-beta1
The feature set is mostly in place (except for some known shortcomings) and we need the merge to build it on iOS. Task-number: QTBUG-69519 Change-Id: Ib1ac82a9a7e0830d98d1c4327a1b15d4d7f4d4c1
Diffstat (limited to 'src/pdf/quick/qquickpdfsearchmodel_p.h')
-rw-r--r--src/pdf/quick/qquickpdfsearchmodel_p.h37
1 files changed, 22 insertions, 15 deletions
diff --git a/src/pdf/quick/qquickpdfsearchmodel_p.h b/src/pdf/quick/qquickpdfsearchmodel_p.h
index 799ef825f..3e05f80e3 100644
--- a/src/pdf/quick/qquickpdfsearchmodel_p.h
+++ b/src/pdf/quick/qquickpdfsearchmodel_p.h
@@ -51,7 +51,7 @@
#include "qquickpdfdocument_p.h"
#include "../api/qpdfsearchmodel.h"
-#include <QVariant>
+#include <QtCore/qvariant.h>
#include <QtQml/qqml.h>
QT_BEGIN_NAMESPACE
@@ -60,9 +60,10 @@ class QQuickPdfSearchModel : public QPdfSearchModel
{
Q_OBJECT
Q_PROPERTY(QQuickPdfDocument *document READ document WRITE setDocument NOTIFY documentChanged)
- Q_PROPERTY(int page READ page WRITE setPage NOTIFY pageChanged)
- Q_PROPERTY(QString searchString READ searchString WRITE setSearchString NOTIFY searchStringChanged)
- Q_PROPERTY(QVector<QPolygonF> matchGeometry READ matchGeometry NOTIFY matchGeometryChanged)
+ Q_PROPERTY(int currentPage READ currentPage WRITE setCurrentPage NOTIFY currentPageChanged)
+ Q_PROPERTY(int currentResult READ currentResult WRITE setCurrentResult NOTIFY currentResultChanged)
+ Q_PROPERTY(QVector<QPolygonF> currentPageBoundingPolygons READ currentPageBoundingPolygons NOTIFY currentPageBoundingPolygonsChanged)
+ Q_PROPERTY(QVector<QPolygonF> currentResultBoundingPolygons READ currentResultBoundingPolygons NOTIFY currentResultBoundingPolygonsChanged)
public:
explicit QQuickPdfSearchModel(QObject *parent = nullptr);
@@ -70,28 +71,33 @@ public:
QQuickPdfDocument *document() const;
void setDocument(QQuickPdfDocument * document);
- int page() const;
- void setPage(int page);
+ Q_INVOKABLE QVector<QPolygonF> boundingPolygonsOnPage(int page);
- QString searchString() const;
- void setSearchString(QString searchString);
+ int currentPage() const { return m_currentPage; }
+ void setCurrentPage(int currentPage);
- QVector<QPolygonF> matchGeometry() const;
+ int currentResult() const { return m_currentResult; }
+ void setCurrentResult(int currentResult);
+
+ QVector<QPolygonF> currentPageBoundingPolygons() const;
+ QVector<QPolygonF> currentResultBoundingPolygons() const;
signals:
void documentChanged();
- void pageChanged();
- void searchStringChanged();
- void matchGeometryChanged();
+ void currentPageChanged();
+ void currentResultChanged();
+ void currentPageBoundingPolygonsChanged();
+ void currentResultBoundingPolygonsChanged();
private:
void updateResults();
+ void onResultsChanged();
private:
QQuickPdfDocument *m_quickDocument = nullptr;
- QString m_searchString;
- QVector<QPolygonF> m_matchGeometry;
- int m_page;
+ int m_currentPage = 0;
+ int m_currentResult = 0;
+ bool m_suspendSignals = false;
Q_DISABLE_COPY(QQuickPdfSearchModel)
};
@@ -99,5 +105,6 @@ private:
QT_END_NAMESPACE
QML_DECLARE_TYPE(QQuickPdfSearchModel)
+QML_DECLARE_TYPE(QPdfSelection)
#endif // QQUICKPDFSEARCHMODEL_P_H