kmail

kmfolder.h
1 /*
2  * kmail: KDE mail client
3  * Copyright (c) 1996-1998 Stefan Taferner <taferner@kde.org>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18  *
19  */
20 #ifndef kmfolder_h
21 #define kmfolder_h
22 
23 // for large file support
24 #include <config.h>
25 
26 #include "kmfoldernode.h"
27 #include "kmfoldertype.h"
28 #include "kmmsginfo.h"
29 #include "kmglobal.h"
30 #include "kmkernel.h"
31 #include "folderjob.h"
32 using KMail::FolderJob;
33 #include "mailinglist-magic.h"
34 using KMail::MailingList;
35 #include "kmaccount.h" // for AccountList
36 
37 #include "mimelib/string.h"
38 
39 #include <tqptrvector.h>
40 #include <sys/types.h>
41 #include <stdio.h>
42 #include <tdeshortcut.h>
43 
44 class KMMessage;
45 class KMFolderDir;
46 class TQTimer;
47 class FolderStorage;
48 class KMFolderTreeItem;
49 class KMFolderJob;
50 
51 namespace KMail {
52  class AttachmentStrategy;
53 }
54 using KMail::AttachmentStrategy;
55 
56 typedef TQValueList<TQ_UINT32> SerNumList;
57 
68 class KMFolder: public KMFolderNode
69 {
70  TQ_OBJECT
71 
72  friend class ::KMFolderJob;
73 public:
74 
90  KMFolder( KMFolderDir* parent, const TQString& name,
91  KMFolderType aFolderType, bool withIndex = true,
92  bool exportedSernums = true );
93  ~KMFolder();
94 
96  bool isMainInbox() {
97  return this == KMKernel::self()->inboxFolder();
98  }
100  bool isOutbox() {
101  return this == KMKernel::self()->outboxFolder();
102  }
105  bool isSent() {
106  return KMKernel::self()->folderIsSentMailFolder( this );
107  }
110  bool isTrash() {
111  return KMKernel::self()->folderIsTrash( this );
112  }
115  bool isDrafts() {
116  return KMKernel::self()->folderIsDrafts( this );
117  }
120  bool isTemplates() {
121  return KMKernel::self()->folderIsTemplates( this );
122  }
123 
124  void setAcctList( AccountList* list ) { mAcctList = list; }
125  AccountList* acctList() { return mAcctList; }
126 
128  bool hasAccounts() const { return (mAcctList != 0); }
129 
131  void readConfig( TDEConfig* config );
132 
134  void writeConfig( TDEConfig* config ) const;
135 
136  FolderStorage* storage() { return mStorage; }
138  const FolderStorage* storage() const { return mStorage; }
139 
141  KMFolderType folderType() const;
142 
144  TQString fileName() const;
145 
147  TQString location() const;
148 
150  TQString indexLocation() const;
151 
153  TQString subdirLocation() const;
154 
158  { return mChild; }
159 
162 
164  void setChild( KMFolderDir* aChild );
165 
167  bool noContent() const;
168 
170  void setNoContent(bool aNoContent);
171 
173  bool noChildren() const;
174 
176  void setNoChildren(bool aNoChildren);
177 
179  KMMessage* getMsg(int idx);
180 
182  KMMsgInfo* unGetMsg(int idx);
183 
185  bool isMessage(int idx);
186 
188  DwString getDwString(int idx);
189 
194 
199  FolderJob* createJob( KMMessage *msg, FolderJob::JobType jt = FolderJob::tGetMessage,
200  KMFolder *folder = 0, TQString partSpecifier = TQString(),
201  const AttachmentStrategy *as = 0 ) const;
202  FolderJob* createJob( TQPtrList<KMMessage>& msgList, const TQString& sets,
203  FolderJob::JobType jt = FolderJob::tGetMessage,
204  KMFolder *folder = 0 ) const;
205 
210  const KMMsgBase* getMsgBase(int idx) const;
211  KMMsgBase* getMsgBase(int idx);
212 
214  const KMMsgBase* operator[](int idx) const;
215 
217  KMMsgBase* operator[](int idx);
218 
221  KMMessage* take(int idx);
222  void take(TQPtrList<KMMessage> msgList);
223 
230  int addMsg(KMMessage* msg, int* index_return = 0);
231 
235  int addMsgKeepUID(KMMessage* msg, int* index_return = 0);
236 
241  int addMsg(TQPtrList<KMMessage>&, TQValueList<int>& index_return);
242 
245  void emitMsgAddedSignals(int idx);
246 
248  void removeMsg(int i, bool imapQuiet = false);
249  void removeMsg(TQPtrList<KMMessage> msgList, bool imapQuiet = false);
250 
253  int expungeOldMsg(int days);
254 
259  int moveMsg(KMMessage* msg, int* index_return = 0);
260  int moveMsg(TQPtrList<KMMessage>, int* index_return = 0);
261 
263  int find(const KMMsgBase* msg) const;
264  int find( const KMMessage * msg ) const;
265 
267  int count(bool cache = false) const;
268 
270  int countUnread();
271 
274  int countUnreadRecursive();
275 
278  void msgStatusChanged( const KMMsgStatus oldStatus,
279  const KMMsgStatus newStatus,
280  int idx);
281 
287  int open(const char *owner);
288 
291  int canAccess();
292 
295  void close(const char *owner, bool force=false);
296 
298  void sync();
299 
301  bool isOpened() const;
302 
304  void markNewAsUnread();
305 
307  void markUnreadAsRead();
308 
313  void remove();
314 
318  int expunge();
319 
320  enum CompactOptions { CompactLater, CompactNow, CompactSilentlyNow };
327  void compact( CompactOptions options );
328 
331  int rename(const TQString& newName, KMFolderDir *aParent = 0);
332 
336  bool dirty() const;
337 
339  void setDirty(bool f);
340 
342  bool needsCompacting() const;
343  void setNeedsCompacting(bool f);
344 
353  void quiet(bool beQuiet);
354 
356  bool isReadOnly() const;
358  bool isWritable() const;
359 
360  bool mailCheckInProgress() const;
361 
363  bool canDeleteMessages() const;
364 
369  bool isSystemFolder() const { return mIsSystemFolder; }
370  void setSystemFolder(bool itIs) { mIsSystemFolder=itIs; }
371 
373  virtual TQString label() const;
374  void setLabel( const TQString& l ) { mLabel = l; }
375 
377  virtual TQString systemLabel() const { return mSystemLabel; }
378  void setSystemLabel( const TQString& l ) { mSystemLabel = l; }
379 
381  virtual TQString prettyURL() const;
382 
384  void setMailingListEnabled( bool enabled );
385  bool isMailingListEnabled() const { return mMailingListEnabled; }
386 
387  void setMailingList( const MailingList& mlist );
388  MailingList mailingList() const
389  { return mMailingList; }
390  TQString mailingListPostAddress() const;
391 
392  void setIdentity(uint identity);
393  uint identity() const;
394 
396  TQString whoField() const { return mWhoField; }
397  void setWhoField(const TQString& aWhoField);
398 
400  TQString userWhoField(void) { return mUserWhoField; }
401  void setUserWhoField(const TQString &whoField,bool writeConfig=true);
402 
404  void correctUnreadMsgsCount();
405 
407  TQString idString() const;
408 
412  void setAutoExpire(bool enabled);
413 
417  bool isAutoExpire() const { return mExpireMessages; }
418 
424  void setUnreadExpireAge(int age);
425 
430  void setUnreadExpireUnits(ExpireUnits units);
431 
437  void setReadExpireAge(int age);
438 
443  void setReadExpireUnits(ExpireUnits units);
444 
449  int getUnreadExpireAge() const { return mUnreadExpireAge; }
450 
455  int getReadExpireAge() const { return mReadExpireAge; }
456 
461  ExpireUnits getUnreadExpireUnits() const { return mUnreadExpireUnits; }
462 
467  ExpireUnits getReadExpireUnits() const { return mReadExpireUnits; }
468 
469  enum ExpireAction { ExpireDelete, ExpireMove };
473  ExpireAction expireAction() const { return mExpireAction; }
474  void setExpireAction( ExpireAction a );
475 
479  TQString expireToFolderId() const { return mExpireToFolderId; }
480  void setExpireToFolderId( const TQString& id );
481 
486  void expireOldMessages( bool immediate );
487 
490  int writeIndex( bool createEmptyIndex = false );
491 
493  void setStatus(int idx, KMMsgStatus status, bool toggle=false);
494 
496  void setStatus(TQValueList<int>& ids, KMMsgStatus status, bool toggle=false);
497 
499  bool useCustomIcons() const { return mUseCustomIcons; }
500  void setUseCustomIcons(bool useCustomIcons) { mUseCustomIcons = useCustomIcons; }
501  TQString normalIconPath() const { return mNormalIconPath; }
502  TQString unreadIconPath() const { return mUnreadIconPath; }
503  void setIconPaths(const TQString &normalPath, const TQString &unreadPath);
504 
505  void removeJobs();
506 
507  void daysToExpire( int& unreadDays, int& readDays );
508 
513  KMFolder* trashFolder() const;
514 
519  bool putRepliesInSameFolder() const { return mPutRepliesInSameFolder; }
520  void setPutRepliesInSameFolder( bool b ) { mPutRepliesInSameFolder = b; }
521 
526  bool ignoreNewMail() const { return mIgnoreNewMail; }
527  void setIgnoreNewMail( bool b ) { mIgnoreNewMail = b; }
528 
529  const TDEShortcut &shortcut() const { return mShortcut; }
530  void setShortcut( const TDEShortcut& );
531 
533  bool isMoveable() const;
534 
538  bool moveInProgress() const { return mMoveInProgress; }
539 
541  void setMoveInProgress( bool b ) { mMoveInProgress = b; }
542 
548  bool isValidName( const TQString &folderName, TQString &message );
549 
550 signals:
553  void changed();
554 
557  void closed();
558 
561  void cleared();
562 
565  void expunged( KMFolder* );
566 
568  void iconsChanged();
569 
571  void nameChanged();
572 
575 
577  void msgRemoved(KMFolder*, TQ_UINT32 sernum);
578 
580  void msgRemoved( int idx, TQString msgIdMD5 );
581  void msgRemoved(KMFolder*);
582 
584  void msgAdded(int idx);
585  void msgAdded(KMFolder*, TQ_UINT32 sernum);
586 
588  void msgChanged(KMFolder*, TQ_UINT32 sernum, int delta);
589 
592 
594  void statusMsg(const TQString&);
595 
598 
600  void removed(KMFolder*, bool);
601 
604 
607 
610 
616 
617 public slots:
619  int updateIndex();
620 
623  void reallyAddMsg(KMMessage* aMsg);
624 
627  void reallyAddCopyOfMsg(KMMessage* aMsg);
628 
629 private slots:
631  void slotContentsTypeChanged( KMail::FolderContentsType type );
633  void slotFolderSizeChanged();
634 
635 private:
636  FolderStorage* mStorage;
637  KMFolderDir* mChild;
638  bool mIsSystemFolder;
639  bool mHasIndex :1;
640  bool mExportsSernums :1;
641  bool mMoveInProgress :1;
642 
644  TQString mLabel;
645  TQString mSystemLabel;
646 
648  bool mExpireMessages; // true if old messages are expired
649  int mUnreadExpireAge; // Given in unreadExpireUnits
650  int mReadExpireAge; // Given in readExpireUnits
651  ExpireUnits mUnreadExpireUnits;
652  ExpireUnits mReadExpireUnits;
653  ExpireAction mExpireAction;
654  TQString mExpireToFolderId;
655 
657  bool mUseCustomIcons;
658  TQString mNormalIconPath;
659  TQString mUnreadIconPath;
660 
662  bool mMailingListEnabled;
663  MailingList mMailingList;
664 
665  AccountList* mAcctList;
666 
667  uint mIdentity;
668 
670  TQString mWhoField, mUserWhoField;
671 
673  bool mPutRepliesInSameFolder;
674 
676  bool mIgnoreNewMail;
677 
679  TDEShortcut mShortcut;
680 };
681 
682 
689  KMFolder* mFolder;
690  const char* const mOwner;
691  int mOpenRc;
692 
693 public:
694  KMFolderOpener( KMFolder* folder, const char* const owner )
695  : mFolder( folder )
696  , mOwner( owner )
697  {
698  assert( folder ); //change if that's not what you want
699  mOpenRc = folder->open( owner );
700  }
701 
702  ~KMFolderOpener()
703  {
704  if ( !mOpenRc )
705  mFolder->close( mOwner );
706  }
707 
708  KMFolder* folder() const { return mFolder; }
709 
710  int openResult() const { return mOpenRc; }
711 
712 private:
713  //we forbid construction on the heap as good as we can
714  void* operator new( size_t size );
715 };
716 
717 
718 #endif /*kmfolder_h*/
The FolderStorage class is the bass class for the storage related aspects of a collection of mail (a ...
Definition: folderstorage.h:80
KMail list that manages the contents of one directory that may contain folders and/or other directori...
Definition: kmfolderdir.h:16
RAII for KMFolder::open() / close().
Definition: kmfolder.h:688
Mail folder.
Definition: kmfolder.h:69
int getUnreadExpireAge() const
Get the age at which unread messages are expired.
Definition: kmfolder.h:449
bool isOpened() const
Test if folder is opened.
Definition: kmfolder.cpp:500
void sync()
fsync buffers to disk
Definition: kmfolder.cpp:495
void setNoChildren(bool aNoChildren)
Specify, that the folder can't have children.
Definition: kmfolder.cpp:316
void viewConfigChanged()
Emitted when the variables for the config of the view have changed.
bool isTrash()
Returns true if this folder is configured as a trash folder, locally or for one of the accounts.
Definition: kmfolder.h:110
int countUnread()
Number of new or unread messages in this folder.
Definition: kmfolder.cpp:450
TQString subdirLocation() const
Returns full path to sub directory file.
Definition: kmfolder.cpp:253
KMFolder * trashFolder() const
If this folder has a special trash folder set, return it.
Definition: kmfolder.cpp:821
void emitMsgAddedSignals(int idx)
Called by derived classes implementation of addMsg.
Definition: kmfolder.cpp:405
int updateIndex()
Incrementally update the index if possible else call writeIndex.
Definition: kmfolder.cpp:856
int moveMsg(KMMessage *msg, int *index_return=0)
Detaches the given message from it's current folder and adds it to this folder.
Definition: kmfolder.cpp:425
int addMsgKeepUID(KMMessage *msg, int *index_return=0)
(Note(bo): This needs to be fixed better at a later point.) This is overridden by dIMAP because addMs...
Definition: kmfolder.cpp:395
void removed(KMFolder *, bool)
Emitted when a folder was removed.
void correctUnreadMsgsCount()
A cludge to help make sure the count of unread messges is kept in sync.
Definition: kmfolder.cpp:700
bool isMainInbox()
Returns true if this folder is the inbox on the local disk.
Definition: kmfolder.h:96
void setReadExpireUnits(ExpireUnits units)
Set units to use for expiry of read messages.
Definition: kmfolder.cpp:756
KMFolder(KMFolderDir *parent, const TQString &name, KMFolderType aFolderType, bool withIndex=true, bool exportedSernums=true)
Constructs a new Folder object.
Definition: kmfolder.cpp:48
TQString idString() const
Returns a string that can be used to identify this folder.
Definition: kmfolder.cpp:705
void changed()
Emitted when the status, name, or associated accounts of this folder changed.
void msgStatusChanged(const KMMsgStatus oldStatus, const KMMsgStatus newStatus, int idx)
Called by KMMsgBase::setStatus when status of a message has changed required to keep the number unrea...
Definition: kmfolder.cpp:473
virtual TQString prettyURL() const
URL of the node for visualization purposes.
Definition: kmfolder.cpp:593
bool moveInProgress() const
Returns true if there is currently a move or copy operation going on with this folder as target.
Definition: kmfolder.h:538
void shortcutChanged(KMFolder *)
Emitted when the shortcut associated with this folder changes.
void reallyAddCopyOfMsg(KMMessage *aMsg)
Add a copy of the message to the folder after it has been retrieved from an IMAP server.
Definition: kmfolder.cpp:866
bool isDrafts()
Returns true if this folder is the drafts box of the local account, or is configured to be the drafts...
Definition: kmfolder.h:115
const FolderStorage * storage() const
if the folder is const, the storage should be as well
Definition: kmfolder.h:138
int writeIndex(bool createEmptyIndex=false)
Write index to index-file.
Definition: kmfolder.cpp:826
void ignoreJobsForMessage(KMMessage *)
Removes and deletes all jobs associated with the particular message.
Definition: kmfolder.cpp:341
ExpireAction expireAction() const
What should expiry do? Delete or move to another folder?
Definition: kmfolder.h:473
virtual TQString label() const
Returns the label of the folder for visualization.
Definition: kmfolder.cpp:581
void cleared()
Emitted when the contents of a folder have been cleared (new search in a search folder,...
KMFolderDir * child() const
Returns the folder directory associated with this node or 0 if no such directory exists.
Definition: kmfolder.h:157
bool isTemplates()
Returns true if this folder is the templates folder of the local account, or is configured to be the ...
Definition: kmfolder.h:120
bool noChildren() const
Returns, if the folder can't have children.
Definition: kmfolder.cpp:311
void numUnreadMsgsChanged(KMFolder *)
Emitted when number of unread messages has changed.
bool useCustomIcons() const
Icon related methods.
Definition: kmfolder.h:499
ExpireUnits getReadExpireUnits() const
Units getReadExpireAge() is returned in.
Definition: kmfolder.h:467
void expunged(KMFolder *)
Emitted after an expunge.
void noContentChanged()
Emitted when the no content state changed.
void markNewAsUnread()
Mark all new messages as unread.
Definition: kmfolder.cpp:505
bool isValidName(const TQString &folderName, TQString &message)
Returns true if the name is valid for a child of this folder.
Definition: kmfolder.cpp:899
TQString fileName() const
Returns the filename of the folder (reimplemented in KMFolderImap)
Definition: kmfolder.cpp:238
void msgRemoved(KMFolder *, TQ_UINT32 sernum)
Emitted before a message is removed from the folder.
bool putRepliesInSameFolder() const
Returns true if the replies to mails from this folder should be put in the same folder.
Definition: kmfolder.h:519
bool isSent()
Returns true if this folder is the sent-mail box of the local account, or is configured to be the sen...
Definition: kmfolder.h:105
KMMsgInfo * unGetMsg(int idx)
Replace KMMessage with KMMsgInfo and delete KMMessage
Definition: kmfolder.cpp:326
FolderJob * createJob(KMMessage *msg, FolderJob::JobType jt=FolderJob::tGetMessage, KMFolder *folder=0, TQString partSpecifier=TQString(), const AttachmentStrategy *as=0) const
These methods create respective FolderJob (You should derive FolderJob for each derived KMFolder).
Definition: kmfolder.cpp:346
int canAccess()
Check folder for permissions Returns zero if readable and writable.
Definition: kmfolder.cpp:484
int addMsg(KMMessage *msg, int *index_return=0)
Add the given message to the folder.
Definition: kmfolder.cpp:390
bool canDeleteMessages() const
Can messages in this folder be deleted?
Definition: kmfolder.cpp:576
TQString whoField() const
Get / set the name of the field that is used for the Sender/Receiver column in the headers (From/To)
Definition: kmfolder.h:396
bool isOutbox()
Returns true only if this is the outbox for outgoing mail.
Definition: kmfolder.h:100
void msgAdded(int idx)
Emitted when a message is added from the folder.
int getReadExpireAge() const
Get the age at which read messages are expired.
Definition: kmfolder.h:455
bool isMessage(int idx)
Checks if the message is already "gotten" with getMsg.
Definition: kmfolder.cpp:331
void markUnreadAsRead()
Mark all new and unread messages as read.
Definition: kmfolder.cpp:510
bool isAutoExpire() const
Does this folder automatically expire old messages?
Definition: kmfolder.h:417
void msgHeaderChanged(KMFolder *, int)
Emitted when a field of the header of a specific message changed.
DwString getDwString(int idx)
Read a message and returns a DwString.
Definition: kmfolder.cpp:336
bool ignoreNewMail() const
Returns true if the user doesn't want to get notified about new mail in this folder.
Definition: kmfolder.h:526
bool needsCompacting() const
Returns true if the folder contains deleted messages.
Definition: kmfolder.cpp:546
void setUnreadExpireAge(int age)
Set the maximum age for unread messages in this folder.
Definition: kmfolder.cpp:733
void msgRemoved(int idx, TQString msgIdMD5)
Emitted after a message is removed from the folder.
KMMessage * take(int idx)
Detach message from this folder.
Definition: kmfolder.cpp:380
int expunge()
Delete entire folder.
Definition: kmfolder.cpp:526
int expungeOldMsg(int days)
Delete messages in the folder that are older than days.
Definition: kmfolder.cpp:420
bool isSystemFolder() const
Returns true if the folder is a kmail system folder.
Definition: kmfolder.h:369
void close(const char *owner, bool force=false)
Close folder.
Definition: kmfolder.cpp:489
void setDirty(bool f)
Change the dirty flag.
Definition: kmfolder.cpp:541
void setAutoExpire(bool enabled)
Set whether this folder automatically expires messages.
Definition: kmfolder.cpp:725
int rename(const TQString &newName, KMFolderDir *aParent=0)
Physically rename the folder.
Definition: kmfolder.cpp:531
TQString expireToFolderId() const
If expiry should move to folder, return the ID of that folder.
Definition: kmfolder.h:479
KMFolderDir * createChildFolder()
Create a child folder directory and associates it with this folder.
Definition: kmfolder.cpp:264
void readConfig(TDEConfig *config)
This is used by the storage to read the folder specific configuration.
Definition: kmfolder.cpp:161
void expireOldMessages(bool immediate)
Expire old messages in this folder.
Definition: kmfolder.cpp:801
void setNoContent(bool aNoContent)
Specify, that the folder can't contain mails.
Definition: kmfolder.cpp:306
void nameChanged()
Emitted when the name of the folder changes.
KMMessage * getMsg(int idx)
Read message at given index.
Definition: kmfolder.cpp:321
const KMMsgBase * getMsgBase(int idx) const
Provides access to the basic message fields that are also stored in the index.
Definition: kmfolder.cpp:360
KMFolderType folderType() const
Returns the type of this folder.
Definition: kmfolder.cpp:233
bool isMoveable() const
Returns true if this folder can be moved.
Definition: kmfolder.cpp:879
void setMoveInProgress(bool b)
Sets the move-in-progress flag.
Definition: kmfolder.h:541
void folderSizeChanged(KMFolder *)
Emitted when the folder's size changes.
void setStatus(int idx, KMMsgStatus status, bool toggle=false)
Set the status of the message at index idx to status.
Definition: kmfolder.cpp:831
void setMailingListEnabled(bool enabled)
Returns true if this folder is associated with a mailing-list.
Definition: kmfolder.cpp:620
int count(bool cache=false) const
Number of messages in this folder.
Definition: kmfolder.cpp:445
const KMMsgBase * operator[](int idx) const
Same as getMsgBase(int).
Definition: kmfolder.cpp:370
TQString indexLocation() const
Returns full path to index file.
Definition: kmfolder.cpp:248
int open(const char *owner)
Open folder for access.
Definition: kmfolder.cpp:479
int countUnreadRecursive()
Number of new or unread messages in this folder and all folders contained by this folder.
Definition: kmfolder.cpp:455
bool isWritable() const
Can we write into and delete from this folder (on IMAP that's not necessarily !isReadOnly())
Definition: kmfolder.cpp:571
void remove()
Removes the folder physically from disk and empties the contents of the folder in memory.
Definition: kmfolder.cpp:515
void compact(CompactOptions options)
Compact this folder.
Definition: kmfolder.cpp:811
TQString location() const
Returns full path to folder file.
Definition: kmfolder.cpp:243
bool noContent() const
Returns, if the folder can't contain mails, but only subfolder.
Definition: kmfolder.cpp:301
void statusMsg(const TQString &)
Emmited to display a message somewhere in a status line.
void setUnreadExpireUnits(ExpireUnits units)
Set units to use for expiry of unread messages.
Definition: kmfolder.cpp:741
TQString userWhoField(void)
Get / set the user-settings for the WhoField (From/To/Empty)
Definition: kmfolder.h:400
void setReadExpireAge(int age)
Set the maximum age for read messages in this folder.
Definition: kmfolder.cpp:748
void writeConfig(TDEConfig *config) const
This is used by the storage to save the folder specific configuration.
Definition: kmfolder.cpp:200
void removeMsg(int i, bool imapQuiet=false)
Remove (first occurrence of) given message from the folder.
Definition: kmfolder.cpp:410
void quiet(bool beQuiet)
If set to quiet the folder will not emit msgAdded(idx) signal.
Definition: kmfolder.cpp:556
void closed()
Emitted when the folder is closed for real - ticket holders should discard any messages.
ExpireUnits getUnreadExpireUnits() const
Units getUnreadExpireAge() is returned in.
Definition: kmfolder.h:461
bool dirty() const
Returns true if the table of contents is dirty.
Definition: kmfolder.cpp:536
bool hasAccounts() const
Returns TRUE if accounts are associated with this folder.
Definition: kmfolder.h:128
int find(const KMMsgBase *msg) const
Returns the index of the given message or -1 if not found.
Definition: kmfolder.cpp:435
virtual TQString systemLabel() const
Set the label that is used as a system default.
Definition: kmfolder.h:377
void setChild(KMFolderDir *aChild)
Set the folder directory associated with this node.
Definition: kmfolder.cpp:295
void reallyAddMsg(KMMessage *aMsg)
Add the message to the folder after it has been retrieved from an IMAP server.
Definition: kmfolder.cpp:861
bool isReadOnly() const
Is the folder read-only?
Definition: kmfolder.cpp:561
void msgChanged(KMFolder *, TQ_UINT32 sernum, int delta)
Emitted, when the status of a message is changed.
void syncStateChanged()
Emiitted when the sync state, i.e.
void iconsChanged()
Emitted when the icon paths are set.
static KMKernel * self()
normal control stuff
Definition: kmkernel.h:259
bool folderIsSentMailFolder(const KMFolder *)
Returns true if the folder is one of the sent-mail folders.
Definition: kmkernel.cpp:2222
This is a Mime Message.
Definition: kmmessage.h:68
Class is used for all Mailing List handling inside KMail.
folderdiaquotatab.h
Definition: aboutdata.cpp:40