summaryrefslogtreecommitdiffstats
path: root/examples/maildirresource/libmaildir
diff options
context:
space:
mode:
Diffstat (limited to 'examples/maildirresource/libmaildir')
-rw-r--r--examples/maildirresource/libmaildir/maildir.cpp20
-rw-r--r--examples/maildirresource/libmaildir/maildir.h13
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
569QString Maildir::getKeyFromFile(const QString& file)
570{
571 return Maildir::Private::stripFlags(file.split('/').last());
572}
573
574QString 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
562QByteArray Maildir::readEntryHeadersFromFile(const QString& file) 582QByteArray 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
265private: 278private:
266 void swap( const Maildir& ); 279 void swap( const Maildir& );
267 class Private; 280 class Private;