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

folderwidget.h

Go to the documentation of this file.
00001 #ifndef FOLDERWIDGET_H
00002 #define FOLDERWIDGET_H
00003 
00004 #include "imapresponse.h"
00005 #include "listviewplus.h"
00006 #include "configfile.h"
00007 
00008 class IMAPHandler;
00009 
00010 class TopFolder
00011 {
00012 public:
00013         TopFolder() 
00014         { 
00015                 _valid = true; 
00016         }
00017 
00018         bool isValid() { return _valid; }
00019         void setAccount(Account account) { _account = account; }
00020         Account account() { return _account; }
00021         void setIMAPHandler(IMAPHandler *handler) { _handler = handler; }
00022         IMAPHandler *handler() { return _handler; }
00023 
00024 private:
00025         bool _valid;
00026         Account _account;
00027         IMAPHandler *_handler;
00028 
00029 };
00030 
00031 class Folder
00032 {
00033 public:
00034         Folder() 
00035         { 
00036                 _valid = true; 
00037                 _noCache = false;
00038         }
00039 
00040         bool isValid() { return _valid; }
00041         void setNoCache(bool noCache) { _noCache = noCache; }
00042         bool noCache() { return _noCache; }
00043         void setFullName(QString fullName) { _fullName = fullName; }
00044         QString fullName() { return _fullName; }
00045         void setSeparator(QString separator) { _separator = separator; }
00046         QString separator() { return _separator; }
00047         void setTopFolder(TopFolder topFolder) { _topFolder = topFolder; }
00048         TopFolder topFolder() { return _topFolder; }
00049 
00050 private:
00051         bool _valid, _noCache;
00052         QString _fullName, _separator;
00053         TopFolder _topFolder;
00054 
00055 };
00056 
00057 class FolderWidgetItem : public QListViewItem
00058 {
00059 public:
00060         FolderWidgetItem(Folder &folder, QListView *parent);
00061         FolderWidgetItem(Folder &folder, FolderWidgetItem *parent);
00062 
00063         Folder folder() { return _folder; }
00064 
00065 private:
00066         Folder _folder;
00067 
00068 };
00069 
00070 class FolderWidget : public ListViewPlus
00071 {
00072         Q_OBJECT
00073 
00074 public:
00075         FolderWidget(QWidget *parent = 0, const char *name = 0, WFlags fl = 0);
00076         ~FolderWidget();
00077 
00078 public slots:
00079         void update();
00080 
00081 signals:
00082         void folderSelected(Folder folder);
00083         void status(const QString &text);
00084         void connecting();
00085         void connected();
00086         void disconnected();
00087 
00088 protected:
00089         void getAccounts();
00090         FolderWidgetItem *addFolder(Folder &folder, FolderWidgetItem *folderWidgetItem);
00091         FolderWidgetItem *addAccount(Account &account);
00092 
00093         static const int MENU_RENAME = 0;
00094         static const int MENU_DELETE = 1;
00095         static const int MENU_MOVE = 2;
00096         static const int MENU_COPY = 3;
00097         static const int MENU_CREATE = 4;
00098         static const int MENU_RESCAN = 5;
00099 
00100 protected slots:
00101         void slotMenuActivated(int itemid);
00102         void slotItemClicked(QListViewItem *item);
00103 
00104         void slotIMAPLookingUpHost();
00105         void slotIMAPHostFound();
00106         void slotIMAPConnected();
00107         void slotIMAPError(int error);
00108         void slotIMAPDisconnected();
00109 
00110         void slotIMAPLogin(IMAPResponse &response);
00111         void slotIMAPRename(IMAPResponse &response);
00112         void slotIMAPDelete(IMAPResponse &response);
00113         void slotIMAPCreate(IMAPResponse &response);
00114         void slotIMAPList(IMAPResponse &response);
00115 
00116 private:
00117         Account _rescanAccount;
00118         Folder _createFolder;
00119 
00120 };
00121 
00122 #endif
00123 

Generated on Sat Nov 5 16:18:07 2005 for OPIE by  doxygen 1.4.2