• 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 
35 class KEMailSettingsPrivate {
36 public:
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 
44 TQString KEMailSettings::defaultProfileName() const
45 {
46  return p->m_sDefaultProfile;
47 }
48 
49 TQString 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 }
128 void 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 
208 void 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 
217 void 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 
230 TQString KEMailSettings::currentProfileName() const
231 {
232  return p->m_sCurrentProfile;
233 }
234 
235 TQStringList KEMailSettings::profiles() const
236 {
237  return p->profiles;
238 }
239 
240 KEMailSettings::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 
269 KEMailSettings::~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.1
This website is maintained by Timothy Pearson.