summaryrefslogtreecommitdiff
path: root/noncore/net/mail
authorharlekin <harlekin>2004-01-08 17:42:16 (UTC)
committer harlekin <harlekin>2004-01-08 17:42:16 (UTC)
commiteeb69efb4e0639429e5f6fd15e65b1b6fbaa5c35 (patch) (unidiff)
treed14fa40cddeceb1b04dafa209841727811c6e71c /noncore/net/mail
parentc0a0d53fb92f8a1723c57580a5fd0ade66574ec4 (diff)
downloadopie-eeb69efb4e0639429e5f6fd15e65b1b6fbaa5c35.zip
opie-eeb69efb4e0639429e5f6fd15e65b1b6fbaa5c35.tar.gz
opie-eeb69efb4e0639429e5f6fd15e65b1b6fbaa5c35.tar.bz2
added support for pop3 tls
Diffstat (limited to 'noncore/net/mail') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/mail/editaccounts.cpp20
-rw-r--r--noncore/net/mail/editaccounts.h2
-rw-r--r--noncore/net/mail/libmailwrapper/pop3wrapper.cpp95
-rw-r--r--noncore/net/mail/libmailwrapper/settings.cpp7
-rw-r--r--noncore/net/mail/libmailwrapper/settings.h5
-rw-r--r--noncore/net/mail/pop3configui.ui328
6 files changed, 347 insertions, 110 deletions
diff --git a/noncore/net/mail/editaccounts.cpp b/noncore/net/mail/editaccounts.cpp
index de36e0d..439b619 100644
--- a/noncore/net/mail/editaccounts.cpp
+++ b/noncore/net/mail/editaccounts.cpp
@@ -312,13 +312,23 @@ POP3config::POP3config( POP3account *account, QWidget *parent, const char *name,
312 data = account; 312 data = account;
313 fillValues(); 313 fillValues();
314 314
315 connect( sslBox, SIGNAL( toggled( bool ) ), SLOT( slotSSL( bool ) ) ); 315 connect( ComboBox1, SIGNAL( activated( int ) ), SLOT( slotConnectionToggle( int ) ) );
316 ComboBox1->insertItem( "Only if available", 0 );
317 ComboBox1->insertItem( "Always, Negotiated", 1 );
318 ComboBox1->insertItem( "Connect on secure port", 2 );
319 ComboBox1->insertItem( "Run command instead", 3 );
320 CommandEdit->hide();
321 ComboBox1->setCurrentItem( data->ConnectionType() );
316} 322}
317 323
318void POP3config::slotSSL( bool enabled ) 324void POP3config::slotConnectionToggle( int index )
319{ 325{
320 if ( enabled ) { 326 // 2 is ssl connection
327 if ( index == 2 ) {
321 portLine->setText( POP3_SSL_PORT ); 328 portLine->setText( POP3_SSL_PORT );
329 } else if ( index == 3 ) {
330 portLine->setText( POP3_PORT );
331 CommandEdit->show();
322 } else { 332 } else {
323 portLine->setText( POP3_PORT ); 333 portLine->setText( POP3_PORT );
324 } 334 }
@@ -329,7 +339,7 @@ void POP3config::fillValues()
329 accountLine->setText( data->getAccountName() ); 339 accountLine->setText( data->getAccountName() );
330 serverLine->setText( data->getServer() ); 340 serverLine->setText( data->getServer() );
331 portLine->setText( data->getPort() ); 341 portLine->setText( data->getPort() );
332 sslBox->setChecked( data->getSSL() ); 342 ComboBox1->setCurrentItem( data->ConnectionType() );
333 userLine->setText( data->getUser() ); 343 userLine->setText( data->getUser() );
334 passLine->setText( data->getPassword() ); 344 passLine->setText( data->getPassword() );
335} 345}
@@ -339,7 +349,7 @@ void POP3config::accept()
339 data->setAccountName( accountLine->text() ); 349 data->setAccountName( accountLine->text() );
340 data->setServer( serverLine->text() ); 350 data->setServer( serverLine->text() );
341 data->setPort( portLine->text() ); 351 data->setPort( portLine->text() );
342 data->setSSL( sslBox->isChecked() ); 352 data->setConnectionType( ComboBox1->currentItem() );
343 data->setUser( userLine->text() ); 353 data->setUser( userLine->text() );
344 data->setPassword( passLine->text() ); 354 data->setPassword( passLine->text() );
345 355
diff --git a/noncore/net/mail/editaccounts.h b/noncore/net/mail/editaccounts.h
index 6022eef..fb4be71 100644
--- a/noncore/net/mail/editaccounts.h
+++ b/noncore/net/mail/editaccounts.h
@@ -98,7 +98,7 @@ public slots:
98 void fillValues(); 98 void fillValues();
99 99
100protected slots: 100protected slots:
101 void slotSSL( bool enabled ); 101 void slotConnectionToggle( int index );
102 void accept(); 102 void accept();
103 103
104private: 104private:
diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp
index 67bde38..f5eca4a 100644
--- a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp
@@ -11,8 +11,7 @@
11#define HARD_MSG_SIZE_LIMIT 5242880 11#define HARD_MSG_SIZE_LIMIT 5242880
12 12
13POP3wrapper::POP3wrapper( POP3account *a ) 13POP3wrapper::POP3wrapper( POP3account *a )
14 : Genericwrapper() 14: Genericwrapper() {
15{
16 account = a; 15 account = a;
17 m_pop3 = NULL; 16 m_pop3 = NULL;
18 m_folder = NULL; 17 m_folder = NULL;
@@ -20,8 +19,7 @@ POP3wrapper::POP3wrapper( POP3account *a )
20 last_msg_id = 0; 19 last_msg_id = 0;
21} 20}
22 21
23POP3wrapper::~POP3wrapper() 22POP3wrapper::~POP3wrapper() {
24{
25 logout(); 23 logout();
26 QFile msg_cache(msgTempName); 24 QFile msg_cache(msgTempName);
27 if (msg_cache.exists()) { 25 if (msg_cache.exists()) {
@@ -29,13 +27,11 @@ POP3wrapper::~POP3wrapper()
29 } 27 }
30} 28}
31 29
32void POP3wrapper::pop3_progress( size_t current, size_t maximum ) 30void POP3wrapper::pop3_progress( size_t current, size_t maximum ) {
33{
34 qDebug( "POP3: %i of %i", current, maximum ); 31 qDebug( "POP3: %i of %i", current, maximum );
35} 32}
36 33
37RecBody POP3wrapper::fetchBody( const RecMail &mail ) 34RecBody POP3wrapper::fetchBody( const RecMail &mail ) {
38{
39 int err = MAILPOP3_NO_ERROR; 35 int err = MAILPOP3_NO_ERROR;
40 char *message = 0; 36 char *message = 0;
41 size_t length = 0; 37 size_t length = 0;
@@ -90,27 +86,30 @@ RecBody POP3wrapper::fetchBody( const RecMail &mail )
90 body = parseMail(mailmsg); 86 body = parseMail(mailmsg);
91 87
92 /* clean up */ 88 /* clean up */
93 if (mailmsg) mailmessage_free(mailmsg); 89 if (mailmsg)
94 if (message) free(message); 90 mailmessage_free(mailmsg);
91 if (message)
92 free(message);
95 93
96 return body; 94 return body;
97} 95}
98 96
99void POP3wrapper::listMessages(const QString &, QList<RecMail> &target ) 97void POP3wrapper::listMessages(const QString &, QList<RecMail> &target ) {
100{
101 login(); 98 login();
102 if (!m_pop3) return; 99 if (!m_pop3)
100 return;
103 uint32_t res_messages,res_recent,res_unseen; 101 uint32_t res_messages,res_recent,res_unseen;
104 mailsession_status_folder(m_folder->fld_session,"INBOX",&res_messages,&res_recent,&res_unseen); 102 mailsession_status_folder(m_folder->fld_session,"INBOX",&res_messages,&res_recent,&res_unseen);
105 parseList(target,m_folder->fld_session,"INBOX"); 103 parseList(target,m_folder->fld_session,"INBOX");
106 Global::statusMessage( tr("Mailbox contains %1 mail(s)").arg(res_messages)); 104 Global::statusMessage( tr("Mailbox contains %1 mail(s)").arg(res_messages));
107} 105}
108 106
109void POP3wrapper::login() 107void POP3wrapper::login() {
110{ 108 if (account->getOffline())
111 if (account->getOffline()) return; 109 return;
112 /* we'll hold the line */ 110 /* we'll hold the line */
113 if ( m_pop3 != NULL ) return; 111 if ( m_pop3 != NULL )
112 return;
114 113
115 const char *server, *user, *pass; 114 const char *server, *user, *pass;
116 uint16_t port; 115 uint16_t port;
@@ -136,14 +135,29 @@ void POP3wrapper::login()
136 pass = account->getPassword().latin1(); 135 pass = account->getPassword().latin1();
137 } 136 }
138 137
139 bool ssl = account->getSSL(); 138 // bool ssl = account->getSSL();
140 139
141 m_pop3=mailstorage_new(NULL); 140 m_pop3=mailstorage_new(NULL);
142 int conntype = (ssl?CONNECTION_TYPE_TLS:CONNECTION_TYPE_PLAIN); 141
142 int conntypeset = account->ConnectionType();
143 int conntype = 0;
144 if ( conntypeset == 3 ) {
145 conntype = CONNECTION_TYPE_COMMAND;
146 } else if ( conntypeset == 2 ) {
147 conntype = CONNECTION_TYPE_TLS;
148 } else if ( conntypeset == 1 ) {
149 conntype = CONNECTION_TYPE_STARTTLS;
150 } else if ( conntypeset == 0 ) {
151 conntype = CONNECTION_TYPE_TRY_STARTTLS;
152 }
153
154 //(ssl?CONNECTION_TYPE_TLS:CONNECTION_TYPE_PLAIN);
143 155
144 pop3_mailstorage_init(m_pop3,(char*)server,port,NULL,conntype,POP3_AUTH_TYPE_PLAIN, 156 pop3_mailstorage_init(m_pop3,(char*)server,port,NULL,conntype,POP3_AUTH_TYPE_PLAIN,
145 (char*)user,(char*)pass,0,0,0); 157 (char*)user,(char*)pass,0,0,0);
146 158
159
160
147 m_folder = mailfolder_new(m_pop3, NULL, NULL); 161 m_folder = mailfolder_new(m_pop3, NULL, NULL);
148 162
149 if (m_folder==0) { 163 if (m_folder==0) {
@@ -163,10 +177,10 @@ void POP3wrapper::login()
163 } 177 }
164} 178}
165 179
166void POP3wrapper::logout() 180void POP3wrapper::logout() {
167{
168 int err = MAILPOP3_NO_ERROR; 181 int err = MAILPOP3_NO_ERROR;
169 if ( m_pop3 == NULL ) return; 182 if ( m_pop3 == NULL )
183 return;
170 mailfolder_free(m_folder); 184 mailfolder_free(m_folder);
171 m_folder = 0; 185 m_folder = 0;
172 mailstorage_free(m_pop3); 186 mailstorage_free(m_pop3);
@@ -174,8 +188,7 @@ void POP3wrapper::logout()
174} 188}
175 189
176 190
177QList<Folder>* POP3wrapper::listFolders() 191QList<Folder>* POP3wrapper::listFolders() {
178{
179 QList<Folder> * folders = new QList<Folder>(); 192 QList<Folder> * folders = new QList<Folder>();
180 folders->setAutoDelete( false ); 193 folders->setAutoDelete( false );
181 Folder*inb=new Folder("INBOX","/"); 194 Folder*inb=new Folder("INBOX","/");
@@ -183,24 +196,22 @@ QList<Folder>* POP3wrapper::listFolders()
183 return folders; 196 return folders;
184} 197}
185 198
186void POP3wrapper::deleteMail(const RecMail&mail) 199void POP3wrapper::deleteMail(const RecMail&mail) {
187{
188 login(); 200 login();
189 if (!m_pop3) return; 201 if (!m_pop3)
202 return;
190 int err = mailsession_remove_message(m_folder->fld_session,mail.getNumber()); 203 int err = mailsession_remove_message(m_folder->fld_session,mail.getNumber());
191 if (err != MAIL_NO_ERROR) { 204 if (err != MAIL_NO_ERROR) {
192 Global::statusMessage(tr("error deleting mail")); 205 Global::statusMessage(tr("error deleting mail"));
193 } 206 }
194} 207}
195 208
196void POP3wrapper::answeredMail(const RecMail&) 209void POP3wrapper::answeredMail(const RecMail&) {}
197{
198}
199 210
200int POP3wrapper::deleteAllMail(const Folder*) 211int POP3wrapper::deleteAllMail(const Folder*) {
201{
202 login(); 212 login();
203 if (!m_pop3) return 0; 213 if (!m_pop3)
214 return 0;
204 int res = 1; 215 int res = 1;
205 216
206 uint32_t result = 0; 217 uint32_t result = 0;
@@ -220,38 +231,36 @@ int POP3wrapper::deleteAllMail(const Folder*)
220 return res; 231 return res;
221} 232}
222 233
223void POP3wrapper::statusFolder(folderStat&target_stat,const QString&) 234void POP3wrapper::statusFolder(folderStat&target_stat,const QString&) {
224{
225 login(); 235 login();
226 target_stat.message_count = 0; 236 target_stat.message_count = 0;
227 target_stat.message_unseen = 0; 237 target_stat.message_unseen = 0;
228 target_stat.message_recent = 0; 238 target_stat.message_recent = 0;
229 if (!m_pop3) return; 239 if (!m_pop3)
240 return;
230 int r = mailsession_status_folder(m_folder->fld_session,0,&target_stat.message_count, 241 int r = mailsession_status_folder(m_folder->fld_session,0,&target_stat.message_count,
231 &target_stat.message_recent,&target_stat.message_unseen); 242 &target_stat.message_recent,&target_stat.message_unseen);
232} 243}
233 244
234encodedString* POP3wrapper::fetchRawBody(const RecMail&mail) 245encodedString* POP3wrapper::fetchRawBody(const RecMail&mail) {
235{
236 char*target=0; 246 char*target=0;
237 size_t length=0; 247 size_t length=0;
238 encodedString*res = 0; 248 encodedString*res = 0;
239 mailmessage * mailmsg = 0; 249 mailmessage * mailmsg = 0;
240 int err = mailsession_get_message(m_folder->fld_session, mail.getNumber(), &mailmsg); 250 int err = mailsession_get_message(m_folder->fld_session, mail.getNumber(), &mailmsg);
241 err = mailmessage_fetch(mailmsg,&target,&length); 251 err = mailmessage_fetch(mailmsg,&target,&length);
242 if (mailmsg) mailmessage_free(mailmsg); 252 if (mailmsg)
253 mailmessage_free(mailmsg);
243 if (target) { 254 if (target) {
244 res = new encodedString(target,length); 255 res = new encodedString(target,length);
245 } 256 }
246 return res; 257 return res;
247} 258}
248 259
249const QString&POP3wrapper::getType()const 260const QString&POP3wrapper::getType()const {
250{
251 return account->getType(); 261 return account->getType();
252} 262}
253 263
254const QString&POP3wrapper::getName()const 264const QString&POP3wrapper::getName()const {
255{
256 return account->getAccountName(); 265 return account->getAccountName();
257} 266}
diff --git a/noncore/net/mail/libmailwrapper/settings.cpp b/noncore/net/mail/libmailwrapper/settings.cpp
index 02a80a3..83e51e3 100644
--- a/noncore/net/mail/libmailwrapper/settings.cpp
+++ b/noncore/net/mail/libmailwrapper/settings.cpp
@@ -108,6 +108,7 @@ Account::Account()
108 accountName = "changeMe"; 108 accountName = "changeMe";
109 type = "changeMe"; 109 type = "changeMe";
110 ssl = false; 110 ssl = false;
111 connectionType = 1;
111} 112}
112 113
113void Account::remove() 114void Account::remove()
@@ -122,6 +123,7 @@ IMAPaccount::IMAPaccount()
122 file = IMAPaccount::getUniqueFileName(); 123 file = IMAPaccount::getUniqueFileName();
123 accountName = "New IMAP Account"; 124 accountName = "New IMAP Account";
124 ssl = false; 125 ssl = false;
126 connectionType = 1;
125 type = "IMAP"; 127 type = "IMAP";
126 port = IMAP_PORT; 128 port = IMAP_PORT;
127} 129}
@@ -132,6 +134,7 @@ IMAPaccount::IMAPaccount( QString filename )
132 file = filename; 134 file = filename;
133 accountName = "New IMAP Account"; 135 accountName = "New IMAP Account";
134 ssl = false; 136 ssl = false;
137 connectionType = 1;
135 type = "IMAP"; 138 type = "IMAP";
136 port = IMAP_PORT; 139 port = IMAP_PORT;
137} 140}
@@ -203,6 +206,7 @@ POP3account::POP3account()
203 file = POP3account::getUniqueFileName(); 206 file = POP3account::getUniqueFileName();
204 accountName = "New POP3 Account"; 207 accountName = "New POP3 Account";
205 ssl = false; 208 ssl = false;
209 connectionType = 1;
206 type = "POP3"; 210 type = "POP3";
207 port = POP3_PORT; 211 port = POP3_PORT;
208} 212}
@@ -213,6 +217,7 @@ POP3account::POP3account( QString filename )
213 file = filename; 217 file = filename;
214 accountName = "New POP3 Account"; 218 accountName = "New POP3 Account";
215 ssl = false; 219 ssl = false;
220 connectionType = 1;
216 type = "POP3"; 221 type = "POP3";
217 port = POP3_PORT; 222 port = POP3_PORT;
218} 223}
@@ -240,6 +245,7 @@ void POP3account::read()
240 server = conf->readEntry( "Server" ); 245 server = conf->readEntry( "Server" );
241 port = conf->readEntry( "Port" ); 246 port = conf->readEntry( "Port" );
242 ssl = conf->readBoolEntry( "SSL" ); 247 ssl = conf->readBoolEntry( "SSL" );
248 connectionType = conf->readNumEntry( "ConnectionType" );
243 user = conf->readEntry( "User" ); 249 user = conf->readEntry( "User" );
244 password = conf->readEntryCrypt( "Password" ); 250 password = conf->readEntryCrypt( "Password" );
245 offline = conf->readBoolEntry("Offline",false); 251 offline = conf->readBoolEntry("Offline",false);
@@ -257,6 +263,7 @@ void POP3account::save()
257 conf->writeEntry( "Server", server ); 263 conf->writeEntry( "Server", server );
258 conf->writeEntry( "Port", port ); 264 conf->writeEntry( "Port", port );
259 conf->writeEntry( "SSL", ssl ); 265 conf->writeEntry( "SSL", ssl );
266 conf->writeEntry( "ConnectionType", connectionType );
260 conf->writeEntry( "User", user ); 267 conf->writeEntry( "User", user );
261 conf->writeEntryCrypt( "Password", password ); 268 conf->writeEntryCrypt( "Password", password );
262 conf->writeEntry( "Offline",offline); 269 conf->writeEntry( "Offline",offline);
diff --git a/noncore/net/mail/libmailwrapper/settings.h b/noncore/net/mail/libmailwrapper/settings.h
index 2104997..8d7df92 100644
--- a/noncore/net/mail/libmailwrapper/settings.h
+++ b/noncore/net/mail/libmailwrapper/settings.h
@@ -31,6 +31,10 @@ public:
31 void setSSL( bool b ) { ssl = b; } 31 void setSSL( bool b ) { ssl = b; }
32 bool getSSL() { return ssl; } 32 bool getSSL() { return ssl; }
33 33
34 void setConnectionType( int x ) { connectionType = x; }
35 int ConnectionType() { return connectionType; }
36
37
34 void setOffline(bool b) {offline = b;} 38 void setOffline(bool b) {offline = b;}
35 bool getOffline()const{return offline;} 39 bool getOffline()const{return offline;}
36 40
@@ -41,6 +45,7 @@ public:
41protected: 45protected:
42 QString accountName, type, server, port, user, password; 46 QString accountName, type, server, port, user, password;
43 bool ssl; 47 bool ssl;
48 int connectionType;
44 bool offline; 49 bool offline;
45}; 50};
46 51
diff --git a/noncore/net/mail/pop3configui.ui b/noncore/net/mail/pop3configui.ui
index 8fdb4ba..95cbdc2 100644
--- a/noncore/net/mail/pop3configui.ui
+++ b/noncore/net/mail/pop3configui.ui
@@ -11,7 +11,7 @@
11 <rect> 11 <rect>
12 <x>0</x> 12 <x>0</x>
13 <y>0</y> 13 <y>0</y>
14 <width>236</width> 14 <width>232</width>
15 <height>320</height> 15 <height>320</height>
16 </rect> 16 </rect>
17 </property> 17 </property>
@@ -25,103 +25,315 @@
25 <property> 25 <property>
26 <name>layoutSpacing</name> 26 <name>layoutSpacing</name>
27 </property> 27 </property>
28 <grid> 28 <widget>
29 <class>QLayoutWidget</class>
30 <property stdset="1">
31 <name>name</name>
32 <cstring>Layout12</cstring>
33 </property>
34 <property stdset="1">
35 <name>geometry</name>
36 <rect>
37 <x>3</x>
38 <y>3</y>
39 <width>226</width>
40 <height>32</height>
41 </rect>
42 </property>
43 <hbox>
29 <property stdset="1"> 44 <property stdset="1">
30 <name>margin</name> 45 <name>margin</name>
31 <number>4</number> 46 <number>0</number>
32 </property> 47 </property>
33 <property stdset="1"> 48 <property stdset="1">
34 <name>spacing</name> 49 <name>spacing</name>
35 <number>3</number> 50 <number>6</number>
51 </property>
52 <widget>
53 <class>QLabel</class>
54 <property stdset="1">
55 <name>name</name>
56 <cstring>accountLabel</cstring>
36 </property> 57 </property>
37 <widget row="6" column="1" > 58 <property stdset="1">
59 <name>text</name>
60 <string>Account</string>
61 </property>
62 </widget>
63 <widget>
38 <class>QLineEdit</class> 64 <class>QLineEdit</class>
39 <property stdset="1"> 65 <property stdset="1">
40 <name>name</name> 66 <name>name</name>
41 <cstring>userLine</cstring> 67 <cstring>accountLine</cstring>
68 </property>
69 <property>
70 <name>toolTip</name>
71 <string>Name of the Account</string>
72 </property>
73 </widget>
74 </hbox>
75 </widget>
76 <widget>
77 <class>Line</class>
78 <property stdset="1">
79 <name>name</name>
80 <cstring>line1</cstring>
81 </property>
82 <property stdset="1">
83 <name>geometry</name>
84 <rect>
85 <x>3</x>
86 <y>38</y>
87 <width>226</width>
88 <height>16</height>
89 </rect>
90 </property>
91 <property stdset="1">
92 <name>orientation</name>
93 <enum>Horizontal</enum>
42 </property> 94 </property>
43 </widget> 95 </widget>
44 <widget row="7" column="0" > 96 <widget>
97 <class>QLayoutWidget</class>
98 <property stdset="1">
99 <name>name</name>
100 <cstring>Layout11</cstring>
101 </property>
102 <property stdset="1">
103 <name>geometry</name>
104 <rect>
105 <x>3</x>
106 <y>44</y>
107 <width>226</width>
108 <height>70</height>
109 </rect>
110 </property>
111 <hbox>
112 <property stdset="1">
113 <name>margin</name>
114 <number>0</number>
115 </property>
116 <property stdset="1">
117 <name>spacing</name>
118 <number>6</number>
119 </property>
120 <widget>
121 <class>QLayoutWidget</class>
122 <property stdset="1">
123 <name>name</name>
124 <cstring>Layout9</cstring>
125 </property>
126 <vbox>
127 <property stdset="1">
128 <name>margin</name>
129 <number>0</number>
130 </property>
131 <property stdset="1">
132 <name>spacing</name>
133 <number>6</number>
134 </property>
135 <widget>
45 <class>QLabel</class> 136 <class>QLabel</class>
46 <property stdset="1"> 137 <property stdset="1">
47 <name>name</name> 138 <name>name</name>
48 <cstring>passLabel</cstring> 139 <cstring>serverLabel</cstring>
49 </property> 140 </property>
50 <property stdset="1"> 141 <property stdset="1">
51 <name>text</name> 142 <name>text</name>
52 <string>Password</string> 143 <string>Server</string>
53 </property> 144 </property>
54 </widget> 145 </widget>
55 <widget row="7" column="1" > 146 <widget>
56 <class>QLineEdit</class> 147 <class>QLabel</class>
57 <property stdset="1"> 148 <property stdset="1">
58 <name>name</name> 149 <name>name</name>
59 <cstring>passLine</cstring> 150 <cstring>portLabel</cstring>
60 </property> 151 </property>
61 <property stdset="1"> 152 <property stdset="1">
62 <name>echoMode</name> 153 <name>text</name>
63 <enum>Password</enum> 154 <string>Port</string>
64 </property> 155 </property>
65 </widget> 156 </widget>
66 <widget row="3" column="1" > 157 </vbox>
158 </widget>
159 <widget>
160 <class>QLayoutWidget</class>
161 <property stdset="1">
162 <name>name</name>
163 <cstring>Layout10</cstring>
164 </property>
165 <vbox>
166 <property stdset="1">
167 <name>margin</name>
168 <number>0</number>
169 </property>
170 <property stdset="1">
171 <name>spacing</name>
172 <number>6</number>
173 </property>
174 <widget>
67 <class>QLineEdit</class> 175 <class>QLineEdit</class>
68 <property stdset="1"> 176 <property stdset="1">
69 <name>name</name> 177 <name>name</name>
70 <cstring>portLine</cstring> 178 <cstring>serverLine</cstring>
71 </property> 179 </property>
72 </widget> 180 </widget>
73 <widget row="2" column="1" > 181 <widget>
74 <class>QLineEdit</class> 182 <class>QLineEdit</class>
75 <property stdset="1"> 183 <property stdset="1">
76 <name>name</name> 184 <name>name</name>
77 <cstring>serverLine</cstring> 185 <cstring>portLine</cstring>
78 </property> 186 </property>
79 </widget> 187 </widget>
80 <widget row="2" column="0" > 188 </vbox>
189 </widget>
190 </hbox>
191 </widget>
192 <widget>
193 <class>QLayoutWidget</class>
194 <property stdset="1">
195 <name>name</name>
196 <cstring>Layout13</cstring>
197 </property>
198 <property stdset="1">
199 <name>geometry</name>
200 <rect>
201 <x>3</x>
202 <y>117</y>
203 <width>226</width>
204 <height>64</height>
205 </rect>
206 </property>
207 <vbox>
208 <property stdset="1">
209 <name>margin</name>
210 <number>0</number>
211 </property>
212 <property stdset="1">
213 <name>spacing</name>
214 <number>6</number>
215 </property>
216 <widget>
81 <class>QLabel</class> 217 <class>QLabel</class>
82 <property stdset="1"> 218 <property stdset="1">
83 <name>name</name> 219 <name>name</name>
84 <cstring>serverLabel</cstring> 220 <cstring>TextLabel1</cstring>
85 </property> 221 </property>
86 <property stdset="1"> 222 <property stdset="1">
87 <name>text</name> 223 <name>text</name>
88 <string>Server</string> 224 <string>Use secure sockets:</string>
89 </property> 225 </property>
90 </widget> 226 </widget>
91 <widget row="4" column="1" > 227 <widget>
92 <class>QCheckBox</class> 228 <class>QComboBox</class>
93 <property stdset="1"> 229 <property stdset="1">
94 <name>name</name> 230 <name>name</name>
95 <cstring>sslBox</cstring> 231 <cstring>ComboBox1</cstring>
96 </property> 232 </property>
233 </widget>
234 </vbox>
235 </widget>
236 <widget>
237 <class>QLayoutWidget</class>
97 <property stdset="1"> 238 <property stdset="1">
98 <name>text</name> 239 <name>name</name>
99 <string>Use SSL</string> 240 <cstring>Layout6</cstring>
100 </property> 241 </property>
101 </widget> 242 <property stdset="1">
102 <widget row="3" column="0" > 243 <name>geometry</name>
244 <rect>
245 <x>3</x>
246 <y>223</y>
247 <width>226</width>
248 <height>70</height>
249 </rect>
250 </property>
251 <hbox>
252 <property stdset="1">
253 <name>margin</name>
254 <number>0</number>
255 </property>
256 <property stdset="1">
257 <name>spacing</name>
258 <number>6</number>
259 </property>
260 <widget>
261 <class>QLayoutWidget</class>
262 <property stdset="1">
263 <name>name</name>
264 <cstring>Layout4</cstring>
265 </property>
266 <vbox>
267 <property stdset="1">
268 <name>margin</name>
269 <number>0</number>
270 </property>
271 <property stdset="1">
272 <name>spacing</name>
273 <number>6</number>
274 </property>
275 <widget>
103 <class>QLabel</class> 276 <class>QLabel</class>
104 <property stdset="1"> 277 <property stdset="1">
105 <name>name</name> 278 <name>name</name>
106 <cstring>portLabel</cstring> 279 <cstring>userLabel</cstring>
107 </property> 280 </property>
108 <property stdset="1"> 281 <property stdset="1">
109 <name>text</name> 282 <name>text</name>
110 <string>Port</string> 283 <string>User</string>
111 </property> 284 </property>
112 </widget> 285 </widget>
113 <widget row="6" column="0" > 286 <widget>
114 <class>QLabel</class> 287 <class>QLabel</class>
115 <property stdset="1"> 288 <property stdset="1">
116 <name>name</name> 289 <name>name</name>
117 <cstring>userLabel</cstring> 290 <cstring>passLabel</cstring>
118 </property> 291 </property>
119 <property stdset="1"> 292 <property stdset="1">
120 <name>text</name> 293 <name>text</name>
121 <string>User</string> 294 <string>Password</string>
122 </property> 295 </property>
123 </widget> 296 </widget>
124 <spacer row="8" column="1" > 297 </vbox>
298 </widget>
299 <widget>
300 <class>QLayoutWidget</class>
301 <property stdset="1">
302 <name>name</name>
303 <cstring>Layout5</cstring>
304 </property>
305 <vbox>
306 <property stdset="1">
307 <name>margin</name>
308 <number>0</number>
309 </property>
310 <property stdset="1">
311 <name>spacing</name>
312 <number>6</number>
313 </property>
314 <widget>
315 <class>QLineEdit</class>
316 <property stdset="1">
317 <name>name</name>
318 <cstring>userLine</cstring>
319 </property>
320 </widget>
321 <widget>
322 <class>QLineEdit</class>
323 <property stdset="1">
324 <name>name</name>
325 <cstring>passLine</cstring>
326 </property>
327 <property stdset="1">
328 <name>echoMode</name>
329 <enum>Password</enum>
330 </property>
331 </widget>
332 </vbox>
333 </widget>
334 </hbox>
335 </widget>
336 <spacer>
125 <property> 337 <property>
126 <name>name</name> 338 <name>name</name>
127 <cstring>spacer</cstring> 339 <cstring>spacer</cstring>
@@ -142,57 +354,51 @@
142 </size> 354 </size>
143 </property> 355 </property>
144 </spacer> 356 </spacer>
145 <widget row="5" column="0" rowspan="1" colspan="2" > 357 <widget>
146 <class>Line</class> 358 <class>QLineEdit</class>
147 <property stdset="1"> 359 <property stdset="1">
148 <name>name</name> 360 <name>name</name>
149 <cstring>line2</cstring> 361 <cstring>CommandEdit</cstring>
150 </property> 362 </property>
151 <property stdset="1"> 363 <property stdset="1">
152 <name>orientation</name> 364 <name>geometry</name>
153 <enum>Horizontal</enum> 365 <rect>
154 </property> 366 <x>0</x>
155 </widget> 367 <y>180</y>
156 <widget row="0" column="0" > 368 <width>226</width>
157 <class>QLabel</class> 369 <height>30</height>
158 <property stdset="1"> 370 </rect>
159 <name>name</name>
160 <cstring>accountLabel</cstring>
161 </property> 371 </property>
162 <property stdset="1"> 372 <property stdset="1">
163 <name>text</name> 373 <name>text</name>
164 <string>Account</string> 374 <string>ssh $SERVER exec imapd</string>
165 </property> 375 </property>
166 </widget> 376 </widget>
167 <widget row="0" column="1" > 377 <widget>
168 <class>QLineEdit</class> 378 <class>Line</class>
169 <property stdset="1"> 379 <property stdset="1">
170 <name>name</name> 380 <name>name</name>
171 <cstring>accountLine</cstring> 381 <cstring>line2</cstring>
172 </property>
173 <property>
174 <name>toolTip</name>
175 <string>Name of the Account</string>
176 </property> 382 </property>
177 </widget>
178 <widget row="1" column="0" rowspan="1" colspan="2" >
179 <class>Line</class>
180 <property stdset="1"> 383 <property stdset="1">
181 <name>name</name> 384 <name>geometry</name>
182 <cstring>line1</cstring> 385 <rect>
386 <x>3</x>
387 <y>204</y>
388 <width>226</width>
389 <height>16</height>
390 </rect>
183 </property> 391 </property>
184 <property stdset="1"> 392 <property stdset="1">
185 <name>orientation</name> 393 <name>orientation</name>
186 <enum>Horizontal</enum> 394 <enum>Horizontal</enum>
187 </property> 395 </property>
188 </widget> 396 </widget>
189 </grid>
190</widget> 397</widget>
191<tabstops> 398<tabstops>
192 <tabstop>accountLine</tabstop> 399 <tabstop>accountLine</tabstop>
193 <tabstop>serverLine</tabstop> 400 <tabstop>serverLine</tabstop>
194 <tabstop>portLine</tabstop> 401 <tabstop>portLine</tabstop>
195 <tabstop>sslBox</tabstop>
196 <tabstop>userLine</tabstop> 402 <tabstop>userLine</tabstop>
197 <tabstop>passLine</tabstop> 403 <tabstop>passLine</tabstop>
198</tabstops> 404</tabstops>