File indexing completed on 2024-05-26 05:27:09
0001 /* 0002 SPDX-FileCopyrightText: 2013-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 0013 class PIMDATAEXPORTER_TESTS_EXPORT ImportNotesJobInterface : public AbstractImportExportJob 0014 { 0015 Q_OBJECT 0016 public: 0017 explicit ImportNotesJobInterface(QObject *parent, Utils::StoredTypes typeSelected, ArchiveStorage *archiveStorage, int numberOfStep); 0018 ~ImportNotesJobInterface() override; 0019 0020 void start() override; 0021 0022 protected: 0023 [[nodiscard]] virtual QString configLocation() const; 0024 virtual void synchronizeResource(const QStringList &lst) = 0; 0025 [[nodiscard]] virtual QString adaptResourcePath(const KSharedConfigPtr &resourceConfig, const QString &storedData) = 0; 0026 void slotNextStep() override; 0027 [[nodiscard]] QString installConfigLocation() const; 0028 [[nodiscard]] QString applicationName() const override; 0029 0030 private: 0031 [[nodiscard]] bool isAConfigFile(const QString &name) const override; 0032 void importKNoteGlobalSettings(const KArchiveFile *kmailsnippet, const QString &configrc, const QString &filename, const QString &prefix); 0033 void restoreConfig(); 0034 void restoreData(); 0035 void restoreResources(); 0036 };