File indexing completed on 2024-06-23 05:18:32

0001 /*
0002   SPDX-FileCopyrightText: 2009 Constantin Berzan <exit3219@gmail.com>
0003 
0004   SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "jobbase.h"
0008 
0009 #include "composer/composer.h"
0010 #include "job/jobbase_p.h"
0011 
0012 #include "messagecomposer_debug.h"
0013 
0014 using namespace MessageComposer;
0015 
0016 JobBase::JobBase(QObject *parent)
0017     : KCompositeJob(parent)
0018     , d_ptr(new JobBasePrivate(this))
0019 {
0020 }
0021 
0022 JobBase::JobBase(JobBasePrivate &dd, QObject *parent)
0023     : KCompositeJob(parent)
0024     , d_ptr(&dd)
0025 {
0026 }
0027 
0028 JobBase::~JobBase()
0029 {
0030     delete d_ptr;
0031 }
0032 
0033 GlobalPart *JobBase::globalPart()
0034 {
0035     for (QObject *obj = this; obj != nullptr; obj = obj->parent()) {
0036         auto composer = qobject_cast<Composer *>(obj);
0037         if (composer) {
0038             return composer->globalPart();
0039         }
0040     }
0041 
0042     qCCritical(MESSAGECOMPOSER_LOG) << "Job is not part of a Composer.";
0043     return nullptr;
0044 }
0045 
0046 #include "moc_jobbase.cpp"