[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [digikam] utilities/importui/main: refactor createSubAlbums()
From: Andi Clemens <andi.clemens () googlemail ! com>
Date: 2012-12-31 16:19:19
Message-ID: 20121231161919.370CCA60C8 () git ! kde ! org
[Download RAW message or body]
Git commit ee99fb1f7dd9cf85ecde98e918d2c5a67ab13155 by Andi Clemens.
Committed on 31/12/2012 at 17:18.
Pushed by aclemens into branch 'master'.
refactor createSubAlbums()
M +70 -64 utilities/importui/main/importui.cpp
M +4 -0 utilities/importui/main/importui.h
http://commits.kde.org/digikam/ee99fb1f7dd9cf85ecde98e918d2c5a67ab13155
diff --git a/utilities/importui/main/importui.cpp b/utilities/importui/main/importui.cpp
index e1bfcfc..e9e65d0 100644
--- a/utilities/importui/main/importui.cpp
+++ b/utilities/importui/main/importui.cpp
@@ -2025,7 +2025,6 @@ bool ImportUI::downloadCameraItems(PAlbum* pAlbum, bool onlySelected, bool delet
KUrl downloadUrl(url);
- // Auto sub-albums creation based on file date.
if (!createSubAlbums(downloadUrl, info))
{
return false;
@@ -2098,88 +2097,95 @@ bool ImportUI::downloadCameraItems(PAlbum* pAlbum, bool onlySelected, bool delet
bool ImportUI::createSubAlbums(KUrl& downloadUrl, const CamItemInfo& info)
{
- QDateTime dateTime = info.mtime;
- QString errMsg;
-
+ bool success = true;
if (d->albumCustomizer->autoAlbumDateEnabled())
{
- QString dirName;
+ success &= createDateBasedSubAlbum(downloadUrl, info);
+ }
+ if (d->albumCustomizer->autoAlbumExtEnabled())
+ {
+ success &= createExtBasedSubAlbum(downloadUrl, info);
+ }
+ return success;
+}
- switch (d->albumCustomizer->folderDateFormat())
- {
- case AlbumCustomizer::TextDateFormat:
- dirName = dateTime.date().toString(Qt::TextDate);
- break;
+bool ImportUI::createSubAlbum(KUrl &downloadUrl, const QString &subalbum, const QDate &date)
+{
+ QString errMsg;
+ if (!createAutoAlbum(downloadUrl, subalbum, date, errMsg))
+ {
+ KMessageBox::error(this, errMsg);
+ return false;
+ }
- case AlbumCustomizer::LocalDateFormat:
- dirName = dateTime.date().toString(Qt::LocalDate);
- break;
+ downloadUrl.addPath(subalbum);
+ return true;
+}
- case AlbumCustomizer::IsoDateFormat:
- dirName = dateTime.date().toString(Qt::ISODate);
- break;
+bool ImportUI::createDateBasedSubAlbum(KUrl &downloadUrl, const CamItemInfo &info)
+{
+ QString dirName;
+ QDateTime dateTime = info.mtime;
- default: // Custom
- dirName = dateTime.date().toString(d->albumCustomizer->customDateFormat());
- break;
- }
+ switch (d->albumCustomizer->folderDateFormat())
+ {
+ case AlbumCustomizer::TextDateFormat:
+ dirName = dateTime.date().toString(Qt::TextDate);
+ break;
- // See B.K.O #136927 : we need to support file system which do not
- // handle upper case properly.
- dirName = dirName.toLower();
+ case AlbumCustomizer::LocalDateFormat:
+ dirName = dateTime.date().toString(Qt::LocalDate);
+ break;
- if (!createAutoAlbum(downloadUrl, dirName, dateTime.date(), errMsg))
- {
- KMessageBox::error(this, errMsg);
- return false;
- }
+ case AlbumCustomizer::IsoDateFormat:
+ dirName = dateTime.date().toString(Qt::ISODate);
+ break;
- downloadUrl.addPath(dirName);
+ default: // Custom
+ dirName = dateTime.date().toString(d->albumCustomizer->customDateFormat());
+ break;
}
- // Auto sub-albums creation based on file extensions.
+ // See B.K.O #136927 : we need to support file system which do not
+ // handle upper case properly.
+ dirName = dirName.toLower();
- if (d->albumCustomizer->autoAlbumExtEnabled())
- {
- // We use the target file name to compute sub-albums name to take a care about
- // conversion on the fly option.
- QFileInfo fi(info.downloadName.isEmpty()
- ? info.name
- : info.downloadName);
+ return createSubAlbum(downloadUrl, dirName, dateTime.date());
+}
- QString subAlbum = fi.suffix().toUpper();
+bool ImportUI::createExtBasedSubAlbum(KUrl& downloadUrl, const CamItemInfo &info)
+{
+ // We use the target file name to compute sub-albums name to take a care about
+ // conversion on the fly option.
+ QFileInfo fi(info.downloadName.isEmpty()
+ ? info.name
+ : info.downloadName);
- if (fi.suffix().toUpper() == QString("JPEG") ||
- fi.suffix().toUpper() == QString("JPE"))
- {
- subAlbum = QString("JPG");
- }
+ QString subAlbum = fi.suffix().toUpper();
- if (fi.suffix().toUpper() == QString("TIFF"))
- {
- subAlbum = QString("TIF");
- }
+ if (fi.suffix().toUpper() == QString("JPEG") ||
+ fi.suffix().toUpper() == QString("JPE"))
+ {
+ subAlbum = QString("JPG");
+ }
- if (fi.suffix().toUpper() == QString("MPEG") ||
- fi.suffix().toUpper() == QString("MPE") ||
- fi.suffix().toUpper() == QString("MPO"))
- {
- subAlbum = QString("MPG");
- }
+ if (fi.suffix().toUpper() == QString("TIFF"))
+ {
+ subAlbum = QString("TIF");
+ }
- // See B.K.O #136927 : we need to support file system which do not
- // handle upper case properly.
- subAlbum = subAlbum.toLower();
+ if (fi.suffix().toUpper() == QString("MPEG") ||
+ fi.suffix().toUpper() == QString("MPE") ||
+ fi.suffix().toUpper() == QString("MPO"))
+ {
+ subAlbum = QString("MPG");
+ }
- if (!createAutoAlbum(downloadUrl, subAlbum, dateTime.date(), errMsg))
- {
- KMessageBox::error(this, errMsg);
- return false;
- }
+ // See B.K.O #136927 : we need to support file system which do not
+ // handle upper case properly.
+ subAlbum = subAlbum.toLower();
- downloadUrl.addPath(subAlbum);
- }
- return true;
+ return createSubAlbum(downloadUrl, subAlbum, info.mtime.date());
}
void ImportUI::slotDeleteNew()
diff --git a/utilities/importui/main/importui.h b/utilities/importui/main/importui.h
index 3f5935a..edcd5d8 100644
--- a/utilities/importui/main/importui.h
+++ b/utilities/importui/main/importui.h
@@ -141,6 +141,10 @@ private:
bool checkDiskSpace(PAlbum* pAlbum);
bool downloadCameraItems(PAlbum *pAlbum, bool onlySelected, bool deleteAfter);
bool createSubAlbums(KUrl &downloadUrl, const CamItemInfo &info);
+ bool createSubAlbum(KUrl &downloadUrl, const QString& subalbum,
+ const QDate& date);
+ bool createDateBasedSubAlbum(KUrl &downloadUrl, const CamItemInfo& info);
+ bool createExtBasedSubAlbum(KUrl &downloadUrl, const CamItemInfo& info);
private Q_SLOTS:
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic