-rw-r--r-- | noncore/net/mail/editaccounts.cpp | 14 | ||||
-rw-r--r-- | noncore/net/mail/opiemail.cpp | 12 | ||||
-rw-r--r-- | noncore/net/mail/pop3configui.ui | 581 | ||||
-rw-r--r-- | noncore/net/mail/viewmail.h | 2 |
4 files changed, 278 insertions, 331 deletions
diff --git a/noncore/net/mail/editaccounts.cpp b/noncore/net/mail/editaccounts.cpp index 439b619..0c0ecaf 100644 --- a/noncore/net/mail/editaccounts.cpp +++ b/noncore/net/mail/editaccounts.cpp | |||
@@ -1,333 +1,333 @@ | |||
1 | #include <qt.h> | 1 | #include <qt.h> |
2 | 2 | ||
3 | #include "defines.h" | 3 | #include "defines.h" |
4 | #include "editaccounts.h" | 4 | #include "editaccounts.h" |
5 | 5 | ||
6 | AccountListItem::AccountListItem( QListView *parent, Account *a) | 6 | AccountListItem::AccountListItem( QListView *parent, Account *a) |
7 | : QListViewItem( parent ) | 7 | : QListViewItem( parent ) |
8 | { | 8 | { |
9 | account = a; | 9 | account = a; |
10 | setText( 0, account->getAccountName() ); | 10 | setText( 0, account->getAccountName() ); |
11 | setText( 1, account->getType() ); | 11 | setText( 1, account->getType() ); |
12 | } | 12 | } |
13 | 13 | ||
14 | EditAccounts::EditAccounts( Settings *s, QWidget *parent, const char *name, bool modal, WFlags flags ) | 14 | EditAccounts::EditAccounts( Settings *s, QWidget *parent, const char *name, bool modal, WFlags flags ) |
15 | : EditAccountsUI( parent, name, modal, flags ) | 15 | : EditAccountsUI( parent, name, modal, flags ) |
16 | { | 16 | { |
17 | qDebug( "New Account Configuration Widget" ); | 17 | qDebug( "New Account Configuration Widget" ); |
18 | settings = s; | 18 | settings = s; |
19 | 19 | ||
20 | mailList->addColumn( tr( "Account" ) ); | 20 | mailList->addColumn( tr( "Account" ) ); |
21 | mailList->addColumn( tr( "Type" ) ); | 21 | mailList->addColumn( tr( "Type" ) ); |
22 | 22 | ||
23 | newsList->addColumn( tr( "Account" ) ); | 23 | newsList->addColumn( tr( "Account" ) ); |
24 | 24 | ||
25 | connect( newMail, SIGNAL( clicked() ), SLOT( slotNewMail() ) ); | 25 | connect( newMail, SIGNAL( clicked() ), SLOT( slotNewMail() ) ); |
26 | connect( editMail, SIGNAL( clicked() ), SLOT( slotEditMail() ) ); | 26 | connect( editMail, SIGNAL( clicked() ), SLOT( slotEditMail() ) ); |
27 | connect( deleteMail, SIGNAL( clicked() ), SLOT( slotDeleteMail() ) ); | 27 | connect( deleteMail, SIGNAL( clicked() ), SLOT( slotDeleteMail() ) ); |
28 | connect( newNews, SIGNAL( clicked() ), SLOT( slotNewNews() ) ); | 28 | connect( newNews, SIGNAL( clicked() ), SLOT( slotNewNews() ) ); |
29 | connect( editNews, SIGNAL( clicked() ), SLOT( slotEditNews() ) ); | 29 | connect( editNews, SIGNAL( clicked() ), SLOT( slotEditNews() ) ); |
30 | connect( deleteNews, SIGNAL( clicked() ), SLOT( slotDeleteNews() ) ); | 30 | connect( deleteNews, SIGNAL( clicked() ), SLOT( slotDeleteNews() ) ); |
31 | 31 | ||
32 | slotFillLists(); | 32 | slotFillLists(); |
33 | } | 33 | } |
34 | 34 | ||
35 | void EditAccounts::slotFillLists() | 35 | void EditAccounts::slotFillLists() |
36 | { | 36 | { |
37 | mailList->clear(); | 37 | mailList->clear(); |
38 | newsList->clear(); | 38 | newsList->clear(); |
39 | 39 | ||
40 | QList<Account> accounts = settings->getAccounts(); | 40 | QList<Account> accounts = settings->getAccounts(); |
41 | Account *it; | 41 | Account *it; |
42 | for ( it = accounts.first(); it; it = accounts.next() ) { | 42 | for ( it = accounts.first(); it; it = accounts.next() ) { |
43 | if ( it->getType().compare( "NNTP" ) == 0 ) { | 43 | if ( it->getType().compare( "NNTP" ) == 0 ) { |
44 | (void) new AccountListItem( newsList, it ); | 44 | (void) new AccountListItem( newsList, it ); |
45 | } else { | 45 | } else { |
46 | (void) new AccountListItem( mailList, it ); | 46 | (void) new AccountListItem( mailList, it ); |
47 | } | 47 | } |
48 | } | 48 | } |
49 | } | 49 | } |
50 | 50 | ||
51 | void EditAccounts::slotNewMail() | 51 | void EditAccounts::slotNewMail() |
52 | { | 52 | { |
53 | qDebug( "New Mail Account" ); | 53 | qDebug( "New Mail Account" ); |
54 | QString *selection = new QString(); | 54 | QString *selection = new QString(); |
55 | SelectMailType selType( selection, this, 0, true ); | 55 | SelectMailType selType( selection, this, 0, true ); |
56 | selType.show(); | 56 | selType.show(); |
57 | if ( QDialog::Accepted == selType.exec() ) { | 57 | if ( QDialog::Accepted == selType.exec() ) { |
58 | slotNewAccount( *selection ); | 58 | slotNewAccount( *selection ); |
59 | } | 59 | } |
60 | } | 60 | } |
61 | 61 | ||
62 | void EditAccounts::slotNewAccount( const QString &type ) | 62 | void EditAccounts::slotNewAccount( const QString &type ) |
63 | { | 63 | { |
64 | if ( type.compare( "IMAP" ) == 0 ) { | 64 | if ( type.compare( "IMAP" ) == 0 ) { |
65 | qDebug( "-> config IMAP" ); | 65 | qDebug( "-> config IMAP" ); |
66 | IMAPaccount *account = new IMAPaccount(); | 66 | IMAPaccount *account = new IMAPaccount(); |
67 | IMAPconfig imap( account, this, 0, true ); | 67 | IMAPconfig imap( account, this, 0, true ); |
68 | imap.showMaximized(); | 68 | imap.showMaximized(); |
69 | if ( QDialog::Accepted == imap.exec() ) { | 69 | if ( QDialog::Accepted == imap.exec() ) { |
70 | settings->addAccount( account ); | 70 | settings->addAccount( account ); |
71 | account->save(); | 71 | account->save(); |
72 | slotFillLists(); | 72 | slotFillLists(); |
73 | } else { | 73 | } else { |
74 | account->remove(); | 74 | account->remove(); |
75 | } | 75 | } |
76 | } else if ( type.compare( "POP3" ) == 0 ) { | 76 | } else if ( type.compare( "POP3" ) == 0 ) { |
77 | qDebug( "-> config POP3" ); | 77 | qDebug( "-> config POP3" ); |
78 | POP3account *account = new POP3account(); | 78 | POP3account *account = new POP3account(); |
79 | POP3config pop3( account, this, 0, true ); | 79 | POP3config pop3( account, this, 0, true, WStyle_ContextHelp ); |
80 | pop3.showMaximized(); | 80 | pop3.showMaximized(); |
81 | if ( QDialog::Accepted == pop3.exec() ) { | 81 | if ( QDialog::Accepted == pop3.exec() ) { |
82 | settings->addAccount( account ); | 82 | settings->addAccount( account ); |
83 | account->save(); | 83 | account->save(); |
84 | slotFillLists(); | 84 | slotFillLists(); |
85 | } else { | 85 | } else { |
86 | account->remove(); | 86 | account->remove(); |
87 | } | 87 | } |
88 | } else if ( type.compare( "SMTP" ) == 0 ) { | 88 | } else if ( type.compare( "SMTP" ) == 0 ) { |
89 | qDebug( "-> config SMTP" ); | 89 | qDebug( "-> config SMTP" ); |
90 | SMTPaccount *account = new SMTPaccount(); | 90 | SMTPaccount *account = new SMTPaccount(); |
91 | SMTPconfig smtp( account, this, 0, true ); | 91 | SMTPconfig smtp( account, this, 0, true, WStyle_ContextHelp ); |
92 | smtp.showMaximized(); | 92 | smtp.showMaximized(); |
93 | if ( QDialog::Accepted == smtp.exec() ) { | 93 | if ( QDialog::Accepted == smtp.exec() ) { |
94 | settings->addAccount( account ); | 94 | settings->addAccount( account ); |
95 | account->save(); | 95 | account->save(); |
96 | slotFillLists(); | 96 | slotFillLists(); |
97 | 97 | ||
98 | } else { | 98 | } else { |
99 | account->remove(); | 99 | account->remove(); |
100 | } | 100 | } |
101 | } else if ( type.compare( "NNTP" ) == 0 ) { | 101 | } else if ( type.compare( "NNTP" ) == 0 ) { |
102 | qDebug( "-> config NNTP" ); | 102 | qDebug( "-> config NNTP" ); |
103 | NNTPaccount *account = new NNTPaccount(); | 103 | NNTPaccount *account = new NNTPaccount(); |
104 | NNTPconfig nntp( account, this, 0, true ); | 104 | NNTPconfig nntp( account, this, 0, true, WStyle_ContextHelp ); |
105 | nntp.showMaximized(); | 105 | nntp.showMaximized(); |
106 | if ( QDialog::Accepted == nntp.exec() ) { | 106 | if ( QDialog::Accepted == nntp.exec() ) { |
107 | settings->addAccount( account ); | 107 | settings->addAccount( account ); |
108 | account->save(); | 108 | account->save(); |
109 | slotFillLists(); | 109 | slotFillLists(); |
110 | } else { | 110 | } else { |
111 | account->remove(); | 111 | account->remove(); |
112 | } | 112 | } |
113 | } | 113 | } |
114 | } | 114 | } |
115 | 115 | ||
116 | void EditAccounts::slotEditAccount( Account *account ) | 116 | void EditAccounts::slotEditAccount( Account *account ) |
117 | { | 117 | { |
118 | if ( account->getType().compare( "IMAP" ) == 0 ) { | 118 | if ( account->getType().compare( "IMAP" ) == 0 ) { |
119 | IMAPaccount *imapAcc = static_cast<IMAPaccount *>(account); | 119 | IMAPaccount *imapAcc = static_cast<IMAPaccount *>(account); |
120 | IMAPconfig imap( imapAcc, this, 0, true ); | 120 | IMAPconfig imap( imapAcc, this, 0, true, WStyle_ContextHelp ); |
121 | imap.showMaximized(); | 121 | imap.showMaximized(); |
122 | if ( QDialog::Accepted == imap.exec() ) { | 122 | if ( QDialog::Accepted == imap.exec() ) { |
123 | slotFillLists(); | 123 | slotFillLists(); |
124 | } | 124 | } |
125 | } else if ( account->getType().compare( "POP3" ) == 0 ) { | 125 | } else if ( account->getType().compare( "POP3" ) == 0 ) { |
126 | POP3account *pop3Acc = static_cast<POP3account *>(account); | 126 | POP3account *pop3Acc = static_cast<POP3account *>(account); |
127 | POP3config pop3( pop3Acc, this, 0, true ); | 127 | POP3config pop3( pop3Acc, this, 0, true, WStyle_ContextHelp ); |
128 | pop3.showMaximized(); | 128 | pop3.showMaximized(); |
129 | if ( QDialog::Accepted == pop3.exec() ) { | 129 | if ( QDialog::Accepted == pop3.exec() ) { |
130 | slotFillLists(); | 130 | slotFillLists(); |
131 | } | 131 | } |
132 | } else if ( account->getType().compare( "SMTP" ) == 0 ) { | 132 | } else if ( account->getType().compare( "SMTP" ) == 0 ) { |
133 | SMTPaccount *smtpAcc = static_cast<SMTPaccount *>(account); | 133 | SMTPaccount *smtpAcc = static_cast<SMTPaccount *>(account); |
134 | SMTPconfig smtp( smtpAcc, this, 0, true ); | 134 | SMTPconfig smtp( smtpAcc, this, 0, true, WStyle_ContextHelp ); |
135 | smtp.showMaximized(); | 135 | smtp.showMaximized(); |
136 | if ( QDialog::Accepted == smtp.exec() ) { | 136 | if ( QDialog::Accepted == smtp.exec() ) { |
137 | slotFillLists(); | 137 | slotFillLists(); |
138 | } | 138 | } |
139 | } else if ( account->getType().compare( "NNTP" ) == 0 ) { | 139 | } else if ( account->getType().compare( "NNTP" ) == 0 ) { |
140 | NNTPaccount *nntpAcc = static_cast<NNTPaccount *>(account); | 140 | NNTPaccount *nntpAcc = static_cast<NNTPaccount *>(account); |
141 | NNTPconfig nntp( nntpAcc, this, 0, true ); | 141 | NNTPconfig nntp( nntpAcc, this, 0, true, WStyle_ContextHelp ); |
142 | nntp.showMaximized(); | 142 | nntp.showMaximized(); |
143 | if ( QDialog::Accepted == nntp.exec() ) { | 143 | if ( QDialog::Accepted == nntp.exec() ) { |
144 | slotFillLists(); | 144 | slotFillLists(); |
145 | } | 145 | } |
146 | } | 146 | } |
147 | } | 147 | } |
148 | 148 | ||
149 | void EditAccounts::slotDeleteAccount( Account *account ) | 149 | void EditAccounts::slotDeleteAccount( Account *account ) |
150 | { | 150 | { |
151 | if ( QMessageBox::information( this, tr( "Question" ), | 151 | if ( QMessageBox::information( this, tr( "Question" ), |
152 | tr( "<p>Do you really want to delete the selected Account?</p>" ), | 152 | tr( "<p>Do you really want to delete the selected Account?</p>" ), |
153 | tr( "Yes" ), tr( "No" ) ) == 0 ) { | 153 | tr( "Yes" ), tr( "No" ) ) == 0 ) { |
154 | settings->delAccount( account ); | 154 | settings->delAccount( account ); |
155 | slotFillLists(); | 155 | slotFillLists(); |
156 | } | 156 | } |
157 | } | 157 | } |
158 | 158 | ||
159 | void EditAccounts::slotEditMail() | 159 | void EditAccounts::slotEditMail() |
160 | { | 160 | { |
161 | qDebug( "Edit Mail Account" ); | 161 | qDebug( "Edit Mail Account" ); |
162 | if ( !mailList->currentItem() ) { | 162 | if ( !mailList->currentItem() ) { |
163 | QMessageBox::information( this, tr( "Error" ), | 163 | QMessageBox::information( this, tr( "Error" ), |
164 | tr( "<p>Please select an account.</p>" ), | 164 | tr( "<p>Please select an account.</p>" ), |
165 | tr( "Ok" ) ); | 165 | tr( "Ok" ) ); |
166 | return; | 166 | return; |
167 | } | 167 | } |
168 | 168 | ||
169 | Account *a = ((AccountListItem *) mailList->currentItem())->getAccount(); | 169 | Account *a = ((AccountListItem *) mailList->currentItem())->getAccount(); |
170 | slotEditAccount( a ); | 170 | slotEditAccount( a ); |
171 | } | 171 | } |
172 | 172 | ||
173 | void EditAccounts::slotDeleteMail() | 173 | void EditAccounts::slotDeleteMail() |
174 | { | 174 | { |
175 | if ( !mailList->currentItem() ) { | 175 | if ( !mailList->currentItem() ) { |
176 | QMessageBox::information( this, tr( "Error" ), | 176 | QMessageBox::information( this, tr( "Error" ), |
177 | tr( "<p>Please select an account.</p>" ), | 177 | tr( "<p>Please select an account.</p>" ), |
178 | tr( "Ok" ) ); | 178 | tr( "Ok" ) ); |
179 | return; | 179 | return; |
180 | } | 180 | } |
181 | 181 | ||
182 | Account *a = ((AccountListItem *) mailList->currentItem())->getAccount(); | 182 | Account *a = ((AccountListItem *) mailList->currentItem())->getAccount(); |
183 | slotDeleteAccount( a ); | 183 | slotDeleteAccount( a ); |
184 | } | 184 | } |
185 | 185 | ||
186 | void EditAccounts::slotNewNews() | 186 | void EditAccounts::slotNewNews() |
187 | { | 187 | { |
188 | qDebug( "New News Account" ); | 188 | qDebug( "New News Account" ); |
189 | slotNewAccount( "NNTP" ); | 189 | slotNewAccount( "NNTP" ); |
190 | } | 190 | } |
191 | 191 | ||
192 | void EditAccounts::slotEditNews() | 192 | void EditAccounts::slotEditNews() |
193 | { | 193 | { |
194 | qDebug( "Edit News Account" ); | 194 | qDebug( "Edit News Account" ); |
195 | if ( !newsList->currentItem() ) { | 195 | if ( !newsList->currentItem() ) { |
196 | QMessageBox::information( this, tr( "Error" ), | 196 | QMessageBox::information( this, tr( "Error" ), |
197 | tr( "<p>Please select an account.</p>" ), | 197 | tr( "<p>Please select an account.</p>" ), |
198 | tr( "Ok" ) ); | 198 | tr( "Ok" ) ); |
199 | return; | 199 | return; |
200 | } | 200 | } |
201 | 201 | ||
202 | Account *a = ((AccountListItem *) newsList->currentItem())->getAccount(); | 202 | Account *a = ((AccountListItem *) newsList->currentItem())->getAccount(); |
203 | slotEditAccount( a ); | 203 | slotEditAccount( a ); |
204 | } | 204 | } |
205 | 205 | ||
206 | void EditAccounts::slotDeleteNews() | 206 | void EditAccounts::slotDeleteNews() |
207 | { | 207 | { |
208 | qDebug( "Delete News Account" ); | 208 | qDebug( "Delete News Account" ); |
209 | if ( !newsList->currentItem() ) { | 209 | if ( !newsList->currentItem() ) { |
210 | QMessageBox::information( this, tr( "Error" ), | 210 | QMessageBox::information( this, tr( "Error" ), |
211 | tr( "<p>Please select an account.</p>" ), | 211 | tr( "<p>Please select an account.</p>" ), |
212 | tr( "Ok" ) ); | 212 | tr( "Ok" ) ); |
213 | return; | 213 | return; |
214 | } | 214 | } |
215 | 215 | ||
216 | Account *a = ((AccountListItem *) newsList->currentItem())->getAccount(); | 216 | Account *a = ((AccountListItem *) newsList->currentItem())->getAccount(); |
217 | slotDeleteAccount( a ); | 217 | slotDeleteAccount( a ); |
218 | } | 218 | } |
219 | 219 | ||
220 | void EditAccounts::slotAdjustColumns() | 220 | void EditAccounts::slotAdjustColumns() |
221 | { | 221 | { |
222 | int currPage = configTab->currentPageIndex(); | 222 | int currPage = configTab->currentPageIndex(); |
223 | 223 | ||
224 | configTab->showPage( mailTab ); | 224 | configTab->showPage( mailTab ); |
225 | mailList->setColumnWidth( 0, mailList->visibleWidth() - 50 ); | 225 | mailList->setColumnWidth( 0, mailList->visibleWidth() - 50 ); |
226 | mailList->setColumnWidth( 1, 50 ); | 226 | mailList->setColumnWidth( 1, 50 ); |
227 | 227 | ||
228 | configTab->showPage( newsTab ); | 228 | configTab->showPage( newsTab ); |
229 | newsList->setColumnWidth( 0, newsList->visibleWidth() ); | 229 | newsList->setColumnWidth( 0, newsList->visibleWidth() ); |
230 | 230 | ||
231 | configTab->setCurrentPage( currPage ); | 231 | configTab->setCurrentPage( currPage ); |
232 | } | 232 | } |
233 | 233 | ||
234 | void EditAccounts::accept() | 234 | void EditAccounts::accept() |
235 | { | 235 | { |
236 | settings->saveAccounts(); | 236 | settings->saveAccounts(); |
237 | 237 | ||
238 | QDialog::accept(); | 238 | QDialog::accept(); |
239 | } | 239 | } |
240 | 240 | ||
241 | /** | 241 | /** |
242 | * SelectMailType | 242 | * SelectMailType |
243 | */ | 243 | */ |
244 | 244 | ||
245 | SelectMailType::SelectMailType( QString *selection, QWidget *parent, const char *name, bool modal, WFlags flags ) | 245 | SelectMailType::SelectMailType( QString *selection, QWidget *parent, const char *name, bool modal, WFlags flags ) |
246 | : SelectMailTypeUI( parent, name, modal, flags ) | 246 | : SelectMailTypeUI( parent, name, modal, flags ) |
247 | { | 247 | { |
248 | selected = selection; | 248 | selected = selection; |
249 | selected->replace( 0, selected->length(), typeBox->currentText() ); | 249 | selected->replace( 0, selected->length(), typeBox->currentText() ); |
250 | connect( typeBox, SIGNAL( activated( const QString & ) ), SLOT( slotSelection( const QString & ) ) ); | 250 | connect( typeBox, SIGNAL( activated( const QString & ) ), SLOT( slotSelection( const QString & ) ) ); |
251 | } | 251 | } |
252 | 252 | ||
253 | void SelectMailType::slotSelection( const QString &sel ) | 253 | void SelectMailType::slotSelection( const QString &sel ) |
254 | { | 254 | { |
255 | selected->replace( 0, selected->length(), sel ); | 255 | selected->replace( 0, selected->length(), sel ); |
256 | } | 256 | } |
257 | 257 | ||
258 | /** | 258 | /** |
259 | * IMAPconfig | 259 | * IMAPconfig |
260 | */ | 260 | */ |
261 | 261 | ||
262 | IMAPconfig::IMAPconfig( IMAPaccount *account, QWidget *parent, const char *name, bool modal, WFlags flags ) | 262 | IMAPconfig::IMAPconfig( IMAPaccount *account, QWidget *parent, const char *name, bool modal, WFlags flags ) |
263 | : IMAPconfigUI( parent, name, modal, flags ) | 263 | : IMAPconfigUI( parent, name, modal, flags ) |
264 | { | 264 | { |
265 | data = account; | 265 | data = account; |
266 | 266 | ||
267 | fillValues(); | 267 | fillValues(); |
268 | 268 | ||
269 | connect( sslBox, SIGNAL( toggled( bool ) ), SLOT( slotSSL( bool ) ) ); | 269 | connect( sslBox, SIGNAL( toggled( bool ) ), SLOT( slotSSL( bool ) ) ); |
270 | } | 270 | } |
271 | 271 | ||
272 | void IMAPconfig::slotSSL( bool enabled ) | 272 | void IMAPconfig::slotSSL( bool enabled ) |
273 | { | 273 | { |
274 | if ( enabled ) { | 274 | if ( enabled ) { |
275 | portLine->setText( IMAP_SSL_PORT ); | 275 | portLine->setText( IMAP_SSL_PORT ); |
276 | } else { | 276 | } else { |
277 | portLine->setText( IMAP_PORT ); | 277 | portLine->setText( IMAP_PORT ); |
278 | } | 278 | } |
279 | } | 279 | } |
280 | 280 | ||
281 | void IMAPconfig::fillValues() | 281 | void IMAPconfig::fillValues() |
282 | { | 282 | { |
283 | accountLine->setText( data->getAccountName() ); | 283 | accountLine->setText( data->getAccountName() ); |
284 | serverLine->setText( data->getServer() ); | 284 | serverLine->setText( data->getServer() ); |
285 | portLine->setText( data->getPort() ); | 285 | portLine->setText( data->getPort() ); |
286 | sslBox->setChecked( data->getSSL() ); | 286 | sslBox->setChecked( data->getSSL() ); |
287 | userLine->setText( data->getUser() ); | 287 | userLine->setText( data->getUser() ); |
288 | passLine->setText( data->getPassword() ); | 288 | passLine->setText( data->getPassword() ); |
289 | prefixLine->setText(data->getPrefix()); | 289 | prefixLine->setText(data->getPrefix()); |
290 | } | 290 | } |
291 | 291 | ||
292 | void IMAPconfig::accept() | 292 | void IMAPconfig::accept() |
293 | { | 293 | { |
294 | data->setAccountName( accountLine->text() ); | 294 | data->setAccountName( accountLine->text() ); |
295 | data->setServer( serverLine->text() ); | 295 | data->setServer( serverLine->text() ); |
296 | data->setPort( portLine->text() ); | 296 | data->setPort( portLine->text() ); |
297 | data->setSSL( sslBox->isChecked() ); | 297 | data->setSSL( sslBox->isChecked() ); |
298 | data->setUser( userLine->text() ); | 298 | data->setUser( userLine->text() ); |
299 | data->setPassword( passLine->text() ); | 299 | data->setPassword( passLine->text() ); |
300 | data->setPrefix(prefixLine->text()); | 300 | data->setPrefix(prefixLine->text()); |
301 | 301 | ||
302 | QDialog::accept(); | 302 | QDialog::accept(); |
303 | } | 303 | } |
304 | 304 | ||
305 | /** | 305 | /** |
306 | * POP3config | 306 | * POP3config |
307 | */ | 307 | */ |
308 | 308 | ||
309 | POP3config::POP3config( POP3account *account, QWidget *parent, const char *name, bool modal, WFlags flags ) | 309 | POP3config::POP3config( POP3account *account, QWidget *parent, const char *name, bool modal, WFlags flags ) |
310 | : POP3configUI( parent, name, modal, flags ) | 310 | : POP3configUI( parent, name, modal, flags ) |
311 | { | 311 | { |
312 | data = account; | 312 | data = account; |
313 | fillValues(); | 313 | fillValues(); |
314 | 314 | ||
315 | connect( ComboBox1, SIGNAL( activated( int ) ), SLOT( slotConnectionToggle( int ) ) ); | 315 | connect( ComboBox1, SIGNAL( activated( int ) ), SLOT( slotConnectionToggle( int ) ) ); |
316 | ComboBox1->insertItem( "Only if available", 0 ); | 316 | ComboBox1->insertItem( "Only if available", 0 ); |
317 | ComboBox1->insertItem( "Always, Negotiated", 1 ); | 317 | ComboBox1->insertItem( "Always, Negotiated", 1 ); |
318 | ComboBox1->insertItem( "Connect on secure port", 2 ); | 318 | ComboBox1->insertItem( "Connect on secure port", 2 ); |
319 | ComboBox1->insertItem( "Run command instead", 3 ); | 319 | ComboBox1->insertItem( "Run command instead", 3 ); |
320 | CommandEdit->hide(); | 320 | CommandEdit->hide(); |
321 | ComboBox1->setCurrentItem( data->ConnectionType() ); | 321 | ComboBox1->setCurrentItem( data->ConnectionType() ); |
322 | } | 322 | } |
323 | 323 | ||
324 | void POP3config::slotConnectionToggle( int index ) | 324 | void POP3config::slotConnectionToggle( int index ) |
325 | { | 325 | { |
326 | // 2 is ssl connection | 326 | // 2 is ssl connection |
327 | if ( index == 2 ) { | 327 | if ( index == 2 ) { |
328 | portLine->setText( POP3_SSL_PORT ); | 328 | portLine->setText( POP3_SSL_PORT ); |
329 | } else if ( index == 3 ) { | 329 | } else if ( index == 3 ) { |
330 | portLine->setText( POP3_PORT ); | 330 | portLine->setText( POP3_PORT ); |
331 | CommandEdit->show(); | 331 | CommandEdit->show(); |
332 | } else { | 332 | } else { |
333 | portLine->setText( POP3_PORT ); | 333 | portLine->setText( POP3_PORT ); |
diff --git a/noncore/net/mail/opiemail.cpp b/noncore/net/mail/opiemail.cpp index dee3f70..39e3a64 100644 --- a/noncore/net/mail/opiemail.cpp +++ b/noncore/net/mail/opiemail.cpp | |||
@@ -1,211 +1,211 @@ | |||
1 | #include <qmessagebox.h> | 1 | #include <qmessagebox.h> |
2 | #include "settingsdialog.h" | 2 | #include "settingsdialog.h" |
3 | #include "opiemail.h" | 3 | #include "opiemail.h" |
4 | #include "editaccounts.h" | 4 | #include "editaccounts.h" |
5 | #include "composemail.h" | 5 | #include "composemail.h" |
6 | #include <libmailwrapper/smtpwrapper.h> | 6 | #include <libmailwrapper/smtpwrapper.h> |
7 | #include <qpe/qcopenvelope_qws.h> | 7 | #include <qpe/qcopenvelope_qws.h> |
8 | #include <qpe/resource.h> | 8 | #include <qpe/resource.h> |
9 | #include <qaction.h> | 9 | #include <qaction.h> |
10 | #include <qapplication.h> | 10 | #include <qapplication.h> |
11 | #include <libmailwrapper/mailtypes.h> | 11 | #include <libmailwrapper/mailtypes.h> |
12 | #include "mailistviewitem.h" | 12 | #include "mailistviewitem.h" |
13 | #include "viewmail.h" | 13 | #include "viewmail.h" |
14 | #include "selectstore.h" | 14 | #include "selectstore.h" |
15 | 15 | ||
16 | OpieMail::OpieMail( QWidget *parent, const char *name, WFlags flags ) | 16 | OpieMail::OpieMail( QWidget *parent, const char *name, WFlags flags ) |
17 | : MainWindow( parent, name, flags ) | 17 | : MainWindow( parent, name, WStyle_ContextHelp ) |
18 | { | 18 | { |
19 | settings = new Settings(); | 19 | settings = new Settings(); |
20 | 20 | ||
21 | folderView->populate( settings->getAccounts() ); | 21 | folderView->populate( settings->getAccounts() ); |
22 | } | 22 | } |
23 | 23 | ||
24 | OpieMail::~OpieMail() | 24 | OpieMail::~OpieMail() |
25 | { | 25 | { |
26 | if (settings) delete settings; | 26 | if (settings) delete settings; |
27 | } | 27 | } |
28 | 28 | ||
29 | void OpieMail::appMessage(const QCString &msg, const QByteArray &data) | 29 | void OpieMail::appMessage(const QCString &msg, const QByteArray &data) |
30 | { | 30 | { |
31 | // copied from old mail2 | 31 | // copied from old mail2 |
32 | if (msg == "writeMail(QString,QString)") { | 32 | if (msg == "writeMail(QString,QString)") { |
33 | QDataStream stream(data,IO_ReadOnly); | 33 | QDataStream stream(data,IO_ReadOnly); |
34 | QString name, email; | 34 | QString name, email; |
35 | stream >> name >> email; | 35 | stream >> name >> email; |
36 | // removing the whitespaces at beginning and end is needed! | 36 | // removing the whitespaces at beginning and end is needed! |
37 | slotwriteMail(name.stripWhiteSpace(),email.stripWhiteSpace()); | 37 | slotwriteMail(name.stripWhiteSpace(),email.stripWhiteSpace()); |
38 | } else if (msg == "newMail()") { | 38 | } else if (msg == "newMail()") { |
39 | slotComposeMail(); | 39 | slotComposeMail(); |
40 | } | 40 | } |
41 | } | 41 | } |
42 | 42 | ||
43 | void OpieMail::slotwriteMail(const QString&name,const QString&email) | 43 | void OpieMail::slotwriteMail(const QString&name,const QString&email) |
44 | { | 44 | { |
45 | ComposeMail compose( settings, this, 0 , true ); | 45 | ComposeMail compose( settings, this, 0, true , WStyle_ContextHelp ); |
46 | if (!email.isEmpty()) { | 46 | if (!email.isEmpty()) { |
47 | if (!name.isEmpty()) { | 47 | if (!name.isEmpty()) { |
48 | compose.setTo("\"" + name + "\"" + " " + "<"+ email + ">"); | 48 | compose.setTo("\"" + name + "\"" + " " + "<"+ email + ">"); |
49 | } else { | 49 | } else { |
50 | compose.setTo(email); | 50 | compose.setTo(email); |
51 | } | 51 | } |
52 | } | 52 | } |
53 | compose.showMaximized(); | 53 | compose.showMaximized(); |
54 | compose.slotAdjustColumns(); | 54 | compose.slotAdjustColumns(); |
55 | compose.exec(); | 55 | compose.exec(); |
56 | } | 56 | } |
57 | 57 | ||
58 | void OpieMail::slotComposeMail() | 58 | void OpieMail::slotComposeMail() |
59 | { | 59 | { |
60 | qDebug( "Compose Mail" ); | 60 | qDebug( "Compose Mail" ); |
61 | slotwriteMail(0l,0l); | 61 | slotwriteMail(0l,0l); |
62 | } | 62 | } |
63 | 63 | ||
64 | void OpieMail::slotSendQueued() | 64 | void OpieMail::slotSendQueued() |
65 | { | 65 | { |
66 | qDebug( "Send Queued" ); | 66 | qDebug( "Send Queued" ); |
67 | SMTPaccount *smtp = 0; | 67 | SMTPaccount *smtp = 0; |
68 | 68 | ||
69 | QList<Account> list = settings->getAccounts(); | 69 | QList<Account> list = settings->getAccounts(); |
70 | Account *it; | 70 | Account *it; |
71 | // if (list.count()==1) { | 71 | // if (list.count()==1) { |
72 | for ( it = list.first(); it; it = list.next() ) { | 72 | for ( it = list.first(); it; it = list.next() ) { |
73 | if ( it->getType().compare( "SMTP" ) == 0 ) { | 73 | if ( it->getType().compare( "SMTP" ) == 0 ) { |
74 | smtp = static_cast<SMTPaccount *>(it); | 74 | smtp = static_cast<SMTPaccount *>(it); |
75 | break; | 75 | break; |
76 | } | 76 | } |
77 | } | 77 | } |
78 | // } | 78 | // } |
79 | if (smtp) { | 79 | if (smtp) { |
80 | SMTPwrapper * wrap = new SMTPwrapper(settings); | 80 | SMTPwrapper * wrap = new SMTPwrapper(settings); |
81 | if ( wrap->flushOutbox(smtp) ) { | 81 | if ( wrap->flushOutbox(smtp) ) { |
82 | QMessageBox::information(0,tr("Info"),tr("Mail queue flushed")); | 82 | QMessageBox::information(0,tr("Info"),tr("Mail queue flushed")); |
83 | } | 83 | } |
84 | } | 84 | } |
85 | } | 85 | } |
86 | 86 | ||
87 | void OpieMail::slotSearchMails() | 87 | void OpieMail::slotSearchMails() |
88 | { | 88 | { |
89 | qDebug( "Search Mails" ); | 89 | qDebug( "Search Mails" ); |
90 | } | 90 | } |
91 | 91 | ||
92 | void OpieMail::slotEditSettings() | 92 | void OpieMail::slotEditSettings() |
93 | { | 93 | { |
94 | SettingsDialog settingsDialog( this, 0, true ); | 94 | SettingsDialog settingsDialog( this, 0, true, WStyle_ContextHelp ); |
95 | settingsDialog.showMaximized(); | 95 | settingsDialog.showMaximized(); |
96 | settingsDialog.exec(); | 96 | settingsDialog.exec(); |
97 | } | 97 | } |
98 | 98 | ||
99 | void OpieMail::slotEditAccounts() | 99 | void OpieMail::slotEditAccounts() |
100 | { | 100 | { |
101 | qDebug( "Edit Accounts" ); | 101 | qDebug( "Edit Accounts" ); |
102 | EditAccounts eaDialog( settings, this, 0, true ); | 102 | EditAccounts eaDialog( settings, this, 0, true, WStyle_ContextHelp ); |
103 | eaDialog.showMaximized(); | 103 | eaDialog.showMaximized(); |
104 | eaDialog.slotAdjustColumns(); | 104 | eaDialog.slotAdjustColumns(); |
105 | eaDialog.exec(); | 105 | eaDialog.exec(); |
106 | if ( settings ) delete settings; | 106 | if ( settings ) delete settings; |
107 | settings = new Settings(); | 107 | settings = new Settings(); |
108 | 108 | ||
109 | folderView->populate( settings->getAccounts() ); | 109 | folderView->populate( settings->getAccounts() ); |
110 | } | 110 | } |
111 | 111 | ||
112 | void OpieMail::displayMail() | 112 | void OpieMail::displayMail() |
113 | { | 113 | { |
114 | QListViewItem*item = mailView->currentItem(); | 114 | QListViewItem*item = mailView->currentItem(); |
115 | if (!item) return; | 115 | if (!item) return; |
116 | RecMail mail = ((MailListViewItem*)item)->data(); | 116 | RecMail mail = ((MailListViewItem*)item)->data(); |
117 | RecBody body = folderView->fetchBody(mail); | 117 | RecBody body = folderView->fetchBody(mail); |
118 | ViewMail readMail( this ); | 118 | ViewMail readMail( this,"", Qt::WType_Modal | WStyle_ContextHelp ); |
119 | readMail.setBody( body ); | 119 | readMail.setBody( body ); |
120 | readMail.setMail( mail ); | 120 | readMail.setMail( mail ); |
121 | readMail.showMaximized(); | 121 | readMail.showMaximized(); |
122 | readMail.exec(); | 122 | readMail.exec(); |
123 | 123 | ||
124 | if ( readMail.deleted ) { | 124 | if ( readMail.deleted ) { |
125 | folderView->refreshCurrent(); | 125 | folderView->refreshCurrent(); |
126 | } else { | 126 | } else { |
127 | ( (MailListViewItem*)item )->setPixmap( 0, Resource::loadPixmap( "") ); | 127 | ( (MailListViewItem*)item )->setPixmap( 0, Resource::loadPixmap( "" ) ); |
128 | } | 128 | } |
129 | } | 129 | } |
130 | 130 | ||
131 | void OpieMail::slotDeleteMail() | 131 | void OpieMail::slotDeleteMail() |
132 | { | 132 | { |
133 | if (!mailView->currentItem()) return; | 133 | if (!mailView->currentItem()) return; |
134 | RecMail mail = ((MailListViewItem*)mailView->currentItem() )->data(); | 134 | RecMail mail = ((MailListViewItem*)mailView->currentItem() )->data(); |
135 | if ( QMessageBox::warning(this, tr("Delete Mail"), QString( tr("<p>Do you really want to delete this mail? <br><br>" ) + mail.getFrom() + " - " + mail.getSubject() ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) { | 135 | if ( QMessageBox::warning(this, tr("Delete Mail"), QString( tr("<p>Do you really want to delete this mail? <br><br>" ) + mail.getFrom() + " - " + mail.getSubject() ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) { |
136 | mail.Wrapper()->deleteMail( mail ); | 136 | mail.Wrapper()->deleteMail( mail ); |
137 | folderView->refreshCurrent(); | 137 | folderView->refreshCurrent(); |
138 | } | 138 | } |
139 | } | 139 | } |
140 | 140 | ||
141 | void OpieMail::mailHold(int button, QListViewItem *item,const QPoint&,int ) | 141 | void OpieMail::mailHold(int button, QListViewItem *item,const QPoint&,int ) |
142 | { | 142 | { |
143 | /* just the RIGHT button - or hold on pda */ | 143 | /* just the RIGHT button - or hold on pda */ |
144 | if (button!=2) {return;} | 144 | if (button!=2) {return;} |
145 | qDebug("Event right/hold"); | 145 | qDebug("Event right/hold"); |
146 | if (!item) return; | 146 | if (!item) return; |
147 | QPopupMenu *m = new QPopupMenu(0); | 147 | QPopupMenu *m = new QPopupMenu(0); |
148 | if (m) { | 148 | if (m) { |
149 | m->insertItem(tr("Read this mail"),this,SLOT(displayMail())); | 149 | m->insertItem(tr("Read this mail"),this,SLOT(displayMail())); |
150 | m->insertItem(tr("Delete this mail"),this,SLOT(slotDeleteMail())); | 150 | m->insertItem(tr("Delete this mail"),this,SLOT(slotDeleteMail())); |
151 | m->insertItem(tr("Copy/Move this mail"),this,SLOT(slotMoveCopyMail())); | 151 | m->insertItem(tr("Copy/Move this mail"),this,SLOT(slotMoveCopyMail())); |
152 | m->setFocus(); | 152 | m->setFocus(); |
153 | m->exec( QPoint( QCursor::pos().x(), QCursor::pos().y()) ); | 153 | m->exec( QPoint( QCursor::pos().x(), QCursor::pos().y()) ); |
154 | delete m; | 154 | delete m; |
155 | } | 155 | } |
156 | } | 156 | } |
157 | 157 | ||
158 | void OpieMail::slotShowFolders( bool show ) | 158 | void OpieMail::slotShowFolders( bool show ) |
159 | { | 159 | { |
160 | qDebug( "Show Folders" ); | 160 | qDebug( "Show Folders" ); |
161 | if ( show && folderView->isHidden() ) { | 161 | if ( show && folderView->isHidden() ) { |
162 | qDebug( "-> showing" ); | 162 | qDebug( "-> showing" ); |
163 | folderView->show(); | 163 | folderView->show(); |
164 | } else if ( !show && !folderView->isHidden() ) { | 164 | } else if ( !show && !folderView->isHidden() ) { |
165 | qDebug( "-> hiding" ); | 165 | qDebug( "-> hiding" ); |
166 | folderView->hide(); | 166 | folderView->hide(); |
167 | } | 167 | } |
168 | } | 168 | } |
169 | 169 | ||
170 | void OpieMail::refreshMailView(QList<RecMail>*list) | 170 | void OpieMail::refreshMailView(QList<RecMail>*list) |
171 | { | 171 | { |
172 | MailListViewItem*item = 0; | 172 | MailListViewItem*item = 0; |
173 | mailView->clear(); | 173 | mailView->clear(); |
174 | for (unsigned int i = 0; i < list->count();++i) { | 174 | for (unsigned int i = 0; i < list->count();++i) { |
175 | item = new MailListViewItem(mailView,item); | 175 | item = new MailListViewItem(mailView,item); |
176 | item->storeData(*(list->at(i))); | 176 | item->storeData(*(list->at(i))); |
177 | item->showEntry(); | 177 | item->showEntry(); |
178 | } | 178 | } |
179 | } | 179 | } |
180 | 180 | ||
181 | void OpieMail::mailLeftClicked(int button, QListViewItem *item,const QPoint&,int ) | 181 | void OpieMail::mailLeftClicked(int button, QListViewItem *item,const QPoint&,int ) |
182 | { | 182 | { |
183 | /* just LEFT button - or tap with stylus on pda */ | 183 | /* just LEFT button - or tap with stylus on pda */ |
184 | if (button!=1) return; | 184 | if (button!=1) return; |
185 | if (!item) return; | 185 | if (!item) return; |
186 | displayMail(); | 186 | displayMail(); |
187 | } | 187 | } |
188 | 188 | ||
189 | void OpieMail::slotMoveCopyMail() | 189 | void OpieMail::slotMoveCopyMail() |
190 | { | 190 | { |
191 | if (!mailView->currentItem()) return; | 191 | if (!mailView->currentItem()) return; |
192 | RecMail mail = ((MailListViewItem*)mailView->currentItem() )->data(); | 192 | RecMail mail = ((MailListViewItem*)mailView->currentItem() )->data(); |
193 | AbstractMail*targetMail = 0; | 193 | AbstractMail*targetMail = 0; |
194 | QString targetFolder = ""; | 194 | QString targetFolder = ""; |
195 | Selectstore sels; | 195 | Selectstore sels; |
196 | folderView->setupFolderselect(&sels); | 196 | folderView->setupFolderselect(&sels); |
197 | if (!sels.exec()) return; | 197 | if (!sels.exec()) return; |
198 | targetMail = sels.currentMail(); | 198 | targetMail = sels.currentMail(); |
199 | targetFolder = sels.currentFolder(); | 199 | targetFolder = sels.currentFolder(); |
200 | if ( (mail.Wrapper()==targetMail && mail.getMbox()==targetFolder) || | 200 | if ( (mail.Wrapper()==targetMail && mail.getMbox()==targetFolder) || |
201 | targetFolder.isEmpty()) { | 201 | targetFolder.isEmpty()) { |
202 | return; | 202 | return; |
203 | } | 203 | } |
204 | if (sels.newFolder() && !targetMail->createMbox(targetFolder)) { | 204 | if (sels.newFolder() && !targetMail->createMbox(targetFolder)) { |
205 | QMessageBox::critical(0,tr("Error creating new Folder"), | 205 | QMessageBox::critical(0,tr("Error creating new Folder"), |
206 | tr("<center>Error while creating<br>new folder - breaking.</center>")); | 206 | tr("<center>Error while creating<br>new folder - breaking.</center>")); |
207 | return; | 207 | return; |
208 | } | 208 | } |
209 | mail.Wrapper()->mvcpMail(mail,targetFolder,targetMail,sels.moveMails()); | 209 | mail.Wrapper()->mvcpMail(mail,targetFolder,targetMail,sels.moveMails()); |
210 | folderView->refreshCurrent(); | 210 | folderView->refreshCurrent(); |
211 | } | 211 | } |
diff --git a/noncore/net/mail/pop3configui.ui b/noncore/net/mail/pop3configui.ui index 95cbdc2..1014ef4 100644 --- a/noncore/net/mail/pop3configui.ui +++ b/noncore/net/mail/pop3configui.ui | |||
@@ -1,405 +1,352 @@ | |||
1 | <!DOCTYPE UI><UI> | 1 | <!DOCTYPE UI><UI> |
2 | <class>POP3configUI</class> | 2 | <class>POP3configUI</class> |
3 | <widget> | 3 | <widget> |
4 | <class>QDialog</class> | 4 | <class>QDialog</class> |
5 | <property stdset="1"> | 5 | <property stdset="1"> |
6 | <name>name</name> | 6 | <name>name</name> |
7 | <cstring>POP3configUI</cstring> | 7 | <cstring>POP3configUI</cstring> |
8 | </property> | 8 | </property> |
9 | <property stdset="1"> | 9 | <property stdset="1"> |
10 | <name>geometry</name> | 10 | <name>geometry</name> |
11 | <rect> | 11 | <rect> |
12 | <x>0</x> | 12 | <x>0</x> |
13 | <y>0</y> | 13 | <y>0</y> |
14 | <width>232</width> | 14 | <width>314</width> |
15 | <height>320</height> | 15 | <height>410</height> |
16 | </rect> | 16 | </rect> |
17 | </property> | 17 | </property> |
18 | <property stdset="1"> | 18 | <property stdset="1"> |
19 | <name>caption</name> | 19 | <name>caption</name> |
20 | <string>Configure POP3</string> | 20 | <string>Configure POP3</string> |
21 | </property> | 21 | </property> |
22 | <property> | 22 | <property> |
23 | <name>layoutMargin</name> | 23 | <name>layoutMargin</name> |
24 | </property> | 24 | </property> |
25 | <property> | 25 | <property> |
26 | <name>layoutSpacing</name> | 26 | <name>layoutSpacing</name> |
27 | </property> | 27 | </property> |
28 | <widget> | 28 | <vbox> |
29 | <class>QLayoutWidget</class> | ||
30 | <property stdset="1"> | 29 | <property stdset="1"> |
31 | <name>name</name> | 30 | <name>margin</name> |
32 | <cstring>Layout12</cstring> | 31 | <number>3</number> |
33 | </property> | 32 | </property> |
34 | <property stdset="1"> | 33 | <property stdset="1"> |
35 | <name>geometry</name> | 34 | <name>spacing</name> |
36 | <rect> | 35 | <number>3</number> |
37 | <x>3</x> | ||
38 | <y>3</y> | ||
39 | <width>226</width> | ||
40 | <height>32</height> | ||
41 | </rect> | ||
42 | </property> | 36 | </property> |
43 | <hbox> | 37 | <widget> |
38 | <class>QLayoutWidget</class> | ||
44 | <property stdset="1"> | 39 | <property stdset="1"> |
45 | <name>margin</name> | 40 | <name>name</name> |
46 | <number>0</number> | 41 | <cstring>Layout12</cstring> |
47 | </property> | 42 | </property> |
48 | <property stdset="1"> | 43 | <hbox> |
49 | <name>spacing</name> | ||
50 | <number>6</number> | ||
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"> | 44 | <property stdset="1"> |
59 | <name>text</name> | 45 | <name>margin</name> |
60 | <string>Account</string> | 46 | <number>0</number> |
61 | </property> | 47 | </property> |
62 | </widget> | ||
63 | <widget> | ||
64 | <class>QLineEdit</class> | ||
65 | <property stdset="1"> | 48 | <property stdset="1"> |
66 | <name>name</name> | 49 | <name>spacing</name> |
67 | <cstring>accountLine</cstring> | 50 | <number>6</number> |
68 | </property> | ||
69 | <property> | ||
70 | <name>toolTip</name> | ||
71 | <string>Name of the Account</string> | ||
72 | </property> | 51 | </property> |
73 | </widget> | 52 | <widget> |
74 | </hbox> | 53 | <class>QLabel</class> |
75 | </widget> | 54 | <property stdset="1"> |
76 | <widget> | 55 | <name>name</name> |
77 | <class>Line</class> | 56 | <cstring>accountLabel</cstring> |
78 | <property stdset="1"> | 57 | </property> |
79 | <name>name</name> | 58 | <property stdset="1"> |
80 | <cstring>line1</cstring> | 59 | <name>text</name> |
81 | </property> | 60 | <string>Account</string> |
82 | <property stdset="1"> | 61 | </property> |
83 | <name>geometry</name> | 62 | </widget> |
84 | <rect> | 63 | <widget> |
85 | <x>3</x> | 64 | <class>QLineEdit</class> |
86 | <y>38</y> | 65 | <property stdset="1"> |
87 | <width>226</width> | 66 | <name>name</name> |
88 | <height>16</height> | 67 | <cstring>accountLine</cstring> |
89 | </rect> | 68 | </property> |
90 | </property> | 69 | <property> |
91 | <property stdset="1"> | 70 | <name>toolTip</name> |
92 | <name>orientation</name> | 71 | <string>Name of the Account</string> |
93 | <enum>Horizontal</enum> | 72 | </property> |
94 | </property> | 73 | </widget> |
95 | </widget> | 74 | </hbox> |
96 | <widget> | 75 | </widget> |
97 | <class>QLayoutWidget</class> | 76 | <widget> |
98 | <property stdset="1"> | 77 | <class>Line</class> |
99 | <name>name</name> | 78 | <property stdset="1"> |
100 | <cstring>Layout11</cstring> | 79 | <name>name</name> |
101 | </property> | 80 | <cstring>line1</cstring> |
102 | <property stdset="1"> | 81 | </property> |
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"> | 82 | <property stdset="1"> |
113 | <name>margin</name> | 83 | <name>orientation</name> |
114 | <number>0</number> | 84 | <enum>Horizontal</enum> |
115 | </property> | 85 | </property> |
86 | </widget> | ||
87 | <widget> | ||
88 | <class>QLayoutWidget</class> | ||
116 | <property stdset="1"> | 89 | <property stdset="1"> |
117 | <name>spacing</name> | 90 | <name>name</name> |
118 | <number>6</number> | 91 | <cstring>Layout11</cstring> |
119 | </property> | 92 | </property> |
120 | <widget> | 93 | <hbox> |
121 | <class>QLayoutWidget</class> | ||
122 | <property stdset="1"> | 94 | <property stdset="1"> |
123 | <name>name</name> | 95 | <name>margin</name> |
124 | <cstring>Layout9</cstring> | 96 | <number>0</number> |
125 | </property> | 97 | </property> |
126 | <vbox> | 98 | <property stdset="1"> |
127 | <property stdset="1"> | 99 | <name>spacing</name> |
128 | <name>margin</name> | 100 | <number>6</number> |
129 | <number>0</number> | 101 | </property> |
130 | </property> | 102 | <widget> |
103 | <class>QLayoutWidget</class> | ||
131 | <property stdset="1"> | 104 | <property stdset="1"> |
132 | <name>spacing</name> | 105 | <name>name</name> |
133 | <number>6</number> | 106 | <cstring>Layout9</cstring> |
134 | </property> | 107 | </property> |
135 | <widget> | 108 | <vbox> |
136 | <class>QLabel</class> | ||
137 | <property stdset="1"> | 109 | <property stdset="1"> |
138 | <name>name</name> | 110 | <name>margin</name> |
139 | <cstring>serverLabel</cstring> | 111 | <number>0</number> |
140 | </property> | 112 | </property> |
141 | <property stdset="1"> | 113 | <property stdset="1"> |
142 | <name>text</name> | 114 | <name>spacing</name> |
143 | <string>Server</string> | 115 | <number>6</number> |
144 | </property> | 116 | </property> |
145 | </widget> | 117 | <widget> |
146 | <widget> | 118 | <class>QLabel</class> |
147 | <class>QLabel</class> | 119 | <property stdset="1"> |
120 | <name>name</name> | ||
121 | <cstring>serverLabel</cstring> | ||
122 | </property> | ||
123 | <property stdset="1"> | ||
124 | <name>text</name> | ||
125 | <string>Server</string> | ||
126 | </property> | ||
127 | </widget> | ||
128 | <widget> | ||
129 | <class>QLabel</class> | ||
130 | <property stdset="1"> | ||
131 | <name>name</name> | ||
132 | <cstring>portLabel</cstring> | ||
133 | </property> | ||
134 | <property stdset="1"> | ||
135 | <name>text</name> | ||
136 | <string>Port</string> | ||
137 | </property> | ||
138 | </widget> | ||
139 | </vbox> | ||
140 | </widget> | ||
141 | <widget> | ||
142 | <class>QLayoutWidget</class> | ||
143 | <property stdset="1"> | ||
144 | <name>name</name> | ||
145 | <cstring>Layout10</cstring> | ||
146 | </property> | ||
147 | <vbox> | ||
148 | <property stdset="1"> | 148 | <property stdset="1"> |
149 | <name>name</name> | 149 | <name>margin</name> |
150 | <cstring>portLabel</cstring> | 150 | <number>0</number> |
151 | </property> | 151 | </property> |
152 | <property stdset="1"> | 152 | <property stdset="1"> |
153 | <name>text</name> | 153 | <name>spacing</name> |
154 | <string>Port</string> | 154 | <number>6</number> |
155 | </property> | 155 | </property> |
156 | </widget> | 156 | <widget> |
157 | </vbox> | 157 | <class>QLineEdit</class> |
158 | </widget> | 158 | <property stdset="1"> |
159 | <widget> | 159 | <name>name</name> |
160 | <class>QLayoutWidget</class> | 160 | <cstring>serverLine</cstring> |
161 | </property> | ||
162 | </widget> | ||
163 | <widget> | ||
164 | <class>QLineEdit</class> | ||
165 | <property stdset="1"> | ||
166 | <name>name</name> | ||
167 | <cstring>portLine</cstring> | ||
168 | </property> | ||
169 | </widget> | ||
170 | </vbox> | ||
171 | </widget> | ||
172 | </hbox> | ||
173 | </widget> | ||
174 | <widget> | ||
175 | <class>QLayoutWidget</class> | ||
176 | <property stdset="1"> | ||
177 | <name>name</name> | ||
178 | <cstring>Layout13</cstring> | ||
179 | </property> | ||
180 | <vbox> | ||
181 | <property stdset="1"> | ||
182 | <name>margin</name> | ||
183 | <number>0</number> | ||
184 | </property> | ||
161 | <property stdset="1"> | 185 | <property stdset="1"> |
162 | <name>name</name> | 186 | <name>spacing</name> |
163 | <cstring>Layout10</cstring> | 187 | <number>6</number> |
164 | </property> | 188 | </property> |
165 | <vbox> | 189 | <widget> |
190 | <class>QLabel</class> | ||
166 | <property stdset="1"> | 191 | <property stdset="1"> |
167 | <name>margin</name> | 192 | <name>name</name> |
168 | <number>0</number> | 193 | <cstring>TextLabel1</cstring> |
169 | </property> | 194 | </property> |
170 | <property stdset="1"> | 195 | <property stdset="1"> |
171 | <name>spacing</name> | 196 | <name>text</name> |
172 | <number>6</number> | 197 | <string>Use secure sockets:</string> |
173 | </property> | 198 | </property> |
174 | <widget> | 199 | </widget> |
175 | <class>QLineEdit</class> | 200 | <widget> |
176 | <property stdset="1"> | 201 | <class>QComboBox</class> |
177 | <name>name</name> | 202 | <property stdset="1"> |
178 | <cstring>serverLine</cstring> | 203 | <name>name</name> |
179 | </property> | 204 | <cstring>ComboBox1</cstring> |
180 | </widget> | 205 | </property> |
181 | <widget> | 206 | </widget> |
182 | <class>QLineEdit</class> | 207 | </vbox> |
183 | <property stdset="1"> | 208 | </widget> |
184 | <name>name</name> | 209 | <widget> |
185 | <cstring>portLine</cstring> | 210 | <class>QLineEdit</class> |
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> | ||
208 | <property stdset="1"> | 211 | <property stdset="1"> |
209 | <name>margin</name> | 212 | <name>name</name> |
210 | <number>0</number> | 213 | <cstring>CommandEdit</cstring> |
211 | </property> | 214 | </property> |
212 | <property stdset="1"> | 215 | <property stdset="1"> |
213 | <name>spacing</name> | 216 | <name>text</name> |
214 | <number>6</number> | 217 | <string>ssh $SERVER exec imapd</string> |
218 | </property> | ||
219 | </widget> | ||
220 | <widget> | ||
221 | <class>Line</class> | ||
222 | <property stdset="1"> | ||
223 | <name>name</name> | ||
224 | <cstring>line2</cstring> | ||
215 | </property> | 225 | </property> |
216 | <widget> | ||
217 | <class>QLabel</class> | ||
218 | <property stdset="1"> | ||
219 | <name>name</name> | ||
220 | <cstring>TextLabel1</cstring> | ||
221 | </property> | ||
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> | ||
252 | <property stdset="1"> | 226 | <property stdset="1"> |
253 | <name>margin</name> | 227 | <name>orientation</name> |
254 | <number>0</number> | 228 | <enum>Horizontal</enum> |
255 | </property> | 229 | </property> |
230 | </widget> | ||
231 | <widget> | ||
232 | <class>QLayoutWidget</class> | ||
256 | <property stdset="1"> | 233 | <property stdset="1"> |
257 | <name>spacing</name> | 234 | <name>name</name> |
258 | <number>6</number> | 235 | <cstring>Layout6</cstring> |
259 | </property> | 236 | </property> |
260 | <widget> | 237 | <hbox> |
261 | <class>QLayoutWidget</class> | ||
262 | <property stdset="1"> | 238 | <property stdset="1"> |
263 | <name>name</name> | 239 | <name>margin</name> |
264 | <cstring>Layout4</cstring> | 240 | <number>0</number> |
265 | </property> | 241 | </property> |
266 | <vbox> | 242 | <property stdset="1"> |
267 | <property stdset="1"> | 243 | <name>spacing</name> |
268 | <name>margin</name> | 244 | <number>6</number> |
269 | <number>0</number> | 245 | </property> |
270 | </property> | 246 | <widget> |
247 | <class>QLayoutWidget</class> | ||
271 | <property stdset="1"> | 248 | <property stdset="1"> |
272 | <name>spacing</name> | 249 | <name>name</name> |
273 | <number>6</number> | 250 | <cstring>Layout4</cstring> |
274 | </property> | 251 | </property> |
275 | <widget> | 252 | <vbox> |
276 | <class>QLabel</class> | ||
277 | <property stdset="1"> | ||
278 | <name>name</name> | ||
279 | <cstring>userLabel</cstring> | ||
280 | </property> | ||
281 | <property stdset="1"> | 253 | <property stdset="1"> |
282 | <name>text</name> | 254 | <name>margin</name> |
283 | <string>User</string> | 255 | <number>0</number> |
284 | </property> | 256 | </property> |
285 | </widget> | ||
286 | <widget> | ||
287 | <class>QLabel</class> | ||
288 | <property stdset="1"> | 257 | <property stdset="1"> |
289 | <name>name</name> | 258 | <name>spacing</name> |
290 | <cstring>passLabel</cstring> | 259 | <number>6</number> |
291 | </property> | 260 | </property> |
292 | <property stdset="1"> | 261 | <widget> |
293 | <name>text</name> | 262 | <class>QLabel</class> |
294 | <string>Password</string> | 263 | <property stdset="1"> |
295 | </property> | 264 | <name>name</name> |
296 | </widget> | 265 | <cstring>userLabel</cstring> |
297 | </vbox> | 266 | </property> |
298 | </widget> | 267 | <property stdset="1"> |
299 | <widget> | 268 | <name>text</name> |
300 | <class>QLayoutWidget</class> | 269 | <string>User</string> |
301 | <property stdset="1"> | 270 | </property> |
302 | <name>name</name> | 271 | </widget> |
303 | <cstring>Layout5</cstring> | 272 | <widget> |
304 | </property> | 273 | <class>QLabel</class> |
305 | <vbox> | 274 | <property stdset="1"> |
306 | <property stdset="1"> | 275 | <name>name</name> |
307 | <name>margin</name> | 276 | <cstring>passLabel</cstring> |
308 | <number>0</number> | 277 | </property> |
309 | </property> | 278 | <property stdset="1"> |
279 | <name>text</name> | ||
280 | <string>Password</string> | ||
281 | </property> | ||
282 | </widget> | ||
283 | </vbox> | ||
284 | </widget> | ||
285 | <widget> | ||
286 | <class>QLayoutWidget</class> | ||
310 | <property stdset="1"> | 287 | <property stdset="1"> |
311 | <name>spacing</name> | 288 | <name>name</name> |
312 | <number>6</number> | 289 | <cstring>Layout5</cstring> |
313 | </property> | 290 | </property> |
314 | <widget> | 291 | <vbox> |
315 | <class>QLineEdit</class> | ||
316 | <property stdset="1"> | 292 | <property stdset="1"> |
317 | <name>name</name> | 293 | <name>margin</name> |
318 | <cstring>userLine</cstring> | 294 | <number>0</number> |
319 | </property> | 295 | </property> |
320 | </widget> | ||
321 | <widget> | ||
322 | <class>QLineEdit</class> | ||
323 | <property stdset="1"> | 296 | <property stdset="1"> |
324 | <name>name</name> | 297 | <name>spacing</name> |
325 | <cstring>passLine</cstring> | 298 | <number>6</number> |
326 | </property> | 299 | </property> |
327 | <property stdset="1"> | 300 | <widget> |
328 | <name>echoMode</name> | 301 | <class>QLineEdit</class> |
329 | <enum>Password</enum> | 302 | <property stdset="1"> |
330 | </property> | 303 | <name>name</name> |
331 | </widget> | 304 | <cstring>userLine</cstring> |
332 | </vbox> | 305 | </property> |
333 | </widget> | 306 | </widget> |
334 | </hbox> | 307 | <widget> |
335 | </widget> | 308 | <class>QLineEdit</class> |
336 | <spacer> | 309 | <property stdset="1"> |
337 | <property> | 310 | <name>name</name> |
338 | <name>name</name> | 311 | <cstring>passLine</cstring> |
339 | <cstring>spacer</cstring> | 312 | </property> |
340 | </property> | 313 | <property stdset="1"> |
341 | <property stdset="1"> | 314 | <name>echoMode</name> |
342 | <name>orientation</name> | 315 | <enum>Password</enum> |
343 | <enum>Vertical</enum> | 316 | </property> |
344 | </property> | 317 | </widget> |
345 | <property stdset="1"> | 318 | </vbox> |
346 | <name>sizeType</name> | 319 | </widget> |
347 | <enum>Expanding</enum> | 320 | </hbox> |
348 | </property> | 321 | </widget> |
349 | <property> | 322 | <spacer> |
350 | <name>sizeHint</name> | 323 | <property> |
351 | <size> | 324 | <name>name</name> |
352 | <width>20</width> | 325 | <cstring>spacer</cstring> |
353 | <height>20</height> | 326 | </property> |
354 | </size> | 327 | <property stdset="1"> |
355 | </property> | 328 | <name>orientation</name> |
356 | </spacer> | 329 | <enum>Vertical</enum> |
357 | <widget> | 330 | </property> |
358 | <class>QLineEdit</class> | 331 | <property stdset="1"> |
359 | <property stdset="1"> | 332 | <name>sizeType</name> |
360 | <name>name</name> | 333 | <enum>Expanding</enum> |
361 | <cstring>CommandEdit</cstring> | 334 | </property> |
362 | </property> | 335 | <property> |
363 | <property stdset="1"> | 336 | <name>sizeHint</name> |
364 | <name>geometry</name> | 337 | <size> |
365 | <rect> | 338 | <width>20</width> |
366 | <x>0</x> | 339 | <height>20</height> |
367 | <y>180</y> | 340 | </size> |
368 | <width>226</width> | 341 | </property> |
369 | <height>30</height> | 342 | </spacer> |
370 | </rect> | 343 | </vbox> |
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> | ||
397 | </widget> | 344 | </widget> |
398 | <tabstops> | 345 | <tabstops> |
399 | <tabstop>accountLine</tabstop> | 346 | <tabstop>accountLine</tabstop> |
400 | <tabstop>serverLine</tabstop> | 347 | <tabstop>serverLine</tabstop> |
401 | <tabstop>portLine</tabstop> | 348 | <tabstop>portLine</tabstop> |
402 | <tabstop>userLine</tabstop> | 349 | <tabstop>userLine</tabstop> |
403 | <tabstop>passLine</tabstop> | 350 | <tabstop>passLine</tabstop> |
404 | </tabstops> | 351 | </tabstops> |
405 | </UI> | 352 | </UI> |
diff --git a/noncore/net/mail/viewmail.h b/noncore/net/mail/viewmail.h index 2d0e024..abbd5b3 100644 --- a/noncore/net/mail/viewmail.h +++ b/noncore/net/mail/viewmail.h | |||
@@ -1,73 +1,73 @@ | |||
1 | #ifndef VIEWMAIL_H | 1 | #ifndef VIEWMAIL_H |
2 | #define VIEWMAIL_H | 2 | #define VIEWMAIL_H |
3 | 3 | ||
4 | #include <qlistview.h> | 4 | #include <qlistview.h> |
5 | #include <qmap.h> | 5 | #include <qmap.h> |
6 | #include <qstringlist.h> | 6 | #include <qstringlist.h> |
7 | #include <qvaluelist.h> | 7 | #include <qvaluelist.h> |
8 | 8 | ||
9 | #include "viewmailbase.h" | 9 | #include "viewmailbase.h" |
10 | #include <libmailwrapper/mailtypes.h> | 10 | #include <libmailwrapper/mailtypes.h> |
11 | 11 | ||
12 | 12 | ||
13 | class AttachItem : public QListViewItem | 13 | class AttachItem : public QListViewItem |
14 | { | 14 | { |
15 | public: | 15 | public: |
16 | AttachItem(QListView * parent,QListViewItem *after, const QString&mime,const QString&desc,const QString&file, | 16 | AttachItem(QListView * parent,QListViewItem *after, const QString&mime,const QString&desc,const QString&file, |
17 | const QString&fsize,int num,const QValueList<int>&path); | 17 | const QString&fsize,int num,const QValueList<int>&path); |
18 | AttachItem(QListViewItem * parent,QListViewItem *after, const QString&mime,const QString&desc,const QString&file, | 18 | AttachItem(QListViewItem * parent,QListViewItem *after, const QString&mime,const QString&desc,const QString&file, |
19 | const QString&fsize,int num,const QValueList<int>&path); | 19 | const QString&fsize,int num,const QValueList<int>&path); |
20 | int Partnumber() { return _partNum; } | 20 | int Partnumber() { return _partNum; } |
21 | bool isParentof(const QValueList<int>&path); | 21 | bool isParentof(const QValueList<int>&path); |
22 | 22 | ||
23 | private: | 23 | private: |
24 | int _partNum; | 24 | int _partNum; |
25 | /* needed for a better display of attachments */ | 25 | /* needed for a better display of attachments */ |
26 | QValueList<int> _path; | 26 | QValueList<int> _path; |
27 | }; | 27 | }; |
28 | 28 | ||
29 | class ViewMail : public ViewMailBase | 29 | class ViewMail : public ViewMailBase |
30 | { | 30 | { |
31 | Q_OBJECT | 31 | Q_OBJECT |
32 | 32 | ||
33 | public: | 33 | public: |
34 | ViewMail( QWidget *parent = 0, const char *name = 0, WFlags fl = Qt::WType_Modal); | 34 | ViewMail( QWidget *parent = 0, const char *name = 0, WFlags fl = 0); |
35 | ~ViewMail(); | 35 | ~ViewMail(); |
36 | 36 | ||
37 | void hide(); | 37 | void hide(); |
38 | void exec(); | 38 | void exec(); |
39 | void setMail( RecMail mail ); | 39 | void setMail( RecMail mail ); |
40 | void setBody( RecBody body ); | 40 | void setBody( RecBody body ); |
41 | bool deleted; | 41 | bool deleted; |
42 | 42 | ||
43 | protected: | 43 | protected: |
44 | QString deHtml(const QString &string); | 44 | QString deHtml(const QString &string); |
45 | AttachItem* searchParent(const QValueList<int>&path); | 45 | AttachItem* searchParent(const QValueList<int>&path); |
46 | AttachItem* lastChild(AttachItem*parent); | 46 | AttachItem* lastChild(AttachItem*parent); |
47 | 47 | ||
48 | protected slots: | 48 | protected slots: |
49 | void slotReply(); | 49 | void slotReply(); |
50 | void slotForward(); | 50 | void slotForward(); |
51 | void setText(); | 51 | void setText(); |
52 | void slotItemClicked( QListViewItem * item , const QPoint & point, int c ); | 52 | void slotItemClicked( QListViewItem * item , const QPoint & point, int c ); |
53 | void slotDeleteMail( ); | 53 | void slotDeleteMail( ); |
54 | void slotShowHtml( bool ); | 54 | void slotShowHtml( bool ); |
55 | 55 | ||
56 | private: | 56 | private: |
57 | void readConfig(); | 57 | void readConfig(); |
58 | 58 | ||
59 | bool _inLoop; | 59 | bool _inLoop; |
60 | QString m_mailHtml; | 60 | QString m_mailHtml; |
61 | bool m_gotBody; | 61 | bool m_gotBody; |
62 | RecBody m_body; | 62 | RecBody m_body; |
63 | RecMail m_recMail; | 63 | RecMail m_recMail; |
64 | bool m_showHtml; | 64 | bool m_showHtml; |
65 | 65 | ||
66 | // 0 from 1 subject 2 bodytext 3 date | 66 | // 0 from 1 subject 2 bodytext 3 date |
67 | QMap <int,QString> m_mail; | 67 | QMap <int,QString> m_mail; |
68 | // 0 to 1 cc 2 bcc | 68 | // 0 to 1 cc 2 bcc |
69 | QMap <int,QStringList> m_mail2; | 69 | QMap <int,QStringList> m_mail2; |
70 | 70 | ||
71 | }; | 71 | }; |
72 | 72 | ||
73 | #endif | 73 | #endif |