summaryrefslogtreecommitdiff
authorharlekin <harlekin>2004-03-06 00:20:22 (UTC)
committer harlekin <harlekin>2004-03-06 00:20:22 (UTC)
commit7b10be8e0ed88afe9e8964e6b5f1fe449cee3609 (patch) (unidiff)
tree149f8aecef57768cd4cf9e0c35778a711c5b6cf4
parent6afcd375a640d5c6888bc111cd1d80a08f554136 (diff)
downloadopie-7b10be8e0ed88afe9e8964e6b5f1fe449cee3609.zip
opie-7b10be8e0ed88afe9e8964e6b5f1fe449cee3609.tar.gz
opie-7b10be8e0ed88afe9e8964e6b5f1fe449cee3609.tar.bz2
save selected newsgroups
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/editaccounts.cpp16
-rw-r--r--noncore/net/mail/editaccounts.h1
-rw-r--r--noncore/net/mail/libmailwrapper/settings.cpp2
-rw-r--r--noncore/net/mail/libmailwrapper/settings.h4
4 files changed, 19 insertions, 4 deletions
diff --git a/noncore/net/mail/editaccounts.cpp b/noncore/net/mail/editaccounts.cpp
index 2a1acc0..215380d 100644
--- a/noncore/net/mail/editaccounts.cpp
+++ b/noncore/net/mail/editaccounts.cpp
@@ -1,33 +1,34 @@
1 1
2#include "defines.h" 2#include "defines.h"
3#include "editaccounts.h" 3#include "editaccounts.h"
4 4
5/* OPIE */ 5/* OPIE */
6#include <qpe/qpeapplication.h> 6#include <qpe/qpeapplication.h>
7 7
8/* QT */ 8/* QT */
9#include <qt.h> 9#include <qt.h>
10#include <qstringlist.h>
10 11
11#include <libmailwrapper/nntpwrapper.h> 12#include <libmailwrapper/nntpwrapper.h>
12 13
13#include <libetpan/nntpdriver.h> 14#include <libetpan/nntpdriver.h>
14 15
15AccountListItem::AccountListItem( QListView *parent, Account *a) 16AccountListItem::AccountListItem( QListView *parent, Account *a)
16 : QListViewItem( parent ) 17 : QListViewItem( parent )
17{ 18{
18 account = a; 19 account = a;
19 setText( 0, account->getAccountName() ); 20 setText( 0, account->getAccountName() );
20 setText( 1, account->getType() ); 21 setText( 1, account->getType() );
21} 22}
22 23
23EditAccounts::EditAccounts( Settings *s, QWidget *parent, const char *name, bool modal, WFlags flags ) 24EditAccounts::EditAccounts( Settings *s, QWidget *parent, const char *name, bool modal, WFlags flags )
24 : EditAccountsUI( parent, name, modal, flags ) 25 : EditAccountsUI( parent, name, modal, flags )
25{ 26{
26 qDebug( "New Account Configuration Widget" ); 27 qDebug( "New Account Configuration Widget" );
27 settings = s; 28 settings = s;
28 29
29 mailList->addColumn( tr( "Account" ) ); 30 mailList->addColumn( tr( "Account" ) );
30 mailList->addColumn( tr( "Type" ) ); 31 mailList->addColumn( tr( "Type" ) );
31 32
32 newsList->addColumn( tr( "Account" ) ); 33 newsList->addColumn( tr( "Account" ) );
33 34
@@ -490,78 +491,85 @@ NNTPconfig::NNTPconfig( NNTPaccount *account, QWidget *parent, const char *name,
490{ 491{
491 data = account; 492 data = account;
492 493
493 connect( loginBox, SIGNAL( toggled(bool) ), userLine, SLOT( setEnabled(bool) ) ); 494 connect( loginBox, SIGNAL( toggled(bool) ), userLine, SLOT( setEnabled(bool) ) );
494 connect( loginBox, SIGNAL( toggled(bool) ), passLine, SLOT( setEnabled(bool) ) ); 495 connect( loginBox, SIGNAL( toggled(bool) ), passLine, SLOT( setEnabled(bool) ) );
495 connect( GetNGButton, SIGNAL( clicked() ), this, SLOT( slotGetNG() ) ); 496 connect( GetNGButton, SIGNAL( clicked() ), this, SLOT( slotGetNG() ) );
496 fillValues(); 497 fillValues();
497 498
498 connect( sslBox, SIGNAL( toggled(bool) ), SLOT( slotSSL(bool) ) ); 499 connect( sslBox, SIGNAL( toggled(bool) ), SLOT( slotSSL(bool) ) );
499} 500}
500 501
501void NNTPconfig::slotGetNG() { 502void NNTPconfig::slotGetNG() {
502 save(); 503 save();
503 data->save(); 504 data->save();
504 NNTPwrapper* tmp = new NNTPwrapper( data ); 505 NNTPwrapper* tmp = new NNTPwrapper( data );
505 clist* list = tmp->listAllNewsgroups(); 506 clist* list = tmp->listAllNewsgroups();
506 507
507 clistcell *current; 508 clistcell *current;
508 newsnntp_group_description *group; 509 newsnntp_group_description *group;
509 510
510 // FIXME - test if not empty 511 // FIXME - test if not empty
511 current = list->first; 512 current = list->first;
512 for ( current=clist_begin(list);current!=NULL;current=clist_next(current) ) { 513 for ( current=clist_begin(list);current!=NULL;current=clist_next(current) ) {
513 group = ( newsnntp_group_description* ) current->data; 514 group = ( newsnntp_group_description* ) current->data;
514 qDebug( group->grp_name ); 515 // qDebug( group->grp_name );
515 516
516 QCheckListItem *item; 517 QCheckListItem *item;
517 item = new QCheckListItem( ListViewGroups, ( QString )group->grp_name, QCheckListItem::CheckBox ); 518 item = new QCheckListItem( ListViewGroups, ( QString )group->grp_name, QCheckListItem::CheckBox );
519 if ( subscribedGroups.contains( ( QString )group->grp_name ) >= 1 ) {
520 item->setSelected( true );
521 }
518 } 522 }
519} 523}
520 524
521void NNTPconfig::slotSSL( bool enabled ) 525void NNTPconfig::slotSSL( bool enabled )
522{ 526{
523 if ( enabled ) 527 if ( enabled )
524 { 528 {
525 portLine->setText( NNTP_SSL_PORT ); 529 portLine->setText( NNTP_SSL_PORT );
526 } 530 }
527 else 531 else
528 { 532 {
529 portLine->setText( NNTP_PORT ); 533 portLine->setText( NNTP_PORT );
530 } 534 }
531} 535}
532 536
533void NNTPconfig::fillValues() 537void NNTPconfig::fillValues()
534{ 538{
535 accountLine->setText( data->getAccountName() ); 539 accountLine->setText( data->getAccountName() );
536 serverLine->setText( data->getServer() ); 540 serverLine->setText( data->getServer() );
537 portLine->setText( data->getPort() ); 541 portLine->setText( data->getPort() );
538 sslBox->setChecked( data->getSSL() ); 542 sslBox->setChecked( data->getSSL() );
539 loginBox->setChecked( data->getLogin() ); 543 loginBox->setChecked( data->getLogin() );
540 userLine->setText( data->getUser() ); 544 userLine->setText( data->getUser() );
541 passLine->setText( data->getPassword() ); 545 passLine->setText( data->getPassword() );
546 subscribedGroups = data->getGroups();
542} 547}
543 548
544void NNTPconfig::save() 549void NNTPconfig::save()
545{ 550{
546 data->setAccountName( accountLine->text() ); 551 data->setAccountName( accountLine->text() );
547 data->setServer( serverLine->text() ); 552 data->setServer( serverLine->text() );
548 data->setPort( portLine->text() ); 553 data->setPort( portLine->text() );
549 data->setSSL( sslBox->isChecked() ); 554 data->setSSL( sslBox->isChecked() );
550 data->setLogin( loginBox->isChecked() ); 555 data->setLogin( loginBox->isChecked() );
551 data->setUser( userLine->text() ); 556 data->setUser( userLine->text() );
552 data->setPassword( passLine->text() ); 557 data->setPassword( passLine->text() );
553 558
554 QListViewItemIterator list_it( ListViewGroups ); 559 QListViewItemIterator list_it( ListViewGroups );
555 for ( ; list_it.current(); ++list_it ) { 560 for ( ; list_it.current(); ++list_it ) {
561 QStringList groupList;
556 if ( list_it.current()->isSelected() ) { 562 if ( list_it.current()->isSelected() ) {
557 qDebug( list_it.current()->text(0) ); 563 qDebug(list_it.current()->text(0) );
564 groupList.append( list_it.current()->text(0) );
558 } 565 }
566 data->setGroups( groupList );
559 } 567 }
560} 568}
561 569
562void NNTPconfig::accept() 570void NNTPconfig::accept()
563{ 571{
564 save(); 572 save();
565 QDialog::accept(); 573 QDialog::accept();
566} 574}
567 575
diff --git a/noncore/net/mail/editaccounts.h b/noncore/net/mail/editaccounts.h
index 438a984..a9eb19f 100644
--- a/noncore/net/mail/editaccounts.h
+++ b/noncore/net/mail/editaccounts.h
@@ -122,31 +122,32 @@ protected slots:
122 void slotConnectionToggle( int index ); 122 void slotConnectionToggle( int index );
123 void accept(); 123 void accept();
124 124
125private: 125private:
126 SMTPaccount *data; 126 SMTPaccount *data;
127 127
128}; 128};
129 129
130class NNTPconfig : public NNTPconfigUI 130class NNTPconfig : public NNTPconfigUI
131{ 131{
132 Q_OBJECT 132 Q_OBJECT
133 133
134public: 134public:
135 NNTPconfig( NNTPaccount *account, QWidget *parent = 0, const char *name = 0, bool modal = 0, WFlags flags = 0 ); 135 NNTPconfig( NNTPaccount *account, QWidget *parent = 0, const char *name = 0, bool modal = 0, WFlags flags = 0 );
136 136
137public slots: 137public slots:
138 void fillValues(); 138 void fillValues();
139 139
140protected slots: 140protected slots:
141 void slotSSL( bool enabled ); 141 void slotSSL( bool enabled );
142 void accept(); 142 void accept();
143 void slotGetNG(); 143 void slotGetNG();
144 144
145private: 145private:
146 QStringList subscribedGroups;
146 void save(); 147 void save();
147 NNTPaccount *data; 148 NNTPaccount *data;
148 clist* list; 149 clist* list;
149 150
150}; 151};
151 152
152#endif 153#endif
diff --git a/noncore/net/mail/libmailwrapper/settings.cpp b/noncore/net/mail/libmailwrapper/settings.cpp
index 65ca387..f64c17d 100644
--- a/noncore/net/mail/libmailwrapper/settings.cpp
+++ b/noncore/net/mail/libmailwrapper/settings.cpp
@@ -389,51 +389,53 @@ QString NNTPaccount::getUniqueFileName()
389 int num = 0; 389 int num = 0;
390 QString unique; 390 QString unique;
391 391
392 QDir dir( (QString) getenv( "HOME" ) + "/Applications/opiemail" ); 392 QDir dir( (QString) getenv( "HOME" ) + "/Applications/opiemail" );
393 393
394 QStringList imap = dir.entryList( "nntp-*" ); 394 QStringList imap = dir.entryList( "nntp-*" );
395 do { 395 do {
396 unique.setNum( num++ ); 396 unique.setNum( num++ );
397 } while ( imap.contains( "nntp-" + unique ) > 0 ); 397 } while ( imap.contains( "nntp-" + unique ) > 0 );
398 398
399 return unique; 399 return unique;
400} 400}
401 401
402void NNTPaccount::read() 402void NNTPaccount::read()
403{ 403{
404 Config *conf = new Config( getFileName(), Config::File ); 404 Config *conf = new Config( getFileName(), Config::File );
405 conf->setGroup( "NNTP Account" ); 405 conf->setGroup( "NNTP Account" );
406 accountName = conf->readEntry( "Account" ); 406 accountName = conf->readEntry( "Account" );
407 server = conf->readEntry( "Server" ); 407 server = conf->readEntry( "Server" );
408 port = conf->readEntry( "Port" ); 408 port = conf->readEntry( "Port" );
409 ssl = conf->readBoolEntry( "SSL" ); 409 ssl = conf->readBoolEntry( "SSL" );
410 login = conf->readBoolEntry( "Login" ); 410 login = conf->readBoolEntry( "Login" );
411 user = conf->readEntry( "User" ); 411 user = conf->readEntry( "User" );
412 password = conf->readEntryCrypt( "Password" ); 412 password = conf->readEntryCrypt( "Password" );
413 subscribedGroups = conf->readListEntry( "Subscribed", ',' );
413 delete conf; 414 delete conf;
414} 415}
415 416
416void NNTPaccount::save() 417void NNTPaccount::save()
417{ 418{
418 qDebug( "saving " + getFileName() ); 419 qDebug( "saving " + getFileName() );
419 Settings::checkDirectory(); 420 Settings::checkDirectory();
420 421
421 Config *conf = new Config( getFileName(), Config::File ); 422 Config *conf = new Config( getFileName(), Config::File );
422 conf->setGroup( "NNTP Account" ); 423 conf->setGroup( "NNTP Account" );
423 conf->writeEntry( "Account", accountName ); 424 conf->writeEntry( "Account", accountName );
424 conf->writeEntry( "Server", server ); 425 conf->writeEntry( "Server", server );
425 conf->writeEntry( "Port", port ); 426 conf->writeEntry( "Port", port );
426 conf->writeEntry( "SSL", ssl ); 427 conf->writeEntry( "SSL", ssl );
427 conf->writeEntry( "Login", login ); 428 conf->writeEntry( "Login", login );
428 conf->writeEntry( "User", user ); 429 conf->writeEntry( "User", user );
429 conf->writeEntryCrypt( "Password", password ); 430 conf->writeEntryCrypt( "Password", password );
431 conf->writeEntry( "Subscribed" , subscribedGroups, ',' );
430 conf->write(); 432 conf->write();
431 delete conf; 433 delete conf;
432} 434}
433 435
434 436
435QString NNTPaccount::getFileName() 437QString NNTPaccount::getFileName()
436{ 438{
437 return (QString) getenv( "HOME" ) + "/Applications/opiemail/nntp-" + file; 439 return (QString) getenv( "HOME" ) + "/Applications/opiemail/nntp-" + file;
438} 440}
439 441
diff --git a/noncore/net/mail/libmailwrapper/settings.h b/noncore/net/mail/libmailwrapper/settings.h
index 8d7df92..1feedbf 100644
--- a/noncore/net/mail/libmailwrapper/settings.h
+++ b/noncore/net/mail/libmailwrapper/settings.h
@@ -105,50 +105,54 @@ public:
105 bool getLogin() { return login; } 105 bool getLogin() { return login; }
106 106
107private: 107private:
108 QString file, name, mail, org, cc, bcc, reply, signature; 108 QString file, name, mail, org, cc, bcc, reply, signature;
109 bool useCC, useBCC, useReply, login; 109 bool useCC, useBCC, useReply, login;
110 110
111}; 111};
112 112
113class NNTPaccount : public Account 113class NNTPaccount : public Account
114{ 114{
115 115
116public: 116public:
117 NNTPaccount(); 117 NNTPaccount();
118 NNTPaccount( QString filename ); 118 NNTPaccount( QString filename );
119 119
120 static QString getUniqueFileName(); 120 static QString getUniqueFileName();
121 121
122 virtual void read(); 122 virtual void read();
123 virtual void save(); 123 virtual void save();
124 virtual QString getFileName(); 124 virtual QString getFileName();
125 125
126 void setLogin( bool b ) { login = b; } 126 void setLogin( bool b ) { login = b; }
127 bool getLogin() { return login; } 127 bool getLogin() { return login; }
128 128
129 void setGroups( QStringList list ) { subscribedGroups = list; }
130 QStringList getGroups() { return subscribedGroups; }
131
129private: 132private:
130 QString file; 133 QString file;
131 bool login; 134 bool login;
135 QStringList subscribedGroups;
132 136
133}; 137};
134 138
135class Settings : public QObject 139class Settings : public QObject
136{ 140{
137 Q_OBJECT 141 Q_OBJECT
138 142
139public: 143public:
140 Settings(); 144 Settings();
141 QList<Account> getAccounts(); 145 QList<Account> getAccounts();
142 void addAccount(Account *account); 146 void addAccount(Account *account);
143 void delAccount(Account *account); 147 void delAccount(Account *account);
144 void saveAccounts(); 148 void saveAccounts();
145 void readAccounts(); 149 void readAccounts();
146 static void checkDirectory(); 150 static void checkDirectory();
147 151
148private: 152private:
149 void updateAccounts(); 153 void updateAccounts();
150 QList<Account> accounts; 154 QList<Account> accounts;
151 155
152}; 156};
153 157
154#endif 158#endif