File indexing completed on 2024-06-16 04:45:43

0001 /*
0002 
0003     SPDX-FileCopyrightText: 2014 Christian Dávid <christian-david@web.de>
0004     SPDX-FileCopyrightText: 2019 Thomas Baumgart <tbaumgart@kde.org>
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #include "unavailabletask.h"
0009 
0010 #include <QSet>
0011 #include <QXmlStreamReader>
0012 #include <QXmlStreamWriter>
0013 
0014 #include <KLocalizedString>
0015 
0016 unavailableTask::unavailableTask(const QString& xmlData)
0017     : m_data(xmlData)
0018 {
0019 }
0020 
0021 QString unavailableTask::jobTypeName() const
0022 {
0023     return i18n("Could not load responsible plugin to view this task.");
0024 }
0025 
0026 QString unavailableTask::responsibleAccount() const
0027 {
0028     return QString();
0029 }
0030 
0031 QString unavailableTask::purpose() const
0032 {
0033     return QString();
0034 }
0035 
0036 static void addElements(QXmlStreamReader* reader, QXmlStreamWriter* writer)
0037 {
0038     while (reader->readNextStartElement()) {
0039         writer->writeStartElement(reader->name().toString());
0040         writer->writeAttributes(reader->attributes());
0041         addElements(reader, writer);
0042         writer->writeEndElement();
0043     }
0044 }
0045 
0046 unavailableTask* unavailableTask::createFromXml(QXmlStreamReader* reader) const
0047 {
0048     QString taskXml;
0049     QXmlStreamWriter writer(&taskXml);
0050 
0051     writer.setAutoFormatting(false);
0052     writer.writeStartDocument();
0053     writer.writeStartElement(reader->name().toString());
0054     writer.writeAttributes(reader->attributes());
0055     addElements(reader, &writer);
0056     writer.writeEndElement();
0057     writer.writeEndDocument();
0058 
0059     return new unavailableTask(taskXml);
0060 }
0061 
0062 void unavailableTask::writeXML(QXmlStreamWriter* writer) const
0063 {
0064     Q_UNUSED(writer)
0065 }
0066 
0067 bool unavailableTask::hasReferenceTo(const QString& id) const
0068 {
0069     Q_UNUSED(id);
0070     return false;
0071 }
0072 
0073 QSet<QString> unavailableTask::referencedObjects() const
0074 {
0075     return {};
0076 }
0077 
0078 unavailableTask* unavailableTask::clone() const
0079 {
0080     return new unavailableTask(m_data);
0081 }
0082 
0083 bool unavailableTask::isValid() const
0084 {
0085     return true;
0086 }