You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
2.8 KiB
96 lines
2.8 KiB
/* |
|
Copyright (C) 2012-2019 Montel Laurent <montel@kde.org> |
|
|
|
This program is free software; you can redistribute it and/or |
|
modify it under the terms of the GNU General Public |
|
License as published by the Free Software Foundation; either |
|
version 2 of the License, or (at your option) any later version. |
|
|
|
This program is distributed in the hope that it will be useful, |
|
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
General Public License for more details. |
|
|
|
You should have received a copy of the GNU General Public License |
|
along with this program; see the file COPYING. If not, write to |
|
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
|
Boston, MA 02110-1301, USA. |
|
*/ |
|
#ifndef ARCHIVEMAILINFO_H |
|
#define ARCHIVEMAILINFO_H |
|
|
|
#include "MailCommon/BackupJob" |
|
#include <KConfigGroup> |
|
#include <Collection> |
|
#include <QUrl> |
|
#include <QDate> |
|
|
|
class ArchiveMailInfo |
|
{ |
|
public: |
|
explicit ArchiveMailInfo(); |
|
explicit ArchiveMailInfo(const KConfigGroup &config); |
|
ArchiveMailInfo(const ArchiveMailInfo &info); |
|
~ArchiveMailInfo(); |
|
|
|
ArchiveMailInfo &operator=(const ArchiveMailInfo &old); |
|
|
|
enum ArchiveUnit { |
|
ArchiveDays = 0, |
|
ArchiveWeeks, |
|
ArchiveMonths, |
|
ArchiveYears |
|
}; |
|
|
|
QUrl realUrl(const QString &folderName, bool &dirExist) const; |
|
|
|
bool isValid() const; |
|
|
|
Akonadi::Collection::Id saveCollectionId() const; |
|
void setSaveCollectionId(Akonadi::Collection::Id collectionId); |
|
|
|
void setSaveSubCollection(bool b); |
|
bool saveSubCollection() const; |
|
|
|
void setUrl(const QUrl &url); |
|
QUrl url() const; |
|
|
|
void readConfig(const KConfigGroup &config); |
|
void writeConfig(KConfigGroup &config); |
|
|
|
void setArchiveType(MailCommon::BackupJob::ArchiveType type); |
|
MailCommon::BackupJob::ArchiveType archiveType() const; |
|
|
|
void setArchiveUnit(ArchiveMailInfo::ArchiveUnit unit); |
|
ArchiveMailInfo::ArchiveUnit archiveUnit() const; |
|
|
|
void setArchiveAge(int age); |
|
int archiveAge() const; |
|
|
|
void setLastDateSaved(const QDate &date); |
|
QDate lastDateSaved() const; |
|
|
|
int maximumArchiveCount() const; |
|
void setMaximumArchiveCount(int max); |
|
|
|
QStringList listOfArchive(const QString &foldername, bool &dirExist) const; |
|
|
|
bool isEnabled() const; |
|
void setEnabled(bool b); |
|
|
|
bool operator ==(const ArchiveMailInfo &other) const; |
|
|
|
private: |
|
QString dirArchive(bool &dirExit) const; |
|
QDate mLastDateSaved; |
|
int mArchiveAge = 1; |
|
MailCommon::BackupJob::ArchiveType mArchiveType = MailCommon::BackupJob::Zip; |
|
ArchiveUnit mArchiveUnit = ArchiveMailInfo::ArchiveDays; |
|
Akonadi::Collection::Id mSaveCollectionId = -1; |
|
QUrl mPath; |
|
int mMaximumArchiveCount = 0; |
|
bool mSaveSubCollection = false; |
|
bool mIsEnabled = true; |
|
}; |
|
|
|
#endif // ARCHIVEMAILINFO_H
|
|
|