-rw-r--r-- | noncore/net/mail/editaccounts.cpp | 22 | ||||
-rw-r--r-- | noncore/net/mail/editaccounts.h | 2 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/settings.cpp | 4 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/smtpwrapper.cpp | 308 | ||||
-rw-r--r-- | noncore/net/mail/smtpconfigui.ui | 433 |
5 files changed, 459 insertions, 310 deletions
diff --git a/noncore/net/mail/editaccounts.cpp b/noncore/net/mail/editaccounts.cpp index 0c0ecaf..9fc97e8 100644 --- a/noncore/net/mail/editaccounts.cpp +++ b/noncore/net/mail/editaccounts.cpp | |||
@@ -372,9 +372,19 @@ SMTPconfig::SMTPconfig( SMTPaccount *account, QWidget *parent, const char *name, | |||
372 | 372 | ||
373 | connect( sslBox, SIGNAL( toggled( bool ) ), SLOT( slotSSL( bool ) ) ); | 373 | connect( ComboBox1, SIGNAL( activated( int ) ), SLOT( slotConnectionToggle( int ) ) ); |
374 | ComboBox1->insertItem( "Only if available", 0 ); | ||
375 | ComboBox1->insertItem( "Always, Negotiated", 1 ); | ||
376 | ComboBox1->insertItem( "Connect on secure port", 2 ); | ||
377 | ComboBox1->insertItem( "Run command instead", 3 ); | ||
378 | CommandEdit->hide(); | ||
379 | ComboBox1->setCurrentItem( data->ConnectionType() ); | ||
374 | } | 380 | } |
375 | 381 | ||
376 | void SMTPconfig::slotSSL( bool enabled ) | 382 | void SMTPconfig::slotConnectionToggle( int index ) |
377 | { | 383 | { |
378 | if ( enabled ) { | 384 | // 2 is ssl connection |
379 | portLine->setText( SMTP_SSL_PORT ); | 385 | if ( index == 2 ) { |
386 | portLine->setText( SMTP_SSL_PORT ); | ||
387 | } else if ( index == 3 ) { | ||
388 | portLine->setText( SMTP_PORT ); | ||
389 | CommandEdit->show(); | ||
380 | } else { | 390 | } else { |
@@ -389,3 +399,3 @@ void SMTPconfig::fillValues() | |||
389 | portLine->setText( data->getPort() ); | 399 | portLine->setText( data->getPort() ); |
390 | sslBox->setChecked( data->getSSL() ); | 400 | ComboBox1->setCurrentItem( data->ConnectionType() ); |
391 | loginBox->setChecked( data->getLogin() ); | 401 | loginBox->setChecked( data->getLogin() ); |
@@ -400,3 +410,3 @@ void SMTPconfig::accept() | |||
400 | data->setPort( portLine->text() ); | 410 | data->setPort( portLine->text() ); |
401 | data->setSSL( sslBox->isChecked() ); | 411 | data->setConnectionType( ComboBox1->currentItem() ); |
402 | data->setLogin( loginBox->isChecked() ); | 412 | data->setLogin( loginBox->isChecked() ); |
diff --git a/noncore/net/mail/editaccounts.h b/noncore/net/mail/editaccounts.h index fb4be71..d51e299 100644 --- a/noncore/net/mail/editaccounts.h +++ b/noncore/net/mail/editaccounts.h | |||
@@ -116,3 +116,2 @@ public: | |||
116 | public slots: | 116 | public slots: |
117 | void slotSSL( bool enabled ); | ||
118 | void fillValues(); | 117 | void fillValues(); |
@@ -120,2 +119,3 @@ public slots: | |||
120 | protected slots: | 119 | protected slots: |
120 | void slotConnectionToggle( int index ); | ||
121 | void accept(); | 121 | void accept(); |
diff --git a/noncore/net/mail/libmailwrapper/settings.cpp b/noncore/net/mail/libmailwrapper/settings.cpp index 83e51e3..7b6a58d 100644 --- a/noncore/net/mail/libmailwrapper/settings.cpp +++ b/noncore/net/mail/libmailwrapper/settings.cpp | |||
@@ -285,2 +285,3 @@ SMTPaccount::SMTPaccount() | |||
285 | ssl = false; | 285 | ssl = false; |
286 | connectionType = 1; | ||
286 | login = false; | 287 | login = false; |
@@ -299,2 +300,3 @@ SMTPaccount::SMTPaccount( QString filename ) | |||
299 | ssl = false; | 300 | ssl = false; |
301 | connectionType = 1; | ||
300 | login = false; | 302 | login = false; |
@@ -327,2 +329,3 @@ void SMTPaccount::read() | |||
327 | ssl = conf->readBoolEntry( "SSL" ); | 329 | ssl = conf->readBoolEntry( "SSL" ); |
330 | connectionType = conf->readNumEntry( "ConnectionType" ); | ||
328 | login = conf->readBoolEntry( "Login" ); | 331 | login = conf->readBoolEntry( "Login" ); |
@@ -344,2 +347,3 @@ void SMTPaccount::save() | |||
344 | conf->writeEntry( "SSL", ssl ); | 347 | conf->writeEntry( "SSL", ssl ); |
348 | conf->writeEntry( "ConnectionType", connectionType ); | ||
345 | conf->writeEntry( "Login", login ); | 349 | conf->writeEntry( "Login", login ); |
diff --git a/noncore/net/mail/libmailwrapper/smtpwrapper.cpp b/noncore/net/mail/libmailwrapper/smtpwrapper.cpp index 08f6bb7..085d5e4 100644 --- a/noncore/net/mail/libmailwrapper/smtpwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/smtpwrapper.cpp | |||
@@ -27,4 +27,3 @@ progressMailSend*SMTPwrapper::sendProgress = 0; | |||
27 | SMTPwrapper::SMTPwrapper( Settings *s ) | 27 | SMTPwrapper::SMTPwrapper( Settings *s ) |
28 | : QObject() | 28 | : QObject() { |
29 | { | ||
30 | settings = s; | 29 | settings = s; |
@@ -42,41 +41,40 @@ void SMTPwrapper::emitQCop( int queued ) { | |||
42 | 41 | ||
43 | QString SMTPwrapper::mailsmtpError( int errnum ) | 42 | QString SMTPwrapper::mailsmtpError( int errnum ) { |
44 | { | ||
45 | switch ( errnum ) { | 43 | switch ( errnum ) { |
46 | case MAILSMTP_NO_ERROR: | 44 | case MAILSMTP_NO_ERROR: |
47 | return tr( "No error" ); | 45 | return tr( "No error" ); |
48 | case MAILSMTP_ERROR_UNEXPECTED_CODE: | 46 | case MAILSMTP_ERROR_UNEXPECTED_CODE: |
49 | return tr( "Unexpected error code" ); | 47 | return tr( "Unexpected error code" ); |
50 | case MAILSMTP_ERROR_SERVICE_NOT_AVAILABLE: | 48 | case MAILSMTP_ERROR_SERVICE_NOT_AVAILABLE: |
51 | return tr( "Service not available" ); | 49 | return tr( "Service not available" ); |
52 | case MAILSMTP_ERROR_STREAM: | 50 | case MAILSMTP_ERROR_STREAM: |
53 | return tr( "Stream error" ); | 51 | return tr( "Stream error" ); |
54 | case MAILSMTP_ERROR_HOSTNAME: | 52 | case MAILSMTP_ERROR_HOSTNAME: |
55 | return tr( "gethostname() failed" ); | 53 | return tr( "gethostname() failed" ); |
56 | case MAILSMTP_ERROR_NOT_IMPLEMENTED: | 54 | case MAILSMTP_ERROR_NOT_IMPLEMENTED: |
57 | return tr( "Not implemented" ); | 55 | return tr( "Not implemented" ); |
58 | case MAILSMTP_ERROR_ACTION_NOT_TAKEN: | 56 | case MAILSMTP_ERROR_ACTION_NOT_TAKEN: |
59 | return tr( "Error, action not taken" ); | 57 | return tr( "Error, action not taken" ); |
60 | case MAILSMTP_ERROR_EXCEED_STORAGE_ALLOCATION: | 58 | case MAILSMTP_ERROR_EXCEED_STORAGE_ALLOCATION: |
61 | return tr( "Data exceeds storage allocation" ); | 59 | return tr( "Data exceeds storage allocation" ); |
62 | case MAILSMTP_ERROR_IN_PROCESSING: | 60 | case MAILSMTP_ERROR_IN_PROCESSING: |
63 | return tr( "Error in processing" ); | 61 | return tr( "Error in processing" ); |
64 | // case MAILSMTP_ERROR_INSUFFISANT_SYSTEM_STORAGE: | 62 | // case MAILSMTP_ERROR_INSUFFISANT_SYSTEM_STORAGE: |
65 | // return tr( "Insufficient system storage" ); | 63 | // return tr( "Insufficient system storage" ); |
66 | case MAILSMTP_ERROR_MAILBOX_UNAVAILABLE: | 64 | case MAILSMTP_ERROR_MAILBOX_UNAVAILABLE: |
67 | return tr( "Mailbox unavailable" ); | 65 | return tr( "Mailbox unavailable" ); |
68 | case MAILSMTP_ERROR_MAILBOX_NAME_NOT_ALLOWED: | 66 | case MAILSMTP_ERROR_MAILBOX_NAME_NOT_ALLOWED: |
69 | return tr( "Mailbox name not allowed" ); | 67 | return tr( "Mailbox name not allowed" ); |
70 | case MAILSMTP_ERROR_BAD_SEQUENCE_OF_COMMAND: | 68 | case MAILSMTP_ERROR_BAD_SEQUENCE_OF_COMMAND: |
71 | return tr( "Bad command sequence" ); | 69 | return tr( "Bad command sequence" ); |
72 | case MAILSMTP_ERROR_USER_NOT_LOCAL: | 70 | case MAILSMTP_ERROR_USER_NOT_LOCAL: |
73 | return tr( "User not local" ); | 71 | return tr( "User not local" ); |
74 | case MAILSMTP_ERROR_TRANSACTION_FAILED: | 72 | case MAILSMTP_ERROR_TRANSACTION_FAILED: |
75 | return tr( "Transaction failed" ); | 73 | return tr( "Transaction failed" ); |
76 | case MAILSMTP_ERROR_MEMORY: | 74 | case MAILSMTP_ERROR_MEMORY: |
77 | return tr( "Memory error" ); | 75 | return tr( "Memory error" ); |
78 | case MAILSMTP_ERROR_CONNECTION_REFUSED: | 76 | case MAILSMTP_ERROR_CONNECTION_REFUSED: |
79 | return tr( "Connection refused" ); | 77 | return tr( "Connection refused" ); |
80 | default: | 78 | default: |
81 | return tr( "Unknown error code" ); | 79 | return tr( "Unknown error code" ); |
82 | } | 80 | } |
@@ -84,4 +82,3 @@ QString SMTPwrapper::mailsmtpError( int errnum ) | |||
84 | 82 | ||
85 | mailimf_mailbox *SMTPwrapper::newMailbox(const QString&name, const QString&mail ) | 83 | mailimf_mailbox *SMTPwrapper::newMailbox(const QString&name, const QString&mail ) { |
86 | { | ||
87 | return mailimf_mailbox_new( strdup( name.latin1() ), | 84 | return mailimf_mailbox_new( strdup( name.latin1() ), |
@@ -90,7 +87,7 @@ mailimf_mailbox *SMTPwrapper::newMailbox(const QString&name, const QString&mail | |||
90 | 87 | ||
91 | mailimf_address_list *SMTPwrapper::parseAddresses(const QString&addr ) | 88 | mailimf_address_list *SMTPwrapper::parseAddresses(const QString&addr ) { |
92 | { | ||
93 | mailimf_address_list *addresses; | 89 | mailimf_address_list *addresses; |
94 | 90 | ||
95 | if ( addr.isEmpty() ) return NULL; | 91 | if ( addr.isEmpty() ) |
92 | return NULL; | ||
96 | 93 | ||
@@ -125,4 +122,4 @@ mailimf_address_list *SMTPwrapper::parseAddresses(const QString&addr ) | |||
125 | if (!s.isEmpty()) { | 122 | if (!s.isEmpty()) { |
126 | list.append(s); | 123 | list.append(s); |
127 | qDebug("Appended %s",s.latin1()); | 124 | qDebug("Appended %s",s.latin1()); |
128 | } | 125 | } |
@@ -141,4 +138,3 @@ mailimf_address_list *SMTPwrapper::parseAddresses(const QString&addr ) | |||
141 | 138 | ||
142 | mailimf_fields *SMTPwrapper::createImfFields(const Mail&mail ) | 139 | mailimf_fields *SMTPwrapper::createImfFields(const Mail&mail ) { |
143 | { | ||
144 | mailimf_fields *fields; | 140 | mailimf_fields *fields; |
@@ -152,15 +148,20 @@ mailimf_fields *SMTPwrapper::createImfFields(const Mail&mail ) | |||
152 | sender = newMailbox( mail.getName(), mail.getMail() ); | 148 | sender = newMailbox( mail.getName(), mail.getMail() ); |
153 | if ( sender == NULL ) goto err_free; | 149 | if ( sender == NULL ) |
150 | goto err_free; | ||
154 | 151 | ||
155 | fromBox = newMailbox( mail.getName(), mail.getMail() ); | 152 | fromBox = newMailbox( mail.getName(), mail.getMail() ); |
156 | if ( fromBox == NULL ) goto err_free_sender; | 153 | if ( fromBox == NULL ) |
154 | goto err_free_sender; | ||
157 | 155 | ||
158 | from = mailimf_mailbox_list_new_empty(); | 156 | from = mailimf_mailbox_list_new_empty(); |
159 | if ( from == NULL ) goto err_free_fromBox; | 157 | if ( from == NULL ) |
158 | goto err_free_fromBox; | ||
160 | 159 | ||
161 | err = mailimf_mailbox_list_add( from, fromBox ); | 160 | err = mailimf_mailbox_list_add( from, fromBox ); |
162 | if ( err != MAILIMF_NO_ERROR ) goto err_free_from; | 161 | if ( err != MAILIMF_NO_ERROR ) |
162 | goto err_free_from; | ||
163 | 163 | ||
164 | to = parseAddresses( mail.getTo() ); | 164 | to = parseAddresses( mail.getTo() ); |
165 | if ( to == NULL ) goto err_free_from; | 165 | if ( to == NULL ) |
166 | goto err_free_from; | ||
166 | 167 | ||
@@ -172,3 +173,4 @@ mailimf_fields *SMTPwrapper::createImfFields(const Mail&mail ) | |||
172 | NULL, NULL, subject ); | 173 | NULL, NULL, subject ); |
173 | if ( fields == NULL ) goto err_free_reply; | 174 | if ( fields == NULL ) |
175 | goto err_free_reply; | ||
174 | 176 | ||
@@ -176,6 +178,8 @@ mailimf_fields *SMTPwrapper::createImfFields(const Mail&mail ) | |||
176 | strdup( USER_AGENT ) ); | 178 | strdup( USER_AGENT ) ); |
177 | if ( xmailer == NULL ) goto err_free_fields; | 179 | if ( xmailer == NULL ) |
180 | goto err_free_fields; | ||
178 | 181 | ||
179 | err = mailimf_fields_add( fields, xmailer ); | 182 | err = mailimf_fields_add( fields, xmailer ); |
180 | if ( err != MAILIMF_NO_ERROR ) goto err_free_xmailer; | 183 | if ( err != MAILIMF_NO_ERROR ) |
184 | goto err_free_xmailer; | ||
181 | 185 | ||
@@ -184,12 +188,19 @@ mailimf_fields *SMTPwrapper::createImfFields(const Mail&mail ) | |||
184 | err_free_xmailer: | 188 | err_free_xmailer: |
185 | if (xmailer) mailimf_field_free( xmailer ); | 189 | if (xmailer) |
190 | mailimf_field_free( xmailer ); | ||
186 | err_free_fields: | 191 | err_free_fields: |
187 | if (fields) mailimf_fields_free( fields ); | 192 | if (fields) |
193 | mailimf_fields_free( fields ); | ||
188 | err_free_reply: | 194 | err_free_reply: |
189 | if (reply) mailimf_address_list_free( reply ); | 195 | if (reply) |
190 | if (bcc) mailimf_address_list_free( bcc ); | 196 | mailimf_address_list_free( reply ); |
191 | if (cc) mailimf_address_list_free( cc ); | 197 | if (bcc) |
192 | if (to) mailimf_address_list_free( to ); | 198 | mailimf_address_list_free( bcc ); |
199 | if (cc) | ||
200 | mailimf_address_list_free( cc ); | ||
201 | if (to) | ||
202 | mailimf_address_list_free( to ); | ||
193 | err_free_from: | 203 | err_free_from: |
194 | if (from) mailimf_mailbox_list_free( from ); | 204 | if (from) |
205 | mailimf_mailbox_list_free( from ); | ||
195 | err_free_fromBox: | 206 | err_free_fromBox: |
@@ -197,5 +208,7 @@ err_free_fromBox: | |||
197 | err_free_sender: | 208 | err_free_sender: |
198 | if (sender) mailimf_mailbox_free( sender ); | 209 | if (sender) |
210 | mailimf_mailbox_free( sender ); | ||
199 | err_free: | 211 | err_free: |
200 | if (subject) free( subject ); | 212 | if (subject) |
213 | free( subject ); | ||
201 | qDebug( "createImfFields - error" ); | 214 | qDebug( "createImfFields - error" ); |
@@ -205,4 +218,3 @@ err_free: | |||
205 | 218 | ||
206 | mailmime *SMTPwrapper::buildTxtPart(const QString&str ) | 219 | mailmime *SMTPwrapper::buildTxtPart(const QString&str ) { |
207 | { | ||
208 | mailmime *txtPart; | 220 | mailmime *txtPart; |
@@ -215,18 +227,24 @@ mailmime *SMTPwrapper::buildTxtPart(const QString&str ) | |||
215 | strdup( "iso-8859-1" ) ); | 227 | strdup( "iso-8859-1" ) ); |
216 | if ( param == NULL ) goto err_free; | 228 | if ( param == NULL ) |
229 | goto err_free; | ||
217 | 230 | ||
218 | content = mailmime_content_new_with_str( "text/plain" ); | 231 | content = mailmime_content_new_with_str( "text/plain" ); |
219 | if ( content == NULL ) goto err_free_param; | 232 | if ( content == NULL ) |
233 | goto err_free_param; | ||
220 | 234 | ||
221 | err = clist_append( content->ct_parameters, param ); | 235 | err = clist_append( content->ct_parameters, param ); |
222 | if ( err != MAILIMF_NO_ERROR ) goto err_free_content; | 236 | if ( err != MAILIMF_NO_ERROR ) |
237 | goto err_free_content; | ||
223 | 238 | ||
224 | fields = mailmime_fields_new_encoding(MAILMIME_MECHANISM_8BIT); | 239 | fields = mailmime_fields_new_encoding(MAILMIME_MECHANISM_8BIT); |
225 | if ( fields == NULL ) goto err_free_content; | 240 | if ( fields == NULL ) |
241 | goto err_free_content; | ||
226 | 242 | ||
227 | txtPart = mailmime_new_empty( content, fields ); | 243 | txtPart = mailmime_new_empty( content, fields ); |
228 | if ( txtPart == NULL ) goto err_free_fields; | 244 | if ( txtPart == NULL ) |
245 | goto err_free_fields; | ||
229 | 246 | ||
230 | err = mailmime_set_body_text( txtPart, (char*)str.data(), str.length() ); | 247 | err = mailmime_set_body_text( txtPart, (char*)str.data(), str.length() ); |
231 | if ( err != MAILIMF_NO_ERROR ) goto err_free_txtPart; | 248 | if ( err != MAILIMF_NO_ERROR ) |
249 | goto err_free_txtPart; | ||
232 | 250 | ||
@@ -248,4 +266,3 @@ err_free: | |||
248 | 266 | ||
249 | mailmime *SMTPwrapper::buildFilePart(const QString&filename,const QString&mimetype,const QString&TextContent ) | 267 | mailmime *SMTPwrapper::buildFilePart(const QString&filename,const QString&mimetype,const QString&TextContent ) { |
250 | { | ||
251 | mailmime * filePart = 0; | 268 | mailmime * filePart = 0; |
@@ -276,4 +293,4 @@ mailmime *SMTPwrapper::buildFilePart(const QString&filename,const QString&mimety | |||
276 | fields = mailmime_fields_new_filename( | 293 | fields = mailmime_fields_new_filename( |
277 | disptype, name, | 294 | disptype, name, |
278 | mechanism ); | 295 | mechanism ); |
279 | content = mailmime_content_new_with_str( (char*)mimetype.latin1() ); | 296 | content = mailmime_content_new_with_str( (char*)mimetype.latin1() ); |
@@ -327,4 +344,3 @@ mailmime *SMTPwrapper::buildFilePart(const QString&filename,const QString&mimety | |||
327 | 344 | ||
328 | void SMTPwrapper::addFileParts( mailmime *message,const QList<Attachment>&files ) | 345 | void SMTPwrapper::addFileParts( mailmime *message,const QList<Attachment>&files ) { |
329 | { | ||
330 | const Attachment *it; | 346 | const Attachment *it; |
@@ -352,4 +368,3 @@ void SMTPwrapper::addFileParts( mailmime *message,const QList<Attachment>&files | |||
352 | 368 | ||
353 | mailmime *SMTPwrapper::createMimeMail(const Mail &mail ) | 369 | mailmime *SMTPwrapper::createMimeMail(const Mail &mail ) { |
354 | { | ||
355 | mailmime *message, *txtPart; | 370 | mailmime *message, *txtPart; |
@@ -359,6 +374,8 @@ mailmime *SMTPwrapper::createMimeMail(const Mail &mail ) | |||
359 | fields = createImfFields( mail ); | 374 | fields = createImfFields( mail ); |
360 | if ( fields == NULL ) goto err_free; | 375 | if ( fields == NULL ) |
376 | goto err_free; | ||
361 | 377 | ||
362 | message = mailmime_new_message_data( NULL ); | 378 | message = mailmime_new_message_data( NULL ); |
363 | if ( message == NULL ) goto err_free_fields; | 379 | if ( message == NULL ) |
380 | goto err_free_fields; | ||
364 | 381 | ||
@@ -368,6 +385,8 @@ mailmime *SMTPwrapper::createMimeMail(const Mail &mail ) | |||
368 | 385 | ||
369 | if ( txtPart == NULL ) goto err_free_message; | 386 | if ( txtPart == NULL ) |
387 | goto err_free_message; | ||
370 | 388 | ||
371 | err = mailmime_smart_add_part( message, txtPart ); | 389 | err = mailmime_smart_add_part( message, txtPart ); |
372 | if ( err != MAILIMF_NO_ERROR ) goto err_free_txtPart; | 390 | if ( err != MAILIMF_NO_ERROR ) |
391 | goto err_free_txtPart; | ||
373 | 392 | ||
@@ -389,4 +408,3 @@ err_free: | |||
389 | 408 | ||
390 | mailimf_field *SMTPwrapper::getField( mailimf_fields *fields, int type ) | 409 | mailimf_field *SMTPwrapper::getField( mailimf_fields *fields, int type ) { |
391 | { | ||
392 | mailimf_field *field; | 410 | mailimf_field *field; |
@@ -406,4 +424,3 @@ mailimf_field *SMTPwrapper::getField( mailimf_fields *fields, int type ) | |||
406 | 424 | ||
407 | void SMTPwrapper::addRcpts( clist *list, mailimf_address_list *addr_list ) | 425 | void SMTPwrapper::addRcpts( clist *list, mailimf_address_list *addr_list ) { |
408 | { | ||
409 | clistiter *it, *it2; | 426 | clistiter *it, *it2; |
@@ -415,11 +432,11 @@ void SMTPwrapper::addRcpts( clist *list, mailimf_address_list *addr_list ) | |||
415 | if ( addr->ad_type == MAILIMF_ADDRESS_MAILBOX ) { | 432 | if ( addr->ad_type == MAILIMF_ADDRESS_MAILBOX ) { |
416 | esmtp_address_list_add( list, addr->ad_data.ad_mailbox->mb_addr_spec, 0, NULL ); | 433 | esmtp_address_list_add( list, addr->ad_data.ad_mailbox->mb_addr_spec, 0, NULL ); |
417 | } else if ( addr->ad_type == MAILIMF_ADDRESS_GROUP ) { | 434 | } else if ( addr->ad_type == MAILIMF_ADDRESS_GROUP ) { |
418 | clist *l = addr->ad_data.ad_group->grp_mb_list->mb_list; | 435 | clist *l = addr->ad_data.ad_group->grp_mb_list->mb_list; |
419 | for ( it2 = clist_begin( l ); it2; it2 = it2->next ) { | 436 | for ( it2 = clist_begin( l ); it2; it2 = it2->next ) { |
420 | mailimf_mailbox *mbox; | 437 | mailimf_mailbox *mbox; |
421 | mbox = (mailimf_mailbox *) it2->data; | 438 | mbox = (mailimf_mailbox *) it2->data; |
422 | esmtp_address_list_add( list, mbox->mb_addr_spec, 0, NULL ); | 439 | esmtp_address_list_add( list, mbox->mb_addr_spec, 0, NULL ); |
423 | } | 440 | } |
424 | } | 441 | } |
425 | } | 442 | } |
@@ -427,4 +444,3 @@ void SMTPwrapper::addRcpts( clist *list, mailimf_address_list *addr_list ) | |||
427 | 444 | ||
428 | clist *SMTPwrapper::createRcptList( mailimf_fields *fields ) | 445 | clist *SMTPwrapper::createRcptList( mailimf_fields *fields ) { |
429 | { | ||
430 | clist *rcptList; | 446 | clist *rcptList; |
@@ -436,3 +452,3 @@ clist *SMTPwrapper::createRcptList( mailimf_fields *fields ) | |||
436 | if ( field && (field->fld_type == MAILIMF_FIELD_TO) | 452 | if ( field && (field->fld_type == MAILIMF_FIELD_TO) |
437 | && field->fld_data.fld_to->to_addr_list ) { | 453 | && field->fld_data.fld_to->to_addr_list ) { |
438 | addRcpts( rcptList, field->fld_data.fld_to->to_addr_list ); | 454 | addRcpts( rcptList, field->fld_data.fld_to->to_addr_list ); |
@@ -442,3 +458,3 @@ clist *SMTPwrapper::createRcptList( mailimf_fields *fields ) | |||
442 | if ( field && (field->fld_type == MAILIMF_FIELD_CC) | 458 | if ( field && (field->fld_type == MAILIMF_FIELD_CC) |
443 | && field->fld_data.fld_cc->cc_addr_list ) { | 459 | && field->fld_data.fld_cc->cc_addr_list ) { |
444 | addRcpts( rcptList, field->fld_data.fld_cc->cc_addr_list ); | 460 | addRcpts( rcptList, field->fld_data.fld_cc->cc_addr_list ); |
@@ -448,3 +464,3 @@ clist *SMTPwrapper::createRcptList( mailimf_fields *fields ) | |||
448 | if ( field && (field->fld_type == MAILIMF_FIELD_BCC) | 464 | if ( field && (field->fld_type == MAILIMF_FIELD_BCC) |
449 | && field->fld_data.fld_bcc->bcc_addr_list ) { | 465 | && field->fld_data.fld_bcc->bcc_addr_list ) { |
450 | addRcpts( rcptList, field->fld_data.fld_bcc->bcc_addr_list ); | 466 | addRcpts( rcptList, field->fld_data.fld_bcc->bcc_addr_list ); |
@@ -455,7 +471,6 @@ clist *SMTPwrapper::createRcptList( mailimf_fields *fields ) | |||
455 | 471 | ||
456 | char *SMTPwrapper::getFrom( mailimf_field *ffrom) | 472 | char *SMTPwrapper::getFrom( mailimf_field *ffrom) { |
457 | { | ||
458 | char *from = NULL; | 473 | char *from = NULL; |
459 | if ( ffrom && (ffrom->fld_type == MAILIMF_FIELD_FROM) | 474 | if ( ffrom && (ffrom->fld_type == MAILIMF_FIELD_FROM) |
460 | && ffrom->fld_data.fld_from->frm_mb_list && ffrom->fld_data.fld_from->frm_mb_list->mb_list ) { | 475 | && ffrom->fld_data.fld_from->frm_mb_list && ffrom->fld_data.fld_from->frm_mb_list->mb_list ) { |
461 | clist *cl = ffrom->fld_data.fld_from->frm_mb_list->mb_list; | 476 | clist *cl = ffrom->fld_data.fld_from->frm_mb_list->mb_list; |
@@ -471,4 +486,3 @@ char *SMTPwrapper::getFrom( mailimf_field *ffrom) | |||
471 | 486 | ||
472 | char *SMTPwrapper::getFrom( mailmime *mail ) | 487 | char *SMTPwrapper::getFrom( mailmime *mail ) { |
473 | { | ||
474 | /* no need to delete - its just a pointer to structure content */ | 488 | /* no need to delete - its just a pointer to structure content */ |
@@ -479,4 +493,3 @@ char *SMTPwrapper::getFrom( mailmime *mail ) | |||
479 | 493 | ||
480 | void SMTPwrapper::progress( size_t current, size_t maximum ) | 494 | void SMTPwrapper::progress( size_t current, size_t maximum ) { |
481 | { | ||
482 | if (SMTPwrapper::sendProgress) { | 495 | if (SMTPwrapper::sendProgress) { |
@@ -487,5 +500,5 @@ void SMTPwrapper::progress( size_t current, size_t maximum ) | |||
487 | 500 | ||
488 | void SMTPwrapper::storeMail(const char*mail, size_t length, const QString&box) | 501 | void SMTPwrapper::storeMail(const char*mail, size_t length, const QString&box) { |
489 | { | 502 | if (!mail) |
490 | if (!mail) return; | 503 | return; |
491 | QString localfolders = AbstractMail::defaultLocalfolder(); | 504 | QString localfolders = AbstractMail::defaultLocalfolder(); |
@@ -497,4 +510,3 @@ void SMTPwrapper::storeMail(const char*mail, size_t length, const QString&box) | |||
497 | 510 | ||
498 | void SMTPwrapper::smtpSend( mailmime *mail,bool later, SMTPaccount *smtp ) | 511 | void SMTPwrapper::smtpSend( mailmime *mail,bool later, SMTPaccount *smtp ) { |
499 | { | ||
500 | clist *rcpts = 0; | 512 | clist *rcpts = 0; |
@@ -515,3 +527,4 @@ void SMTPwrapper::smtpSend( mailmime *mail,bool later, SMTPaccount *smtp ) | |||
515 | if (r != MAIL_NO_ERROR || !data) { | 527 | if (r != MAIL_NO_ERROR || !data) { |
516 | if (data) free(data); | 528 | if (data) |
529 | free(data); | ||
517 | qDebug("Error fetching mime..."); | 530 | qDebug("Error fetching mime..."); |
@@ -522,3 +535,4 @@ void SMTPwrapper::smtpSend( mailmime *mail,bool later, SMTPaccount *smtp ) | |||
522 | storeMail(data,size,"Outgoing"); | 535 | storeMail(data,size,"Outgoing"); |
523 | if (data) free( data ); | 536 | if (data) |
537 | free( data ); | ||
524 | Config cfg( "mail" ); | 538 | Config cfg( "mail" ); |
@@ -532,9 +546,13 @@ void SMTPwrapper::smtpSend( mailmime *mail,bool later, SMTPaccount *smtp ) | |||
532 | smtpSend(from,rcpts,data,size,smtp); | 546 | smtpSend(from,rcpts,data,size,smtp); |
533 | if (data) {free(data);} | 547 | if (data) { |
534 | if (from) {free(from);} | 548 | free(data); |
535 | if (rcpts) smtp_address_list_free( rcpts ); | 549 | } |
550 | if (from) { | ||
551 | free(from); | ||
552 | } | ||
553 | if (rcpts) | ||
554 | smtp_address_list_free( rcpts ); | ||
536 | } | 555 | } |
537 | 556 | ||
538 | int SMTPwrapper::smtpSend(char*from,clist*rcpts,const char*data,size_t size, SMTPaccount *smtp ) | 557 | int SMTPwrapper::smtpSend(char*from,clist*rcpts,const char*data,size_t size, SMTPaccount *smtp ) { |
539 | { | ||
540 | const char *server, *user, *pass; | 558 | const char *server, *user, *pass; |
@@ -548,3 +566,11 @@ int SMTPwrapper::smtpSend(char*from,clist*rcpts,const char*data,size_t size, SMT | |||
548 | server = smtp->getServer().latin1(); | 566 | server = smtp->getServer().latin1(); |
549 | ssl = smtp->getSSL(); | 567 | |
568 | // FIXME: currently only TLS and Plain work. | ||
569 | |||
570 | ssl = false; | ||
571 | |||
572 | if ( smtp->ConnectionType() == 2 ) { | ||
573 | ssl = true; | ||
574 | } | ||
575 | |||
550 | port = smtp->getPort().toUInt(); | 576 | port = smtp->getPort().toUInt(); |
@@ -552,3 +578,4 @@ int SMTPwrapper::smtpSend(char*from,clist*rcpts,const char*data,size_t size, SMT | |||
552 | session = mailsmtp_new( 20, &progress ); | 578 | session = mailsmtp_new( 20, &progress ); |
553 | if ( session == NULL ) goto free_mem; | 579 | if ( session == NULL ) |
580 | goto free_mem; | ||
554 | 581 | ||
@@ -562,6 +589,13 @@ int SMTPwrapper::smtpSend(char*from,clist*rcpts,const char*data,size_t size, SMT | |||
562 | } | 589 | } |
563 | if ( err != MAILSMTP_NO_ERROR ) {qDebug("Error init connection");result = 0;goto free_mem_session;} | 590 | if ( err != MAILSMTP_NO_ERROR ) { |
591 | qDebug("Error init connection"); | ||
592 | result = 0; | ||
593 | goto free_mem_session; | ||
594 | } | ||
564 | 595 | ||
565 | err = mailsmtp_init( session ); | 596 | err = mailsmtp_init( session ); |
566 | if ( err != MAILSMTP_NO_ERROR ) {result = 0; goto free_con_session;} | 597 | if ( err != MAILSMTP_NO_ERROR ) { |
598 | result = 0; | ||
599 | goto free_con_session; | ||
600 | } | ||
567 | 601 | ||
@@ -580,3 +614,4 @@ int SMTPwrapper::smtpSend(char*from,clist*rcpts,const char*data,size_t size, SMT | |||
580 | } else { | 614 | } else { |
581 | result = 0; goto free_con_session; | 615 | result = 0; |
616 | goto free_con_session; | ||
582 | } | 617 | } |
@@ -588,3 +623,4 @@ int SMTPwrapper::smtpSend(char*from,clist*rcpts,const char*data,size_t size, SMT | |||
588 | err = mailsmtp_auth( session, (char*)user, (char*)pass ); | 623 | err = mailsmtp_auth( session, (char*)user, (char*)pass ); |
589 | if ( err == MAILSMTP_NO_ERROR ) qDebug("auth ok"); | 624 | if ( err == MAILSMTP_NO_ERROR ) |
625 | qDebug("auth ok"); | ||
590 | qDebug( "Done auth!" ); | 626 | qDebug( "Done auth!" ); |
@@ -597,3 +633,4 @@ int SMTPwrapper::smtpSend(char*from,clist*rcpts,const char*data,size_t size, SMT | |||
597 | qDebug("Error sending mail: %s",mailsmtpError(err).latin1()); | 633 | qDebug("Error sending mail: %s",mailsmtpError(err).latin1()); |
598 | result = 0; goto free_con_session; | 634 | result = 0; |
635 | goto free_con_session; | ||
599 | } | 636 | } |
@@ -611,4 +648,3 @@ free_mem: | |||
611 | 648 | ||
612 | void SMTPwrapper::sendMail(const Mail&mail,SMTPaccount*aSmtp,bool later ) | 649 | void SMTPwrapper::sendMail(const Mail&mail,SMTPaccount*aSmtp,bool later ) { |
613 | { | ||
614 | mailmime * mimeMail; | 650 | mailmime * mimeMail; |
@@ -637,4 +673,3 @@ void SMTPwrapper::sendMail(const Mail&mail,SMTPaccount*aSmtp,bool later ) | |||
637 | 673 | ||
638 | int SMTPwrapper::sendQueuedMail(AbstractMail*wrap,SMTPaccount*smtp,RecMail*which) | 674 | int SMTPwrapper::sendQueuedMail(AbstractMail*wrap,SMTPaccount*smtp,RecMail*which) { |
639 | { | ||
640 | size_t curTok = 0; | 675 | size_t curTok = 0; |
@@ -647,3 +682,4 @@ int SMTPwrapper::sendQueuedMail(AbstractMail*wrap,SMTPaccount*smtp,RecMail*which | |||
647 | encodedString * data = wrap->fetchRawBody(*which); | 682 | encodedString * data = wrap->fetchRawBody(*which); |
648 | if (!data) return 0; | 683 | if (!data) |
684 | return 0; | ||
649 | int err = mailimf_fields_parse( data->Content(), data->Length(), &curTok, &fields ); | 685 | int err = mailimf_fields_parse( data->Content(), data->Length(), &curTok, &fields ); |
@@ -679,7 +715,7 @@ int SMTPwrapper::sendQueuedMail(AbstractMail*wrap,SMTPaccount*smtp,RecMail*which | |||
679 | /* this is a special fun */ | 715 | /* this is a special fun */ |
680 | bool SMTPwrapper::flushOutbox(SMTPaccount*smtp) | 716 | bool SMTPwrapper::flushOutbox(SMTPaccount*smtp) { |
681 | { | ||
682 | bool returnValue = true; | 717 | bool returnValue = true; |
683 | 718 | ||
684 | if (!smtp) return false; | 719 | if (!smtp) |
720 | return false; | ||
685 | 721 | ||
@@ -707,3 +743,3 @@ bool SMTPwrapper::flushOutbox(SMTPaccount*smtp) | |||
707 | QMessageBox::critical(0,tr("Error sending mail"), | 743 | QMessageBox::critical(0,tr("Error sending mail"), |
708 | tr("Error sending queued mail - breaking")); | 744 | tr("Error sending queued mail - breaking")); |
709 | returnValue = false; | 745 | returnValue = false; |
diff --git a/noncore/net/mail/smtpconfigui.ui b/noncore/net/mail/smtpconfigui.ui index f5ce8cb..d4151a9 100644 --- a/noncore/net/mail/smtpconfigui.ui +++ b/noncore/net/mail/smtpconfigui.ui | |||
@@ -13,4 +13,4 @@ | |||
13 | <y>0</y> | 13 | <y>0</y> |
14 | <width>241</width> | 14 | <width>335</width> |
15 | <height>321</height> | 15 | <height>426</height> |
16 | </rect> | 16 | </rect> |
@@ -30,3 +30,3 @@ | |||
30 | <name>margin</name> | 30 | <name>margin</name> |
31 | <number>2</number> | 31 | <number>3</number> |
32 | </property> | 32 | </property> |
@@ -34,14 +34,51 @@ | |||
34 | <name>spacing</name> | 34 | <name>spacing</name> |
35 | <number>2</number> | 35 | <number>3</number> |
36 | </property> | 36 | </property> |
37 | <widget> | 37 | <widget> |
38 | <class>QLayoutWidget</class> | 38 | <class>QLabel</class> |
39 | <property stdset="1"> | 39 | <property stdset="1"> |
40 | <name>name</name> | 40 | <name>name</name> |
41 | <cstring>Layout4</cstring> | 41 | <cstring>accountLabel</cstring> |
42 | </property> | ||
43 | <property stdset="1"> | ||
44 | <name>text</name> | ||
45 | <string>Account</string> | ||
46 | </property> | ||
47 | </widget> | ||
48 | <widget> | ||
49 | <class>QLineEdit</class> | ||
50 | <property stdset="1"> | ||
51 | <name>name</name> | ||
52 | <cstring>accountLine</cstring> | ||
42 | </property> | 53 | </property> |
43 | <property> | 54 | <property> |
44 | <name>layoutSpacing</name> | 55 | <name>toolTip</name> |
56 | <string>Name of the Account</string> | ||
57 | </property> | ||
58 | </widget> | ||
59 | <widget> | ||
60 | <class>Line</class> | ||
61 | <property stdset="1"> | ||
62 | <name>name</name> | ||
63 | <cstring>line1</cstring> | ||
64 | </property> | ||
65 | <property stdset="1"> | ||
66 | <name>sizePolicy</name> | ||
67 | <sizepolicy> | ||
68 | <hsizetype>1</hsizetype> | ||
69 | <vsizetype>0</vsizetype> | ||
70 | </sizepolicy> | ||
71 | </property> | ||
72 | <property stdset="1"> | ||
73 | <name>orientation</name> | ||
74 | <enum>Horizontal</enum> | ||
45 | </property> | 75 | </property> |
46 | <grid> | 76 | </widget> |
77 | <widget> | ||
78 | <class>QLayoutWidget</class> | ||
79 | <property stdset="1"> | ||
80 | <name>name</name> | ||
81 | <cstring>Layout20</cstring> | ||
82 | </property> | ||
83 | <hbox> | ||
47 | <property stdset="1"> | 84 | <property stdset="1"> |
@@ -52,177 +89,240 @@ | |||
52 | <name>spacing</name> | 89 | <name>spacing</name> |
53 | <number>2</number> | 90 | <number>6</number> |
54 | </property> | 91 | </property> |
55 | <widget row="0" column="0" rowspan="1" colspan="2" > | 92 | <widget> |
56 | <class>QLabel</class> | 93 | <class>QLayoutWidget</class> |
57 | <property stdset="1"> | ||
58 | <name>name</name> | ||
59 | <cstring>accountLabel</cstring> | ||
60 | </property> | ||
61 | <property stdset="1"> | ||
62 | <name>text</name> | ||
63 | <string>Account</string> | ||
64 | </property> | ||
65 | </widget> | ||
66 | <widget row="8" column="2" > | ||
67 | <class>QLineEdit</class> | ||
68 | <property stdset="1"> | ||
69 | <name>name</name> | ||
70 | <cstring>passLine</cstring> | ||
71 | </property> | ||
72 | <property stdset="1"> | ||
73 | <name>enabled</name> | ||
74 | <bool>false</bool> | ||
75 | </property> | ||
76 | <property stdset="1"> | ||
77 | <name>echoMode</name> | ||
78 | <enum>Password</enum> | ||
79 | </property> | ||
80 | </widget> | ||
81 | <widget row="4" column="0" rowspan="1" colspan="3" > | ||
82 | <class>QCheckBox</class> | ||
83 | <property stdset="1"> | ||
84 | <name>name</name> | ||
85 | <cstring>sslBox</cstring> | ||
86 | </property> | ||
87 | <property stdset="1"> | ||
88 | <name>text</name> | ||
89 | <string>Use SSL</string> | ||
90 | </property> | ||
91 | </widget> | ||
92 | <widget row="6" column="0" rowspan="1" colspan="3" > | ||
93 | <class>QCheckBox</class> | ||
94 | <property stdset="1"> | ||
95 | <name>name</name> | ||
96 | <cstring>loginBox</cstring> | ||
97 | </property> | ||
98 | <property stdset="1"> | ||
99 | <name>text</name> | ||
100 | <string>Use Login</string> | ||
101 | </property> | ||
102 | </widget> | ||
103 | <widget row="0" column="2" > | ||
104 | <class>QLineEdit</class> | ||
105 | <property stdset="1"> | ||
106 | <name>name</name> | ||
107 | <cstring>accountLine</cstring> | ||
108 | </property> | ||
109 | <property> | ||
110 | <name>toolTip</name> | ||
111 | <string>Name of the Account</string> | ||
112 | </property> | ||
113 | </widget> | ||
114 | <widget row="2" column="1" rowspan="1" colspan="2" > | ||
115 | <class>QLineEdit</class> | ||
116 | <property stdset="1"> | ||
117 | <name>name</name> | ||
118 | <cstring>serverLine</cstring> | ||
119 | </property> | ||
120 | <property> | ||
121 | <name>toolTip</name> | ||
122 | <string>Name of the SMTP Server</string> | ||
123 | </property> | ||
124 | </widget> | ||
125 | <widget row="7" column="2" > | ||
126 | <class>QLineEdit</class> | ||
127 | <property stdset="1"> | ||
128 | <name>name</name> | ||
129 | <cstring>userLine</cstring> | ||
130 | </property> | ||
131 | <property stdset="1"> | ||
132 | <name>enabled</name> | ||
133 | <bool>false</bool> | ||
134 | </property> | ||
135 | </widget> | ||
136 | <widget row="8" column="0" rowspan="1" colspan="2" > | ||
137 | <class>QLabel</class> | ||
138 | <property stdset="1"> | ||
139 | <name>name</name> | ||
140 | <cstring>passLabel</cstring> | ||
141 | </property> | ||
142 | <property stdset="1"> | ||
143 | <name>text</name> | ||
144 | <string>Password</string> | ||
145 | </property> | ||
146 | </widget> | ||
147 | <widget row="3" column="0" > | ||
148 | <class>QLabel</class> | ||
149 | <property stdset="1"> | 94 | <property stdset="1"> |
150 | <name>name</name> | 95 | <name>name</name> |
151 | <cstring>portLabel</cstring> | 96 | <cstring>Layout18</cstring> |
152 | </property> | ||
153 | <property stdset="1"> | ||
154 | <name>text</name> | ||
155 | <string>Port</string> | ||
156 | </property> | ||
157 | </widget> | ||
158 | <widget row="2" column="0" > | ||
159 | <class>QLabel</class> | ||
160 | <property stdset="1"> | ||
161 | <name>name</name> | ||
162 | <cstring>serverLabel</cstring> | ||
163 | </property> | ||
164 | <property stdset="1"> | ||
165 | <name>text</name> | ||
166 | <string>Server</string> | ||
167 | </property> | ||
168 | </widget> | ||
169 | <widget row="3" column="1" rowspan="1" colspan="2" > | ||
170 | <class>QLineEdit</class> | ||
171 | <property stdset="1"> | ||
172 | <name>name</name> | ||
173 | <cstring>portLine</cstring> | ||
174 | </property> | ||
175 | <property> | ||
176 | <name>toolTip</name> | ||
177 | <string>Port of the SMTP Server</string> | ||
178 | </property> | 97 | </property> |
98 | <vbox> | ||
99 | <property stdset="1"> | ||
100 | <name>margin</name> | ||
101 | <number>0</number> | ||
102 | </property> | ||
103 | <property stdset="1"> | ||
104 | <name>spacing</name> | ||
105 | <number>6</number> | ||
106 | </property> | ||
107 | <widget> | ||
108 | <class>QLabel</class> | ||
109 | <property stdset="1"> | ||
110 | <name>name</name> | ||
111 | <cstring>serverLabel</cstring> | ||
112 | </property> | ||
113 | <property stdset="1"> | ||
114 | <name>text</name> | ||
115 | <string>Server</string> | ||
116 | </property> | ||
117 | </widget> | ||
118 | <widget> | ||
119 | <class>QLabel</class> | ||
120 | <property stdset="1"> | ||
121 | <name>name</name> | ||
122 | <cstring>portLabel</cstring> | ||
123 | </property> | ||
124 | <property stdset="1"> | ||
125 | <name>text</name> | ||
126 | <string>Port</string> | ||
127 | </property> | ||
128 | </widget> | ||
129 | </vbox> | ||
179 | </widget> | 130 | </widget> |
180 | <widget row="1" column="0" rowspan="1" colspan="3" > | 131 | <widget> |
181 | <class>Line</class> | 132 | <class>QLayoutWidget</class> |
182 | <property stdset="1"> | 133 | <property stdset="1"> |
183 | <name>name</name> | 134 | <name>name</name> |
184 | <cstring>line1</cstring> | 135 | <cstring>Layout19</cstring> |
185 | </property> | ||
186 | <property stdset="1"> | ||
187 | <name>sizePolicy</name> | ||
188 | <sizepolicy> | ||
189 | <hsizetype>3</hsizetype> | ||
190 | <vsizetype>0</vsizetype> | ||
191 | </sizepolicy> | ||
192 | </property> | ||
193 | <property stdset="1"> | ||
194 | <name>orientation</name> | ||
195 | <enum>Horizontal</enum> | ||
196 | </property> | 136 | </property> |
137 | <vbox> | ||
138 | <property stdset="1"> | ||
139 | <name>margin</name> | ||
140 | <number>0</number> | ||
141 | </property> | ||
142 | <property stdset="1"> | ||
143 | <name>spacing</name> | ||
144 | <number>6</number> | ||
145 | </property> | ||
146 | <widget> | ||
147 | <class>QLineEdit</class> | ||
148 | <property stdset="1"> | ||
149 | <name>name</name> | ||
150 | <cstring>serverLine</cstring> | ||
151 | </property> | ||
152 | <property> | ||
153 | <name>toolTip</name> | ||
154 | <string>Name of the SMTP Server</string> | ||
155 | </property> | ||
156 | </widget> | ||
157 | <widget> | ||
158 | <class>QLineEdit</class> | ||
159 | <property stdset="1"> | ||
160 | <name>name</name> | ||
161 | <cstring>portLine</cstring> | ||
162 | </property> | ||
163 | <property> | ||
164 | <name>toolTip</name> | ||
165 | <string>Port of the SMTP Server</string> | ||
166 | </property> | ||
167 | </widget> | ||
168 | </vbox> | ||
197 | </widget> | 169 | </widget> |
198 | <widget row="7" column="0" rowspan="1" colspan="2" > | 170 | </hbox> |
199 | <class>QLabel</class> | 171 | </widget> |
172 | <widget> | ||
173 | <class>QLabel</class> | ||
174 | <property stdset="1"> | ||
175 | <name>name</name> | ||
176 | <cstring>TextLabel1</cstring> | ||
177 | </property> | ||
178 | <property stdset="1"> | ||
179 | <name>text</name> | ||
180 | <string>Use secure sockets:</string> | ||
181 | </property> | ||
182 | </widget> | ||
183 | <widget> | ||
184 | <class>QComboBox</class> | ||
185 | <property stdset="1"> | ||
186 | <name>name</name> | ||
187 | <cstring>ComboBox1</cstring> | ||
188 | </property> | ||
189 | </widget> | ||
190 | <widget> | ||
191 | <class>QLineEdit</class> | ||
192 | <property stdset="1"> | ||
193 | <name>name</name> | ||
194 | <cstring>CommandEdit</cstring> | ||
195 | </property> | ||
196 | <property stdset="1"> | ||
197 | <name>text</name> | ||
198 | <string>ssh $SERVER exec</string> | ||
199 | </property> | ||
200 | </widget> | ||
201 | <widget> | ||
202 | <class>Line</class> | ||
203 | <property stdset="1"> | ||
204 | <name>name</name> | ||
205 | <cstring>line2</cstring> | ||
206 | </property> | ||
207 | <property stdset="1"> | ||
208 | <name>sizePolicy</name> | ||
209 | <sizepolicy> | ||
210 | <hsizetype>1</hsizetype> | ||
211 | <vsizetype>0</vsizetype> | ||
212 | </sizepolicy> | ||
213 | </property> | ||
214 | <property stdset="1"> | ||
215 | <name>orientation</name> | ||
216 | <enum>Horizontal</enum> | ||
217 | </property> | ||
218 | </widget> | ||
219 | <widget> | ||
220 | <class>QCheckBox</class> | ||
221 | <property stdset="1"> | ||
222 | <name>name</name> | ||
223 | <cstring>loginBox</cstring> | ||
224 | </property> | ||
225 | <property stdset="1"> | ||
226 | <name>text</name> | ||
227 | <string>Use Login</string> | ||
228 | </property> | ||
229 | </widget> | ||
230 | <widget> | ||
231 | <class>QLayoutWidget</class> | ||
232 | <property stdset="1"> | ||
233 | <name>name</name> | ||
234 | <cstring>Layout17</cstring> | ||
235 | </property> | ||
236 | <hbox> | ||
237 | <property stdset="1"> | ||
238 | <name>margin</name> | ||
239 | <number>0</number> | ||
240 | </property> | ||
241 | <property stdset="1"> | ||
242 | <name>spacing</name> | ||
243 | <number>6</number> | ||
244 | </property> | ||
245 | <widget> | ||
246 | <class>QLayoutWidget</class> | ||
200 | <property stdset="1"> | 247 | <property stdset="1"> |
201 | <name>name</name> | 248 | <name>name</name> |
202 | <cstring>userLabel</cstring> | 249 | <cstring>Layout15</cstring> |
203 | </property> | ||
204 | <property stdset="1"> | ||
205 | <name>text</name> | ||
206 | <string>User</string> | ||
207 | </property> | 250 | </property> |
251 | <vbox> | ||
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>QLabel</class> | ||
262 | <property stdset="1"> | ||
263 | <name>name</name> | ||
264 | <cstring>userLabel</cstring> | ||
265 | </property> | ||
266 | <property stdset="1"> | ||
267 | <name>text</name> | ||
268 | <string>User</string> | ||
269 | </property> | ||
270 | </widget> | ||
271 | <widget> | ||
272 | <class>QLabel</class> | ||
273 | <property stdset="1"> | ||
274 | <name>name</name> | ||
275 | <cstring>passLabel</cstring> | ||
276 | </property> | ||
277 | <property stdset="1"> | ||
278 | <name>text</name> | ||
279 | <string>Password</string> | ||
280 | </property> | ||
281 | </widget> | ||
282 | </vbox> | ||
208 | </widget> | 283 | </widget> |
209 | <widget row="5" column="0" rowspan="1" colspan="3" > | 284 | <widget> |
210 | <class>Line</class> | 285 | <class>QLayoutWidget</class> |
211 | <property stdset="1"> | 286 | <property stdset="1"> |
212 | <name>name</name> | 287 | <name>name</name> |
213 | <cstring>line2</cstring> | 288 | <cstring>Layout16</cstring> |
214 | </property> | ||
215 | <property stdset="1"> | ||
216 | <name>sizePolicy</name> | ||
217 | <sizepolicy> | ||
218 | <hsizetype>3</hsizetype> | ||
219 | <vsizetype>0</vsizetype> | ||
220 | </sizepolicy> | ||
221 | </property> | ||
222 | <property stdset="1"> | ||
223 | <name>orientation</name> | ||
224 | <enum>Horizontal</enum> | ||
225 | </property> | 289 | </property> |
290 | <vbox> | ||
291 | <property stdset="1"> | ||
292 | <name>margin</name> | ||
293 | <number>0</number> | ||
294 | </property> | ||
295 | <property stdset="1"> | ||
296 | <name>spacing</name> | ||
297 | <number>6</number> | ||
298 | </property> | ||
299 | <widget> | ||
300 | <class>QLineEdit</class> | ||
301 | <property stdset="1"> | ||
302 | <name>name</name> | ||
303 | <cstring>userLine</cstring> | ||
304 | </property> | ||
305 | <property stdset="1"> | ||
306 | <name>enabled</name> | ||
307 | <bool>false</bool> | ||
308 | </property> | ||
309 | </widget> | ||
310 | <widget> | ||
311 | <class>QLineEdit</class> | ||
312 | <property stdset="1"> | ||
313 | <name>name</name> | ||
314 | <cstring>passLine</cstring> | ||
315 | </property> | ||
316 | <property stdset="1"> | ||
317 | <name>enabled</name> | ||
318 | <bool>false</bool> | ||
319 | </property> | ||
320 | <property stdset="1"> | ||
321 | <name>echoMode</name> | ||
322 | <enum>Password</enum> | ||
323 | </property> | ||
324 | </widget> | ||
325 | </vbox> | ||
226 | </widget> | 326 | </widget> |
227 | </grid> | 327 | </hbox> |
228 | </widget> | 328 | </widget> |
@@ -255,3 +355,2 @@ | |||
255 | <tabstop>portLine</tabstop> | 355 | <tabstop>portLine</tabstop> |
256 | <tabstop>sslBox</tabstop> | ||
257 | <tabstop>loginBox</tabstop> | 356 | <tabstop>loginBox</tabstop> |