summaryrefslogtreecommitdiff
path: root/src/pdf
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@qt.io>2022-03-30 17:46:50 +0200
committerShawn Rutledge <shawn.rutledge@qt.io>2022-04-06 22:37:55 +0200
commit299c67a91561a1b53646cbdbdfd4b86494d71ec8 (patch)
tree5f8cbb7a68deef3cc11f84c4af37b87e18dd66bc /src/pdf
parenta7bbc5e362a89fa23d09406eff1bd9c4da74e1e5 (diff)
downloadqtwebengine-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.cpp27
-rw-r--r--src/pdf/qpdfbookmarkmodel.h8
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