Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

settings.h

Go to the documentation of this file.
00001 #ifndef SETTINGS_H
00002 #define SETTINGS_H
00003 
00004 #include "maildefines.h"
00005 
00006 /* OPIE */
00007 #include <opie2/odebug.h>
00008 
00009 /* QT */
00010 #include <qobject.h>
00011 #include <qlist.h>
00012 
00013 class Account
00014 {
00015 
00016 public:
00017     Account();
00018     virtual ~Account() {}
00019 
00020     void remove();
00021     void setAccountName( QString name ) { accountName = name; }
00022     const QString&getAccountName()const{ return accountName; }
00023     MAILLIB::ATYPE getType()const{ return type; }
00024 
00025     void setServer(const QString&str){ server = str; }
00026     const QString&getServer()const{ return server; }
00027 
00028     void setPort(const QString&str) { port = str; }
00029     const QString&getPort()const{ return port; }
00030 
00031     void setUser(const QString&str){ user = str; }
00032     const QString&getUser()const{ return user; }
00033 
00034     void setPassword(const QString&str) { password = str; }
00035     const QString&getPassword()const { return password; }
00036 
00037     void setSSL( bool b ) { ssl = b; }
00038     bool getSSL() { return ssl; }
00039 
00040     void setConnectionType( int x ) { connectionType = x; }
00041     int ConnectionType() { return connectionType; }
00042 
00043 
00044     void setOffline(bool b) {offline = b;}
00045     bool getOffline()const{return offline;}
00046 
00047     virtual QString getFileName() { return accountName; }
00048     virtual void read() { odebug << "base reading..." << oendl; }
00049     virtual void save() { odebug << "base saving..." << oendl; }
00050 
00051 protected:
00052     QString accountName, server, port, user, password;
00053     bool ssl;
00054     int connectionType;
00055     bool offline;
00056     MAILLIB::ATYPE type;
00057 };
00058 
00059 class IMAPaccount : public Account
00060 {
00061 
00062 public:
00063     IMAPaccount();
00064     IMAPaccount( QString filename );
00065 
00066     static QString getUniqueFileName();
00067 
00068     virtual void read();
00069     virtual void save();
00070     virtual QString getFileName();
00071 
00072     void setPrefix(const QString&str) {prefix=str;}
00073     const QString&getPrefix()const{return prefix;}
00074 
00075 private:
00076     QString file,prefix;
00077 
00078 };
00079 
00080 class POP3account : public Account
00081 {
00082 
00083 public:
00084     POP3account();
00085     POP3account( QString filename );
00086 
00087     static QString getUniqueFileName();
00088 
00089     virtual void read();
00090     virtual void save();
00091     virtual QString getFileName();
00092     virtual bool getCheckMaxSize()const;
00093     virtual void setCheckMaxSize(bool);
00094     virtual int getMaxSize()const;
00095     virtual void setMaxSize(int);
00096 
00097 private:
00098     QString file;
00099     bool m_CheckSize;
00100     int m_MaxSize;
00101 };
00102 
00103 class SMTPaccount : public Account
00104 {
00105 
00106 public:
00107     SMTPaccount();
00108     SMTPaccount( QString filename );
00109 
00110     static QString getUniqueFileName();
00111 
00112     virtual void read();
00113     virtual void save();
00114     virtual QString getFileName();
00115 
00116     void setLogin( bool b ) { login = b; }
00117     bool getLogin() { return login; }
00118 
00119 private:
00120     QString file, name, mail, org, cc, bcc, reply, signature;
00121     bool useCC, useBCC, useReply, login;
00122 
00123 };
00124 
00125 class NNTPaccount : public Account
00126 {
00127 
00128 public:
00129     NNTPaccount();
00130     NNTPaccount( QString filename );
00131 
00132     static QString getUniqueFileName();
00133 
00134     virtual void read();
00135     virtual void save();
00136     virtual QString getFileName();
00137 
00138     void setLogin( bool b ) { login = b; }
00139     bool getLogin() { return login; }
00140 
00141     void setGroups( QStringList list )  { subscribedGroups = list; }
00142     QStringList getGroups()  { return subscribedGroups; }
00143 
00144 private:
00145     QString file;
00146     bool login;
00147     QStringList subscribedGroups;
00148 
00149 };
00150 
00151 class Settings : public QObject
00152 {
00153     Q_OBJECT
00154 
00155 public:
00156     Settings();
00157     QList<Account> getAccounts();
00158     void addAccount(Account *account);
00159     void delAccount(Account *account);
00160     void saveAccounts();
00161     void readAccounts();
00162     static void checkDirectory();
00163 
00164 private:
00165     void updateAccounts();
00166     QList<Account> accounts;
00167 
00168 };
00169 
00170 #endif

Generated on Sat Nov 5 16:17:24 2005 for OPIE by  doxygen 1.4.2