summaryrefslogtreecommitdiffstats
path: root/doc/html/serverdialog_8cpp-source.html
blob: 2755b13b122356e07b3bd8657bda191f990788a8 (plain)
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>kshowmail: kshowmail/serverdialog.cpp Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.0 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li><a href="classes.html"><span>Classes</span></a></li>
    <li id="current"><a href="files.html"><span>Files</span></a></li>
    <li><a href="dirs.html"><span>Directories</span></a></li>
  </ul></div>
<div class="nav">
<a class="el" href="dir_656923b733374505e0e2f68ecb68d952.html">kshowmail</a></div>
<h1>serverdialog.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************************************</span>
<a name="l00002"></a>00002 <span class="comment">                          serverdialog.cpp  -  description</span>
<a name="l00003"></a>00003 <span class="comment">                             -------------------</span>
<a name="l00004"></a>00004 <span class="comment">    begin                : Sun Oct 28 2001</span>
<a name="l00005"></a>00005 <span class="comment">    copyright            : (C) 2001 by Eggert Ehmke</span>
<a name="l00006"></a>00006 <span class="comment">    email                : eggert.ehmke@berlin.de</span>
<a name="l00007"></a>00007 <span class="comment"> ***************************************************************************/</span>
<a name="l00008"></a>00008 
<a name="l00009"></a>00009 <span class="comment">/***************************************************************************</span>
<a name="l00010"></a>00010 <span class="comment"> *                                                                         *</span>
<a name="l00011"></a>00011 <span class="comment"> *   This program is free software; you can redistribute it and/or modify  *</span>
<a name="l00012"></a>00012 <span class="comment"> *   it under the terms of the GNU General Public License as published by  *</span>
<a name="l00013"></a>00013 <span class="comment"> *   the Free Software Foundation; either version 2 of the License, or     *</span>
<a name="l00014"></a>00014 <span class="comment"> *   (at your option) any later version.                                   *</span>
<a name="l00015"></a>00015 <span class="comment"> *                                                                         *</span>
<a name="l00016"></a>00016 <span class="comment"> ***************************************************************************/</span>
<a name="l00017"></a>00017 
<a name="l00018"></a>00018 <span class="preprocessor">#include "serverdialog.h"</span>
<a name="l00019"></a>00019 
<a name="l00020"></a><a class="code" href="classServerDialog.html#2083bd1376173f7229267c77b00e0250">00020</a> <a class="code" href="classServerDialog.html#2083bd1376173f7229267c77b00e0250">ServerDialog::ServerDialog</a>( QWidget* parent, <a class="code" href="classConfigElem.html">ConfigElem</a>* item )
<a name="l00021"></a>00021   : KDialogBase( parent, <span class="stringliteral">"ServerDialog"</span>, true, QString::null, Ok|Cancel, Ok, true )
<a name="l00022"></a>00022 {
<a name="l00023"></a>00023   <span class="comment">//save pointer to account and view</span>
<a name="l00024"></a>00024   <a class="code" href="classServerDialog.html#c361b2cc2165a11e38e83cea29e39185">account</a> = item;
<a name="l00025"></a>00025 
<a name="l00026"></a>00026   <span class="comment">//main widget</span>
<a name="l00027"></a>00027   QWidget* page = <span class="keyword">new</span> QWidget( <span class="keyword">this</span> );
<a name="l00028"></a>00028   setMainWidget( page );
<a name="l00029"></a>00029 
<a name="l00030"></a>00030   <span class="comment">//layouts</span>
<a name="l00031"></a>00031   QVBoxLayout* layMain = <span class="keyword">new</span> QVBoxLayout( page, 0, spacingHint() );
<a name="l00032"></a>00032   QGridLayout* layTop = <span class="keyword">new</span> QGridLayout( layMain, 5, 2 );
<a name="l00033"></a>00033 
<a name="l00034"></a>00034   <span class="comment">//upper items</span>
<a name="l00035"></a>00035   QLabel* lblAccount = <span class="keyword">new</span> QLabel( i18n( <span class="stringliteral">"Account:"</span> ), page, <span class="stringliteral">"lblAccount"</span> );
<a name="l00036"></a>00036   <a class="code" href="classServerDialog.html#690681b24cfd21ebdc4d5543bee5b4a3">txtAccount</a> = <span class="keyword">new</span> KLineEdit( page, <span class="stringliteral">"txtAccount"</span> );
<a name="l00037"></a>00037   <a class="code" href="classServerDialog.html#690681b24cfd21ebdc4d5543bee5b4a3">txtAccount</a>-&gt;setEnabled( <span class="keyword">false</span> );
<a name="l00038"></a>00038   QToolTip::add( lblAccount, i18n( <span class="stringliteral">"Unique Account Name"</span> ) );
<a name="l00039"></a>00039   QToolTip::add( <a class="code" href="classServerDialog.html#690681b24cfd21ebdc4d5543bee5b4a3">txtAccount</a>, i18n( <span class="stringliteral">"Unique Account Name"</span> ) );
<a name="l00040"></a>00040   layTop-&gt;addWidget( lblAccount, 0, 0 );
<a name="l00041"></a>00041   layTop-&gt;addWidget( <a class="code" href="classServerDialog.html#690681b24cfd21ebdc4d5543bee5b4a3">txtAccount</a>, 0, 1 );
<a name="l00042"></a>00042 
<a name="l00043"></a>00043   QLabel* lblServer = <span class="keyword">new</span> QLabel( i18n( <span class="stringliteral">"Server:"</span> ), page, <span class="stringliteral">"lblServer"</span> );
<a name="l00044"></a>00044   <a class="code" href="classServerDialog.html#4779a9cb8e86f39ea43f8db6e7c0b0ad">txtServer</a> = <span class="keyword">new</span> KLineEdit( page, <span class="stringliteral">"txtServer"</span> );
<a name="l00045"></a>00045   <a class="code" href="classServerDialog.html#4779a9cb8e86f39ea43f8db6e7c0b0ad">txtServer</a>-&gt;setFocus();
<a name="l00046"></a>00046   QToolTip::add( lblServer, i18n( <span class="stringliteral">"Server Name"</span> ) );
<a name="l00047"></a>00047   QToolTip::add( <a class="code" href="classServerDialog.html#690681b24cfd21ebdc4d5543bee5b4a3">txtAccount</a>, i18n( <span class="stringliteral">"Server Name"</span> ) );
<a name="l00048"></a>00048   layTop-&gt;addWidget( lblServer, 1, 0 );
<a name="l00049"></a>00049   layTop-&gt;addWidget( <a class="code" href="classServerDialog.html#4779a9cb8e86f39ea43f8db6e7c0b0ad">txtServer</a>, 1, 1 );
<a name="l00050"></a>00050 
<a name="l00051"></a>00051   QLabel* lblProtocol = <span class="keyword">new</span> QLabel( i18n( <span class="stringliteral">"Protocol:"</span> ), page, <span class="stringliteral">"lblProtocol"</span> );
<a name="l00052"></a>00052   <a class="code" href="classServerDialog.html#2634e6da37697f6a6a1a2020118bfd59">cboProtocol</a> = <span class="keyword">new</span> KComboBox( page, <span class="stringliteral">"cboProtocol"</span> );
<a name="l00053"></a>00053   <a class="code" href="classServerDialog.html#2634e6da37697f6a6a1a2020118bfd59">cboProtocol</a>-&gt;insertItem( <span class="stringliteral">"POP3"</span> );  <span class="comment">//currently KShowmail just supports POP3</span>
<a name="l00054"></a>00054   QToolTip::add( lblProtocol, i18n( <span class="stringliteral">"Protocol, which shall be used to get the mails from the server. Currently KShowmail just supports POP3."</span>) );
<a name="l00055"></a>00055   QToolTip::add( <a class="code" href="classServerDialog.html#2634e6da37697f6a6a1a2020118bfd59">cboProtocol</a>, i18n( <span class="stringliteral">"Protocol, which shall be used to get the mails from the server. Currently KShowmail just supports POP3."</span>) );
<a name="l00056"></a>00056   layTop-&gt;addWidget( lblProtocol, 2, 0 );
<a name="l00057"></a>00057   layTop-&gt;addWidget( <a class="code" href="classServerDialog.html#2634e6da37697f6a6a1a2020118bfd59">cboProtocol</a>, 2, 1 );
<a name="l00058"></a>00058 
<a name="l00059"></a>00059   QLabel* lblPort = <span class="keyword">new</span> QLabel( i18n( <span class="stringliteral">"Port:"</span> ), page, <span class="stringliteral">"lblPort"</span> );
<a name="l00060"></a>00060   <a class="code" href="classServerDialog.html#1ac6a0a7f23a08ab62450991412627d6">spbPort</a> = <span class="keyword">new</span> QSpinBox( 0, 65535, 1, page, <span class="stringliteral">"spbPort"</span> );
<a name="l00061"></a>00061   <a class="code" href="classServerDialog.html#1ac6a0a7f23a08ab62450991412627d6">spbPort</a>-&gt;setValue( DEFAULT_PORT_POP3 );
<a name="l00062"></a>00062   QToolTip::add( lblPort, i18n( <span class="stringliteral">"Port Number. Normally POP3 uses port 110."</span> ) );
<a name="l00063"></a>00063   QToolTip::add( <a class="code" href="classServerDialog.html#1ac6a0a7f23a08ab62450991412627d6">spbPort</a>, i18n( <span class="stringliteral">"Port Number. Normally POP3 uses port 110."</span> ) );
<a name="l00064"></a>00064   layTop-&gt;addWidget( lblPort, 3, 0 );
<a name="l00065"></a>00065   layTop-&gt;addWidget( <a class="code" href="classServerDialog.html#1ac6a0a7f23a08ab62450991412627d6">spbPort</a>, 3, 1 );
<a name="l00066"></a>00066 
<a name="l00067"></a>00067   QLabel* lblUser = <span class="keyword">new</span> QLabel( i18n( <span class="stringliteral">"User:"</span> ), page, <span class="stringliteral">"lblUser"</span> );
<a name="l00068"></a>00068   <a class="code" href="classServerDialog.html#0df9d91a225a5426d198286987f5b1b2">txtUser</a> = <span class="keyword">new</span> KLineEdit( page, <span class="stringliteral">"txtUser"</span> );
<a name="l00069"></a>00069   QToolTip::add( lblUser, i18n( <span class="stringliteral">"To authenticate to the mail server you need an user name."</span> ) );
<a name="l00070"></a>00070   QToolTip::add( <a class="code" href="classServerDialog.html#0df9d91a225a5426d198286987f5b1b2">txtUser</a>, i18n( <span class="stringliteral">"To authenticate to the mail server you need an user name."</span> ) );
<a name="l00071"></a>00071   layTop-&gt;addWidget( lblUser, 4, 0 );
<a name="l00072"></a>00072   layTop-&gt;addWidget( <a class="code" href="classServerDialog.html#0df9d91a225a5426d198286987f5b1b2">txtUser</a>, 4, 1 );
<a name="l00073"></a>00073 
<a name="l00074"></a>00074   <span class="comment">//password groupbox and layouts</span>
<a name="l00075"></a>00075   QGroupBox* gboxPassword = <span class="keyword">new</span> QGroupBox( 0, Qt::Horizontal, i18n( <span class="stringliteral">"Password"</span> ), page, <span class="stringliteral">"gboxPassword"</span> );
<a name="l00076"></a>00076   layMain-&gt;addWidget( gboxPassword );
<a name="l00077"></a>00077 
<a name="l00078"></a>00078   QVBoxLayout* layPassword = <span class="keyword">new</span> QVBoxLayout( gboxPassword-&gt;layout(), spacingHint() );
<a name="l00079"></a>00079   QGridLayout* layPasswordStorage = <span class="keyword">new</span> QGridLayout( layPassword, 2, 2, spacingHint() );
<a name="l00080"></a>00080 
<a name="l00081"></a>00081 
<a name="l00082"></a>00082   <span class="comment">//radio buttons to set storage of the password</span>
<a name="l00083"></a>00083   <a class="code" href="classServerDialog.html#63a7dda4a3c7da5a4b7979dcd13f96ce">grpPasswordStorage</a> = <span class="keyword">new</span> QButtonGroup( NULL, <span class="stringliteral">"grpPasswordStorage"</span> );
<a name="l00084"></a>00084   connect( <a class="code" href="classServerDialog.html#63a7dda4a3c7da5a4b7979dcd13f96ce">grpPasswordStorage</a>, SIGNAL( clicked( <span class="keywordtype">int</span> ) ), <span class="keyword">this</span>, SLOT( <a class="code" href="classServerDialog.html#3b3962b56ecaaa225953601d37228cb3">slotPasswordStorageChanged</a>( <span class="keywordtype">int</span> ) ) );
<a name="l00085"></a>00085 
<a name="l00086"></a>00086   QRadioButton* btnPasswordDontSave = <span class="keyword">new</span> QRadioButton( i18n( <span class="stringliteral">"Don't save"</span> ), gboxPassword, <span class="stringliteral">"btnPasswordDontSave"</span> );
<a name="l00087"></a>00087   QRadioButton* btnPasswordSaveFile = <span class="keyword">new</span> QRadioButton( i18n( <span class="stringliteral">"Save password"</span>), gboxPassword, <span class="stringliteral">"btnPasswordSaveFile"</span> );
<a name="l00088"></a>00088   QRadioButton* btnPasswordSaveKWallet = <span class="keyword">new</span> QRadioButton( i18n( <span class="stringliteral">"Use KWallet"</span> ), gboxPassword, <span class="stringliteral">"btnPasswordSaveKWallet"</span> );
<a name="l00089"></a>00089   <a class="code" href="classServerDialog.html#63a7dda4a3c7da5a4b7979dcd13f96ce">grpPasswordStorage</a>-&gt;insert( btnPasswordDontSave, ID_BUTTON_PASSWORD_DONT_SAVE );
<a name="l00090"></a>00090   <a class="code" href="classServerDialog.html#63a7dda4a3c7da5a4b7979dcd13f96ce">grpPasswordStorage</a>-&gt;insert( btnPasswordSaveFile, ID_BUTTON_PASSWORD_SAVE_FILE );
<a name="l00091"></a>00091   <a class="code" href="classServerDialog.html#63a7dda4a3c7da5a4b7979dcd13f96ce">grpPasswordStorage</a>-&gt;insert( btnPasswordSaveKWallet, ID_BUTTON_PASSWORD_SAVE_KWALLET );
<a name="l00092"></a>00092   QToolTip::add( btnPasswordDontSave, i18n( <span class="stringliteral">"Don't save password. KShowmail will ask you for it at first server connect."</span> ) );
<a name="l00093"></a>00093   QToolTip::add( btnPasswordSaveFile, i18n( <span class="stringliteral">"Save password in the configuration file. Not recommended, because the password is just lightly encrypted"</span> ) );
<a name="l00094"></a>00094   QToolTip::add( btnPasswordSaveKWallet, i18n( <span class="stringliteral">"Use KWallet to save the password. Maybe you have to type in the KWallet master password at first server connect."</span> ) );
<a name="l00095"></a>00095   layPasswordStorage-&gt;addWidget( btnPasswordDontSave, 0, 0 );
<a name="l00096"></a>00096   layPasswordStorage-&gt;addWidget( btnPasswordSaveFile, 0, 1 );
<a name="l00097"></a>00097   layPasswordStorage-&gt;addWidget( btnPasswordSaveKWallet, 1, 0 );
<a name="l00098"></a>00098 
<a name="l00099"></a>00099   <span class="comment">//password edit line</span>
<a name="l00100"></a>00100   <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a> = <span class="keyword">new</span> KPasswordEdit( gboxPassword, <span class="stringliteral">"txtUser"</span> );
<a name="l00101"></a>00101   layPassword-&gt;addWidget( <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a> );
<a name="l00102"></a>00102 
<a name="l00103"></a>00103   <span class="comment">//set password defaults</span>
<a name="l00104"></a>00104   <a class="code" href="classServerDialog.html#63a7dda4a3c7da5a4b7979dcd13f96ce">grpPasswordStorage</a>-&gt;setButton( DEFAULT_ACCOUNT_PASSWORD_STORAGE );
<a name="l00105"></a>00105   <a class="code" href="classServerDialog.html#3b3962b56ecaaa225953601d37228cb3">slotPasswordStorageChanged</a>( DEFAULT_ACCOUNT_PASSWORD_STORAGE );
<a name="l00106"></a>00106 
<a name="l00107"></a>00107   <span class="comment">//active check box</span>
<a name="l00108"></a>00108   QGridLayout* layActive = <span class="keyword">new</span> QGridLayout( layMain, 1, 1 );
<a name="l00109"></a>00109   layActive-&gt;setAlignment( Qt::AlignCenter );
<a name="l00110"></a>00110   <a class="code" href="classServerDialog.html#b433e8128211c96fe08015cc45083ca6">chkActive</a> = <span class="keyword">new</span> QCheckBox( i18n( <span class="stringliteral">"Active"</span>), page, <span class="stringliteral">"chkActive"</span> );
<a name="l00111"></a>00111   QToolTip::add( <a class="code" href="classServerDialog.html#b433e8128211c96fe08015cc45083ca6">chkActive</a>, i18n( <span class="stringliteral">"Select it to activate this account."</span> ) );
<a name="l00112"></a>00112   layActive-&gt;addWidget( <a class="code" href="classServerDialog.html#b433e8128211c96fe08015cc45083ca6">chkActive</a>, 0, 0 );
<a name="l00113"></a>00113   <a class="code" href="classServerDialog.html#b433e8128211c96fe08015cc45083ca6">chkActive</a>-&gt;setChecked( DEFAULT_ACCOUNT_ACTIVE );
<a name="l00114"></a>00114 
<a name="l00115"></a>00115   <span class="comment">//set caption</span>
<a name="l00116"></a>00116   <span class="keywordflow">if</span>( item == NULL )
<a name="l00117"></a>00117     setCaption( i18n( <span class="stringliteral">"New account"</span> ) );
<a name="l00118"></a>00118   <span class="keywordflow">else</span>
<a name="l00119"></a>00119     setCaption( i18n( <span class="stringliteral">"Edit account"</span> ) );
<a name="l00120"></a>00120 
<a name="l00121"></a>00121   <span class="comment">//write values of the given account into the dialog items</span>
<a name="l00122"></a>00122   <span class="keywordflow">if</span>( <a class="code" href="classServerDialog.html#c361b2cc2165a11e38e83cea29e39185">account</a> != NULL )
<a name="l00123"></a>00123     <a class="code" href="classServerDialog.html#9ed57b703b9fb63d8ce406f36e6c66ba">fillDialog</a>();
<a name="l00124"></a>00124 
<a name="l00125"></a>00125 
<a name="l00126"></a>00126 }
<a name="l00127"></a>00127 
<a name="l00128"></a>00128 
<a name="l00129"></a><a class="code" href="classServerDialog.html#05ac011efd88d4ae6f0965f7b6d3606d">00129</a> <a class="code" href="classServerDialog.html#05ac011efd88d4ae6f0965f7b6d3606d">ServerDialog::~ServerDialog</a>()
<a name="l00130"></a>00130 {
<a name="l00131"></a>00131 }
<a name="l00132"></a>00132 
<a name="l00133"></a><a class="code" href="classServerDialog.html#3b3962b56ecaaa225953601d37228cb3">00133</a> <span class="keywordtype">void</span> <a class="code" href="classServerDialog.html#3b3962b56ecaaa225953601d37228cb3">ServerDialog::slotPasswordStorageChanged</a>( <span class="keywordtype">int</span> <span class="keywordtype">id</span> )
<a name="l00134"></a>00134 {
<a name="l00135"></a>00135   <span class="keywordflow">if</span>( <span class="keywordtype">id</span> == ID_BUTTON_PASSWORD_DONT_SAVE )
<a name="l00136"></a>00136   {
<a name="l00137"></a>00137     <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>-&gt;setEnabled( <span class="keyword">false</span> );
<a name="l00138"></a>00138     <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>-&gt;clear();
<a name="l00139"></a>00139   }
<a name="l00140"></a>00140   <span class="keywordflow">else</span>
<a name="l00141"></a>00141     <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>-&gt;setEnabled( <span class="keyword">true</span> );
<a name="l00142"></a>00142 }
<a name="l00143"></a>00143 
<a name="l00144"></a><a class="code" href="classServerDialog.html#05a288f0b2bf3fb3b129cf8e6ea210fb">00144</a> <span class="keywordtype">void</span> <a class="code" href="classServerDialog.html#05a288f0b2bf3fb3b129cf8e6ea210fb">ServerDialog::slotOk</a>( )
<a name="l00145"></a>00145 {
<a name="l00146"></a>00146   <span class="comment">//check for necessary values</span>
<a name="l00147"></a>00147   <span class="keywordflow">if</span>( <a class="code" href="classServerDialog.html#c361b2cc2165a11e38e83cea29e39185">account</a> == NULL )
<a name="l00148"></a>00148   {
<a name="l00149"></a>00149     kdError() &lt;&lt; <span class="stringliteral">"ServerDialog::slotOk: Given account pointer is Null."</span> &lt;&lt; endl;
<a name="l00150"></a>00150     <span class="keywordflow">return</span>;
<a name="l00151"></a>00151   }
<a name="l00152"></a>00152   <span class="keywordflow">if</span>( <a class="code" href="classServerDialog.html#4779a9cb8e86f39ea43f8db6e7c0b0ad">txtServer</a>-&gt;text() == <span class="stringliteral">""</span> )
<a name="l00153"></a>00153   {
<a name="l00154"></a>00154     KMessageBox::error( <span class="keyword">this</span>, i18n( <span class="stringliteral">"Please enter an server."</span> ) );
<a name="l00155"></a>00155     <span class="keywordflow">return</span>;
<a name="l00156"></a>00156   }
<a name="l00157"></a>00157 
<a name="l00158"></a>00158   <span class="keywordflow">if</span>( <a class="code" href="classServerDialog.html#0df9d91a225a5426d198286987f5b1b2">txtUser</a>-&gt;text() == <span class="stringliteral">""</span> )
<a name="l00159"></a>00159   {
<a name="l00160"></a>00160     KMessageBox::error( <span class="keyword">this</span>, i18n( <span class="stringliteral">"Please enter an user name."</span> ) );
<a name="l00161"></a>00161     <span class="keywordflow">return</span>;
<a name="l00162"></a>00162   }
<a name="l00163"></a>00163 
<a name="l00164"></a>00164   <span class="comment">//get application config object (kshowmailrc)</span>
<a name="l00165"></a>00165   KConfig* config = KApplication::kApplication()-&gt;config();
<a name="l00166"></a>00166 
<a name="l00167"></a>00167   config-&gt;setGroup( <a class="code" href="classServerDialog.html#690681b24cfd21ebdc4d5543bee5b4a3">txtAccount</a>-&gt;text() );
<a name="l00168"></a>00168 
<a name="l00169"></a>00169   config-&gt;writeEntry( CONFIG_ENTRY_ACCOUNT_SERVER, <a class="code" href="classServerDialog.html#4779a9cb8e86f39ea43f8db6e7c0b0ad">txtServer</a>-&gt;text() );
<a name="l00170"></a>00170   config-&gt;writeEntry( CONFIG_ENTRY_ACCOUNT_PROTOCOL, <a class="code" href="classServerDialog.html#2634e6da37697f6a6a1a2020118bfd59">cboProtocol</a>-&gt;currentText().upper() );
<a name="l00171"></a>00171   config-&gt;writeEntry( CONFIG_ENTRY_ACCOUNT_PORT, <a class="code" href="classServerDialog.html#1ac6a0a7f23a08ab62450991412627d6">spbPort</a>-&gt;value() );
<a name="l00172"></a>00172   config-&gt;writeEntry( CONFIG_ENTRY_ACCOUNT_USER, <a class="code" href="classServerDialog.html#0df9d91a225a5426d198286987f5b1b2">txtUser</a>-&gt;text() );
<a name="l00173"></a>00173 
<a name="l00174"></a>00174   <span class="comment">//get the password</span>
<a name="l00175"></a>00175   <span class="comment">//the class KPasswordEdit doesn't have a method to set the password</span>
<a name="l00176"></a>00176   <span class="comment">//therefore we use setText(). But if we use this method, KPasswordEdit::password()</span>
<a name="l00177"></a>00177   <span class="comment">//will return an empty string. If the user has typed in a new password, KPasswordEdit::password()</span>
<a name="l00178"></a>00178   <span class="comment">//will return the correct password</span>
<a name="l00179"></a>00179   QString pass;
<a name="l00180"></a>00180   <span class="keywordflow">if</span>( <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>-&gt;password() == <span class="stringliteral">""</span> || <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>-&gt;password() == QString::null )
<a name="l00181"></a>00181     pass = <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>-&gt;text();
<a name="l00182"></a>00182   <span class="keywordflow">else</span>
<a name="l00183"></a>00183     pass = <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>-&gt;password();
<a name="l00184"></a>00184 
<a name="l00185"></a>00185   <span class="comment">//used to encrypt password</span>
<a name="l00186"></a>00186   KURL url;
<a name="l00187"></a>00187   url.setUser( <a class="code" href="classServerDialog.html#0df9d91a225a5426d198286987f5b1b2">txtUser</a>-&gt;text() );
<a name="l00188"></a>00188   url.setHost( <a class="code" href="classServerDialog.html#4779a9cb8e86f39ea43f8db6e7c0b0ad">txtServer</a>-&gt;text() );
<a name="l00189"></a>00189   url.setPass( pass );
<a name="l00190"></a>00190 
<a name="l00191"></a>00191   <span class="comment">//save password (or not)</span>
<a name="l00192"></a>00192   <span class="keywordflow">switch</span>( <a class="code" href="classServerDialog.html#63a7dda4a3c7da5a4b7979dcd13f96ce">grpPasswordStorage</a>-&gt;selectedId() )
<a name="l00193"></a>00193   {
<a name="l00194"></a>00194     <span class="keywordflow">case</span> ID_BUTTON_PASSWORD_DONT_SAVE    : config-&gt;writeEntry( CONFIG_ENTRY_ACCOUNT_PASSWORD_STORAGE, CONFIG_VALUE_ACCOUNT_PASSWORD_DONT_SAVE );
<a name="l00195"></a>00195                                            config-&gt;writeEntry( CONFIG_ENTRY_ACCOUNT_PASSWORD, QString::null );
<a name="l00196"></a>00196                                            <span class="keywordflow">break</span>;
<a name="l00197"></a>00197     <span class="keywordflow">case</span> ID_BUTTON_PASSWORD_SAVE_FILE    : config-&gt;writeEntry( CONFIG_ENTRY_ACCOUNT_PASSWORD_STORAGE, CONFIG_VALUE_ACCOUNT_PASSWORD_SAVE_FILE );
<a name="l00198"></a>00198                                            config-&gt;writeEntry( CONFIG_ENTRY_ACCOUNT_PASSWORD, <a class="code" href="namespaceEncryption.html#83f630d4dba4cf3a5f6b03a25e43f6c8">crypt</a>( url ) );
<a name="l00199"></a>00199                                            <span class="keywordflow">break</span>;
<a name="l00200"></a>00200     <span class="keywordflow">case</span> ID_BUTTON_PASSWORD_SAVE_KWALLET : config-&gt;writeEntry( CONFIG_ENTRY_ACCOUNT_PASSWORD_STORAGE, CONFIG_VALUE_ACCOUNT_PASSWORD_SAVE_KWALLET );
<a name="l00201"></a>00201                                            config-&gt;writeEntry( CONFIG_ENTRY_ACCOUNT_PASSWORD, QString::null );
<a name="l00202"></a>00202                                            <a class="code" href="namespaceKWalletAccess.html#0687cd1465352be5b3572cdfd2411219">KWalletAccess::savePassword</a>( <a class="code" href="classServerDialog.html#690681b24cfd21ebdc4d5543bee5b4a3">txtAccount</a>-&gt;text(), pass );
<a name="l00203"></a>00203                                            <span class="keywordflow">break</span>;
<a name="l00204"></a>00204     <span class="keywordflow">default</span>                              : config-&gt;writeEntry( CONFIG_ENTRY_ACCOUNT_PASSWORD_STORAGE, CONFIG_VALUE_ACCOUNT_PASSWORD_DONT_SAVE );
<a name="l00205"></a>00205                                            config-&gt;writeEntry( CONFIG_ENTRY_ACCOUNT_PASSWORD, QString::null );
<a name="l00206"></a>00206   }
<a name="l00207"></a>00207 
<a name="l00208"></a>00208   config-&gt;writeEntry( CONFIG_ENTRY_ACCOUNT_ACTIVE, <a class="code" href="classServerDialog.html#b433e8128211c96fe08015cc45083ca6">chkActive</a>-&gt;isChecked() );
<a name="l00209"></a>00209 
<a name="l00210"></a>00210   <span class="comment">//save config to file</span>
<a name="l00211"></a>00211   config-&gt;sync();
<a name="l00212"></a>00212 
<a name="l00213"></a>00213   <span class="comment">//call slot of super class to close the dialog</span>
<a name="l00214"></a>00214   KDialogBase::slotOk();
<a name="l00215"></a>00215 }
<a name="l00216"></a>00216 
<a name="l00217"></a><a class="code" href="classServerDialog.html#9ed57b703b9fb63d8ce406f36e6c66ba">00217</a> <span class="keywordtype">void</span> <a class="code" href="classServerDialog.html#9ed57b703b9fb63d8ce406f36e6c66ba">ServerDialog::fillDialog</a>( )
<a name="l00218"></a>00218 {
<a name="l00219"></a>00219   <span class="comment">//check for valid account pointer</span>
<a name="l00220"></a>00220   <span class="keywordflow">if</span>( <a class="code" href="classServerDialog.html#c361b2cc2165a11e38e83cea29e39185">account</a> == NULL )
<a name="l00221"></a>00221   {
<a name="l00222"></a>00222     kdError() &lt;&lt; <span class="stringliteral">"ServerDialog::fillDialog: invalid pointer to account item."</span> &lt;&lt; endl;
<a name="l00223"></a>00223     <span class="keywordflow">return</span>;
<a name="l00224"></a>00224   }
<a name="l00225"></a>00225 
<a name="l00226"></a>00226   <a class="code" href="classServerDialog.html#690681b24cfd21ebdc4d5543bee5b4a3">txtAccount</a>-&gt;setText( <a class="code" href="classServerDialog.html#c361b2cc2165a11e38e83cea29e39185">account</a>-&gt;<a class="code" href="classConfigElem.html#760e18ad688d55cd76bfeeb4958df769">getAccountName</a>() );
<a name="l00227"></a>00227   <a class="code" href="classServerDialog.html#4779a9cb8e86f39ea43f8db6e7c0b0ad">txtServer</a>-&gt;setText( <a class="code" href="classServerDialog.html#c361b2cc2165a11e38e83cea29e39185">account</a>-&gt;<a class="code" href="classConfigElem.html#6a7f0888c77882eda05bcc22a27947c1">getHost</a>() );
<a name="l00228"></a>00228   <a class="code" href="classServerDialog.html#2634e6da37697f6a6a1a2020118bfd59">cboProtocol</a>-&gt;setCurrentText( <a class="code" href="classServerDialog.html#c361b2cc2165a11e38e83cea29e39185">account</a>-&gt;<a class="code" href="classConfigElem.html#562620c4141a744725d384309a9e55f1">getProtocol</a>( <span class="keyword">true</span> ) );
<a name="l00229"></a>00229   <a class="code" href="classServerDialog.html#1ac6a0a7f23a08ab62450991412627d6">spbPort</a>-&gt;setValue( <a class="code" href="classServerDialog.html#c361b2cc2165a11e38e83cea29e39185">account</a>-&gt;<a class="code" href="classConfigElem.html#2b3366a9ebc43549491bd003578a0bc8">getPort</a>() );
<a name="l00230"></a>00230   <a class="code" href="classServerDialog.html#0df9d91a225a5426d198286987f5b1b2">txtUser</a>-&gt;setText( <a class="code" href="classServerDialog.html#c361b2cc2165a11e38e83cea29e39185">account</a>-&gt;<a class="code" href="classConfigElem.html#19f5621cac8e71c1088995bcef75596a">getUser</a>() );
<a name="l00231"></a>00231 
<a name="l00232"></a>00232   <span class="keywordtype">int</span> type = <a class="code" href="classServerDialog.html#c361b2cc2165a11e38e83cea29e39185">account</a>-&gt;<a class="code" href="classConfigElem.html#34bc68f7bbdc296d18460f303f479450">getPasswordStorage</a>();
<a name="l00233"></a>00233   <span class="keywordflow">if</span>( type != CONFIG_VALUE_ACCOUNT_PASSWORD_DONT_SAVE &amp;&amp; type != CONFIG_VALUE_ACCOUNT_PASSWORD_SAVE_FILE &amp;&amp; type != CONFIG_VALUE_ACCOUNT_PASSWORD_SAVE_KWALLET )
<a name="l00234"></a>00234     type = DEFAULT_ACCOUNT_PASSWORD_STORAGE;
<a name="l00235"></a>00235 
<a name="l00236"></a>00236   <span class="keywordflow">switch</span>( type )
<a name="l00237"></a>00237   {
<a name="l00238"></a>00238     <span class="keywordflow">case</span> CONFIG_VALUE_ACCOUNT_PASSWORD_DONT_SAVE    : <a class="code" href="classServerDialog.html#63a7dda4a3c7da5a4b7979dcd13f96ce">grpPasswordStorage</a>-&gt;setButton( ID_BUTTON_PASSWORD_DONT_SAVE );
<a name="l00239"></a>00239                                                       <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>-&gt;setEnabled( <span class="keyword">false</span> );
<a name="l00240"></a>00240                                                       <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>-&gt;clear();
<a name="l00241"></a>00241                                                       <span class="keywordflow">break</span>;
<a name="l00242"></a>00242     <span class="keywordflow">case</span> CONFIG_VALUE_ACCOUNT_PASSWORD_SAVE_FILE    : <a class="code" href="classServerDialog.html#63a7dda4a3c7da5a4b7979dcd13f96ce">grpPasswordStorage</a>-&gt;setButton( ID_BUTTON_PASSWORD_SAVE_FILE );
<a name="l00243"></a>00243                                                       <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>-&gt;setEnabled( <span class="keyword">true</span> );
<a name="l00244"></a>00244                                                       <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>-&gt;setText( <a class="code" href="classServerDialog.html#c361b2cc2165a11e38e83cea29e39185">account</a>-&gt;<a class="code" href="classConfigElem.html#7ea9a96f400284acce0999639659c461">getPassword</a>() );
<a name="l00245"></a>00245                                                       <span class="keywordflow">break</span>;
<a name="l00246"></a>00246     <span class="keywordflow">case</span> CONFIG_VALUE_ACCOUNT_PASSWORD_SAVE_KWALLET : <a class="code" href="classServerDialog.html#63a7dda4a3c7da5a4b7979dcd13f96ce">grpPasswordStorage</a>-&gt;setButton( ID_BUTTON_PASSWORD_SAVE_KWALLET );
<a name="l00247"></a>00247                                                       <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>-&gt;setEnabled( <span class="keyword">true</span> );
<a name="l00248"></a>00248                                                       <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>-&gt;setText( <a class="code" href="classServerDialog.html#c361b2cc2165a11e38e83cea29e39185">account</a>-&gt;<a class="code" href="classConfigElem.html#7ea9a96f400284acce0999639659c461">getPassword</a>() );
<a name="l00249"></a>00249                                                       <span class="keywordflow">break</span>;
<a name="l00250"></a>00250     <span class="keywordflow">default</span>                                         : <a class="code" href="classServerDialog.html#63a7dda4a3c7da5a4b7979dcd13f96ce">grpPasswordStorage</a>-&gt;setButton( 1 );
<a name="l00251"></a>00251                                                       <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>-&gt;clear();
<a name="l00252"></a>00252   }
<a name="l00253"></a>00253 
<a name="l00254"></a>00254   <a class="code" href="classServerDialog.html#b433e8128211c96fe08015cc45083ca6">chkActive</a>-&gt;setChecked( <a class="code" href="classServerDialog.html#c361b2cc2165a11e38e83cea29e39185">account</a>-&gt;<a class="code" href="classConfigElem.html#9c91fce81b58e9d0d1b37688711e9014">isActive</a>() );
<a name="l00255"></a>00255 }
<a name="l00256"></a>00256 
<a name="l00257"></a>00257 <span class="preprocessor">#include "serverdialog.moc"</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Jul 5 19:36:07 2007 for kshowmail by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.0 </small></address>
</body>
</html>