File indexing completed on 2024-06-16 05:00:33
0001 /* 0002 SPDX-FileCopyrightText: 2012-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include "abstractimportexportjob.h" 0010 #include "pimdataexportercore_private_export.h" 0011 class ArchiveStorage; 0012 class KArchive; 0013 0014 class PIMDATAEXPORTER_TESTS_EXPORT ImportCalendarJobInterface : public AbstractImportExportJob 0015 { 0016 Q_OBJECT 0017 public: 0018 explicit ImportCalendarJobInterface(QObject *parent, Utils::StoredTypes typeSelected, ArchiveStorage *archiveStorage, int numberOfStep); 0019 ~ImportCalendarJobInterface() override; 0020 0021 void start() override; 0022 0023 protected: 0024 void slotNextStep() override; 0025 virtual void synchronizeResource(const QStringList &lst) = 0; 0026 [[nodiscard]] virtual QString adaptResourcePath(const KSharedConfigPtr &resourceConfig, const QString &storedData) = 0; 0027 0028 [[nodiscard]] virtual QString configLocation() const; 0029 [[nodiscard]] QString applicationName() const override; 0030 0031 private: 0032 [[nodiscard]] bool isAConfigFile(const QString &name) const override; 0033 void importkorganizerConfig(const KArchiveFile *file, const QString &config, const QString &filename, const QString &prefix); 0034 void importeventViewConfig(const KArchiveFile *file, const QString &config, const QString &filename, const QString &prefix); 0035 void importKalendarConfig(const KArchiveFile *file, const QString &config, const QString &filename, const QString &prefix); 0036 void restoreResources(); 0037 void restoreConfig(); 0038 void addSpecificResourceSettings(const KSharedConfig::Ptr &resourceConfig, const QString &resourceName, QMap<QString, QVariant> &settings) override; 0039 [[nodiscard]] QString installConfigLocation() const; 0040 void convertResourceColors(const KSharedConfig::Ptr &config); 0041 };