00001 #ifndef ACCOUNTVIEW_H
00002 #define ACCOUNTVIEW_H
00003
00004 #include <libmailwrapper/mailtypes.h>
00005 #include <opie2/osmartpointer.h>
00006 #include <qlistview.h>
00007 #include <qlist.h>
00008 #include <qmap.h>
00009
00010 class Selectstore;
00011 class Folder;
00012 class AbstractMail;
00013 class Account;
00014 class IMAPviewItem;
00015 class MHviewItem;
00016
00017 class AccountView : public QListView
00018 {
00019 Q_OBJECT
00020
00021 public:
00022 AccountView( QWidget *parent = 0, const char *name = 0, WFlags flags = 0 );
00023 virtual ~AccountView();
00024 virtual void populate( QList<Account> list );
00025 virtual RecBodyP fetchBody(const Opie::Core::OSmartPointer<RecMail>&aMail);
00026 virtual void downloadMails(const Opie::Core::OSmartPointer<Folder>&fromFolder,AbstractMail*fromWrapper);
00027 virtual bool currentisDraft();
00028 QMap<int,QString> currentServerMenu()const;
00029 QMap<int,QString> currentFolderMenu()const;
00030
00031 public slots:
00032 virtual void refreshAll();
00033 virtual void refresh(QListViewItem *item);
00034 virtual void refreshCurrent();
00035 virtual void slotContextMenu(int id);
00036 virtual void readSettings();
00037
00038 void setupFolderselect(Selectstore*sels);
00039
00040 signals:
00041 void refreshMailview(const QValueList<RecMailP>& );
00042 void serverSelected(int);
00043 void refreshMenues(int);
00044
00045 protected:
00046 QListViewItem* m_currentItem;
00047 QValueList<IMAPviewItem*> imapAccounts;
00048 QValueList<MHviewItem*> mhAccounts;
00049 bool m_rightPressed:1;
00050 bool m_clickopens:1;
00051
00052 protected slots:
00053 virtual void slotRightButton(int, QListViewItem *,const QPoint&,int);
00054 virtual void slotLeftButton(int, QListViewItem *,const QPoint&,int);
00055 virtual void slotMouseButton(int, QListViewItem *,const QPoint&,int);
00056 virtual void slotMouseClicked(QListViewItem*);
00057 virtual void slotSelectionChanged(QListViewItem*);
00058 };
00059
00060 #endif