diff options
author | Shawn Rutledge <shawn.rutledge@qt.io> | 2022-03-30 17:46:50 +0200 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2022-04-06 22:37:55 +0200 |
commit | 299c67a91561a1b53646cbdbdfd4b86494d71ec8 (patch) | |
tree | 5f8cbb7a68deef3cc11f84c4af37b87e18dd66bc /src/pdf | |
parent | a7bbc5e362a89fa23d09406eff1bd9c4da74e1e5 (diff) | |
download | qtwebengine-299c67a91561a1b53646cbdbdfd4b86494d71ec8.tar.gz |
QPdfBookmarkModelPrivate: stop inheriting QAbstractItemModelPrivate
We try to avoid private API from other modules, for portability between
different Qt versions.
Task-number: QTBUG-102156
Change-Id: Ia95a026fbae946eba53ad6835c7615214d93ec62
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/pdf')
-rw-r--r-- | src/pdf/qpdfbookmarkmodel.cpp | 27 | ||||
-rw-r--r-- | src/pdf/qpdfbookmarkmodel.h | 8 |
2 files changed, 10 insertions, 25 deletions
diff --git a/src/pdf/qpdfbookmarkmodel.cpp b/src/pdf/qpdfbookmarkmodel.cpp index 8d8bb1973..04e696c9e 100644 --- a/src/pdf/qpdfbookmarkmodel.cpp +++ b/src/pdf/qpdfbookmarkmodel.cpp @@ -140,12 +140,10 @@ private: }; -class QPdfBookmarkModelPrivate : public QAbstractItemModelPrivate +struct QPdfBookmarkModelPrivate { -public: QPdfBookmarkModelPrivate() - : QAbstractItemModelPrivate() - , m_rootNode(new BookmarkNode(nullptr)) + : m_rootNode(new BookmarkNode(nullptr)) , m_document(nullptr) , m_structureMode(QPdfBookmarkModel::TreeMode) { @@ -153,8 +151,6 @@ public: void rebuild() { - Q_Q(QPdfBookmarkModel); - const bool documentAvailable = (m_document && m_document->status() == QPdfDocument::Ready); if (documentAvailable) { @@ -214,7 +210,7 @@ public: rebuild(); } - Q_DECLARE_PUBLIC(QPdfBookmarkModel) + QPdfBookmarkModel *q = nullptr; QScopedPointer<BookmarkNode> m_rootNode; QPointer<QPdfDocument> m_document; @@ -223,23 +219,20 @@ public: QPdfBookmarkModel::QPdfBookmarkModel(QObject *parent) - : QAbstractItemModel(*new QPdfBookmarkModelPrivate, parent) + : QAbstractItemModel(parent), d(new QPdfBookmarkModelPrivate) { + d->q = this; } QPdfBookmarkModel::~QPdfBookmarkModel() = default; QPdfDocument* QPdfBookmarkModel::document() const { - Q_D(const QPdfBookmarkModel); - return d->m_document; } void QPdfBookmarkModel::setDocument(QPdfDocument *document) { - Q_D(QPdfBookmarkModel); - if (d->m_document == document) return; @@ -257,15 +250,11 @@ void QPdfBookmarkModel::setDocument(QPdfDocument *document) QPdfBookmarkModel::StructureMode QPdfBookmarkModel::structureMode() const { - Q_D(const QPdfBookmarkModel); - return d->m_structureMode; } void QPdfBookmarkModel::setStructureMode(StructureMode mode) { - Q_D(QPdfBookmarkModel); - if (d->m_structureMode == mode) return; @@ -312,8 +301,6 @@ QVariant QPdfBookmarkModel::data(const QModelIndex &index, int role) const QModelIndex QPdfBookmarkModel::index(int row, int column, const QModelIndex &parent) const { - Q_D(const QPdfBookmarkModel); - if (!hasIndex(row, column, parent)) return QModelIndex(); @@ -333,8 +320,6 @@ QModelIndex QPdfBookmarkModel::index(int row, int column, const QModelIndex &par QModelIndex QPdfBookmarkModel::parent(const QModelIndex &index) const { - Q_D(const QPdfBookmarkModel); - if (!index.isValid()) return QModelIndex(); @@ -349,8 +334,6 @@ QModelIndex QPdfBookmarkModel::parent(const QModelIndex &index) const int QPdfBookmarkModel::rowCount(const QModelIndex &parent) const { - Q_D(const QPdfBookmarkModel); - if (parent.column() > 0) return 0; diff --git a/src/pdf/qpdfbookmarkmodel.h b/src/pdf/qpdfbookmarkmodel.h index 315222a65..ff1e30a4e 100644 --- a/src/pdf/qpdfbookmarkmodel.h +++ b/src/pdf/qpdfbookmarkmodel.h @@ -46,7 +46,7 @@ QT_BEGIN_NAMESPACE class QPdfDocument; -class QPdfBookmarkModelPrivate; +struct QPdfBookmarkModelPrivate; class Q_PDF_EXPORT QPdfBookmarkModel : public QAbstractItemModel { @@ -93,9 +93,11 @@ Q_SIGNALS: void structureModeChanged(QPdfBookmarkModel::StructureMode structureMode); private: - Q_DECLARE_PRIVATE(QPdfBookmarkModel) + std::unique_ptr<QPdfBookmarkModelPrivate> d; - Q_PRIVATE_SLOT(d_func(), void _q_documentStatusChanged()) + Q_PRIVATE_SLOT(d, void _q_documentStatusChanged()) + + friend struct QPdfBookmarkModelPrivate; }; QT_END_NAMESPACE |