From: Jeremy Paul Whiting Date: Fri, 10 Aug 2007 13:33:40 +0000 (+0000) Subject: added method to sort kns downloaded data into locale sub-folders X-Git-Tag: v3.93.0~94 X-Git-Url: https://git.rmz.fi/?a=commitdiff_plain;h=af4ba2ee98fe5ef2822f7466463785cdcced5143;p=libqmvoc.git added method to sort kns downloaded data into locale sub-folders svn path=/trunk/KDE/kdeedu/libkdeedu/; revision=698616 --- diff --git a/keduvocdocument/sharedkvtmlfiles.cpp b/keduvocdocument/sharedkvtmlfiles.cpp index b48c8f5..461eaa8 100644 --- a/keduvocdocument/sharedkvtmlfiles.cpp +++ b/keduvocdocument/sharedkvtmlfiles.cpp @@ -17,6 +17,8 @@ #include "keduvocdocument.h" +#include +#include #include #include @@ -103,6 +105,8 @@ void SharedKvtmlFilesPrivate::rescan() // add it's comment to the comment list this->m_commentList.append(doc->documentRemark()); } + // plug a memory leak + delete doc; } void SharedKvtmlFiles::rescan() @@ -165,3 +169,35 @@ QStringList SharedKvtmlFiles::comments(const QString &language) return retlist; } + +void SharedKvtmlFiles::sortDownloadedFiles() +{ + QStringList unsortedFiles = KGlobal::dirs()->findAllResources("data", + QString("kvtml/*.kvtml")); + + KEduVocDocument *doc = new KEduVocDocument(); + + while (unsortedFiles.size() > 0) + { + KUrl fileUrl(KUrl::fromPath(unsortedFiles.first())); + // find the file's locale + // open the file + doc->open(fileUrl); + + QString locale = doc->identifier(0); + + // make sure the locale sub-folder exists + KUrl pathUrl(fileUrl); + pathUrl.setFileName(QString()); + pathUrl.addPath(locale); + KIO::mkdir(pathUrl); + + // move the file into the locale sub-folder + KIO::move(fileUrl, pathUrl); + + // take off the one we just did + unsortedFiles.removeFirst(); + } + + rescan(); +} diff --git a/keduvocdocument/sharedkvtmlfiles.h b/keduvocdocument/sharedkvtmlfiles.h index 2cc70ec..c9344b6 100644 --- a/keduvocdocument/sharedkvtmlfiles.h +++ b/keduvocdocument/sharedkvtmlfiles.h @@ -51,6 +51,9 @@ namespace SharedKvtmlFiles /** rescan the shared kvtml locations */ KEDUVOCDOCUMENT_EXPORT void rescan(); + + /** sort files downloaded to kvtml top-level dir into locale sub-folders */ + KEDUVOCDOCUMENT_EXPORT void sortDownloadedFiles(); } #endif