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

knode

  • sources
  • kde-4.12
  • kdepim
  • knode
knfolder.h
Go to the documentation of this file.
1 /*
2  KNode, the KDE newsreader
3  Copyright (c) 1999-2005 the KNode authors.
4  See file AUTHORS for details
5 
6  This program is free software; you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation; either version 2 of the License, or
9  (at your option) any later version.
10  You should have received a copy of the GNU General Public License
11  along with this program; if not, write to the Free Software Foundation,
12  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, US
13 */
14 
15 #ifndef KNFOLDER_H
16 #define KNFOLDER_H
17 
18 #include "utilities.h"
19 #include "knarticle.h"
20 #include "knarticlecollection.h"
21 
22 #include <QByteArray>
23 
24 
30 class KNFolder : public KNArticleCollection {
31 
32  friend class KNCleanUp;
33 
34  public:
38  typedef boost::shared_ptr<KNFolder> Ptr;
42  typedef QList<KNFolder::Ptr> List;
43 
44  KNFolder();
45  KNFolder(int id, const QString &name, KNFolder::Ptr parent = KNFolder::Ptr() );
46  KNFolder( int id, const QString &name, const QString &prefix, KNFolder::Ptr parent = KNFolder::Ptr() );
47  ~KNFolder();
48 
49  //type
50  collectionType type() { return CTfolder; }
51 
52  //id
53  int id() const { return i_d; }
54  void setId(int i) { i_d=i; }
55  int parentId() const { return p_arentId; }
56  bool isStandardFolder() { return (i_d > 0) && (i_d <=3); }
57  bool isRootFolder() { return i_d==0; }
58 
59  //list item handling
60  void updateListItem();
61  bool wasOpen()const { return w_asOpen; }
62 
63  //info
64  QString path();
65  bool readInfo(const QString &confPath);
66  bool readInfo();
67  void writeConfig();
68 
69  //article access
70  KNLocalArticle::Ptr at( int i )
71  { return boost::static_pointer_cast<KNLocalArticle>( KNArticleCollection::at( i ) ); }
72  KNLocalArticle::Ptr byId( int id )
73  { return boost::static_pointer_cast<KNLocalArticle>( KNArticleCollection::byId( id ) ); }
74  KNLocalArticle::Ptr byMessageId( const QByteArray &mId )
75  { return boost::static_pointer_cast<KNLocalArticle>( KNArticleCollection::byMessageId( mId ) ); }
76 
77  //parent
78  void setParent( KNCollection::Ptr p );
79 
80  //load, save and delete
81  bool loadHdrs();
82  bool unloadHdrs(bool force=true);
88  bool loadArticle( KNLocalArticle::Ptr a );
89  bool saveArticles( KNLocalArticle::List &l );
90  void removeArticles( KNLocalArticle::List &l, bool del = true );
91  void deleteAll();
92  void deleteFiles();
93 
94  //index synchronization
95  void syncIndex(bool force=false);
96 
97  protected:
98  void closeFiles();
99  int i_d; // unique id: 0: root folder 1-3: standard folders
100  int p_arentId; // -1 for the root folder
101  bool i_ndexDirty; // do we need to sync?
102  bool w_asOpen; // was this folder open in the listview on the last shutdown?
103  QFile m_boxFile;
104  QFile i_ndexFile;
105  QString i_nfoPath;
106 
107  /* helper-class: stores index-data of an article */
108  class DynData {
109  public:
110  DynData() {}
111  ~DynData() {}
112  void setData( KNLocalArticle::Ptr a );
113  void getData( KNLocalArticle::Ptr a );
114 
115  int id,
116  so,
117  eo,
118  sId;
119  time_t ti;
120  bool flags[6];
121  };
122 
123  private:
127  KNFolder::Ptr thisFolderPtr();
128 
132  virtual KNCollection::Ptr selfPtr()
133  {
134  return thisFolderPtr();
135  }
136 
137 };
138 
139 #endif
KNFolder::id
int id() const
Definition: knfolder.h:53
KNFolder::at
KNLocalArticle::Ptr at(int i)
Definition: knfolder.h:70
KNLocalArticle::Ptr
boost::shared_ptr< KNLocalArticle > Ptr
Shared pointer to a KNLocalArticle. To be used instead of raw KNLocalArticle*.
Definition: knarticle.h:214
KNCollection::parent
KNCollection::Ptr parent() const
Returns the parent collection.
Definition: kncollection.h:71
KNFolder::saveArticles
bool saveArticles(KNLocalArticle::List &l)
Definition: knfolder.cpp:355
KNFolder::DynData::sId
int sId
Definition: knfolder.h:115
KNFolder::DynData::so
int so
Definition: knfolder.h:115
utilities.h
KNFolder::closeFiles
void closeFiles()
Definition: knfolder.cpp:537
KNFolder::List
QList< KNFolder::Ptr > List
List of folders.
Definition: knfolder.h:42
KNFolder::readInfo
bool readInfo()
Definition: knfolder.cpp:140
KNFolder::KNFolder
KNFolder()
Definition: knfolder.cpp:39
KNFolder::isRootFolder
bool isRootFolder()
Definition: knfolder.h:57
KNFolder::~KNFolder
~KNFolder()
Definition: knfolder.cpp:84
KNFolder::Ptr
boost::shared_ptr< KNFolder > Ptr
Shared pointer to a KNFolder.
Definition: knfolder.h:38
KNFolder::byMessageId
KNLocalArticle::Ptr byMessageId(const QByteArray &mId)
Definition: knfolder.h:74
KNCleanUp
This class handles group expiration and folder compaction.
Definition: kncleanup.h:36
KNCollection::name
virtual const QString & name()
Returns the collection name.
Definition: kncollection.h:76
KNFolder::loadArticle
bool loadArticle(KNLocalArticle::Ptr a)
Load the full content of an article.
Definition: knfolder.cpp:314
KNFolder::DynData::ti
time_t ti
Definition: knfolder.h:119
KNFolder::DynData::DynData
DynData()
Definition: knfolder.h:110
KNFolder::loadHdrs
bool loadHdrs()
Definition: knfolder.cpp:169
KNFolder::unloadHdrs
bool unloadHdrs(bool force=true)
Definition: knfolder.cpp:293
KNFolder::wasOpen
bool wasOpen() const
Definition: knfolder.h:61
KNArticleCollection::at
KNArticle::Ptr at(int i)
Returns the article at index i in this collection, or an empty KNArticle::Ptr if it is not found...
Definition: knarticlecollection.h:123
KNLocalArticle
This class encapsulates an article, that is stored locally in an MBOX-file.
Definition: knarticle.h:210
KNFolder::setId
void setId(int i)
Definition: knfolder.h:54
KNFolder::isStandardFolder
bool isStandardFolder()
Definition: knfolder.h:56
KNFolder::DynData::flags
bool flags[6]
Definition: knfolder.h:120
KNFolder::byId
KNLocalArticle::Ptr byId(int id)
Definition: knfolder.h:72
KNFolder::DynData
Definition: knfolder.h:108
KNFolder::parentId
int parentId() const
Definition: knfolder.h:55
KNFolder::DynData::id
int id
Definition: knfolder.h:115
KNFolder::i_ndexDirty
bool i_ndexDirty
Definition: knfolder.h:101
KNFolder::setParent
void setParent(KNCollection::Ptr p)
Sets the parent collection.
Definition: knfolder.cpp:162
KNFolder::m_boxFile
QFile m_boxFile
Definition: knfolder.h:103
KNArticleCollection::byId
KNArticle::Ptr byId(int id)
Returns the article whose id is id, or an empty KNArticle::Ptr if it is not found.
Definition: knarticlecollection.cpp:214
knarticlecollection.h
KNFolder::DynData::setData
void setData(KNLocalArticle::Ptr a)
Definition: knfolder.cpp:549
KNFolder::DynData::~DynData
~DynData()
Definition: knfolder.h:111
KNCollection::Ptr
boost::shared_ptr< KNCollection > Ptr
Shared pointer to a KNCollection.
Definition: kncollection.h:40
KNFolder::type
collectionType type()
Returns the collection type.
Definition: knfolder.h:50
KNFolder::deleteAll
void deleteAll()
Definition: knfolder.cpp:489
KNFolder::writeConfig
void writeConfig()
Save the properties/settings of this collection.
Definition: knfolder.cpp:146
KNFolder::deleteFiles
void deleteFiles()
Definition: knfolder.cpp:505
KNFolder::path
QString path()
Definition: knfolder.cpp:100
KNFolder::removeArticles
void removeArticles(KNLocalArticle::List &l, bool del=true)
Definition: knfolder.cpp:449
KNCollection::CTfolder
Definition: kncollection.h:34
knarticle.h
KNFolder::DynData::getData
void getData(KNLocalArticle::Ptr a)
Definition: knfolder.cpp:566
KNFolder
Representation of a folder.
Definition: knfolder.h:30
KNFolder::i_d
int i_d
Definition: knfolder.h:99
KNArticleCollection
Abstract base class for article collections, ie.
Definition: knarticlecollection.h:76
KNFolder::syncIndex
void syncIndex(bool force=false)
Definition: knfolder.cpp:513
KNCollection::collectionType
collectionType
Definition: kncollection.h:33
KNArticleCollection::byMessageId
KNArticle::Ptr byMessageId(const QByteArray &mid)
Returns the article whose message-id is mid, or an empty KNArticle::Ptr if it is not found...
Definition: knarticlecollection.cpp:220
KNFolder::w_asOpen
bool w_asOpen
Definition: knfolder.h:102
KNFolder::updateListItem
void updateListItem()
Updates the listview item after the collection has changed.
Definition: knfolder.cpp:90
KNFolder::DynData::eo
int eo
Definition: knfolder.h:115
KNFolder::i_nfoPath
QString i_nfoPath
Definition: knfolder.h:105
KNFolder::i_ndexFile
QFile i_ndexFile
Definition: knfolder.h:104
QList< KNFolder::Ptr >
KNFolder::p_arentId
int p_arentId
Definition: knfolder.h:100
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:58:36 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

knode

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

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal