diff options
Diffstat (limited to 'examples/maildirresource/libmaildir')
-rw-r--r-- | examples/maildirresource/libmaildir/maildir.cpp | 20 | ||||
-rw-r--r-- | examples/maildirresource/libmaildir/maildir.h | 13 |
2 files changed, 33 insertions, 0 deletions
diff --git a/examples/maildirresource/libmaildir/maildir.cpp b/examples/maildirresource/libmaildir/maildir.cpp index 0057b26..59e7e5c 100644 --- a/examples/maildirresource/libmaildir/maildir.cpp +++ b/examples/maildirresource/libmaildir/maildir.cpp | |||
@@ -177,6 +177,13 @@ public: | |||
177 | return realKey; | 177 | return realKey; |
178 | } | 178 | } |
179 | 179 | ||
180 | static QString stripFlags(const QString& key) | ||
181 | { | ||
182 | const QRegExp rx = *(statusSeparatorRx()); | ||
183 | const int index = key.indexOf(rx); | ||
184 | return key.mid(0, index); | ||
185 | } | ||
186 | |||
180 | static QString subDirNameForFolderName(const QString &folderName) | 187 | static QString subDirNameForFolderName(const QString &folderName) |
181 | { | 188 | { |
182 | return QString::fromLatin1(".%1.directory").arg(folderName); | 189 | return QString::fromLatin1(".%1.directory").arg(folderName); |
@@ -559,6 +566,19 @@ QDateTime Maildir::lastModified(const QString& key) const | |||
559 | return info.lastModified(); | 566 | return info.lastModified(); |
560 | } | 567 | } |
561 | 568 | ||
569 | QString Maildir::getKeyFromFile(const QString& file) | ||
570 | { | ||
571 | return Maildir::Private::stripFlags(file.split('/').last()); | ||
572 | } | ||
573 | |||
574 | QString Maildir::getDirectoryFromFile( const QString& file ) | ||
575 | { | ||
576 | auto parts = file.split('/'); | ||
577 | parts.removeLast(); //File | ||
578 | parts.removeLast(); //cur/new/tmp | ||
579 | return parts.join('/') + "/"; | ||
580 | } | ||
581 | |||
562 | QByteArray Maildir::readEntryHeadersFromFile(const QString& file) | 582 | QByteArray Maildir::readEntryHeadersFromFile(const QString& file) |
563 | { | 583 | { |
564 | QByteArray result; | 584 | QByteArray result; |
diff --git a/examples/maildirresource/libmaildir/maildir.h b/examples/maildirresource/libmaildir/maildir.h index 5936515..6c68656 100644 --- a/examples/maildirresource/libmaildir/maildir.h +++ b/examples/maildirresource/libmaildir/maildir.h | |||
@@ -262,6 +262,19 @@ public: | |||
262 | querying the last error string. */ | 262 | querying the last error string. */ |
263 | QString lastError() const; | 263 | QString lastError() const; |
264 | 264 | ||
265 | /** | ||
266 | * Returns the key from the file identified by the full path @param file. | ||
267 | */ | ||
268 | static QString getKeyFromFile( const QString& file ); | ||
269 | |||
270 | /** | ||
271 | * Returns the directory from a file. | ||
272 | * | ||
273 | * Strips key and new/cur/tmp. | ||
274 | * The returned path is ended with a trailing slash. | ||
275 | */ | ||
276 | static QString getDirectoryFromFile( const QString& file ); | ||
277 | |||
265 | private: | 278 | private: |
266 | void swap( const Maildir& ); | 279 | void swap( const Maildir& ); |
267 | class Private; | 280 | class Private; |