summaryrefslogtreecommitdiffstats
path: root/kmail/kmfolderindex.h
diff options
context:
space:
mode:
Diffstat (limited to 'kmail/kmfolderindex.h')
-rw-r--r--kmail/kmfolderindex.h24
1 files changed, 15 insertions, 9 deletions
diff --git a/kmail/kmfolderindex.h b/kmail/kmfolderindex.h
index 05453bb68..29039765d 100644
--- a/kmail/kmfolderindex.h
+++ b/kmail/kmfolderindex.h
@@ -48,6 +48,7 @@ public:
*/
enum IndexStatus { IndexOk,
IndexMissing,
+ IndexCorrupt,
IndexTooOld
};
@@ -80,7 +81,16 @@ public:
virtual TQString indexLocation() const;
virtual int writeIndex( bool createEmptyIndex = false );
- void recreateIndex();
+ void recreateIndex( bool readIndexAfterwards = true );
+ void silentlyRecreateIndex();
+
+ /** Tests whether the contents of this folder is newer than the index.
+ Should return IndexTooOld if the index is older than the contents.
+ Should return IndexMissing if there is contents but no index.
+ Should return IndexOk if the folder doesn't exist anymore "physically"
+ or if the index is not older than the contents.
+ */
+ virtual IndexStatus indexStatus() = 0;
public slots:
/** Incrementally update the index if possible else call writeIndex */
@@ -99,14 +109,6 @@ protected:
bool updateIndexStreamPtr(bool just_close=FALSE);
- /** Tests whether the contents of this folder is newer than the index.
- Should return IndexTooOld if the index is older than the contents.
- Should return IndexMissing if there is contents but no index.
- Should return IndexOk if the folder doesn't exist anymore "physically"
- or if the index is not older than the contents.
- */
- virtual IndexStatus indexStatus() = 0;
-
/** Inserts messages into the message dictionary by iterating over the
* message list. The messages will get new serial numbers. This is only
* used on newly appeared folders, where there is no .ids file yet, or
@@ -125,6 +127,10 @@ protected:
int mIndexStreamPtrLength, mIndexId;
bool mIndexSwapByteOrder; // Index file was written with swapped byte order
int mIndexSizeOfLong; // Index file was written with longs of this size
+
+private:
+ void updateInvitationAndAddressFieldsFromContents();
+
};
#endif /*kmfolderindex_h*/