diff options
Diffstat (limited to 'src/pdf/qpdflinkmodel_p.h')
-rw-r--r-- | src/pdf/qpdflinkmodel_p.h | 56 |
1 files changed, 12 insertions, 44 deletions
diff --git a/src/pdf/qpdflinkmodel_p.h b/src/pdf/qpdflinkmodel_p.h index 48c973d11..ba46a6e00 100644 --- a/src/pdf/qpdflinkmodel_p.h +++ b/src/pdf/qpdflinkmodel_p.h @@ -15,58 +15,26 @@ // We mean it. // -#include "qtpdfglobal.h" -#include "qpdfdocument.h" - -#include <QObject> -#include <QAbstractListModel> +#include "qpdflinkmodel.h" +#include <private/qabstractitemmodel_p.h> QT_BEGIN_NAMESPACE -class QPdfLinkModelPrivate; - -class Q_PDF_EXPORT QPdfLinkModel : public QAbstractListModel +class QPdfLinkModelPrivate { - Q_OBJECT - Q_PROPERTY(QPdfDocument *document READ document WRITE setDocument NOTIFY documentChanged) - Q_PROPERTY(int page READ page WRITE setPage NOTIFY pageChanged) + QPdfLinkModel *q_ptr; + Q_DECLARE_PUBLIC(QPdfLinkModel) public: - enum class Role : int { - Link = Qt::UserRole, - Rectangle, - Url, - Page, - Location, - Zoom, - _Count - }; - Q_ENUM(Role) - explicit QPdfLinkModel(QObject *parent = nullptr); - ~QPdfLinkModel(); - - QPdfDocument *document() const; - - QHash<int, QByteArray> roleNames() const override; - int rowCount(const QModelIndex &parent) const override; - QVariant data(const QModelIndex &index, int role) const override; - - int page() const; - -public Q_SLOTS: - void setDocument(QPdfDocument *document); - void setPage(int page); - -Q_SIGNALS: - void documentChanged(); - void pageChanged(int page); + explicit QPdfLinkModelPrivate(QPdfLinkModel *qq) + : q_ptr(qq) {} -private Q_SLOTS: - void onStatusChanged(QPdfDocument::Status status); + void update(); -private: - QHash<int, QByteArray> m_roleNames; - Q_DECLARE_PRIVATE(QPdfLinkModel) + QHash<int, QByteArray> roleNames; + QPdfDocument *document = nullptr; + QList<QPdfLink> links; + int page = 0; }; QT_END_NAMESPACE |