account.h
来自「Qtopia下的邮件处理程序」· C头文件 代码 · 共 302 行
H
302 行
/******************************************************************************** Copyright (C) 2000-2006 TROLLTECH ASA. All rights reserved.**** This file is part of the Phone Edition of the Qtopia Toolkit.**** Licensees holding a valid license agreement from Trolltech or any of its** authorized distributors may use this file in accordance with** the License Agreement provided with the Licensed Software.**** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for** information about Trolltech's Commercial License Agreements.**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.********** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#ifndef Account_H#define Account_H#include <qobject.h>#include <qstring.h>#include <qstringlist.h>#include <qlist.h>#include <qfile.h>#include <qtextstream.h>#include <stdlib.h>#include "folder.h"class MailAccount;class QSettings;class QTimer;enum SyncSetting{ Sync_AllMessages = 0x0001, Sync_OnlyNew = 0x0002, Sync_OnlyHeaders = 0x0004};typedef uint FolderSyncSetting;class Mailbox : public Folder{public: Mailbox(MailAccount *account, QString _flags, QString _delimiter, QString _name); Mailbox(MailAccount *account); ~Mailbox(); void setServerUid(QStringList list); QStringList getServerUid(); QStringList getNewUid(QStringList list); void saveSettings(QSettings *config); void readSettings(QSettings *config); bool containsMsg(QString _uid); void changeName(QString n, bool userChange); bool userCreated() { return byUser; }; void setUserCreated(bool user) {byUser = user; }; void setDeleted(bool del) { deleted = del; }; bool isDeleted() { return deleted; }; void deleteMsg(QString id); void msgDeleted(QString id); QStringList msgToDelete() { return delList; }; QString nameChanged() { return oldName; }; void setName(QString _name) { this->_name = _name; }; QString pathName() { return _name; }; QString path(); QString baseName(); void setDelimiter(QString del) { delimiter = del; }; QString getDelimiter() { return delimiter; }; void setExists(int _exists) { exists = _exists; }; int getExists() { return exists; }; void setLocalCopy(bool b) { _localCopy = b; }; bool localCopy() { return _localCopy; }; void setFolderSync(FolderSyncSetting sync) { _syncSetting = sync; }; FolderSyncSetting folderSync() { return _syncSetting; }; void setUid(QString _uid) { uid = _uid; }; QString getUid() { return uid; }; //folder stuff QString name() { return baseName(); }; QString fullName(); QString displayName(){return _displayName;}; bool matchesEmail(Email *); MailAccount* account() { return _account; };private: QString decodeModUTF7(QString in); QString decodeModBase64(QString in); private: int exists, recent, unseen; bool noInferiors, noSelect, marked, unMarked; bool newName, byUser, deleted; bool _localCopy; FolderSyncSetting _syncSetting; QString _name, oldName, uid, delimiter; QStringList serverUidList, delList; MailAccount *_account; Search *search; QString _displayName;};class MailAccount : public Folder{ Q_OBJECTpublic: MailAccount(); ~MailAccount(); /* General */ enum AccountType { POP = 0, IMAP = 1, Synchronized = 2, SMS = 3, MMS = 4 };#ifdef SMTPAUTH enum AuthType { Auth_NONE = 0, Auth_LOGIN = 1, Auth_PLAIN = 2 }; enum EncryptType { Encrypt_NONE = 0, Encrypt_SSL = 1, Encrypt_TLS = 2 };#endif QString accountName(); void setAccountName(QString str); QString userName(); void setUserName(QString str); /* SMTP */ QString emailAddress(); void setEmailAddress(QString str); void setSmtpServer(QString str); QString smtpServer(); int smtpPort(); void setSmtpPort(int i);#ifdef SMTPAUTH QString smtpUsername() const; void setSmtpUsername(const QString& username); QString smtpPassword() const; void setSmtpPassword(const QString& password); AuthType smtpAuthentication() const; void setSmtpAuthentication(AuthType t); EncryptType smtpEncryption() const; void setSmtpEncryption(EncryptType t);#endif bool useSig(); void setUseSig(bool b); QString sig(); void setSig(QString str); bool defaultMailServer(); void setDefaultMailServer(bool b); /* POP/IMAP */ QString mailUserName(); void setMailUserName(QString str); QString mailPassword(); void setMailPassword(QString str); QString mailServer(); void setMailServer(QString str); int mailPort(); void setMailPort(int i);#ifdef SMTPAUTH EncryptType mailEncryption() const; void setMailEncryption(EncryptType t);#endif AccountType accountType() const { return _accountType; }; void setAccountType(AccountType at) { _accountType = at; }; bool canCollectMail(); bool deleteMail(); void setDeleteMail(bool b); int maxMailSize(); void setMaxMailSize(int i); int checkInterval(); void setCheckInterval(int i); void deleteMsg(QString serverId, const QString &box); void msgDeleted(QString serverId, const QString &box); QStringList msgToDelete() { return delList; }; /* POP Only */ bool synchronize(); void setSynchronize(bool b); QStringList getUidlList(); void setUidlList(QStringList in); /* IMAP Only */ void setBaseFolder(QString s) { _baseFolder = s; }; QString baseFolder() { return _baseFolder; }; void removeBox(Mailbox *box); Mailbox* getMailboxRef(QString name); Mailbox* getMailboxRefByMsgUid(QString _uid, const QString &box); /* MMS Only */ void setNetworkConfig(QString c) { _networkCfg = c; } QString networkConfig() const; void setAutoDownload(bool autodl) { _autoDL = autodl; } bool autoDownload() const { return _autoDL; } /* General management */ QString id(); void saveSettings(QSettings *conf); void readSettings(QSettings *conf); bool hasSettings() const; /* Folder reimplementation */ QString name() { return accountName(); }; QString fullName() {return accountName(); }; QString displayName() { return accountName(); }; bool matchesEmail(Email *); QList<Mailbox*> mailboxes; /* Unread messages */ int unreadCount(); void setUnreadCount( int count );public slots: void checkIntervalTimeout();signals: void intervalCheck(MailAccount*);private: AccountType _accountType; QString _accountName; QString _userName; QString _emailAddress; QString _mailUserName; QString _mailPassword; QString _mailServer;#ifdef SMTPAUTH EncryptType _mailEncryption;#endif int _mailPort; QString _smtpServer; int _smtpPort; QString _baseFolder;#ifdef SMTPAUTH QString _smtpUsername; QString _smtpPassword; AuthType _smtpAuthentication; EncryptType _smtpEncryption;#endif bool _synchronize; bool _deleteMail; bool _useSig; bool _defaultMailServer; QString _sig; int _maxMailSize; int _checkInterval; QString _networkCfg; bool _autoDL; QStringList uidList; Search *search; QStringList delList; QTimer *intervalCheckTimer; int _unreadCount;};#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?