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.
 
 
 

46 lines
1.2 KiB

/*
SPDX-FileCopyrightText: 2012-2020 Laurent Montel <montel@kde.org>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#include "archivemailagentutil.h"
#include "archivemailagent_debug.h"
QDate ArchiveMailAgentUtil::diffDate(ArchiveMailInfo *info)
{
QDate diffDate(info->lastDateSaved());
switch (info->archiveUnit()) {
case ArchiveMailInfo::ArchiveDays:
diffDate = diffDate.addDays(info->archiveAge());
break;
case ArchiveMailInfo::ArchiveWeeks:
diffDate = diffDate.addDays(info->archiveAge() * 7);
break;
case ArchiveMailInfo::ArchiveMonths:
diffDate = diffDate.addMonths(info->archiveAge());
break;
case ArchiveMailInfo::ArchiveYears:
diffDate = diffDate.addYears(info->archiveAge());
break;
}
return diffDate;
}
bool ArchiveMailAgentUtil::needToArchive(ArchiveMailInfo *info)
{
if (!info->isEnabled()) {
return false;
}
if (info->url().isEmpty()) {
return false;
}
if (!info->lastDateSaved().isValid()) {
return true;
} else {
if (QDate::currentDate() >= diffDate(info)) {
return true;
}
}
return false;
}