summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/editaccounts.cpp22
-rw-r--r--noncore/net/mail/editaccounts.h2
-rw-r--r--noncore/net/mail/libmailwrapper/pop3wrapper.cpp137
-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.ui494
6 files changed, 452 insertions, 215 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
@@ -314,9 +314,19 @@ POP3config::POP3config( POP3account *account, QWidget *parent, const char *name,
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
321 portLine->setText( POP3_SSL_PORT ); 327 if ( index == 2 ) {
328 portLine->setText( POP3_SSL_PORT );
329 } else if ( index == 3 ) {
330 portLine->setText( POP3_PORT );
331 CommandEdit->show();
322 } else { 332 } else {
@@ -331,3 +341,3 @@ void POP3config::fillValues()
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() );
@@ -341,3 +351,3 @@ void POP3config::accept()
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() );
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
@@ -100,3 +100,3 @@ public slots:
100protected slots: 100protected slots:
101 void slotSSL( bool enabled ); 101 void slotConnectionToggle( int index );
102 void accept(); 102 void accept();
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
@@ -13,4 +13,3 @@
13POP3wrapper::POP3wrapper( POP3account *a ) 13POP3wrapper::POP3wrapper( POP3account *a )
14 : Genericwrapper() 14: Genericwrapper() {
15{
16 account = a; 15 account = a;
@@ -22,4 +21,3 @@ POP3wrapper::POP3wrapper( POP3account *a )
22 21
23POP3wrapper::~POP3wrapper() 22POP3wrapper::~POP3wrapper() {
24{
25 logout(); 23 logout();
@@ -31,4 +29,3 @@ POP3wrapper::~POP3wrapper()
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 );
@@ -36,4 +33,3 @@ void POP3wrapper::pop3_progress( size_t current, size_t maximum )
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;
@@ -92,4 +88,6 @@ RecBody POP3wrapper::fetchBody( const RecMail &mail )
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
@@ -98,6 +96,6 @@ RecBody POP3wrapper::fetchBody( const RecMail &mail )
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;
@@ -108,7 +106,8 @@ void POP3wrapper::listMessages(const QString &, QList<RecMail> &target )
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
@@ -121,26 +120,41 @@ void POP3wrapper::login()
121 120
122 if ( account->getUser().isEmpty() || account->getPassword().isEmpty() ) { 121 if ( account->getUser().isEmpty() || account->getPassword().isEmpty() ) {
123 LoginDialog login( account->getUser(), account->getPassword(), NULL, 0, true ); 122 LoginDialog login( account->getUser(), account->getPassword(), NULL, 0, true );
124 login.show(); 123 login.show();
125 if ( QDialog::Accepted == login.exec() ) { 124 if ( QDialog::Accepted == login.exec() ) {
126 // ok 125 // ok
127 user = login.getUser().latin1(); 126 user = login.getUser().latin1();
128 pass = login.getPassword().latin1(); 127 pass = login.getPassword().latin1();
129 } else { 128 } else {
130 // cancel 129 // cancel
131 qDebug( "POP3: Login canceled" ); 130 qDebug( "POP3: Login canceled" );
132 return; 131 return;
133 } 132 }
134 } else { 133 } else {
135 user = account->getUser().latin1(); 134 user = account->getUser().latin1();
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
143 142 int conntypeset = account->ConnectionType();
144 pop3_mailstorage_init(m_pop3,(char*)server,port,NULL,conntype,POP3_AUTH_TYPE_PLAIN, 143 int conntype = 0;
145 (char*)user,(char*)pass,0,0,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);
155
156 pop3_mailstorage_init(m_pop3,(char*)server, port, NULL, conntype, POP3_AUTH_TYPE_PLAIN,
157 (char*)user,(char*)pass,0,0,0);
158
159
146 160
@@ -165,6 +179,6 @@ void POP3wrapper::login()
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);
@@ -176,4 +190,3 @@ void POP3wrapper::logout()
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>();
@@ -185,6 +198,6 @@ QList<Folder>* POP3wrapper::listFolders()
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());
@@ -195,10 +208,8 @@ void POP3wrapper::deleteMail(const RecMail&mail)
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;
@@ -222,4 +233,3 @@ int POP3wrapper::deleteAllMail(const Folder*)
222 233
223void POP3wrapper::statusFolder(folderStat&target_stat,const QString&) 234void POP3wrapper::statusFolder(folderStat&target_stat,const QString&) {
224{
225 login(); 235 login();
@@ -228,9 +238,9 @@ void POP3wrapper::statusFolder(folderStat&target_stat,const QString&)
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;
@@ -241,3 +251,4 @@ encodedString* POP3wrapper::fetchRawBody(const RecMail&mail)
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) {
@@ -248,4 +259,3 @@ encodedString* POP3wrapper::fetchRawBody(const RecMail&mail)
248 259
249const QString&POP3wrapper::getType()const 260const QString&POP3wrapper::getType()const {
250{
251 return account->getType(); 261 return account->getType();
@@ -253,4 +263,3 @@ const QString&POP3wrapper::getType()const
253 263
254const QString&POP3wrapper::getName()const 264const QString&POP3wrapper::getName()const {
255{
256 return account->getAccountName(); 265 return account->getAccountName();
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
@@ -110,2 +110,3 @@ Account::Account()
110 ssl = false; 110 ssl = false;
111 connectionType = 1;
111} 112}
@@ -124,2 +125,3 @@ IMAPaccount::IMAPaccount()
124 ssl = false; 125 ssl = false;
126 connectionType = 1;
125 type = "IMAP"; 127 type = "IMAP";
@@ -134,2 +136,3 @@ IMAPaccount::IMAPaccount( QString filename )
134 ssl = false; 136 ssl = false;
137 connectionType = 1;
135 type = "IMAP"; 138 type = "IMAP";
@@ -205,2 +208,3 @@ POP3account::POP3account()
205 ssl = false; 208 ssl = false;
209 connectionType = 1;
206 type = "POP3"; 210 type = "POP3";
@@ -215,2 +219,3 @@ POP3account::POP3account( QString filename )
215 ssl = false; 219 ssl = false;
220 connectionType = 1;
216 type = "POP3"; 221 type = "POP3";
@@ -242,2 +247,3 @@ void POP3account::read()
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" );
@@ -259,2 +265,3 @@ void POP3account::save()
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 );
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
@@ -33,2 +33,6 @@ public:
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;}
@@ -43,2 +47,3 @@ protected:
43 bool ssl; 47 bool ssl;
48 int connectionType;
44 bool offline; 49 bool offline;
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
@@ -13,3 +13,3 @@
13 <y>0</y> 13 <y>0</y>
14 <width>236</width> 14 <width>232</width>
15 <height>320</height> 15 <height>320</height>
@@ -27,164 +27,371 @@
27 </property> 27 </property>
28 <grid> 28 <widget>
29 <class>QLayoutWidget</class>
29 <property stdset="1"> 30 <property stdset="1">
30 <name>margin</name> 31 <name>name</name>
31 <number>4</number> 32 <cstring>Layout12</cstring>
32 </property> 33 </property>
33 <property stdset="1"> 34 <property stdset="1">
34 <name>spacing</name> 35 <name>geometry</name>
35 <number>3</number> 36 <rect>
37 <x>3</x>
38 <y>3</y>
39 <width>226</width>
40 <height>32</height>
41 </rect>
36 </property> 42 </property>
37 <widget row="6" column="1" > 43 <hbox>
38 <class>QLineEdit</class>
39 <property stdset="1"> 44 <property stdset="1">
40 <name>name</name> 45 <name>margin</name>
41 <cstring>userLine</cstring> 46 <number>0</number>
42 </property> 47 </property>
43 </widget>
44 <widget row="7" column="0" >
45 <class>QLabel</class>
46 <property stdset="1"> 48 <property stdset="1">
47 <name>name</name> 49 <name>spacing</name>
48 <cstring>passLabel</cstring> 50 <number>6</number>
49 </property>
50 <property stdset="1">
51 <name>text</name>
52 <string>Password</string>
53 </property>
54 </widget>
55 <widget row="7" column="1" >
56 <class>QLineEdit</class>
57 <property stdset="1">
58 <name>name</name>
59 <cstring>passLine</cstring>
60 </property>
61 <property stdset="1">
62 <name>echoMode</name>
63 <enum>Password</enum>
64 </property>
65 </widget>
66 <widget row="3" column="1" >
67 <class>QLineEdit</class>
68 <property stdset="1">
69 <name>name</name>
70 <cstring>portLine</cstring>
71 </property>
72 </widget>
73 <widget row="2" column="1" >
74 <class>QLineEdit</class>
75 <property stdset="1">
76 <name>name</name>
77 <cstring>serverLine</cstring>
78 </property>
79 </widget>
80 <widget row="2" column="0" >
81 <class>QLabel</class>
82 <property stdset="1">
83 <name>name</name>
84 <cstring>serverLabel</cstring>
85 </property>
86 <property stdset="1">
87 <name>text</name>
88 <string>Server</string>
89 </property>
90 </widget>
91 <widget row="4" column="1" >
92 <class>QCheckBox</class>
93 <property stdset="1">
94 <name>name</name>
95 <cstring>sslBox</cstring>
96 </property>
97 <property stdset="1">
98 <name>text</name>
99 <string>Use SSL</string>
100 </property>
101 </widget>
102 <widget row="3" column="0" >
103 <class>QLabel</class>
104 <property stdset="1">
105 <name>name</name>
106 <cstring>portLabel</cstring>
107 </property>
108 <property stdset="1">
109 <name>text</name>
110 <string>Port</string>
111 </property>
112 </widget>
113 <widget row="6" column="0" >
114 <class>QLabel</class>
115 <property stdset="1">
116 <name>name</name>
117 <cstring>userLabel</cstring>
118 </property>
119 <property stdset="1">
120 <name>text</name>
121 <string>User</string>
122 </property>
123 </widget>
124 <spacer row="8" column="1" >
125 <property>
126 <name>name</name>
127 <cstring>spacer</cstring>
128 </property>
129 <property stdset="1">
130 <name>orientation</name>
131 <enum>Vertical</enum>
132 </property>
133 <property stdset="1">
134 <name>sizeType</name>
135 <enum>Expanding</enum>
136 </property>
137 <property>
138 <name>sizeHint</name>
139 <size>
140 <width>20</width>
141 <height>20</height>
142 </size>
143 </property>
144 </spacer>
145 <widget row="5" column="0" rowspan="1" colspan="2" >
146 <class>Line</class>
147 <property stdset="1">
148 <name>name</name>
149 <cstring>line2</cstring>
150 </property> 51 </property>
52 <widget>
53 <class>QLabel</class>
54 <property stdset="1">
55 <name>name</name>
56 <cstring>accountLabel</cstring>
57 </property>
58 <property stdset="1">
59 <name>text</name>
60 <string>Account</string>
61 </property>
62 </widget>
63 <widget>
64 <class>QLineEdit</class>
65 <property stdset="1">
66 <name>name</name>
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>
94 </property>
95 </widget>
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>
151 <property stdset="1"> 112 <property stdset="1">
152 <name>orientation</name> 113 <name>margin</name>
153 <enum>Horizontal</enum> 114 <number>0</number>
154 </property> 115 </property>
155 </widget>
156 <widget row="0" column="0" >
157 <class>QLabel</class>
158 <property stdset="1"> 116 <property stdset="1">
159 <name>name</name> 117 <name>spacing</name>
160 <cstring>accountLabel</cstring> 118 <number>6</number>
161 </property> 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>
136 <class>QLabel</class>
137 <property stdset="1">
138 <name>name</name>
139 <cstring>serverLabel</cstring>
140 </property>
141 <property stdset="1">
142 <name>text</name>
143 <string>Server</string>
144 </property>
145 </widget>
146 <widget>
147 <class>QLabel</class>
148 <property stdset="1">
149 <name>name</name>
150 <cstring>portLabel</cstring>
151 </property>
152 <property stdset="1">
153 <name>text</name>
154 <string>Port</string>
155 </property>
156 </widget>
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>
175 <class>QLineEdit</class>
176 <property stdset="1">
177 <name>name</name>
178 <cstring>serverLine</cstring>
179 </property>
180 </widget>
181 <widget>
182 <class>QLineEdit</class>
183 <property stdset="1">
184 <name>name</name>
185 <cstring>portLine</cstring>
186 </property>
187 </widget>
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>
162 <property stdset="1"> 208 <property stdset="1">
163 <name>text</name> 209 <name>margin</name>
164 <string>Account</string> 210 <number>0</number>
165 </property> 211 </property>
166 </widget>
167 <widget row="0" column="1" >
168 <class>QLineEdit</class>
169 <property stdset="1"> 212 <property stdset="1">
170 <name>name</name> 213 <name>spacing</name>
171 <cstring>accountLine</cstring> 214 <number>6</number>
172 </property> 215 </property>
173 <property> 216 <widget>
174 <name>toolTip</name> 217 <class>QLabel</class>
175 <string>Name of the Account</string> 218 <property stdset="1">
176 </property> 219 <name>name</name>
177 </widget> 220 <cstring>TextLabel1</cstring>
178 <widget row="1" column="0" rowspan="1" colspan="2" > 221 </property>
179 <class>Line</class> 222 <property stdset="1">
223 <name>text</name>
224 <string>Use secure sockets:</string>
225 </property>
226 </widget>
227 <widget>
228 <class>QComboBox</class>
229 <property stdset="1">
230 <name>name</name>
231 <cstring>ComboBox1</cstring>
232 </property>
233 </widget>
234 </vbox>
235 </widget>
236 <widget>
237 <class>QLayoutWidget</class>
238 <property stdset="1">
239 <name>name</name>
240 <cstring>Layout6</cstring>
241 </property>
242 <property stdset="1">
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>
180 <property stdset="1"> 252 <property stdset="1">
181 <name>name</name> 253 <name>margin</name>
182 <cstring>line1</cstring> 254 <number>0</number>
183 </property> 255 </property>
184 <property stdset="1"> 256 <property stdset="1">
185 <name>orientation</name> 257 <name>spacing</name>
186 <enum>Horizontal</enum> 258 <number>6</number>
187 </property> 259 </property>
188 </widget> 260 <widget>
189 </grid> 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>
276 <class>QLabel</class>
277 <property stdset="1">
278 <name>name</name>
279 <cstring>userLabel</cstring>
280 </property>
281 <property stdset="1">
282 <name>text</name>
283 <string>User</string>
284 </property>
285 </widget>
286 <widget>
287 <class>QLabel</class>
288 <property stdset="1">
289 <name>name</name>
290 <cstring>passLabel</cstring>
291 </property>
292 <property stdset="1">
293 <name>text</name>
294 <string>Password</string>
295 </property>
296 </widget>
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>
337 <property>
338 <name>name</name>
339 <cstring>spacer</cstring>
340 </property>
341 <property stdset="1">
342 <name>orientation</name>
343 <enum>Vertical</enum>
344 </property>
345 <property stdset="1">
346 <name>sizeType</name>
347 <enum>Expanding</enum>
348 </property>
349 <property>
350 <name>sizeHint</name>
351 <size>
352 <width>20</width>
353 <height>20</height>
354 </size>
355 </property>
356 </spacer>
357 <widget>
358 <class>QLineEdit</class>
359 <property stdset="1">
360 <name>name</name>
361 <cstring>CommandEdit</cstring>
362 </property>
363 <property stdset="1">
364 <name>geometry</name>
365 <rect>
366 <x>0</x>
367 <y>180</y>
368 <width>226</width>
369 <height>30</height>
370 </rect>
371 </property>
372 <property stdset="1">
373 <name>text</name>
374 <string>ssh $SERVER exec imapd</string>
375 </property>
376 </widget>
377 <widget>
378 <class>Line</class>
379 <property stdset="1">
380 <name>name</name>
381 <cstring>line2</cstring>
382 </property>
383 <property stdset="1">
384 <name>geometry</name>
385 <rect>
386 <x>3</x>
387 <y>204</y>
388 <width>226</width>
389 <height>16</height>
390 </rect>
391 </property>
392 <property stdset="1">
393 <name>orientation</name>
394 <enum>Horizontal</enum>
395 </property>
396 </widget>
190</widget> 397</widget>
@@ -194,3 +401,2 @@
194 <tabstop>portLine</tabstop> 401 <tabstop>portLine</tabstop>
195 <tabstop>sslBox</tabstop>
196 <tabstop>userLine</tabstop> 402 <tabstop>userLine</tabstop>