diff options
author | Michal Klocek <michal.klocek@qt.io> | 2020-08-11 10:52:55 +0200 |
---|---|---|
committer | Michal Klocek <michal.klocek@qt.io> | 2020-09-02 15:40:13 +0000 |
commit | 9dbb161e3ce0933e9578d856277890d6469dc34d (patch) | |
tree | 45860e948a628f81074614b3e0591277659fc85b /src/pdf | |
parent | 16de587f88c4e82c44c2773ae791ef02f1e3cda1 (diff) |
Remove usage of QObjectPrivate from pdf apis
QtPdf is still in tech preview, remove QObjectPrivate
dependency from api.
Change-Id: I83ad2e8ef62d5b701f1e9fa2221b27e76984ca4e
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/pdf')
-rw-r--r-- | src/pdf/api/qpdfpagenavigation.h | 2 | ||||
-rw-r--r-- | src/pdf/api/qpdfpagerenderer.h | 2 | ||||
-rw-r--r-- | src/pdf/qpdfpagenavigation.cpp | 90 | ||||
-rw-r--r-- | src/pdf/qpdfpagerenderer.cpp | 82 |
4 files changed, 67 insertions, 109 deletions
diff --git a/src/pdf/api/qpdfpagenavigation.h b/src/pdf/api/qpdfpagenavigation.h index 0f416bf77..dc412c33b 100644 --- a/src/pdf/api/qpdfpagenavigation.h +++ b/src/pdf/api/qpdfpagenavigation.h @@ -84,7 +84,7 @@ Q_SIGNALS: void canGoToNextPageChanged(bool canGo); private: - Q_DECLARE_PRIVATE(QPdfPageNavigation) + QScopedPointer<QPdfPageNavigationPrivate> d_ptr; }; QT_END_NAMESPACE diff --git a/src/pdf/api/qpdfpagerenderer.h b/src/pdf/api/qpdfpagerenderer.h index bb5505462..faeaef8af 100644 --- a/src/pdf/api/qpdfpagerenderer.h +++ b/src/pdf/api/qpdfpagerenderer.h @@ -84,7 +84,7 @@ Q_SIGNALS: QPdfDocumentRenderOptions options, quint64 requestId); private: - Q_DECLARE_PRIVATE(QPdfPageRenderer) + QScopedPointer<QPdfPageRendererPrivate> d_ptr; }; QT_END_NAMESPACE diff --git a/src/pdf/qpdfpagenavigation.cpp b/src/pdf/qpdfpagenavigation.cpp index 497c1c2eb..031b38962 100644 --- a/src/pdf/qpdfpagenavigation.cpp +++ b/src/pdf/qpdfpagenavigation.cpp @@ -44,36 +44,31 @@ QT_BEGIN_NAMESPACE -class QPdfPageNavigationPrivate : public QObjectPrivate +class QPdfPageNavigationPrivate { public: - QPdfPageNavigationPrivate() - : QObjectPrivate() - { - } + QPdfPageNavigationPrivate(QPdfPageNavigation *q) : q_ptr(q) { } void update() { - Q_Q(QPdfPageNavigation); - const bool documentAvailable = m_document && m_document->status() == QPdfDocument::Ready; if (documentAvailable) { const int newPageCount = m_document->pageCount(); if (m_pageCount != newPageCount) { m_pageCount = newPageCount; - emit q->pageCountChanged(m_pageCount); + emit q_ptr->pageCountChanged(m_pageCount); } } else { if (m_pageCount != 0) { m_pageCount = 0; - emit q->pageCountChanged(m_pageCount); + emit q_ptr->pageCountChanged(m_pageCount); } } if (m_currentPage != 0) { m_currentPage = 0; - emit q->currentPageChanged(m_currentPage); + emit q_ptr->currentPageChanged(m_currentPage); } updatePrevNext(); @@ -81,19 +76,17 @@ public: void updatePrevNext() { - Q_Q(QPdfPageNavigation); - const bool hasPreviousPage = m_currentPage > 0; const bool hasNextPage = m_currentPage < (m_pageCount - 1); if (m_canGoToPreviousPage != hasPreviousPage) { m_canGoToPreviousPage = hasPreviousPage; - emit q->canGoToPreviousPageChanged(m_canGoToPreviousPage); + emit q_ptr->canGoToPreviousPageChanged(m_canGoToPreviousPage); } if (m_canGoToNextPage != hasNextPage) { m_canGoToNextPage = hasNextPage; - emit q->canGoToNextPageChanged(m_canGoToNextPage); + emit q_ptr->canGoToNextPageChanged(m_canGoToNextPage); } } @@ -102,8 +95,7 @@ public: update(); } - Q_DECLARE_PUBLIC(QPdfPageNavigation) - + QPdfPageNavigation *q_ptr = nullptr; QPointer<QPdfDocument> m_document = nullptr; int m_currentPage = 0; int m_pageCount = 0; @@ -128,7 +120,7 @@ public: Constructs a page navigation object with parent object \a parent. */ QPdfPageNavigation::QPdfPageNavigation(QObject *parent) - : QObject(*new QPdfPageNavigationPrivate, parent) + : QObject(parent), d_ptr(new QPdfPageNavigationPrivate(this)) { } @@ -156,9 +148,7 @@ QPdfPageNavigation::~QPdfPageNavigation() */ QPdfDocument* QPdfPageNavigation::document() const { - Q_D(const QPdfPageNavigation); - - return d->m_document; + return d_ptr->m_document; } /*! @@ -170,21 +160,21 @@ QPdfDocument* QPdfPageNavigation::document() const */ void QPdfPageNavigation::setDocument(QPdfDocument *document) { - Q_D(QPdfPageNavigation); - - if (d->m_document == document) + if (d_ptr->m_document == document) return; - if (d->m_document) - disconnect(d->m_documentStatusChangedConnection); + if (d_ptr->m_document) + disconnect(d_ptr->m_documentStatusChangedConnection); - d->m_document = document; - emit documentChanged(d->m_document); + d_ptr->m_document = document; + emit documentChanged(d_ptr->m_document); - if (d->m_document) - d->m_documentStatusChangedConnection = connect(d->m_document.data(), &QPdfDocument::statusChanged, this, [d](){ d->documentStatusChanged(); }); + if (d_ptr->m_document) + d_ptr->m_documentStatusChangedConnection = + connect(d_ptr->m_document.data(), &QPdfDocument::statusChanged, this, + [this]() { d_ptr->documentStatusChanged(); }); - d->update(); + d_ptr->update(); } /*! @@ -201,9 +191,7 @@ void QPdfPageNavigation::setDocument(QPdfDocument *document) */ int QPdfPageNavigation::currentPage() const { - Q_D(const QPdfPageNavigation); - - return d->m_currentPage; + return d_ptr->m_currentPage; } /*! @@ -213,18 +201,16 @@ int QPdfPageNavigation::currentPage() const */ void QPdfPageNavigation::setCurrentPage(int newPage) { - Q_D(QPdfPageNavigation); - - if (newPage < 0 || newPage >= d->m_pageCount) + if (newPage < 0 || newPage >= d_ptr->m_pageCount) return; - if (d->m_currentPage == newPage) + if (d_ptr->m_currentPage == newPage) return; - d->m_currentPage = newPage; - emit currentPageChanged(d->m_currentPage); + d_ptr->m_currentPage = newPage; + emit currentPageChanged(d_ptr->m_currentPage); - d->updatePrevNext(); + d_ptr->updatePrevNext(); } /*! @@ -240,9 +226,7 @@ void QPdfPageNavigation::setCurrentPage(int newPage) */ int QPdfPageNavigation::pageCount() const { - Q_D(const QPdfPageNavigation); - - return d->m_pageCount; + return d_ptr->m_pageCount; } /*! @@ -257,9 +241,7 @@ int QPdfPageNavigation::pageCount() const */ bool QPdfPageNavigation::canGoToPreviousPage() const { - Q_D(const QPdfPageNavigation); - - return d->m_canGoToPreviousPage; + return d_ptr->m_canGoToPreviousPage; } /*! @@ -274,9 +256,7 @@ bool QPdfPageNavigation::canGoToPreviousPage() const */ bool QPdfPageNavigation::canGoToNextPage() const { - Q_D(const QPdfPageNavigation); - - return d->m_canGoToNextPage; + return d_ptr->m_canGoToNextPage; } /*! @@ -288,10 +268,8 @@ bool QPdfPageNavigation::canGoToNextPage() const */ void QPdfPageNavigation::goToPreviousPage() { - Q_D(QPdfPageNavigation); - - if (d->m_currentPage > 0) - setCurrentPage(d->m_currentPage - 1); + if (d_ptr->m_currentPage > 0) + setCurrentPage(d_ptr->m_currentPage - 1); } /*! @@ -303,10 +281,8 @@ void QPdfPageNavigation::goToPreviousPage() */ void QPdfPageNavigation::goToNextPage() { - Q_D(QPdfPageNavigation); - - if (d->m_currentPage < d->m_pageCount - 1) - setCurrentPage(d->m_currentPage + 1); + if (d_ptr->m_currentPage < d_ptr->m_pageCount - 1) + setCurrentPage(d_ptr->m_currentPage + 1); } QT_END_NAMESPACE diff --git a/src/pdf/qpdfpagerenderer.cpp b/src/pdf/qpdfpagerenderer.cpp index cbff0ea8f..8be0cfa21 100644 --- a/src/pdf/qpdfpagerenderer.cpp +++ b/src/pdf/qpdfpagerenderer.cpp @@ -66,10 +66,8 @@ private: QMutex m_mutex; }; -class QPdfPageRendererPrivate : public QObjectPrivate +class QPdfPageRendererPrivate { - Q_DECLARE_PUBLIC(QPdfPageRenderer) - public: QPdfPageRendererPrivate(); ~QPdfPageRendererPrivate(); @@ -132,12 +130,7 @@ void RenderWorker::requestPage(quint64 requestId, int pageNumber, QSize imageSiz emit pageRendered(pageNumber, imageSize, image, options, requestId); } - -QPdfPageRendererPrivate::QPdfPageRendererPrivate() - : QObjectPrivate() - , m_renderWorker(new RenderWorker) -{ -} +QPdfPageRendererPrivate::QPdfPageRendererPrivate() : m_renderWorker(new RenderWorker) { } QPdfPageRendererPrivate::~QPdfPageRendererPrivate() { @@ -193,18 +186,17 @@ void QPdfPageRendererPrivate::requestFinished(int page, QSize imageSize, const Q Constructs a page renderer object with parent object \a parent. */ QPdfPageRenderer::QPdfPageRenderer(QObject *parent) - : QObject(*new QPdfPageRendererPrivate(), parent) + : QObject(parent), d_ptr(new QPdfPageRendererPrivate) { - Q_D(QPdfPageRenderer); - qRegisterMetaType<QPdfDocumentRenderOptions>(); - connect(d->m_renderWorker.data(), &RenderWorker::pageRendered, this, - [this,d](int page, QSize imageSize, const QImage &image, QPdfDocumentRenderOptions options, quint64 requestId) { - d->requestFinished(page, imageSize, image, options, requestId); + connect(d_ptr->m_renderWorker.data(), &RenderWorker::pageRendered, this, + [this](int page, QSize imageSize, const QImage &image, + QPdfDocumentRenderOptions options, quint64 requestId) { + d_ptr->requestFinished(page, imageSize, image, options, requestId); emit pageRendered(page, imageSize, image, options, requestId); - d->handleNextRequest(); - }); + d_ptr->handleNextRequest(); + }); } /*! @@ -241,9 +233,7 @@ QPdfPageRenderer::~QPdfPageRenderer() */ QPdfPageRenderer::RenderMode QPdfPageRenderer::renderMode() const { - Q_D(const QPdfPageRenderer); - - return d->m_renderMode; + return d_ptr->m_renderMode; } /*! @@ -253,26 +243,24 @@ QPdfPageRenderer::RenderMode QPdfPageRenderer::renderMode() const */ void QPdfPageRenderer::setRenderMode(RenderMode mode) { - Q_D(QPdfPageRenderer); - - if (d->m_renderMode == mode) + if (d_ptr->m_renderMode == mode) return; - d->m_renderMode = mode; - emit renderModeChanged(d->m_renderMode); + d_ptr->m_renderMode = mode; + emit renderModeChanged(d_ptr->m_renderMode); - if (d->m_renderMode == RenderMode::MultiThreaded) { - d->m_renderThread = new QThread; - d->m_renderWorker->moveToThread(d->m_renderThread); - d->m_renderThread->start(); + if (d_ptr->m_renderMode == RenderMode::MultiThreaded) { + d_ptr->m_renderThread = new QThread; + d_ptr->m_renderWorker->moveToThread(d_ptr->m_renderThread); + d_ptr->m_renderThread->start(); } else { - d->m_renderThread->quit(); - d->m_renderThread->wait(); - delete d->m_renderThread; - d->m_renderThread = nullptr; + d_ptr->m_renderThread->quit(); + d_ptr->m_renderThread->wait(); + delete d_ptr->m_renderThread; + d_ptr->m_renderThread = nullptr; // pulling the object from another thread should be fine, once that thread is deleted - d->m_renderWorker->moveToThread(this->thread()); + d_ptr->m_renderWorker->moveToThread(this->thread()); } } @@ -293,9 +281,7 @@ void QPdfPageRenderer::setRenderMode(RenderMode mode) */ QPdfDocument* QPdfPageRenderer::document() const { - Q_D(const QPdfPageRenderer); - - return d->m_document; + return d_ptr->m_document; } /*! @@ -305,15 +291,13 @@ QPdfDocument* QPdfPageRenderer::document() const */ void QPdfPageRenderer::setDocument(QPdfDocument *document) { - Q_D(QPdfPageRenderer); - - if (d->m_document == document) + if (d_ptr->m_document == document) return; - d->m_document = document; - emit documentChanged(d->m_document); + d_ptr->m_document = document; + emit documentChanged(d_ptr->m_document); - d->m_renderWorker->setDocument(d->m_document); + d_ptr->m_renderWorker->setDocument(d_ptr->m_document); } /*! @@ -328,19 +312,17 @@ void QPdfPageRenderer::setDocument(QPdfDocument *document) quint64 QPdfPageRenderer::requestPage(int pageNumber, QSize imageSize, QPdfDocumentRenderOptions options) { - Q_D(QPdfPageRenderer); - - if (!d->m_document || d->m_document->status() != QPdfDocument::Ready) + if (!d_ptr->m_document || d_ptr->m_document->status() != QPdfDocument::Ready) return 0; - for (const auto &request : qAsConst(d->m_pendingRequests)) { + for (const auto &request : qAsConst(d_ptr->m_pendingRequests)) { if (request.pageNumber == pageNumber && request.imageSize == imageSize && request.options == options) return request.id; } - const auto id = d->m_requestIdCounter++; + const auto id = d_ptr->m_requestIdCounter++; QPdfPageRendererPrivate::PageRequest request; request.id = id; @@ -348,9 +330,9 @@ quint64 QPdfPageRenderer::requestPage(int pageNumber, QSize imageSize, request.imageSize = imageSize; request.options = options; - d->m_requests.append(request); + d_ptr->m_requests.append(request); - d->handleNextRequest(); + d_ptr->handleNextRequest(); return id; } |