• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • tdeio/tdeio
 

tdeio/tdeio

  • tdeio
  • tdeio
tdeemailsettings.cpp
1/*
2 * Copyright (c) 2000 Alex Zepeda <zipzippy@sonic.net>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 *
14 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * $Id$
27 */
28
29#include "tdeemailsettings.h"
30
31#include <tdeconfig.h>
32#include <tdelocale.h>
33#include <kdebug.h>
34
35class KEMailSettingsPrivate {
36public:
37 KEMailSettingsPrivate() : m_pConfig( 0 ) {}
38 ~KEMailSettingsPrivate() { delete m_pConfig; }
39 TDEConfig *m_pConfig;
40 TQStringList profiles;
41 TQString m_sDefaultProfile, m_sCurrentProfile;
42};
43
44TQString KEMailSettings::defaultProfileName() const
45{
46 return p->m_sDefaultProfile;
47}
48
49TQString KEMailSettings::getSetting(KEMailSettings::Setting s)
50{
51 p->m_pConfig->setGroup(TQString("PROFILE_")+p->m_sCurrentProfile);
52 switch (s) {
53 case ClientProgram: {
54 return p->m_pConfig->readEntry("EmailClient");
55 break;
56 }
57 case ClientTerminal: {
58 return ((p->m_pConfig->readBoolEntry("TerminalClient")) ? TQString("true") : TQString("false") );
59 break;
60 }
61 case RealName: {
62 return p->m_pConfig->readEntry("FullName");
63 break;
64 }
65 case EmailAddress: {
66 return p->m_pConfig->readEntry("EmailAddress");
67 break;
68 }
69 case ReplyToAddress: {
70 return p->m_pConfig->readEntry("ReplyAddr");
71 break;
72 }
73 case Organization: {
74 return p->m_pConfig->readEntry("Organization");
75 break;
76 }
77 case OutServer: {
78 return p->m_pConfig->readEntry("OutgoingServer");
79 break;
80 }
81 case OutServerLogin: {
82 return p->m_pConfig->readEntry("OutgoingUserName");
83 break;
84 }
85 case OutServerPass: {
86 return p->m_pConfig->readEntry("OutgoingPassword");
87 break;
88 }
89 case OutServerType: {
90 return p->m_pConfig->readEntry("OutgoingServerType");
91 break;
92 }
93 case OutServerCommand: {
94 return p->m_pConfig->readEntry("OutgoingCommand");
95 break;
96 }
97 case OutServerTLS: {
98 return ((p->m_pConfig->readBoolEntry("OutgoingServerTLS")) ? TQString("true") : TQString("false") );
99 break;
100 }
101 case InServer: {
102 return p->m_pConfig->readEntry("IncomingServer");
103 break;
104 }
105 case InServerLogin: {
106 return p->m_pConfig->readEntry("IncomingUserName");
107 break;
108 }
109 case InServerPass: {
110 return p->m_pConfig->readEntry("IncomingPassword");
111 break;
112 }
113 case InServerType: {
114 return p->m_pConfig->readEntry("IncomingServerType");
115 break;
116 }
117 case InServerMBXType: {
118 return p->m_pConfig->readEntry("IncomingServerMBXType");
119 break;
120 }
121 case InServerTLS: {
122 return ((p->m_pConfig->readBoolEntry("IncomingServerTLS")) ? TQString("true") : TQString("false") );
123 break;
124 }
125 };
126 return TQString::null;
127}
128void KEMailSettings::setSetting(KEMailSettings::Setting s, const TQString &v)
129{
130 p->m_pConfig->setGroup(TQString("PROFILE_")+p->m_sCurrentProfile);
131 switch (s) {
132 case ClientProgram: {
133 p->m_pConfig->writePathEntry("EmailClient", v);
134 break;
135 }
136 case ClientTerminal: {
137 p->m_pConfig->writeEntry("TerminalClient", (v == "true") ? true : false );
138 break;
139 }
140 case RealName: {
141 p->m_pConfig->writeEntry("FullName", v);
142 break;
143 }
144 case EmailAddress: {
145 p->m_pConfig->writeEntry("EmailAddress", v);
146 break;
147 }
148 case ReplyToAddress: {
149 p->m_pConfig->writeEntry("ReplyAddr", v);
150 break;
151 }
152 case Organization: {
153 p->m_pConfig->writeEntry("Organization", v);
154 break;
155 }
156 case OutServer: {
157 p->m_pConfig->writeEntry("OutgoingServer", v);
158 break;
159 }
160 case OutServerLogin: {
161 p->m_pConfig->writeEntry("OutgoingUserName", v);
162 break;
163 }
164 case OutServerPass: {
165 p->m_pConfig->writeEntry("OutgoingPassword", v);
166 break;
167 }
168 case OutServerType: {
169 p->m_pConfig->writeEntry("OutgoingServerType", v);
170 break;
171 }
172 case OutServerCommand: {
173 p->m_pConfig->writeEntry("OutgoingCommand", v);
174 break;
175 }
176 case OutServerTLS: {
177 p->m_pConfig->writeEntry("OutgoingServerTLS", (v == "true") ? true : false );
178 break;
179 }
180 case InServer: {
181 p->m_pConfig->writeEntry("IncomingServer", v);
182 break;
183 }
184 case InServerLogin: {
185 p->m_pConfig->writeEntry("IncomingUserName", v);
186 break;
187 }
188 case InServerPass: {
189 p->m_pConfig->writeEntry("IncomingPassword", v);
190 break;
191 }
192 case InServerType: {
193 p->m_pConfig->writeEntry("IncomingServerType", v);
194 break;
195 }
196 case InServerMBXType: {
197 p->m_pConfig->writeEntry("IncomingServerMBXType", v);
198 break;
199 }
200 case InServerTLS: {
201 p->m_pConfig->writeEntry("IncomingServerTLS", (v == "true") ? true : false );
202 break;
203 }
204 };
205 p->m_pConfig->sync();
206}
207
208void KEMailSettings::setDefault(const TQString &s)
209{
210 p->m_pConfig->setGroup("Defaults");
211 p->m_pConfig->writeEntry("Profile", s);
212 p->m_pConfig->sync();
213 p->m_sDefaultProfile=s;
214
215}
216
217void KEMailSettings::setProfile (const TQString &s)
218{
219 TQString groupname="PROFILE_";
220 groupname.append(s);
221 p->m_sCurrentProfile=s;
222 if (!p->m_pConfig->hasGroup(groupname)) { // Create a group if it doesn't exist
223 p->m_pConfig->setGroup(groupname);
224 p->m_pConfig->writeEntry("ServerType", TQString::null);
225 p->m_pConfig->sync();
226 p->profiles+=s;
227 }
228}
229
230TQString KEMailSettings::currentProfileName() const
231{
232 return p->m_sCurrentProfile;
233}
234
235TQStringList KEMailSettings::profiles() const
236{
237 return p->profiles;
238}
239
240KEMailSettings::KEMailSettings()
241{
242 p = new KEMailSettingsPrivate();
243 p->m_sCurrentProfile=TQString::null;
244
245 p->m_pConfig = new TDEConfig("emaildefaults");
246
247 TQStringList groups = p->m_pConfig->groupList();
248 for (TQStringList::Iterator it = groups.begin(); it != groups.end(); ++it) {
249 if ( (*it).left(8) == "PROFILE_" )
250 p->profiles+= (*it).mid(8, (*it).length());
251 }
252
253 p->m_pConfig->setGroup("Defaults");
254 p->m_sDefaultProfile=p->m_pConfig->readEntry("Profile", i18n("Default"));
255 if (!p->m_sDefaultProfile.isNull()) {
256 if (!p->m_pConfig->hasGroup(TQString("PROFILE_")+p->m_sDefaultProfile))
257 setDefault(i18n("Default"));
258 else
259 setDefault(p->m_sDefaultProfile);
260 } else {
261 if (p->profiles.count()) {
262 setDefault(p->profiles[0]);
263 } else
264 setDefault(i18n("Default"));
265 }
266 setProfile(defaultProfileName());
267}
268
269KEMailSettings::~KEMailSettings()
270{
271 delete p;
272}
KEMailSettings::setDefault
void setDefault(const TQString &def)
Sets a new default.
Definition: tdeemailsettings.cpp:208
KEMailSettings::setSetting
void setSetting(KEMailSettings::Setting s, const TQString &v)
Set one of the predefined "basic" settings.
Definition: tdeemailsettings.cpp:128
KEMailSettings::getSetting
TQString getSetting(KEMailSettings::Setting s)
Get one of the predefined "basic" settings.
Definition: tdeemailsettings.cpp:49
KEMailSettings::currentProfileName
TQString currentProfileName() const
Returns the name of the current profile.
Definition: tdeemailsettings.cpp:230
KEMailSettings::profiles
TQStringList profiles() const
List of profiles available.
Definition: tdeemailsettings.cpp:235
KEMailSettings::setProfile
void setProfile(const TQString &s)
Change the current profile.
Definition: tdeemailsettings.cpp:217
KEMailSettings::KEMailSettings
KEMailSettings()
Default constructor, just sets things up.
Definition: tdeemailsettings.cpp:240
KEMailSettings::defaultProfileName
TQString defaultProfileName() const
Returns the name of the default profile.
Definition: tdeemailsettings.cpp:44
KEMailSettings::~KEMailSettings
~KEMailSettings()
Default destructor, nothing to see here.
Definition: tdeemailsettings.cpp:269
KEMailSettings::Setting
Setting
The list of settings that I thought of when I wrote this class.
Definition: tdeemailsettings.h:57

tdeio/tdeio

Skip menu "tdeio/tdeio"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

tdeio/tdeio

Skip menu "tdeio/tdeio"
  • arts
  • dcop
  • dnssd
  • interfaces
  •   kspeech
  •     interface
  •     library
  •   tdetexteditor
  • kate
  • kded
  • kdoctools
  • kimgio
  • kjs
  • libtdemid
  • libtdescreensaver
  • tdeabc
  • tdecmshell
  • tdecore
  • tdefx
  • tdehtml
  • tdeinit
  • tdeio
  •   bookmarks
  •   httpfilter
  •   kpasswdserver
  •   kssl
  •   tdefile
  •   tdeio
  •   tdeioexec
  • tdeioslave
  •   http
  • tdemdi
  •   tdemdi
  • tdenewstuff
  • tdeparts
  • tdeprint
  • tderandr
  • tderesources
  • tdespell2
  • tdesu
  • tdeui
  • tdeunittest
  • tdeutils
  • tdewallet
Generated for tdeio/tdeio by doxygen 1.9.4
This website is maintained by Timothy Pearson.