-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 @@ -8,6 +8,10 @@ /* QT */ #include <qt.h> +#include <libmailwrapper/nntpwrapper.h> + +#include <libetpan/nntpdriver.h> + AccountListItem::AccountListItem( QListView *parent, Account *a) : QListViewItem( parent ) { @@ -488,12 +492,32 @@ NNTPconfig::NNTPconfig( NNTPaccount *account, QWidget *parent, const char *name, 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 ) @@ -517,7 +541,7 @@ void NNTPconfig::fillValues() passLine->setText( data->getPassword() ); } -void NNTPconfig::accept() +void NNTPconfig::save() { data->setAccountName( accountLine->text() ); data->setServer( serverLine->text() ); @@ -527,6 +551,17 @@ void NNTPconfig::accept() 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 @@ -10,6 +10,8 @@ #include "pop3configui.h" #include "smtpconfigui.h" #include "nntpconfigui.h" + +#include <libetpan/clist.h> #include <libmailwrapper/settings.h> @@ -138,9 +140,12 @@ public slots: protected slots: void slotSSL( bool enabled ); void accept(); + void slotGetNG(); private: + void save(); NNTPaccount *data; + clist* list; }; 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 @@ -7,8 +7,6 @@ #include <stdlib.h> #include <libetpan/libetpan.h> -#include <libetpan/nntpdriver.h> - #define HARD_MSG_SIZE_LIMIT 5242880 @@ -192,34 +190,28 @@ 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&) {} 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 @@ -25,7 +25,7 @@ public: 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 @@ -11,7 +11,7 @@ <rect> <x>0</x> <y>0</y> - <width>413</width> + <width>409</width> <height>520</height> </rect> </property> @@ -297,6 +297,20 @@ </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> @@ -318,28 +332,6 @@ </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> |