1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136 | /* ============================================================
*
* This file is a part of digiKam project
* https://www.digikam.org
*
* Date : 2007-11-07
* Description : mail settings container.
*
* SPDX-FileCopyrightText: 2007-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
* SPDX-FileCopyrightText: 2010 by Andi Clemens <andi dot clemens at googlemail dot com>
*
* SPDX-License-Identifier: GPL-2.0-or-later
*
* ============================================================ */
#include "mailsettings.h"
// KDE includes
#include <klocalizedstring.h>
#include <kconfiggroup.h>
namespace DigikamGenericSendByMailPlugin
{
MailSettings::MailSettings()
: selMode(IMAGES),
addFileProperties(false),
imagesChangeProp(false),
removeMetadata(false),
imageCompression(75),
attLimitInMbytes(17),
mailProgram(THUNDERBIRD),
imageSize(1024),
imageFormat(JPEG)
{
}
MailSettings::~MailSettings()
{
}
void MailSettings::readSettings(KConfigGroup& group)<--- Parameter 'group' can be declared as reference to const
{
selMode = (Selection)group.readEntry("SelMode",
(int)IMAGES);
addFileProperties = group.readEntry("AddCommentsAndTags",
false);
imagesChangeProp = group.readEntry("ImagesChangeProp",
false);
removeMetadata = group.readEntry("RemoveMetadata",
false);
attLimitInMbytes = group.readEntry("AttLimitInMbytes",
17);
imageCompression = group.readEntry("ImageCompression",
75);
mailProgram = (MailClient)group.readEntry("MailProgram",
(int)THUNDERBIRD);
imageSize = group.readEntry("ImageSize",
1024);
imageFormat = (ImageFormat)group.readEntry("ImageFormat",
(int)JPEG);
}
void MailSettings::writeSettings(KConfigGroup& group)
{
group.writeEntry("SelMode", (int)selMode);
group.writeEntry("AddCommentsAndTags", addFileProperties);
group.writeEntry("ImagesChangeProp", imagesChangeProp);
group.writeEntry("RemoveMetadata", removeMetadata);
group.writeEntry("AttLimitInMbytes", attLimitInMbytes);
group.writeEntry("ImageCompression", imageCompression);
group.writeEntry("MailProgram", (int)mailProgram);
group.writeEntry("ImageSize", imageSize);
group.writeEntry("ImageFormat", (int)imageFormat);
}
QString MailSettings::format() const
{
if (imageFormat == JPEG)
{
return QLatin1String("JPEG");
}
return QLatin1String("PNG");
}
void MailSettings::setMailUrl(const QUrl& orgUrl, const QUrl& emailUrl)
{
itemsList.insert(orgUrl, emailUrl);
}
QUrl MailSettings::mailUrl(const QUrl& orgUrl) const
{
if (itemsList.contains(orgUrl))
{
return itemsList.find(orgUrl).value();
}
return QUrl();
}
qint64 MailSettings::attachementLimit() const
{
qint64 val = attLimitInMbytes * 1024 * 1024;
return val;
}
QMap<MailSettings::MailClient, QString> MailSettings::mailClientNames()
{
QMap<MailClient, QString> clients;
clients[BALSA] = i18nc("Mail client: BALSA", "Balsa");
clients[CLAWSMAIL] = i18nc("Mail client: CLAWSMAIL", "Clawsmail");
clients[EVOLUTION] = i18nc("Mail client: EVOLUTION", "Evolution");
clients[KMAIL] = i18nc("Mail client: KMAIL", "Kmail");
clients[NETSCAPE] = i18nc("Mail client: NETSCAPE", "Netscape Messenger");
clients[OUTLOOK] = i18nc("Mail client: OUTLOOK", "Outlook");
clients[SYLPHEED] = i18nc("Mail client: SYLPHEED", "Sylpheed");
clients[THUNDERBIRD] = i18nc("Mail client: THUNDERBIRD", "Thunderbird");
return clients;
}
QMap<MailSettings::ImageFormat, QString> MailSettings::imageFormatNames()
{
QMap<ImageFormat, QString> frms;
frms[JPEG] = i18nc("Image format: JPEG", "Jpeg");
frms[PNG] = i18nc("Image format: PNG", "Png");
return frms;
}
} // namespace DigikamGenericSendByMailPlugin
|