File indexing completed on 2024-06-16 05:00:32
0001 /* 0002 SPDX-FileCopyrightText: 2012-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "exportcalendarjobinterfaceimpl.h" 0008 #include <MailCommon/MailUtil> 0009 0010 #include <KConfigGroup> 0011 0012 #include "resourceconverterimpl.h" 0013 0014 #include "exportresourcearchivejob.h" 0015 #include <QStandardPaths> 0016 0017 ExportCalendarJobInterfaceImpl::ExportCalendarJobInterfaceImpl(QObject *parent, 0018 Utils::StoredTypes typeSelected, 0019 ArchiveStorage *archiveStorage, 0020 int numberOfStep) 0021 : ExportCalendarJobInterface(parent, typeSelected, archiveStorage, numberOfStep) 0022 { 0023 } 0024 0025 ExportCalendarJobInterfaceImpl::~ExportCalendarJobInterfaceImpl() = default; 0026 0027 QList<Utils::AkonadiInstanceInfo> ExportCalendarJobInterfaceImpl::listOfResource() 0028 { 0029 return Utils::listOfResource(); 0030 } 0031 0032 Akonadi::Collection::Id ExportCalendarJobInterfaceImpl::convertFolderPathToCollectionId(const QString &path) 0033 { 0034 ResourceConverterImpl converter; 0035 return converter.convertFolderPathToCollectionId(path); 0036 } 0037 0038 void ExportCalendarJobInterfaceImpl::convertCollectionListToRealPath(KConfigGroup &group, const QString ¤tKey) 0039 { 0040 ResourceConverterImpl converter; 0041 converter.convertCollectionListToRealPath(group, currentKey); 0042 } 0043 0044 QString ExportCalendarJobInterfaceImpl::convertToFullCollectionPath(const qlonglong collectionValue) 0045 { 0046 ResourceConverterImpl converter; 0047 return converter.convertToFullCollectionPath(collectionValue); 0048 } 0049 0050 void ExportCalendarJobInterfaceImpl::exportResourceToArchive(const QString &archivePath, const QString &url, const QString &identifier) 0051 { 0052 auto resourceJob = new ExportResourceArchiveJob(this); 0053 resourceJob->setArchivePath(archivePath); 0054 resourceJob->setUrl(url); 0055 resourceJob->setIdentifier(identifier); 0056 resourceJob->setArchive(archive()); 0057 resourceJob->setArchiveName(Utils::resourceCalendarArchiveName()); 0058 connect(resourceJob, &ExportResourceArchiveJob::error, this, &ExportCalendarJobInterfaceImpl::error); 0059 connect(resourceJob, &ExportResourceArchiveJob::info, this, &ExportCalendarJobInterfaceImpl::info); 0060 connect(resourceJob, &ExportResourceArchiveJob::terminated, this, &ExportCalendarJobInterfaceImpl::slotCalendarJobTerminated); 0061 resourceJob->start(); 0062 } 0063 0064 QString ExportCalendarJobInterfaceImpl::resourcePath(const QString &identifier) const 0065 { 0066 ResourceConverterImpl converter; 0067 const QString url = converter.resourcePath(identifier); 0068 return url; 0069 } 0070 0071 void ExportCalendarJobInterfaceImpl::backupCalendarResourceFile(const QString &agentIdentifier, const QString &defaultPath) 0072 { 0073 backupResourceFile(agentIdentifier, defaultPath); 0074 } 0075 0076 QString ExportCalendarJobInterfaceImpl::adaptNewResourceUrl(bool overwriteResources, const KSharedConfig::Ptr &resourceConfig, const QString &storePath) 0077 { 0078 ResourceConverterImpl converter; 0079 return converter.adaptNewResourceUrl(overwriteResources, resourceConfig, storePath); 0080 } 0081 0082 QString 0083 ExportCalendarJobInterfaceImpl::createResource(const QString &resources, const QString &name, const QMap<QString, QVariant> &settings, bool synchronizeTree) 0084 { 0085 Q_UNUSED(resources); 0086 Q_UNUSED(name); 0087 Q_UNUSED(settings); 0088 Q_UNUSED(synchronizeTree); 0089 Q_UNREACHABLE(); 0090 return {}; 0091 } 0092 0093 #include "moc_exportcalendarjobinterfaceimpl.cpp"