00001 #ifndef EDITACCOUNTS_H
00002 #define EDITACCOUNTS_H
00003
00004 #include <qstring.h>
00005 #include <qlistview.h>
00006
00007 #include "editaccountsui.h"
00008 #include "selectmailtypeui.h"
00009 #include "imapconfigui.h"
00010 #include "pop3configui.h"
00011 #include "smtpconfigui.h"
00012 #include "nntpconfigui.h"
00013
00014 #include <libetpan/clist.h>
00015 #include <libmailwrapper/settings.h>
00016
00017
00018 class AccountListItem : public QListViewItem
00019 {
00020
00021 public:
00022 AccountListItem( QListView *parent, Account *a);
00023 Account *getAccount() { return account; }
00024
00025 private:
00026 Account *account;
00027
00028 };
00029
00030 class EditAccounts : public EditAccountsUI
00031 {
00032 Q_OBJECT
00033
00034 public:
00035 EditAccounts( Settings *s, QWidget *parent = 0, const char *name = 0, bool modal = 0, WFlags flags = 0 );
00036
00037 public slots:
00038 void slotNewAccount( const QString &type );
00039 void slotEditAccount( Account *account );
00040 void slotDeleteAccount( Account * account );
00041 void slotAdjustColumns();
00042
00043 protected slots:
00044 void slotFillLists();
00045 void slotNewMail();
00046 void slotEditMail();
00047 void slotDeleteMail();
00048 void slotNewNews();
00049 void slotEditNews();
00050 void slotDeleteNews();
00051 void accept();
00052
00053 private:
00054 Settings *settings;
00055
00056 };
00057
00058 class SelectMailType : public SelectMailTypeUI
00059 {
00060 Q_OBJECT
00061
00062 public:
00063 SelectMailType( QString *selection = 0, QWidget *parent = 0, const char *name = 0, bool modal = 0, WFlags flags = 0 );
00064
00065 private slots:
00066 void slotSelection( const QString &sel );
00067
00068 private:
00069 QString *selected;
00070
00071 };
00072
00073 class IMAPconfig : public IMAPconfigUI
00074 {
00075 Q_OBJECT
00076
00077 public:
00078 IMAPconfig( IMAPaccount *account, QWidget *parent = 0, const char *name = 0, bool modal = 0, WFlags flags = 0 );
00079
00080 public slots:
00081 void fillValues();
00082
00083 protected slots:
00084 void slotConnectionToggle( int index );
00085 void accept();
00086
00087 private:
00088 IMAPaccount *data;
00089
00090 };
00091
00092 class POP3config : public POP3configUI
00093 {
00094 Q_OBJECT
00095
00096 public:
00097 POP3config( POP3account *account, QWidget *parent = 0, const char *name = 0, bool modal = 0, WFlags flags = 0 );
00098
00099 public slots:
00100 void fillValues();
00101
00102 protected slots:
00103 void slotConnectionToggle( int index );
00104 void accept();
00105
00106 private:
00107 POP3account *data;
00108
00109 };
00110
00111 class SMTPconfig : public SMTPconfigUI
00112 {
00113 Q_OBJECT
00114
00115 public:
00116 SMTPconfig( SMTPaccount *account, QWidget *parent = 0, const char *name = 0, bool modal = 0, WFlags flags = 0 );
00117
00118 public slots:
00119 void fillValues();
00120
00121 protected slots:
00122 void slotConnectionToggle( int index );
00123 void accept();
00124
00125 private:
00126 SMTPaccount *data;
00127
00128 };
00129
00130 class NNTPconfig : public NNTPconfigUI
00131 {
00132 Q_OBJECT
00133
00134 public:
00135 NNTPconfig( NNTPaccount *account, QWidget *parent = 0, const char *name = 0, bool modal = 0, WFlags flags = 0 );
00136
00137 public slots:
00138 void fillValues();
00139
00140 protected slots:
00141 void slotSSL( bool enabled );
00142 void accept();
00143 void slotGetNG();
00144
00145 private:
00146 QStringList subscribedGroups;
00147 void save();
00148 NNTPaccount *data;
00149 clist* list;
00150
00151 };
00152
00153 #endif