-rw-r--r-- | noncore/net/mail/.cvsignore | 3 | ||||
-rw-r--r-- | noncore/net/mail/accountitem.cpp | 15 | ||||
-rw-r--r-- | noncore/net/mail/accountitem.h | 1 | ||||
-rw-r--r-- | noncore/net/mail/mail.pro | 11 | ||||
-rw-r--r-- | noncore/net/mail/nntpgroups.cpp | 57 | ||||
-rw-r--r-- | noncore/net/mail/nntpgroups.h | 33 | ||||
-rw-r--r-- | noncore/net/mail/nntpgroupsdlg.cpp | 29 | ||||
-rw-r--r-- | noncore/net/mail/nntpgroupsdlg.h | 24 | ||||
-rw-r--r-- | noncore/net/mail/nntpgroupsui.ui | 88 |
9 files changed, 256 insertions, 5 deletions
diff --git a/noncore/net/mail/.cvsignore b/noncore/net/mail/.cvsignore index 4957719..3819f80 100644 --- a/noncore/net/mail/.cvsignore +++ b/noncore/net/mail/.cvsignore | |||
@@ -15,17 +15,18 @@ nntpconfigui.h | |||
15 | pop3configui.cpp | 15 | pop3configui.cpp |
16 | pop3configui.h | 16 | pop3configui.h |
17 | selectmailtypeui.cpp | 17 | selectmailtypeui.cpp |
18 | selectmailtypeui.h | 18 | selectmailtypeui.h |
19 | smtpconfigui.cpp | 19 | smtpconfigui.cpp |
20 | smtpconfigui.h | 20 | smtpconfigui.h |
21 | settingsdialogui.cpp | 21 | settingsdialogui.cpp |
22 | settingsdialogui.h | 22 | settingsdialogui.h |
23 | statuswidgetui.cpp | 23 | statuswidgetui.cpp |
24 | statuswidgetui.h | 24 | statuswidgetui.h |
25 | newmaildirui.cpp | 25 | newmaildirui.cpp |
26 | newmaildirui.h | 26 | newmaildirui.h |
27 | sendmailprogressui.cpp | 27 | sendmailprogressui.cpp |
28 | sendmailprogressui.h | 28 | sendmailprogressui.h |
29 | selectstoreui.cpp | 29 | selectstoreui.cpp |
30 | selectstoreui.h | 30 | selectstoreui.h |
31 | 31 | nntpgroupsui.cpp | |
32 | nntpgroupsui.h | ||
diff --git a/noncore/net/mail/accountitem.cpp b/noncore/net/mail/accountitem.cpp index e925d8d..0d636a4 100644 --- a/noncore/net/mail/accountitem.cpp +++ b/noncore/net/mail/accountitem.cpp | |||
@@ -1,20 +1,21 @@ | |||
1 | 1 | ||
2 | #include "accountitem.h" | 2 | #include "accountitem.h" |
3 | #include "accountview.h" | 3 | #include "accountview.h" |
4 | #include "newmaildir.h" | 4 | #include "newmaildir.h" |
5 | #include "nntpgroupsdlg.h" | ||
5 | #include "defines.h" | 6 | #include "defines.h" |
6 | 7 | ||
7 | /* OPIE */ | 8 | /* OPIE */ |
8 | #include <libmailwrapper/mailtypes.h> | 9 | #include <libmailwrapper/mailtypes.h> |
9 | #include <libmailwrapper/abstractmail.h> | 10 | #include <libmailwrapper/abstractmail.h> |
10 | #include <libmailwrapper/mailwrapper.h> | 11 | #include <libmailwrapper/mailwrapper.h> |
11 | #include <qpe/qpeapplication.h> | 12 | #include <qpe/qpeapplication.h> |
12 | 13 | ||
13 | /* QT */ | 14 | /* QT */ |
14 | #include <qpopupmenu.h> | 15 | #include <qpopupmenu.h> |
15 | #include <qmessagebox.h> | 16 | #include <qmessagebox.h> |
16 | 17 | ||
17 | #define SETPIX(x) if (!account->getOffline()) {setPixmap( 0,x);} else {setPixmap( 0, PIXMAP_OFFLINE );} | 18 | #define SETPIX(x) if (!account->getOffline()) {setPixmap( 0,x);} else {setPixmap( 0, PIXMAP_OFFLINE );} |
18 | /** | 19 | /** |
19 | * POP3 Account stuff | 20 | * POP3 Account stuff |
20 | */ | 21 | */ |
@@ -271,41 +272,50 @@ void NNTPviewItem::refresh() | |||
271 | 272 | ||
272 | RecBody NNTPviewItem::fetchBody( const RecMail &mail ) | 273 | RecBody NNTPviewItem::fetchBody( const RecMail &mail ) |
273 | { | 274 | { |
274 | qDebug( "NNTP fetchBody" ); | 275 | qDebug( "NNTP fetchBody" ); |
275 | return wrapper->fetchBody( mail ); | 276 | return wrapper->fetchBody( mail ); |
276 | } | 277 | } |
277 | 278 | ||
278 | QPopupMenu * NNTPviewItem::getContextMenu() | 279 | QPopupMenu * NNTPviewItem::getContextMenu() |
279 | { | 280 | { |
280 | QPopupMenu *m = new QPopupMenu(0); | 281 | QPopupMenu *m = new QPopupMenu(0); |
281 | if (m) | 282 | if (m) |
282 | { | 283 | { |
283 | if (!account->getOffline()) | 284 | if (!account->getOffline()) |
284 | { | 285 | { |
285 | m->insertItem(QObject::tr("Disconnect",contextName),0); | 286 | m->insertItem(QObject::tr("Disconnect",contextName),0); |
286 | m->insertItem(QObject::tr("Set offline",contextName),1); | 287 | m->insertItem(QObject::tr("Set offline",contextName),1); |
288 | m->insertItem(QObject::tr("(Un-)Subscribe groups",contextName),2); | ||
287 | } | 289 | } |
288 | else | 290 | else |
289 | { | 291 | { |
290 | m->insertItem(QObject::tr("Set online",contextName),1); | 292 | m->insertItem(QObject::tr("Set online",contextName),1); |
291 | } | 293 | } |
292 | } | 294 | } |
293 | return m; | 295 | return m; |
294 | } | 296 | } |
295 | 297 | ||
298 | void NNTPviewItem::subscribeGroups() | ||
299 | { | ||
300 | NNTPGroupsDlg dlg(account); | ||
301 | if (QPEApplication::execDialog(&dlg)== QDialog::Accepted ){ | ||
302 | refresh(); | ||
303 | } | ||
304 | } | ||
305 | |||
296 | void NNTPviewItem::disconnect() | 306 | void NNTPviewItem::disconnect() |
297 | { | 307 | { |
298 | QListViewItem *child = firstChild(); | 308 | QListViewItem *child = firstChild(); |
299 | while ( child ) | 309 | while ( child ) |
300 | { | 310 | { |
301 | QListViewItem *tmp = child; | 311 | QListViewItem *tmp = child; |
302 | child = child->nextSibling(); | 312 | child = child->nextSibling(); |
303 | delete tmp; | 313 | delete tmp; |
304 | } | 314 | } |
305 | wrapper->logout(); | 315 | wrapper->logout(); |
306 | } | 316 | } |
307 | 317 | ||
308 | void NNTPviewItem::setOnOffline() | 318 | void NNTPviewItem::setOnOffline() |
309 | { | 319 | { |
310 | if (!account->getOffline()) | 320 | if (!account->getOffline()) |
311 | { | 321 | { |
@@ -315,32 +325,35 @@ void NNTPviewItem::setOnOffline() | |||
315 | account->save(); | 325 | account->save(); |
316 | //FIXME | 326 | //FIXME |
317 | SETPIX(PIXMAP_POP3FOLDER); | 327 | SETPIX(PIXMAP_POP3FOLDER); |
318 | refresh(); | 328 | refresh(); |
319 | } | 329 | } |
320 | 330 | ||
321 | void NNTPviewItem::contextMenuSelected(int which) | 331 | void NNTPviewItem::contextMenuSelected(int which) |
322 | { | 332 | { |
323 | switch (which) | 333 | switch (which) |
324 | { | 334 | { |
325 | case 0: | 335 | case 0: |
326 | disconnect(); | 336 | disconnect(); |
327 | break; | 337 | break; |
328 | case 1: | 338 | case 1: |
329 | setOnOffline(); | 339 | setOnOffline(); |
330 | break; | 340 | break; |
341 | case 2: | ||
342 | subscribeGroups(); | ||
343 | break; | ||
331 | } | 344 | } |
332 | } | 345 | } |
333 | 346 | ||
334 | NNTPfolderItem::~NNTPfolderItem() | 347 | NNTPfolderItem::~NNTPfolderItem() |
335 | {} | 348 | {} |
336 | 349 | ||
337 | NNTPfolderItem::NNTPfolderItem( Folder *folderInit, NNTPviewItem *parent , QListViewItem*after ) | 350 | NNTPfolderItem::NNTPfolderItem( Folder *folderInit, NNTPviewItem *parent , QListViewItem*after ) |
338 | : AccountViewItem( parent,after ) | 351 | : AccountViewItem( parent,after ) |
339 | { | 352 | { |
340 | folder = folderInit; | 353 | folder = folderInit; |
341 | nntp = parent; | 354 | nntp = parent; |
342 | if (folder->getDisplayName().lower()!="inbox") | 355 | if (folder->getDisplayName().lower()!="inbox") |
343 | { | 356 | { |
344 | setPixmap( 0, PIXMAP_POP3FOLDER ); | 357 | setPixmap( 0, PIXMAP_POP3FOLDER ); |
345 | } | 358 | } |
346 | else | 359 | else |
@@ -354,33 +367,33 @@ void NNTPfolderItem::refresh(QList<RecMail>&target) | |||
354 | { | 367 | { |
355 | if (folder->may_select()) | 368 | if (folder->may_select()) |
356 | nntp->getWrapper()->listMessages( folder->getName(),target ); | 369 | nntp->getWrapper()->listMessages( folder->getName(),target ); |
357 | } | 370 | } |
358 | 371 | ||
359 | RecBody NNTPfolderItem::fetchBody(const RecMail&aMail) | 372 | RecBody NNTPfolderItem::fetchBody(const RecMail&aMail) |
360 | { | 373 | { |
361 | return nntp->getWrapper()->fetchBody(aMail); | 374 | return nntp->getWrapper()->fetchBody(aMail); |
362 | } | 375 | } |
363 | 376 | ||
364 | QPopupMenu * NNTPfolderItem::getContextMenu() | 377 | QPopupMenu * NNTPfolderItem::getContextMenu() |
365 | { | 378 | { |
366 | QPopupMenu *m = new QPopupMenu(0); | 379 | QPopupMenu *m = new QPopupMenu(0); |
367 | if (m) | 380 | if (m) |
368 | { | 381 | { |
369 | m->insertItem(QObject::tr("Refresh header list",contextName),0); | 382 | m->insertItem(QObject::tr("Refresh header list",contextName),0); |
370 | m->insertItem(QObject::tr("Move/Copie all mails",contextName),1); | 383 | m->insertItem(QObject::tr("Copy all postings",contextName),1); |
371 | } | 384 | } |
372 | return m; | 385 | return m; |
373 | } | 386 | } |
374 | 387 | ||
375 | void NNTPfolderItem::downloadMails() | 388 | void NNTPfolderItem::downloadMails() |
376 | { | 389 | { |
377 | AccountView*bl = nntp->accountView(); | 390 | AccountView*bl = nntp->accountView(); |
378 | if (!bl) return; | 391 | if (!bl) return; |
379 | bl->downloadMails(folder,nntp->getWrapper()); | 392 | bl->downloadMails(folder,nntp->getWrapper()); |
380 | } | 393 | } |
381 | 394 | ||
382 | void NNTPfolderItem::contextMenuSelected(int which) | 395 | void NNTPfolderItem::contextMenuSelected(int which) |
383 | { | 396 | { |
384 | AccountView * view = (AccountView*)listView(); | 397 | AccountView * view = (AccountView*)listView(); |
385 | switch (which) | 398 | switch (which) |
386 | { | 399 | { |
diff --git a/noncore/net/mail/accountitem.h b/noncore/net/mail/accountitem.h index a138c9b..f3c0f5d 100644 --- a/noncore/net/mail/accountitem.h +++ b/noncore/net/mail/accountitem.h | |||
@@ -83,32 +83,33 @@ class NNTPviewItem : public AccountViewItem | |||
83 | 83 | ||
84 | public: | 84 | public: |
85 | NNTPviewItem( NNTPaccount *a, AccountView *parent ); | 85 | NNTPviewItem( NNTPaccount *a, AccountView *parent ); |
86 | virtual ~NNTPviewItem(); | 86 | virtual ~NNTPviewItem(); |
87 | virtual void refresh( QList<RecMail> &target ); | 87 | virtual void refresh( QList<RecMail> &target ); |
88 | virtual RecBody fetchBody( const RecMail &mail ); | 88 | virtual RecBody fetchBody( const RecMail &mail ); |
89 | AbstractMail *getWrapper(); | 89 | AbstractMail *getWrapper(); |
90 | virtual QPopupMenu * getContextMenu(); | 90 | virtual QPopupMenu * getContextMenu(); |
91 | virtual void contextMenuSelected(int); | 91 | virtual void contextMenuSelected(int); |
92 | 92 | ||
93 | protected: | 93 | protected: |
94 | NNTPaccount *account; | 94 | NNTPaccount *account; |
95 | virtual void refresh(); | 95 | virtual void refresh(); |
96 | AbstractMail *wrapper; | 96 | AbstractMail *wrapper; |
97 | void disconnect(); | 97 | void disconnect(); |
98 | void setOnOffline(); | 98 | void setOnOffline(); |
99 | void subscribeGroups(); | ||
99 | }; | 100 | }; |
100 | 101 | ||
101 | class NNTPfolderItem : public AccountViewItem | 102 | class NNTPfolderItem : public AccountViewItem |
102 | { | 103 | { |
103 | 104 | ||
104 | public: | 105 | public: |
105 | NNTPfolderItem( Folder *folder, NNTPviewItem *parent , QListViewItem*after ); | 106 | NNTPfolderItem( Folder *folder, NNTPviewItem *parent , QListViewItem*after ); |
106 | virtual ~NNTPfolderItem(); | 107 | virtual ~NNTPfolderItem(); |
107 | virtual void refresh(QList<RecMail>&); | 108 | virtual void refresh(QList<RecMail>&); |
108 | virtual RecBody fetchBody(const RecMail&); | 109 | virtual RecBody fetchBody(const RecMail&); |
109 | virtual QPopupMenu * getContextMenu(); | 110 | virtual QPopupMenu * getContextMenu(); |
110 | virtual void contextMenuSelected(int); | 111 | virtual void contextMenuSelected(int); |
111 | 112 | ||
112 | protected: | 113 | protected: |
113 | void downloadMails(); | 114 | void downloadMails(); |
114 | NNTPviewItem *nntp; | 115 | NNTPviewItem *nntp; |
diff --git a/noncore/net/mail/mail.pro b/noncore/net/mail/mail.pro index 7e0de2b..005a839 100644 --- a/noncore/net/mail/mail.pro +++ b/noncore/net/mail/mail.pro | |||
@@ -1,61 +1,66 @@ | |||
1 | CONFIG += qt warn_on debug quick-app | 1 | CONFIG += qt warn_on debug quick-app |
2 | 2 | ||
3 | HEADERS = defines.h \ | 3 | HEADERS = defines.h \ |
4 | editaccounts.h \ | 4 | editaccounts.h \ |
5 | composemail.h \ | 5 | composemail.h \ |
6 | accountview.h \ | 6 | accountview.h \ |
7 | accountitem.h \ | 7 | accountitem.h \ |
8 | mainwindow.h \ | 8 | mainwindow.h \ |
9 | viewmail.h \ | 9 | viewmail.h \ |
10 | viewmailbase.h \ | 10 | viewmailbase.h \ |
11 | opiemail.h \ | 11 | opiemail.h \ |
12 | mailistviewitem.h \ | 12 | mailistviewitem.h \ |
13 | settingsdialog.h \ | 13 | settingsdialog.h \ |
14 | statuswidget.h \ | 14 | statuswidget.h \ |
15 | newmaildir.h \ | 15 | newmaildir.h \ |
16 | selectstore.h \ | 16 | selectstore.h \ |
17 | selectsmtp.h | 17 | selectsmtp.h \ |
18 | nntpgroups.h \ | ||
19 | nntpgroupsdlg.h | ||
18 | 20 | ||
19 | SOURCES = main.cpp \ | 21 | SOURCES = main.cpp \ |
20 | opiemail.cpp \ | 22 | opiemail.cpp \ |
21 | mainwindow.cpp \ | 23 | mainwindow.cpp \ |
22 | accountview.cpp \ | 24 | accountview.cpp \ |
23 | accountitem.cpp \ | 25 | accountitem.cpp \ |
24 | composemail.cpp \ | 26 | composemail.cpp \ |
25 | addresspicker.cpp \ | 27 | addresspicker.cpp \ |
26 | editaccounts.cpp \ | 28 | editaccounts.cpp \ |
27 | viewmail.cpp \ | 29 | viewmail.cpp \ |
28 | viewmailbase.cpp \ | 30 | viewmailbase.cpp \ |
29 | mailistviewitem.cpp \ | 31 | mailistviewitem.cpp \ |
30 | settingsdialog.cpp \ | 32 | settingsdialog.cpp \ |
31 | statuswidget.cpp \ | 33 | statuswidget.cpp \ |
32 | newmaildir.cpp \ | 34 | newmaildir.cpp \ |
33 | selectstore.cpp \ | 35 | selectstore.cpp \ |
34 | selectsmtp.cpp | 36 | selectsmtp.cpp \ |
37 | nntpgroups.cpp \ | ||
38 | nntpgroupsdlg.cpp | ||
35 | 39 | ||
36 | INTERFACES = editaccountsui.ui \ | 40 | INTERFACES = editaccountsui.ui \ |
37 | selectmailtypeui.ui \ | 41 | selectmailtypeui.ui \ |
38 | imapconfigui.ui \ | 42 | imapconfigui.ui \ |
39 | pop3configui.ui \ | 43 | pop3configui.ui \ |
40 | nntpconfigui.ui \ | 44 | nntpconfigui.ui \ |
41 | smtpconfigui.ui \ | 45 | smtpconfigui.ui \ |
42 | addresspickerui.ui \ | 46 | addresspickerui.ui \ |
43 | composemailui.ui \ | 47 | composemailui.ui \ |
44 | settingsdialogui.ui \ | 48 | settingsdialogui.ui \ |
45 | statuswidgetui.ui \ | 49 | statuswidgetui.ui \ |
46 | newmaildirui.ui \ | 50 | newmaildirui.ui \ |
47 | selectstoreui.ui | 51 | selectstoreui.ui \ |
52 | nntpgroupsui.ui | ||
48 | 53 | ||
49 | 54 | ||
50 | INCLUDEPATH += $(OPIEDIR)/include | 55 | INCLUDEPATH += $(OPIEDIR)/include |
51 | 56 | ||
52 | CONFTEST = $$system( echo $CONFIG_TARGET_MACOSX ) | 57 | CONFTEST = $$system( echo $CONFIG_TARGET_MACOSX ) |
53 | contains( CONFTEST, y ){ | 58 | contains( CONFTEST, y ){ |
54 | LIBS += -lqpe -lopieui2 -lopiecore2 -lopiepim2 -lopiedb2 -lmailwrapper -liconv | 59 | LIBS += -lqpe -lopieui2 -lopiecore2 -lopiepim2 -lopiedb2 -lmailwrapper -liconv |
55 | }else{ | 60 | }else{ |
56 | LIBS += -lqpe -lopieui2 -lopiecore2 -lopiepim2 -lopiedb2 -lmailwrapper | 61 | LIBS += -lqpe -lopieui2 -lopiecore2 -lopiepim2 -lopiedb2 -lmailwrapper |
57 | } | 62 | } |
58 | 63 | ||
59 | TARGET = opiemail | 64 | TARGET = opiemail |
60 | 65 | ||
61 | include ( $(OPIEDIR)/include.pro ) | 66 | include ( $(OPIEDIR)/include.pro ) |
diff --git a/noncore/net/mail/nntpgroups.cpp b/noncore/net/mail/nntpgroups.cpp new file mode 100644 index 0000000..97b1985 --- a/dev/null +++ b/noncore/net/mail/nntpgroups.cpp | |||
@@ -0,0 +1,57 @@ | |||
1 | #include "nntpgroups.h" | ||
2 | |||
3 | #include <libmailwrapper/settings.h> | ||
4 | |||
5 | #include <qlistview.h> | ||
6 | |||
7 | NNTPGroups::NNTPGroups(NNTPaccount *account, QWidget* parent, const char* name, WFlags fl) | ||
8 | : NNTPGroupsUI(parent,name,fl),subscribedGroups() | ||
9 | { | ||
10 | m_Account = account; | ||
11 | fillGroups(); | ||
12 | } | ||
13 | |||
14 | NNTPGroups::~NNTPGroups() | ||
15 | { | ||
16 | |||
17 | } | ||
18 | |||
19 | void NNTPGroups::slotGetNG() | ||
20 | { | ||
21 | if (!m_Account) return; | ||
22 | GroupListView->clear(); | ||
23 | NNTPwrapper tmp( m_Account ); | ||
24 | QStringList list = tmp.listAllNewsgroups(); | ||
25 | for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it ) { | ||
26 | QCheckListItem *item; | ||
27 | item = new QCheckListItem( GroupListView, (*it), QCheckListItem::CheckBox ); | ||
28 | if ( subscribedGroups.contains( (*it) ) >= 1 ) { | ||
29 | item->setOn( true ); | ||
30 | } | ||
31 | } | ||
32 | } | ||
33 | |||
34 | void NNTPGroups::fillGroups() | ||
35 | { | ||
36 | if (!m_Account) return; | ||
37 | subscribedGroups = m_Account->getGroups(); | ||
38 | for ( QStringList::Iterator it = subscribedGroups.begin(); it != subscribedGroups.end(); ++it ) { | ||
39 | QCheckListItem *item; | ||
40 | item = new QCheckListItem( GroupListView, (*it), QCheckListItem::CheckBox ); | ||
41 | item->setOn( true ); | ||
42 | } | ||
43 | } | ||
44 | |||
45 | void NNTPGroups::storeValues() | ||
46 | { | ||
47 | if (!m_Account) return; | ||
48 | QListViewItemIterator list_it( GroupListView ); | ||
49 | subscribedGroups.clear(); | ||
50 | for ( ; list_it.current(); ++list_it ) { | ||
51 | if ( ( (QCheckListItem*)list_it.current() )->isOn() ) { | ||
52 | qDebug(list_it.current()->text(0) ); | ||
53 | subscribedGroups.append( list_it.current()->text(0) ); | ||
54 | } | ||
55 | } | ||
56 | m_Account->setGroups( subscribedGroups ); | ||
57 | } | ||
diff --git a/noncore/net/mail/nntpgroups.h b/noncore/net/mail/nntpgroups.h new file mode 100644 index 0000000..8cc2e8b --- a/dev/null +++ b/noncore/net/mail/nntpgroups.h | |||
@@ -0,0 +1,33 @@ | |||
1 | #ifndef __NNTPGROUPS_WINDOW__ | ||
2 | #define __NNTPGROUPS_WINDOW__ | ||
3 | |||
4 | #include "nntpgroupsui.h" | ||
5 | |||
6 | #include <libmailwrapper/nntpwrapper.h> | ||
7 | |||
8 | class NNTPaccount; | ||
9 | class QStringList; | ||
10 | |||
11 | class NNTPGroups:public NNTPGroupsUI | ||
12 | { | ||
13 | Q_OBJECT | ||
14 | public: | ||
15 | NNTPGroups(NNTPaccount *account, QWidget* parent = 0, const char* name = 0, WFlags fl = 0); | ||
16 | virtual ~NNTPGroups(); | ||
17 | /* must be called from external. | ||
18 | * it will store the new subscription list into the account | ||
19 | * but don't save them, this must be done by the calling class. | ||
20 | */ | ||
21 | void storeValues(); | ||
22 | |||
23 | protected slots: | ||
24 | virtual void slotGetNG(); | ||
25 | |||
26 | protected: | ||
27 | virtual void fillGroups(); | ||
28 | |||
29 | NNTPaccount*m_Account; | ||
30 | QStringList subscribedGroups; | ||
31 | }; | ||
32 | |||
33 | #endif | ||
diff --git a/noncore/net/mail/nntpgroupsdlg.cpp b/noncore/net/mail/nntpgroupsdlg.cpp new file mode 100644 index 0000000..752ce3c --- a/dev/null +++ b/noncore/net/mail/nntpgroupsdlg.cpp | |||
@@ -0,0 +1,29 @@ | |||
1 | #include "nntpgroupsdlg.h" | ||
2 | #include "nntpgroups.h" | ||
3 | |||
4 | #include <libmailwrapper/settings.h> | ||
5 | |||
6 | #include <qlayout.h> | ||
7 | |||
8 | NNTPGroupsDlg::NNTPGroupsDlg(NNTPaccount *account,QWidget * parent, const char * name) | ||
9 | : QDialog(parent,name,true) | ||
10 | { | ||
11 | setCaption(tr("Subscribed newsgroups")); | ||
12 | m_Account = account; | ||
13 | QVBoxLayout*dlglayout = new QVBoxLayout(this); | ||
14 | dlglayout->setSpacing(2); | ||
15 | dlglayout->setMargin(1); | ||
16 | groupsWidget = new NNTPGroups(account,this); | ||
17 | dlglayout->addWidget(groupsWidget); | ||
18 | } | ||
19 | |||
20 | NNTPGroupsDlg::~NNTPGroupsDlg() | ||
21 | { | ||
22 | } | ||
23 | |||
24 | void NNTPGroupsDlg::accept() | ||
25 | { | ||
26 | groupsWidget->storeValues(); | ||
27 | m_Account->save(); | ||
28 | QDialog::accept(); | ||
29 | } | ||
diff --git a/noncore/net/mail/nntpgroupsdlg.h b/noncore/net/mail/nntpgroupsdlg.h new file mode 100644 index 0000000..a21bac7 --- a/dev/null +++ b/noncore/net/mail/nntpgroupsdlg.h | |||
@@ -0,0 +1,24 @@ | |||
1 | #ifndef __NNTP_GROUP_DLG_H | ||
2 | #define __NNTP_GROUP_DLG_H | ||
3 | |||
4 | #include <qdialog.h> | ||
5 | |||
6 | class NNTPGroups; | ||
7 | class NNTPaccount; | ||
8 | |||
9 | class NNTPGroupsDlg : public QDialog | ||
10 | { | ||
11 | Q_OBJECT | ||
12 | public: | ||
13 | NNTPGroupsDlg(NNTPaccount *account,QWidget * parent=0, const char * name=0); | ||
14 | virtual ~NNTPGroupsDlg(); | ||
15 | |||
16 | protected: | ||
17 | NNTPGroups*groupsWidget; | ||
18 | NNTPaccount*m_Account; | ||
19 | |||
20 | protected slots: | ||
21 | virtual void accept (); | ||
22 | }; | ||
23 | |||
24 | #endif | ||
diff --git a/noncore/net/mail/nntpgroupsui.ui b/noncore/net/mail/nntpgroupsui.ui new file mode 100644 index 0000000..93f487b --- a/dev/null +++ b/noncore/net/mail/nntpgroupsui.ui | |||
@@ -0,0 +1,88 @@ | |||
1 | <!DOCTYPE UI><UI> | ||
2 | <class>NNTPGroupsUI</class> | ||
3 | <widget> | ||
4 | <class>QWidget</class> | ||
5 | <property stdset="1"> | ||
6 | <name>name</name> | ||
7 | <cstring>NNTPGroupsUI</cstring> | ||
8 | </property> | ||
9 | <property stdset="1"> | ||
10 | <name>geometry</name> | ||
11 | <rect> | ||
12 | <x>0</x> | ||
13 | <y>0</y> | ||
14 | <width>356</width> | ||
15 | <height>406</height> | ||
16 | </rect> | ||
17 | </property> | ||
18 | <property stdset="1"> | ||
19 | <name>caption</name> | ||
20 | <string>newsgroupslist</string> | ||
21 | </property> | ||
22 | <property> | ||
23 | <name>layoutMargin</name> | ||
24 | </property> | ||
25 | <property> | ||
26 | <name>layoutSpacing</name> | ||
27 | </property> | ||
28 | <vbox> | ||
29 | <property stdset="1"> | ||
30 | <name>margin</name> | ||
31 | <number>2</number> | ||
32 | </property> | ||
33 | <property stdset="1"> | ||
34 | <name>spacing</name> | ||
35 | <number>2</number> | ||
36 | </property> | ||
37 | <widget> | ||
38 | <class>QListView</class> | ||
39 | <column> | ||
40 | <property> | ||
41 | <name>text</name> | ||
42 | <string>Newsgroups</string> | ||
43 | </property> | ||
44 | <property> | ||
45 | <name>clickable</name> | ||
46 | <bool>true</bool> | ||
47 | </property> | ||
48 | <property> | ||
49 | <name>resizeable</name> | ||
50 | <bool>true</bool> | ||
51 | </property> | ||
52 | </column> | ||
53 | <property stdset="1"> | ||
54 | <name>name</name> | ||
55 | <cstring>GroupListView</cstring> | ||
56 | </property> | ||
57 | <property> | ||
58 | <name>whatsThis</name> | ||
59 | <string>List of groups from the server. On start, only subscribed groups are listed.</string> | ||
60 | </property> | ||
61 | </widget> | ||
62 | <widget> | ||
63 | <class>QPushButton</class> | ||
64 | <property stdset="1"> | ||
65 | <name>name</name> | ||
66 | <cstring>GetNGButton</cstring> | ||
67 | </property> | ||
68 | <property stdset="1"> | ||
69 | <name>text</name> | ||
70 | <string>Get newsgroup list from server</string> | ||
71 | </property> | ||
72 | <property> | ||
73 | <name>whatsThis</name> | ||
74 | <string>Retrieve the list of groups from server</string> | ||
75 | </property> | ||
76 | </widget> | ||
77 | </vbox> | ||
78 | </widget> | ||
79 | <connections> | ||
80 | <connection> | ||
81 | <sender>GetNGButton</sender> | ||
82 | <signal>clicked()</signal> | ||
83 | <receiver>NNTPGroupsUI</receiver> | ||
84 | <slot>slotGetNG()</slot> | ||
85 | </connection> | ||
86 | <slot access="protected">slotGetNG()</slot> | ||
87 | </connections> | ||
88 | </UI> | ||