26 #include "kmfoldernode.h"
27 #include "kmfoldertype.h"
28 #include "kmmsginfo.h"
31 #include "folderjob.h"
32 using KMail::FolderJob;
33 #include "mailinglist-magic.h"
35 #include "kmaccount.h"
37 #include "mimelib/string.h"
39 #include <tqptrvector.h>
40 #include <sys/types.h>
42 #include <kshortcut.h>
48 class KMFolderTreeItem;
52 class AttachmentStrategy;
54 using KMail::AttachmentStrategy;
56 typedef TQValueList<TQ_UINT32> SerNumList;
72 friend class ::KMFolderJob;
91 KMFolderType aFolderType,
bool withIndex =
true,
92 bool exportedSernums =
true );
124 void setAcctList( AccountList* list ) { mAcctList = list; }
125 AccountList* acctList() {
return mAcctList; }
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,
222 void take(TQPtrList<KMMessage> msgList);
241 int addMsg(TQPtrList<KMMessage>&, TQValueList<int>& index_return);
248 void removeMsg(
int i,
bool imapQuiet =
false);
249 void removeMsg(TQPtrList<KMMessage> msgList,
bool imapQuiet =
false);
260 int moveMsg(TQPtrList<KMMessage>,
int* index_return = 0);
263 int find(
const KMMsgBase* msg)
const;
267 int count(
bool cache =
false)
const;
279 const KMMsgStatus newStatus,
287 int open(
const char *owner);
295 void close(
const char *owner,
bool force=
false);
320 enum CompactOptions { CompactLater, CompactNow, CompactSilentlyNow };
327 void compact( CompactOptions options );
343 void setNeedsCompacting(
bool f);
353 void quiet(
bool beQuiet);
360 bool mailCheckInProgress()
const;
370 void setSystemFolder(
bool itIs) { mIsSystemFolder=itIs; }
373 virtual TQString
label()
const;
374 void setLabel(
const TQString& l ) { mLabel = l; }
378 void setSystemLabel(
const TQString& l ) { mSystemLabel = l; }
385 bool isMailingListEnabled()
const {
return mMailingListEnabled; }
389 {
return mMailingList; }
390 TQString mailingListPostAddress()
const;
392 void setIdentity(uint identity);
393 uint identity()
const;
397 void setWhoField(
const TQString& aWhoField);
469 enum ExpireAction { ExpireDelete, ExpireMove };
474 void setExpireAction( ExpireAction a );
480 void setExpireToFolderId(
const TQString&
id );
490 int writeIndex(
bool createEmptyIndex =
false );
493 void setStatus(
int idx, KMMsgStatus status,
bool toggle=
false);
496 void setStatus(TQValueList<int>& ids, KMMsgStatus status,
bool toggle=
false);
501 TQString normalIconPath()
const {
return mNormalIconPath; }
502 TQString unreadIconPath()
const {
return mUnreadIconPath; }
503 void setIconPaths(
const TQString &normalPath,
const TQString &unreadPath);
507 void daysToExpire(
int& unreadDays,
int& readDays );
520 void setPutRepliesInSameFolder(
bool b ) { mPutRepliesInSameFolder = b; }
527 void setIgnoreNewMail(
bool b ) { mIgnoreNewMail = b; }
529 const KShortcut &shortcut()
const {
return mShortcut; }
530 void setShortcut(
const KShortcut& );
548 bool isValidName(
const TQString &folderName, TQString &message );
580 void msgRemoved(
int idx, TQString msgIdMD5 );
631 void slotContentsTypeChanged( KMail::FolderContentsType type );
633 void slotFolderSizeChanged();
638 bool mIsSystemFolder;
640 bool mExportsSernums :1;
641 bool mMoveInProgress :1;
645 TQString mSystemLabel;
648 bool mExpireMessages;
649 int mUnreadExpireAge;
651 ExpireUnits mUnreadExpireUnits;
652 ExpireUnits mReadExpireUnits;
653 ExpireAction mExpireAction;
654 TQString mExpireToFolderId;
657 bool mUseCustomIcons;
658 TQString mNormalIconPath;
659 TQString mUnreadIconPath;
662 bool mMailingListEnabled;
665 AccountList* mAcctList;
670 TQString mWhoField, mUserWhoField;
673 bool mPutRepliesInSameFolder;
690 const char*
const mOwner;
699 mOpenRc = folder->
open( owner );
705 mFolder->
close( mOwner );
708 KMFolder* folder()
const {
return mFolder; }
710 int openResult()
const {
return mOpenRc; }
714 void*
operator new(
size_t size );