-rw-r--r-- | noncore/net/mail/imapwrapper.cpp | 6 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/imapwrapper.cpp | 6 | ||||
-rw-r--r-- | noncore/net/mail/mainwindow.cpp | 2 |
3 files changed, 13 insertions, 1 deletions
diff --git a/noncore/net/mail/imapwrapper.cpp b/noncore/net/mail/imapwrapper.cpp index eae85a7..dc02780 100644 --- a/noncore/net/mail/imapwrapper.cpp +++ b/noncore/net/mail/imapwrapper.cpp | |||
@@ -1,86 +1,92 @@ | |||
1 | 1 | ||
2 | #include <stdlib.h> | 2 | #include <stdlib.h> |
3 | 3 | ||
4 | #include "imapwrapper.h" | 4 | #include "imapwrapper.h" |
5 | #include "mailtypes.h" | 5 | #include "mailtypes.h" |
6 | #include <libetpan/mailimap.h> | 6 | #include <libetpan/mailimap.h> |
7 | 7 | ||
8 | IMAPwrapper::IMAPwrapper( IMAPaccount *a ) | 8 | IMAPwrapper::IMAPwrapper( IMAPaccount *a ) |
9 | { | 9 | { |
10 | account = a; | 10 | account = a; |
11 | m_imap = 0; | 11 | m_imap = 0; |
12 | } | 12 | } |
13 | 13 | ||
14 | IMAPwrapper::~IMAPwrapper() | 14 | IMAPwrapper::~IMAPwrapper() |
15 | { | 15 | { |
16 | logout(); | 16 | logout(); |
17 | } | 17 | } |
18 | 18 | ||
19 | void IMAPwrapper::imap_progress( size_t current, size_t maximum ) | 19 | void IMAPwrapper::imap_progress( size_t current, size_t maximum ) |
20 | { | 20 | { |
21 | qDebug( "IMAP: %i of %i", current, maximum ); | 21 | qDebug( "IMAP: %i of %i", current, maximum ); |
22 | } | 22 | } |
23 | 23 | ||
24 | void IMAPwrapper::login() | 24 | void IMAPwrapper::login() |
25 | { | 25 | { |
26 | logout(); | 26 | logout(); |
27 | const char *server, *user, *pass; | 27 | const char *server, *user, *pass; |
28 | uint16_t port; | 28 | uint16_t port; |
29 | int err = MAILIMAP_NO_ERROR; | 29 | int err = MAILIMAP_NO_ERROR; |
30 | 30 | ||
31 | server = account->getServer().latin1(); | 31 | server = account->getServer().latin1(); |
32 | port = account->getPort().toUInt(); | 32 | port = account->getPort().toUInt(); |
33 | user = account->getUser().latin1(); | 33 | user = account->getUser().latin1(); |
34 | pass = account->getPassword().latin1(); | 34 | pass = account->getPassword().latin1(); |
35 | 35 | ||
36 | m_imap = mailimap_new( 20, &imap_progress ); | 36 | m_imap = mailimap_new( 20, &imap_progress ); |
37 | /* connect */ | 37 | /* connect */ |
38 | // err = mailimap_socket_connect( m_imap, (char*)server, port ); | ||
39 | if (account->getSSL()) { | ||
40 | err = mailimap_ssl_connect( m_imap, (char*)server, port ); | ||
41 | } else { | ||
38 | err = mailimap_socket_connect( m_imap, (char*)server, port ); | 42 | err = mailimap_socket_connect( m_imap, (char*)server, port ); |
43 | } | ||
44 | |||
39 | if ( err != MAILIMAP_NO_ERROR && | 45 | if ( err != MAILIMAP_NO_ERROR && |
40 | err != MAILIMAP_NO_ERROR_AUTHENTICATED && | 46 | err != MAILIMAP_NO_ERROR_AUTHENTICATED && |
41 | err != MAILIMAP_NO_ERROR_NON_AUTHENTICATED ) { | 47 | err != MAILIMAP_NO_ERROR_NON_AUTHENTICATED ) { |
42 | qDebug("error connecting server: %s",m_imap->response); | 48 | qDebug("error connecting server: %s",m_imap->response); |
43 | mailimap_free( m_imap ); | 49 | mailimap_free( m_imap ); |
44 | m_imap = 0; | 50 | m_imap = 0; |
45 | return; | 51 | return; |
46 | } | 52 | } |
47 | 53 | ||
48 | /* login */ | 54 | /* login */ |
49 | err = mailimap_login_simple( m_imap, (char*)user, (char*)pass ); | 55 | err = mailimap_login_simple( m_imap, (char*)user, (char*)pass ); |
50 | if ( err != MAILIMAP_NO_ERROR ) { | 56 | if ( err != MAILIMAP_NO_ERROR ) { |
51 | qDebug("error logging in imap: %s",m_imap->response); | 57 | qDebug("error logging in imap: %s",m_imap->response); |
52 | err = mailimap_close( m_imap ); | 58 | err = mailimap_close( m_imap ); |
53 | mailimap_free( m_imap ); | 59 | mailimap_free( m_imap ); |
54 | m_imap = 0; | 60 | m_imap = 0; |
55 | } | 61 | } |
56 | } | 62 | } |
57 | 63 | ||
58 | void IMAPwrapper::logout() | 64 | void IMAPwrapper::logout() |
59 | { | 65 | { |
60 | int err = MAILIMAP_NO_ERROR; | 66 | int err = MAILIMAP_NO_ERROR; |
61 | if (!m_imap) return; | 67 | if (!m_imap) return; |
62 | err = mailimap_logout( m_imap ); | 68 | err = mailimap_logout( m_imap ); |
63 | err = mailimap_close( m_imap ); | 69 | err = mailimap_close( m_imap ); |
64 | mailimap_free( m_imap ); | 70 | mailimap_free( m_imap ); |
65 | m_imap = 0; | 71 | m_imap = 0; |
66 | } | 72 | } |
67 | 73 | ||
68 | void IMAPwrapper::listMessages(const QString&mailbox,QList<RecMail> &target ) | 74 | void IMAPwrapper::listMessages(const QString&mailbox,QList<RecMail> &target ) |
69 | { | 75 | { |
70 | const char *mb; | 76 | const char *mb; |
71 | int err = MAILIMAP_NO_ERROR; | 77 | int err = MAILIMAP_NO_ERROR; |
72 | clist *result; | 78 | clist *result; |
73 | clistcell *current; | 79 | clistcell *current; |
74 | mailimap_fetch_att *fetchAtt,*fetchAttFlags,*fetchAttDate; | 80 | mailimap_fetch_att *fetchAtt,*fetchAttFlags,*fetchAttDate; |
75 | mailimap_fetch_type *fetchType; | 81 | mailimap_fetch_type *fetchType; |
76 | mailimap_set *set; | 82 | mailimap_set *set; |
77 | 83 | ||
78 | mb = mailbox.latin1(); | 84 | mb = mailbox.latin1(); |
79 | login(); | 85 | login(); |
80 | if (!m_imap) { | 86 | if (!m_imap) { |
81 | return; | 87 | return; |
82 | } | 88 | } |
83 | /* select mailbox READONLY for operations */ | 89 | /* select mailbox READONLY for operations */ |
84 | err = mailimap_examine( m_imap, (char*)mb); | 90 | err = mailimap_examine( m_imap, (char*)mb); |
85 | if ( err != MAILIMAP_NO_ERROR ) { | 91 | if ( err != MAILIMAP_NO_ERROR ) { |
86 | qDebug("error selecting mailbox: %s",m_imap->response); | 92 | qDebug("error selecting mailbox: %s",m_imap->response); |
diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.cpp b/noncore/net/mail/libmailwrapper/imapwrapper.cpp index eae85a7..dc02780 100644 --- a/noncore/net/mail/libmailwrapper/imapwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/imapwrapper.cpp | |||
@@ -1,86 +1,92 @@ | |||
1 | 1 | ||
2 | #include <stdlib.h> | 2 | #include <stdlib.h> |
3 | 3 | ||
4 | #include "imapwrapper.h" | 4 | #include "imapwrapper.h" |
5 | #include "mailtypes.h" | 5 | #include "mailtypes.h" |
6 | #include <libetpan/mailimap.h> | 6 | #include <libetpan/mailimap.h> |
7 | 7 | ||
8 | IMAPwrapper::IMAPwrapper( IMAPaccount *a ) | 8 | IMAPwrapper::IMAPwrapper( IMAPaccount *a ) |
9 | { | 9 | { |
10 | account = a; | 10 | account = a; |
11 | m_imap = 0; | 11 | m_imap = 0; |
12 | } | 12 | } |
13 | 13 | ||
14 | IMAPwrapper::~IMAPwrapper() | 14 | IMAPwrapper::~IMAPwrapper() |
15 | { | 15 | { |
16 | logout(); | 16 | logout(); |
17 | } | 17 | } |
18 | 18 | ||
19 | void IMAPwrapper::imap_progress( size_t current, size_t maximum ) | 19 | void IMAPwrapper::imap_progress( size_t current, size_t maximum ) |
20 | { | 20 | { |
21 | qDebug( "IMAP: %i of %i", current, maximum ); | 21 | qDebug( "IMAP: %i of %i", current, maximum ); |
22 | } | 22 | } |
23 | 23 | ||
24 | void IMAPwrapper::login() | 24 | void IMAPwrapper::login() |
25 | { | 25 | { |
26 | logout(); | 26 | logout(); |
27 | const char *server, *user, *pass; | 27 | const char *server, *user, *pass; |
28 | uint16_t port; | 28 | uint16_t port; |
29 | int err = MAILIMAP_NO_ERROR; | 29 | int err = MAILIMAP_NO_ERROR; |
30 | 30 | ||
31 | server = account->getServer().latin1(); | 31 | server = account->getServer().latin1(); |
32 | port = account->getPort().toUInt(); | 32 | port = account->getPort().toUInt(); |
33 | user = account->getUser().latin1(); | 33 | user = account->getUser().latin1(); |
34 | pass = account->getPassword().latin1(); | 34 | pass = account->getPassword().latin1(); |
35 | 35 | ||
36 | m_imap = mailimap_new( 20, &imap_progress ); | 36 | m_imap = mailimap_new( 20, &imap_progress ); |
37 | /* connect */ | 37 | /* connect */ |
38 | // err = mailimap_socket_connect( m_imap, (char*)server, port ); | ||
39 | if (account->getSSL()) { | ||
40 | err = mailimap_ssl_connect( m_imap, (char*)server, port ); | ||
41 | } else { | ||
38 | err = mailimap_socket_connect( m_imap, (char*)server, port ); | 42 | err = mailimap_socket_connect( m_imap, (char*)server, port ); |
43 | } | ||
44 | |||
39 | if ( err != MAILIMAP_NO_ERROR && | 45 | if ( err != MAILIMAP_NO_ERROR && |
40 | err != MAILIMAP_NO_ERROR_AUTHENTICATED && | 46 | err != MAILIMAP_NO_ERROR_AUTHENTICATED && |
41 | err != MAILIMAP_NO_ERROR_NON_AUTHENTICATED ) { | 47 | err != MAILIMAP_NO_ERROR_NON_AUTHENTICATED ) { |
42 | qDebug("error connecting server: %s",m_imap->response); | 48 | qDebug("error connecting server: %s",m_imap->response); |
43 | mailimap_free( m_imap ); | 49 | mailimap_free( m_imap ); |
44 | m_imap = 0; | 50 | m_imap = 0; |
45 | return; | 51 | return; |
46 | } | 52 | } |
47 | 53 | ||
48 | /* login */ | 54 | /* login */ |
49 | err = mailimap_login_simple( m_imap, (char*)user, (char*)pass ); | 55 | err = mailimap_login_simple( m_imap, (char*)user, (char*)pass ); |
50 | if ( err != MAILIMAP_NO_ERROR ) { | 56 | if ( err != MAILIMAP_NO_ERROR ) { |
51 | qDebug("error logging in imap: %s",m_imap->response); | 57 | qDebug("error logging in imap: %s",m_imap->response); |
52 | err = mailimap_close( m_imap ); | 58 | err = mailimap_close( m_imap ); |
53 | mailimap_free( m_imap ); | 59 | mailimap_free( m_imap ); |
54 | m_imap = 0; | 60 | m_imap = 0; |
55 | } | 61 | } |
56 | } | 62 | } |
57 | 63 | ||
58 | void IMAPwrapper::logout() | 64 | void IMAPwrapper::logout() |
59 | { | 65 | { |
60 | int err = MAILIMAP_NO_ERROR; | 66 | int err = MAILIMAP_NO_ERROR; |
61 | if (!m_imap) return; | 67 | if (!m_imap) return; |
62 | err = mailimap_logout( m_imap ); | 68 | err = mailimap_logout( m_imap ); |
63 | err = mailimap_close( m_imap ); | 69 | err = mailimap_close( m_imap ); |
64 | mailimap_free( m_imap ); | 70 | mailimap_free( m_imap ); |
65 | m_imap = 0; | 71 | m_imap = 0; |
66 | } | 72 | } |
67 | 73 | ||
68 | void IMAPwrapper::listMessages(const QString&mailbox,QList<RecMail> &target ) | 74 | void IMAPwrapper::listMessages(const QString&mailbox,QList<RecMail> &target ) |
69 | { | 75 | { |
70 | const char *mb; | 76 | const char *mb; |
71 | int err = MAILIMAP_NO_ERROR; | 77 | int err = MAILIMAP_NO_ERROR; |
72 | clist *result; | 78 | clist *result; |
73 | clistcell *current; | 79 | clistcell *current; |
74 | mailimap_fetch_att *fetchAtt,*fetchAttFlags,*fetchAttDate; | 80 | mailimap_fetch_att *fetchAtt,*fetchAttFlags,*fetchAttDate; |
75 | mailimap_fetch_type *fetchType; | 81 | mailimap_fetch_type *fetchType; |
76 | mailimap_set *set; | 82 | mailimap_set *set; |
77 | 83 | ||
78 | mb = mailbox.latin1(); | 84 | mb = mailbox.latin1(); |
79 | login(); | 85 | login(); |
80 | if (!m_imap) { | 86 | if (!m_imap) { |
81 | return; | 87 | return; |
82 | } | 88 | } |
83 | /* select mailbox READONLY for operations */ | 89 | /* select mailbox READONLY for operations */ |
84 | err = mailimap_examine( m_imap, (char*)mb); | 90 | err = mailimap_examine( m_imap, (char*)mb); |
85 | if ( err != MAILIMAP_NO_ERROR ) { | 91 | if ( err != MAILIMAP_NO_ERROR ) { |
86 | qDebug("error selecting mailbox: %s",m_imap->response); | 92 | qDebug("error selecting mailbox: %s",m_imap->response); |
diff --git a/noncore/net/mail/mainwindow.cpp b/noncore/net/mail/mainwindow.cpp index 3edfff1..6d13a8b 100644 --- a/noncore/net/mail/mainwindow.cpp +++ b/noncore/net/mail/mainwindow.cpp | |||
@@ -1,66 +1,66 @@ | |||
1 | #include <qlabel.h> | 1 | #include <qlabel.h> |
2 | #include <qvbox.h> | 2 | #include <qvbox.h> |
3 | #include <qheader.h> | 3 | #include <qheader.h> |
4 | #include <qtimer.h> | 4 | #include <qtimer.h> |
5 | #include <qlayout.h> | 5 | #include <qlayout.h> |
6 | 6 | ||
7 | #include <qpe/qpeapplication.h> | 7 | #include <qpe/qpeapplication.h> |
8 | 8 | ||
9 | #include "defines.h" | 9 | #include "defines.h" |
10 | #include "mainwindow.h" | 10 | #include "mainwindow.h" |
11 | #include "viewmail.h" | 11 | #include "viewmail.h" |
12 | #include "mailtypes.h" | 12 | #include "mailtypes.h" |
13 | #include "mailistviewitem.h" | 13 | #include "mailistviewitem.h" |
14 | 14 | ||
15 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) | 15 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) |
16 | : QMainWindow( parent, name, flags ) | 16 | : QMainWindow( parent, name, flags ) |
17 | { | 17 | { |
18 | setCaption( tr( "Opie-Mail" ) ); | 18 | setCaption( tr( "Mail" ) ); |
19 | setToolBarsMovable( false ); | 19 | setToolBarsMovable( false ); |
20 | 20 | ||
21 | toolBar = new QToolBar( this ); | 21 | toolBar = new QToolBar( this ); |
22 | menuBar = new QMenuBar( toolBar ); | 22 | menuBar = new QMenuBar( toolBar ); |
23 | mailMenu = new QPopupMenu( menuBar ); | 23 | mailMenu = new QPopupMenu( menuBar ); |
24 | menuBar->insertItem( tr( "Mail" ), mailMenu ); | 24 | menuBar->insertItem( tr( "Mail" ), mailMenu ); |
25 | settingsMenu = new QPopupMenu( menuBar ); | 25 | settingsMenu = new QPopupMenu( menuBar ); |
26 | menuBar->insertItem( tr( "Settings" ), settingsMenu ); | 26 | menuBar->insertItem( tr( "Settings" ), settingsMenu ); |
27 | 27 | ||
28 | addToolBar( toolBar ); | 28 | addToolBar( toolBar ); |
29 | toolBar->setHorizontalStretchable( true ); | 29 | toolBar->setHorizontalStretchable( true ); |
30 | 30 | ||
31 | QLabel *spacer = new QLabel( toolBar ); | 31 | QLabel *spacer = new QLabel( toolBar ); |
32 | spacer->setBackgroundMode( QWidget::PaletteButton ); | 32 | spacer->setBackgroundMode( QWidget::PaletteButton ); |
33 | toolBar->setStretchableWidget( spacer ); | 33 | toolBar->setStretchableWidget( spacer ); |
34 | 34 | ||
35 | composeMail = new QAction( tr( "Compose new mail" ), ICON_COMPOSEMAIL, | 35 | composeMail = new QAction( tr( "Compose new mail" ), ICON_COMPOSEMAIL, |
36 | 0, 0, this ); | 36 | 0, 0, this ); |
37 | composeMail->addTo( toolBar ); | 37 | composeMail->addTo( toolBar ); |
38 | composeMail->addTo( mailMenu ); | 38 | composeMail->addTo( mailMenu ); |
39 | 39 | ||
40 | sendQueued = new QAction( tr( "Send queued mails" ), ICON_SENDQUEUED, | 40 | sendQueued = new QAction( tr( "Send queued mails" ), ICON_SENDQUEUED, |
41 | 0, 0, this ); | 41 | 0, 0, this ); |
42 | sendQueued->addTo( toolBar ); | 42 | sendQueued->addTo( toolBar ); |
43 | sendQueued->addTo( mailMenu ); | 43 | sendQueued->addTo( mailMenu ); |
44 | 44 | ||
45 | syncFolders = new QAction( tr( "Sync mailfolders" ), ICON_SYNC, | 45 | syncFolders = new QAction( tr( "Sync mailfolders" ), ICON_SYNC, |
46 | 0, 0, this ); | 46 | 0, 0, this ); |
47 | syncFolders->addTo( toolBar ); | 47 | syncFolders->addTo( toolBar ); |
48 | syncFolders->addTo( mailMenu ); | 48 | syncFolders->addTo( mailMenu ); |
49 | 49 | ||
50 | showFolders = new QAction( tr( "Show/Hide folders" ), ICON_SHOWFOLDERS, | 50 | showFolders = new QAction( tr( "Show/Hide folders" ), ICON_SHOWFOLDERS, |
51 | 0, 0, this, 0, true ); | 51 | 0, 0, this, 0, true ); |
52 | showFolders->addTo( toolBar ); | 52 | showFolders->addTo( toolBar ); |
53 | showFolders->addTo( mailMenu ); | 53 | showFolders->addTo( mailMenu ); |
54 | connect(showFolders, SIGNAL( toggled( bool ) ), | 54 | connect(showFolders, SIGNAL( toggled( bool ) ), |
55 | SLOT( slotShowFolders( bool ) ) ); | 55 | SLOT( slotShowFolders( bool ) ) ); |
56 | 56 | ||
57 | searchMails = new QAction( tr( "Search mails" ), ICON_SEARCHMAILS, | 57 | searchMails = new QAction( tr( "Search mails" ), ICON_SEARCHMAILS, |
58 | 0, 0, this ); | 58 | 0, 0, this ); |
59 | searchMails->addTo( toolBar ); | 59 | searchMails->addTo( toolBar ); |
60 | searchMails->addTo( mailMenu ); | 60 | searchMails->addTo( mailMenu ); |
61 | 61 | ||
62 | 62 | ||
63 | editSettings = new QAction( tr( "Edit settings" ), ICON_EDITSETTINGS, | 63 | editSettings = new QAction( tr( "Edit settings" ), ICON_EDITSETTINGS, |
64 | 0, 0, this ); | 64 | 0, 0, this ); |
65 | editSettings->addTo( settingsMenu ); | 65 | editSettings->addTo( settingsMenu ); |
66 | 66 | ||