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

knode

  • sources
  • kde-4.14
  • kdepim
  • knode
knarticlecollection.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 KNARTICLECOLLECTION_H
16 #define KNARTICLECOLLECTION_H
17 
18 #include "knarticle.h"
19 #include "kncollection.h"
20 
21 #include <QByteArray>
22 
23 
26 class KNArticleVector {
27 
28  public:
29  enum SortingType { STid, STmsgId, STunsorted };
30 
31  explicit KNArticleVector(KNArticleVector *master=0, SortingType sorting=STunsorted);
32  virtual ~KNArticleVector();
33 
34  // list-info
35  void setMaster(KNArticleVector *m) { m_aster=m; }
36 
37  bool isEmpty() { return mList.isEmpty(); }
38  int size() { return mList.size(); }
39 
40  // list-handling
44  void append( KNArticle::Ptr a );
48  void remove( int pos );
49  void clear();
50  void syncWithMaster();
51 
52  // sorting
53  void setSortMode(SortingType s) { s_ortType=s; }
54  static bool compareById( KNArticle::Ptr a1, KNArticle::Ptr a2 );
55  static bool compareByMsgId( KNArticle::Ptr a1, KNArticle::Ptr a2 );
56 
57  // article access
58  KNArticle::Ptr at( int i ) { return mList.value( i ); }
59  KNArticle::Ptr bsearch( int id );
60  KNArticle::Ptr bsearch( const QByteArray &id );
61 
62  int indexForId(int id);
63  int indexForMsgId( const QByteArray &id );
64 
65  private:
66  void sort();
67 
68  KNArticleVector *m_aster;
69  QList<KNArticle::Ptr> mList;
70  SortingType s_ortType;
71 };
72 
73 
76 class KNArticleCollection : public KNCollection {
77 
78  public:
82  typedef boost::shared_ptr<KNArticleCollection> Ptr;
86  typedef QList<KNArticleCollection::Ptr> List;
87 
88 
89  explicit KNArticleCollection( KNCollection::Ptr p = KNCollection::Ptr() );
90  ~KNArticleCollection();
91 
93  bool isEmpty() { return a_rticles.isEmpty(); }
94  bool isLoaded() { return ( c_ount==0 || !a_rticles.isEmpty() ); }
95  int length() { return a_rticles.size(); }
96 
97  // cache behavior
98  bool isNotUnloadable() { return n_otUnloadable; }
99  void setNotUnloadable(bool b=true) { n_otUnloadable = b; }
100 
101  // locking
102  unsigned int lockedArticles() { return l_ockedArticles; }
103  void articleLocked() { l_ockedArticles++; }
104  void articleUnlocked() { l_ockedArticles--; }
105 
106  // list-handling
110  void append( KNArticle::Ptr a );
114  void remove( const KNArticle::Ptr &art );
115  void clear();
116  void compact();
117  void setLastID();
118 
119  // article access
123  KNArticle::Ptr at( int i ) { return a_rticles.at(i); }
127  KNArticle::Ptr byId( int id );
131  KNArticle::Ptr byMessageId( const QByteArray &mid );
132 
133  // search index
134  void syncSearchIndex();
135 
136  private:
137  int l_astID;
138  unsigned int l_ockedArticles;
139  bool n_otUnloadable;
140  KNArticleVector a_rticles;
141  KNArticleVector m_idIndex;
142 };
143 
144 
145 #endif
KNArticleCollection::setLastID
void setLastID()
Definition: knarticlecollection.cpp:230
KNArticleCollection::articleLocked
void articleLocked()
Definition: knarticlecollection.h:103
KNArticleCollection::~KNArticleCollection
~KNArticleCollection()
Definition: knarticlecollection.cpp:182
KNArticleVector::STunsorted
Definition: knarticlecollection.h:29
KNArticleCollection::isEmpty
bool isEmpty()
Returns true if this collection doesn't contain any article.
Definition: knarticlecollection.h:93
QByteArray
KNArticleVector
Article storage used by KNArticleCollection.
Definition: knarticlecollection.h:26
KNArticleCollection::isNotUnloadable
bool isNotUnloadable()
Definition: knarticlecollection.h:98
KNArticleCollection::syncSearchIndex
void syncSearchIndex()
Definition: knarticlecollection.cpp:240
KNArticleCollection::length
int length()
Definition: knarticlecollection.h:95
KNArticleCollection::lockedArticles
unsigned int lockedArticles()
Definition: knarticlecollection.h:102
KNArticleVector::append
void append(KNArticle::Ptr a)
Appends an article to this store.
Definition: knarticlecollection.cpp:33
KNArticleVector::bsearch
KNArticle::Ptr bsearch(int id)
Definition: knarticlecollection.cpp:98
KNArticleVector::compareByMsgId
static bool compareByMsgId(KNArticle::Ptr a1, KNArticle::Ptr a2)
Definition: knarticlecollection.cpp:90
KNArticleCollection::isLoaded
bool isLoaded()
Definition: knarticlecollection.h:94
QList::size
int size() const
QList::value
T value(int i) const
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
KNArticleVector::KNArticleVector
KNArticleVector(KNArticleVector *master=0, SortingType sorting=STunsorted)
Definition: knarticlecollection.cpp:23
KNCollection
Abstract base class for everything that is visible in the folder tree.
Definition: kncollection.h:32
QList::isEmpty
bool isEmpty() const
QList< KNArticle::Ptr >
KNArticleVector::clear
void clear()
Definition: knarticlecollection.cpp:48
KNArticleVector::STid
Definition: knarticlecollection.h:29
KNArticleCollection::setNotUnloadable
void setNotUnloadable(bool b=true)
Definition: knarticlecollection.h:99
KNArticleCollection::clear
void clear()
Definition: knarticlecollection.cpp:200
KNArticleCollection::KNArticleCollection
KNArticleCollection(KNCollection::Ptr p=KNCollection::Ptr())
Definition: knarticlecollection.cpp:174
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
KNArticleVector::setMaster
void setMaster(KNArticleVector *m)
Definition: knarticlecollection.h:35
KNArticleVector::indexForId
int indexForId(int id)
Definition: knarticlecollection.cpp:110
KNCollection::Ptr
boost::shared_ptr< KNCollection > Ptr
Shared pointer to a KNCollection.
Definition: kncollection.h:42
KNArticleVector::STmsgId
Definition: knarticlecollection.h:29
KNArticleCollection::append
void append(KNArticle::Ptr a)
Appends an article to this collection.
Definition: knarticlecollection.cpp:186
KNArticle::Ptr
boost::shared_ptr< KNArticle > Ptr
Shared pointer to a KNArticle. To be used instead of raw KNArticle*.
Definition: knarticle.h:41
KNArticleVector::at
KNArticle::Ptr at(int i)
Definition: knarticlecollection.h:58
KNArticleCollection::compact
void compact()
Definition: knarticlecollection.cpp:208
KNArticleVector::indexForMsgId
int indexForMsgId(const QByteArray &id)
Definition: knarticlecollection.cpp:138
KNArticleVector::setSortMode
void setSortMode(SortingType s)
Definition: knarticlecollection.h:53
KNArticleVector::~KNArticleVector
virtual ~KNArticleVector()
Definition: knarticlecollection.cpp:29
knarticle.h
KNArticleVector::compareById
static bool compareById(KNArticle::Ptr a1, KNArticle::Ptr a2)
Definition: knarticlecollection.cpp:84
KNArticleCollection::Ptr
boost::shared_ptr< KNArticleCollection > Ptr
Shared pointer to a KNArticle.
Definition: knarticlecollection.h:82
KNArticleVector::isEmpty
bool isEmpty()
Definition: knarticlecollection.h:37
KNArticleVector::SortingType
SortingType
Definition: knarticlecollection.h:29
KNArticleCollection::List
QList< KNArticleCollection::Ptr > List
List of KNArticleCollection.
Definition: knarticlecollection.h:86
KNArticleCollection
Abstract base class for article collections, ie.
Definition: knarticlecollection.h:76
kncollection.h
KNCollection::c_ount
int c_ount
Definition: kncollection.h:100
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
KNArticleVector::syncWithMaster
void syncWithMaster()
Definition: knarticlecollection.cpp:53
KNArticleCollection::articleUnlocked
void articleUnlocked()
Definition: knarticlecollection.h:104
KNArticleVector::size
int size()
Definition: knarticlecollection.h:38
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:34:18 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
  • pimprint

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