File indexing completed on 2024-04-28 04:32:44

0001 /*
0002     SPDX-FileCopyrightText: 2007 Pino Toscano <pino@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "pagecontroller_p.h"
0008 
0009 // local includes
0010 #include "page_p.h"
0011 #include "rotationjob_p.h"
0012 
0013 #include <threadweaver/queueing.h>
0014 
0015 using namespace Okular;
0016 
0017 PageController::PageController()
0018     : QObject()
0019 {
0020 }
0021 
0022 PageController::~PageController()
0023 {
0024 }
0025 
0026 void PageController::addRotationJob(RotationJob *job)
0027 {
0028     connect(job, &RotationJob::done, this, &PageController::imageRotationDone);
0029     ThreadWeaver::enqueue(&m_weaver, job);
0030 }
0031 
0032 void PageController::imageRotationDone(const ThreadWeaver::JobPointer &j)
0033 {
0034     RotationJob *job = static_cast<RotationJob *>(j.data());
0035 
0036     if (job->page()) {
0037         job->page()->imageRotationDone(job);
0038 
0039         Q_EMIT rotationFinished(job->page()->m_number, job->page()->m_page);
0040     }
0041 }