-rw-r--r-- | noncore/net/mail/editaccounts.cpp | 39 | ||||
-rw-r--r-- | noncore/net/mail/editaccounts.h | 5 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/nntpwrapper.cpp | 24 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/nntpwrapper.h | 2 | ||||
-rw-r--r-- | noncore/net/mail/nntpconfigui.ui | 38 |
5 files changed, 66 insertions, 42 deletions
diff --git a/noncore/net/mail/editaccounts.cpp b/noncore/net/mail/editaccounts.cpp index edeb1de..2a1acc0 100644 --- a/noncore/net/mail/editaccounts.cpp +++ b/noncore/net/mail/editaccounts.cpp @@ -7,8 +7,12 @@ /* QT */ #include <qt.h> +#include <libmailwrapper/nntpwrapper.h> + +#include <libetpan/nntpdriver.h> + AccountListItem::AccountListItem( QListView *parent, Account *a) : QListViewItem( parent ) { account = a; @@ -487,14 +491,34 @@ NNTPconfig::NNTPconfig( NNTPaccount *account, QWidget *parent, const char *name, data = account; connect( loginBox, SIGNAL( toggled(bool) ), userLine, SLOT( setEnabled(bool) ) ); connect( loginBox, SIGNAL( toggled(bool) ), passLine, SLOT( setEnabled(bool) ) ); - + connect( GetNGButton, SIGNAL( clicked() ), this, SLOT( slotGetNG() ) ); fillValues(); connect( sslBox, SIGNAL( toggled(bool) ), SLOT( slotSSL(bool) ) ); } +void NNTPconfig::slotGetNG() { + save(); + data->save(); + NNTPwrapper* tmp = new NNTPwrapper( data ); + clist* list = tmp->listAllNewsgroups(); + + clistcell *current; + newsnntp_group_description *group; + + // FIXME - test if not empty + current = list->first; + for ( current=clist_begin(list);current!=NULL;current=clist_next(current) ) { + group = ( newsnntp_group_description* ) current->data; + qDebug( group->grp_name ); + + QCheckListItem *item; + item = new QCheckListItem( ListViewGroups, ( QString )group->grp_name, QCheckListItem::CheckBox ); + } +} + void NNTPconfig::slotSSL( bool enabled ) { if ( enabled ) { @@ -516,9 +540,9 @@ void NNTPconfig::fillValues() userLine->setText( data->getUser() ); passLine->setText( data->getPassword() ); } -void NNTPconfig::accept() +void NNTPconfig::save() { data->setAccountName( accountLine->text() ); data->setServer( serverLine->text() ); data->setPort( portLine->text() ); @@ -526,7 +550,18 @@ void NNTPconfig::accept() data->setLogin( loginBox->isChecked() ); data->setUser( userLine->text() ); data->setPassword( passLine->text() ); + QListViewItemIterator list_it( ListViewGroups ); + for ( ; list_it.current(); ++list_it ) { + if ( list_it.current()->isSelected() ) { + qDebug( list_it.current()->text(0) ); + } + } +} + +void NNTPconfig::accept() +{ + save(); QDialog::accept(); } diff --git a/noncore/net/mail/editaccounts.h b/noncore/net/mail/editaccounts.h index d8e1219..438a984 100644 --- a/noncore/net/mail/editaccounts.h +++ b/noncore/net/mail/editaccounts.h @@ -9,8 +9,10 @@ #include "imapconfigui.h" #include "pop3configui.h" #include "smtpconfigui.h" #include "nntpconfigui.h" + +#include <libetpan/clist.h> #include <libmailwrapper/settings.h> class AccountListItem : public QListViewItem @@ -137,11 +139,14 @@ public slots: protected slots: void slotSSL( bool enabled ); void accept(); + void slotGetNG(); private: + void save(); NNTPaccount *data; + clist* list; }; #endif diff --git a/noncore/net/mail/libmailwrapper/nntpwrapper.cpp b/noncore/net/mail/libmailwrapper/nntpwrapper.cpp index 54e0ed4..2d6f9a3 100644 --- a/noncore/net/mail/libmailwrapper/nntpwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/nntpwrapper.cpp @@ -6,10 +6,8 @@ #include <stdlib.h> #include <libetpan/libetpan.h> -#include <libetpan/nntpdriver.h> - #define HARD_MSG_SIZE_LIMIT 5242880 @@ -191,36 +189,30 @@ void NNTPwrapper::logout() } QList<Folder>* NNTPwrapper::listFolders() { - - - QList<Folder> * folders = new QList<Folder>(); folders->setAutoDelete( false ); + +// folders->append(inb); + return folders; +} + + clist * NNTPwrapper::listAllNewsgroups() { + login(); clist *result = 0; clistcell *current; newsnntp_group_description *list; - - login(); if ( m_nntp ) { mailsession * session = m_nntp->sto_session; newsnntp * news = ( ( nntp_session_state_data * )session->sess_data )->nntp_session; int err = newsnntp_list_newsgroups(news, NULL, &result); if ( err == NEWSNNTP_NO_ERROR ) { - current = result->first; - for ( current=clist_begin(result);current!=NULL;current=clist_next(current)) { - list = ( newsnntp_group_description* ) current->data; - qDebug( list->grp_name ); + return result; } -// Folder*inb=new Folder("INBOX","/"); } } -// folders->append(inb); - return folders; -} - void NNTPwrapper::answeredMail(const RecMail&) {} void NNTPwrapper::statusFolder(folderStat&target_stat,const QString&) { diff --git a/noncore/net/mail/libmailwrapper/nntpwrapper.h b/noncore/net/mail/libmailwrapper/nntpwrapper.h index e47e68f..e4d4a37 100644 --- a/noncore/net/mail/libmailwrapper/nntpwrapper.h +++ b/noncore/net/mail/libmailwrapper/nntpwrapper.h @@ -24,9 +24,9 @@ public: /* should only get the subscribed one */ virtual QList<Folder>* listFolders(); /* mailbox will be ignored */ virtual void statusFolder(folderStat&target_stat,const QString & mailbox="INBOX"); - + clist * listAllNewsgroups(); virtual void deleteMail(const RecMail&mail); virtual void answeredMail(const RecMail&mail); virtual int deleteAllMail(const Folder*); diff --git a/noncore/net/mail/nntpconfigui.ui b/noncore/net/mail/nntpconfigui.ui index 7769804..25d564e 100644 --- a/noncore/net/mail/nntpconfigui.ui +++ b/noncore/net/mail/nntpconfigui.ui @@ -10,9 +10,9 @@ <name>geometry</name> <rect> <x>0</x> <y>0</y> - <width>413</width> + <width>409</width> <height>520</height> </rect> </property> <property stdset="1"> @@ -296,8 +296,22 @@ <number>3</number> </property> <widget> <class>QListView</class> + <column> + <property> + <name>text</name> + <string>Newsgroup</string> + </property> + <property> + <name>clickable</name> + <bool>true</bool> + </property> + <property> + <name>resizeable</name> + <bool>true</bool> + </property> + </column> <property stdset="1"> <name>name</name> <cstring>ListViewGroups</cstring> </property> @@ -317,30 +331,8 @@ </widget> </widget> </vbox> </widget> -<customwidgets> - <customwidget> - <class>QListView</class> - <header location="global">qlistview.h</header> - <sizehint> - <width>-1</width> - <height>-1</height> - </sizehint> - <container>0</container> - <sizepolicy> - <hordata>5</hordata> - <verdata>5</verdata> - </sizepolicy> - <pixmap>image0</pixmap> - </customwidget> -</customwidgets> -<images> - <image> - <name>image0</name> - <data format="XPM.GZ" length="646">789c6dd2c10ac2300c00d07bbf2234b7229d1ddec44f503c0ae2a154410f53d0ed20e2bf6bdb656dd6861dd23d9a66591b0587fd1654235ebded6f0edcd53e419d87ae7b1f4f9b8f906d0bfe012317426a70b07bdc2f3ec77f8ed6b89559061a0343d06a124cc105596482585094bc0ae599b04646c9018926491b2205e140c485cace25755c175d0a967b622ff900b8cc9c7d29af594ea722d589167f813aa852ba07d94b9dce296e883fe7bb163f23896753</data> - </image> -</images> <tabstops> <tabstop>accountLine</tabstop> <tabstop>serverLine</tabstop> <tabstop>portLine</tabstop> |