summaryrefslogtreecommitdiffstats
path: root/src/pdf
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2020-08-11 10:52:55 +0200
committerMichal Klocek <michal.klocek@qt.io>2020-09-02 15:40:13 +0000
commit9dbb161e3ce0933e9578d856277890d6469dc34d (patch)
tree45860e948a628f81074614b3e0591277659fc85b /src/pdf
parent16de587f88c4e82c44c2773ae791ef02f1e3cda1 (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.h2
-rw-r--r--src/pdf/api/qpdfpagerenderer.h2
-rw-r--r--src/pdf/qpdfpagenavigation.cpp90
-rw-r--r--src/pdf/qpdfpagerenderer.cpp82
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;
}