• Skip to content
  • Skip to link menu
KDE 4.2 API Reference
  • KDE API Reference
  • kdepim
  • Sitemap
  • Contact Us
 

knode

knfoldermanager.h

Go to the documentation of this file.
00001 /*
00002     KNode, the KDE newsreader
00003     Copyright (c) 1999-2005 the KNode authors.
00004     See file AUTHORS for details
00005 
00006     This program is free software; you can redistribute it and/or modify
00007     it under the terms of the GNU General Public License as published by
00008     the Free Software Foundation; either version 2 of the License, or
00009     (at your option) any later version.
00010     You should have received a copy of the GNU General Public License
00011     along with this program; if not, write to the Free Software Foundation,
00012     Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, US
00013 */
00014 
00015 #ifndef KNFOLDERMANAGER_H
00016 #define KNFOLDERMANAGER_H
00017 
00018 #include <QList>
00019 #include <QObject>
00020 
00021 class KNFolder;
00022 class KNArticleManager;
00023 class KNCleanUp;
00024 
00025 
00027 class KNFolderManager : public QObject
00028 {
00029   Q_OBJECT
00030 
00031   public:
00032     KNFolderManager(KNArticleManager *a);
00033     ~KNFolderManager();
00034 
00036     typedef QList<KNFolder*> List;
00037 
00038     //folder access
00039     void setCurrentFolder(KNFolder *f);
00040     KNFolder* currentFolder() const       { return c_urrentFolder; }
00041     bool hasCurrentFolder() const         { return (c_urrentFolder!=0); }
00042     KNFolder* folder(int id);
00043     List folders() const { return mFolderList; }
00044 
00046     KNFolder* root() const                { return mFolderList[0]; }
00048     KNFolder* drafts() const              { return mFolderList[1]; }
00050     KNFolder* outbox() const              { return mFolderList[2]; }
00052     KNFolder* sent() const                { return mFolderList[3]; }
00053 
00054     //header loading
00055     bool loadHeaders(KNFolder *f);
00056     bool unloadHeaders(KNFolder *f, bool force=true);
00057     bool loadDrafts()                     { return loadHeaders(drafts()); }
00058     bool loadOutbox()                     { return loadHeaders(outbox()); }
00059     bool loadSent()                       { return loadHeaders(sent()); }
00060 
00061     // returns the new folder
00062     KNFolder* newFolder(KNFolder *p);
00063     bool deleteFolder(KNFolder *f);
00064     void emptyFolder(KNFolder *f);
00065     bool moveFolder(KNFolder *f, KNFolder *p);
00066 
00067     //unsent articles
00068     int unsentForAccount(int accId);
00069 
00070     //compacting
00071     void compactFolder(KNFolder *f);
00072     void compactAll(KNCleanUp *cup);
00073     void compactAll();
00074 
00075     // import + export
00076     void importFromMBox(KNFolder *f);
00077     void exportToMBox(KNFolder *f);
00078 
00079     //synchronization
00080     void syncFolders();
00081 
00082   signals:
00083     // signals for the collection tree to update the UI
00084     void folderAdded(KNFolder *f);
00085     void folderRemoved(KNFolder *f);
00086     void folderActivated(KNFolder *f);
00087 
00088   protected:
00089     int loadCustomFolders();
00090 
00091     KNFolder  *c_urrentFolder;
00092     List mFolderList;
00093     int l_astId;
00094     KNArticleManager *a_rtManager;
00095 
00096 };
00097 
00098 #endif

knode

Skip menu "knode"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

kdepim

Skip menu "kdepim"
  • akonadi
  •   clients
  •   kabc
  •   kcal
  •   kcm
  • akregator
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt
  • kdgantt1
  • kjots
  • kleopatra
  • kmail
  • kmobiletools
  • knode
  • knotes
  • kontact
  • kontactinterfaces
  • korganizer
  •   korgac
  • kpilot
  • ktimetracker
  •   doc
  • libkdepim
  • libkholidays
  • libkleo
  • libkpgp
  • maildir
Generated for kdepim by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal