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 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>->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->addWidget( lblAccount, 0, 0 );
<a name="l00041"></a>00041 layTop->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>->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->addWidget( lblServer, 1, 0 );
<a name="l00049"></a>00049 layTop->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>->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->addWidget( lblProtocol, 2, 0 );
<a name="l00057"></a>00057 layTop->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>->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->addWidget( lblPort, 3, 0 );
<a name="l00065"></a>00065 layTop->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->addWidget( lblUser, 4, 0 );
<a name="l00072"></a>00072 layTop->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->addWidget( gboxPassword );
<a name="l00077"></a>00077
<a name="l00078"></a>00078 QVBoxLayout* layPassword = <span class="keyword">new</span> QVBoxLayout( gboxPassword->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>->insert( btnPasswordDontSave, ID_BUTTON_PASSWORD_DONT_SAVE );
<a name="l00090"></a>00090 <a class="code" href="classServerDialog.html#63a7dda4a3c7da5a4b7979dcd13f96ce">grpPasswordStorage</a>->insert( btnPasswordSaveFile, ID_BUTTON_PASSWORD_SAVE_FILE );
<a name="l00091"></a>00091 <a class="code" href="classServerDialog.html#63a7dda4a3c7da5a4b7979dcd13f96ce">grpPasswordStorage</a>->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->addWidget( btnPasswordDontSave, 0, 0 );
<a name="l00096"></a>00096 layPasswordStorage->addWidget( btnPasswordSaveFile, 0, 1 );
<a name="l00097"></a>00097 layPasswordStorage->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->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>->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->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->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>->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>->setEnabled( <span class="keyword">false</span> );
<a name="l00138"></a>00138 <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>->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>->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() << <span class="stringliteral">"ServerDialog::slotOk: Given account pointer is Null."</span> << 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>->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>->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()->config();
<a name="l00166"></a>00166
<a name="l00167"></a>00167 config->setGroup( <a class="code" href="classServerDialog.html#690681b24cfd21ebdc4d5543bee5b4a3">txtAccount</a>->text() );
<a name="l00168"></a>00168
<a name="l00169"></a>00169 config->writeEntry( CONFIG_ENTRY_ACCOUNT_SERVER, <a class="code" href="classServerDialog.html#4779a9cb8e86f39ea43f8db6e7c0b0ad">txtServer</a>->text() );
<a name="l00170"></a>00170 config->writeEntry( CONFIG_ENTRY_ACCOUNT_PROTOCOL, <a class="code" href="classServerDialog.html#2634e6da37697f6a6a1a2020118bfd59">cboProtocol</a>->currentText().upper() );
<a name="l00171"></a>00171 config->writeEntry( CONFIG_ENTRY_ACCOUNT_PORT, <a class="code" href="classServerDialog.html#1ac6a0a7f23a08ab62450991412627d6">spbPort</a>->value() );
<a name="l00172"></a>00172 config->writeEntry( CONFIG_ENTRY_ACCOUNT_USER, <a class="code" href="classServerDialog.html#0df9d91a225a5426d198286987f5b1b2">txtUser</a>->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>->password() == <span class="stringliteral">""</span> || <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>->password() == QString::null )
<a name="l00181"></a>00181 pass = <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>->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>->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>->text() );
<a name="l00188"></a>00188 url.setHost( <a class="code" href="classServerDialog.html#4779a9cb8e86f39ea43f8db6e7c0b0ad">txtServer</a>->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>->selectedId() )
<a name="l00193"></a>00193 {
<a name="l00194"></a>00194 <span class="keywordflow">case</span> ID_BUTTON_PASSWORD_DONT_SAVE : config->writeEntry( CONFIG_ENTRY_ACCOUNT_PASSWORD_STORAGE, CONFIG_VALUE_ACCOUNT_PASSWORD_DONT_SAVE );
<a name="l00195"></a>00195 config->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->writeEntry( CONFIG_ENTRY_ACCOUNT_PASSWORD_STORAGE, CONFIG_VALUE_ACCOUNT_PASSWORD_SAVE_FILE );
<a name="l00198"></a>00198 config->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->writeEntry( CONFIG_ENTRY_ACCOUNT_PASSWORD_STORAGE, CONFIG_VALUE_ACCOUNT_PASSWORD_SAVE_KWALLET );
<a name="l00201"></a>00201 config->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>->text(), pass );
<a name="l00203"></a>00203 <span class="keywordflow">break</span>;
<a name="l00204"></a>00204 <span class="keywordflow">default</span> : config->writeEntry( CONFIG_ENTRY_ACCOUNT_PASSWORD_STORAGE, CONFIG_VALUE_ACCOUNT_PASSWORD_DONT_SAVE );
<a name="l00205"></a>00205 config->writeEntry( CONFIG_ENTRY_ACCOUNT_PASSWORD, QString::null );
<a name="l00206"></a>00206 }
<a name="l00207"></a>00207
<a name="l00208"></a>00208 config->writeEntry( CONFIG_ENTRY_ACCOUNT_ACTIVE, <a class="code" href="classServerDialog.html#b433e8128211c96fe08015cc45083ca6">chkActive</a>->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->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() << <span class="stringliteral">"ServerDialog::fillDialog: invalid pointer to account item."</span> << 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>->setText( <a class="code" href="classServerDialog.html#c361b2cc2165a11e38e83cea29e39185">account</a>-><a class="code" href="classConfigElem.html#760e18ad688d55cd76bfeeb4958df769">getAccountName</a>() );
<a name="l00227"></a>00227 <a class="code" href="classServerDialog.html#4779a9cb8e86f39ea43f8db6e7c0b0ad">txtServer</a>->setText( <a class="code" href="classServerDialog.html#c361b2cc2165a11e38e83cea29e39185">account</a>-><a class="code" href="classConfigElem.html#6a7f0888c77882eda05bcc22a27947c1">getHost</a>() );
<a name="l00228"></a>00228 <a class="code" href="classServerDialog.html#2634e6da37697f6a6a1a2020118bfd59">cboProtocol</a>->setCurrentText( <a class="code" href="classServerDialog.html#c361b2cc2165a11e38e83cea29e39185">account</a>-><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>->setValue( <a class="code" href="classServerDialog.html#c361b2cc2165a11e38e83cea29e39185">account</a>-><a class="code" href="classConfigElem.html#2b3366a9ebc43549491bd003578a0bc8">getPort</a>() );
<a name="l00230"></a>00230 <a class="code" href="classServerDialog.html#0df9d91a225a5426d198286987f5b1b2">txtUser</a>->setText( <a class="code" href="classServerDialog.html#c361b2cc2165a11e38e83cea29e39185">account</a>-><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>-><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 && type != CONFIG_VALUE_ACCOUNT_PASSWORD_SAVE_FILE && 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>->setButton( ID_BUTTON_PASSWORD_DONT_SAVE );
<a name="l00239"></a>00239 <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>->setEnabled( <span class="keyword">false</span> );
<a name="l00240"></a>00240 <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>->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>->setButton( ID_BUTTON_PASSWORD_SAVE_FILE );
<a name="l00243"></a>00243 <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>->setEnabled( <span class="keyword">true</span> );
<a name="l00244"></a>00244 <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>->setText( <a class="code" href="classServerDialog.html#c361b2cc2165a11e38e83cea29e39185">account</a>-><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>->setButton( ID_BUTTON_PASSWORD_SAVE_KWALLET );
<a name="l00247"></a>00247 <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>->setEnabled( <span class="keyword">true</span> );
<a name="l00248"></a>00248 <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>->setText( <a class="code" href="classServerDialog.html#c361b2cc2165a11e38e83cea29e39185">account</a>-><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>->setButton( 1 );
<a name="l00251"></a>00251 <a class="code" href="classServerDialog.html#8630fd27107213fd88fbaf0db02793d6">txtPassword</a>->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>->setChecked( <a class="code" href="classServerDialog.html#c361b2cc2165a11e38e83cea29e39185">account</a>-><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
<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>
|