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, bo= ol 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 =3D info.mtime; - QString errMsg; - + bool success =3D true; if (d->albumCustomizer->autoAlbumDateEnabled()) { - QString dirName; + success &=3D createDateBasedSubAlbum(downloadUrl, info); + } + if (d->albumCustomizer->autoAlbumExtEnabled()) + { + success &=3D createExtBasedSubAlbum(downloadUrl, info); + } + return success; +} = - switch (d->albumCustomizer->folderDateFormat()) - { - case AlbumCustomizer::TextDateFormat: - dirName =3D 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 =3D dateTime.date().toString(Qt::LocalDate); - break; + downloadUrl.addPath(subalbum); + return true; +} = - case AlbumCustomizer::IsoDateFormat: - dirName =3D dateTime.date().toString(Qt::ISODate); - break; +bool ImportUI::createDateBasedSubAlbum(KUrl &downloadUrl, const CamItemInf= o &info) +{ + QString dirName; + QDateTime dateTime =3D info.mtime; = - default: // Custom - dirName =3D dateTime.date().toString(d->albumCustomizer->custo= mDateFormat()); - break; - } + switch (d->albumCustomizer->folderDateFormat()) + { + case AlbumCustomizer::TextDateFormat: + dirName =3D 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 =3D dirName.toLower(); + case AlbumCustomizer::LocalDateFormat: + dirName =3D dateTime.date().toString(Qt::LocalDate); + break; = - if (!createAutoAlbum(downloadUrl, dirName, dateTime.date(), errMsg= )) - { - KMessageBox::error(this, errMsg); - return false; - } + case AlbumCustomizer::IsoDateFormat: + dirName =3D dateTime.date().toString(Qt::ISODate); + break; = - downloadUrl.addPath(dirName); + default: // Custom + dirName =3D dateTime.date().toString(d->albumCustomizer->customDat= eFormat()); + 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 =3D 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 =3D 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 ca= re about + // conversion on the fly option. + QFileInfo fi(info.downloadName.isEmpty() + ? info.name + : info.downloadName); = - if (fi.suffix().toUpper() =3D=3D QString("JPEG") || - fi.suffix().toUpper() =3D=3D QString("JPE")) - { - subAlbum =3D QString("JPG"); - } + QString subAlbum =3D fi.suffix().toUpper(); = - if (fi.suffix().toUpper() =3D=3D QString("TIFF")) - { - subAlbum =3D QString("TIF"); - } + if (fi.suffix().toUpper() =3D=3D QString("JPEG") || + fi.suffix().toUpper() =3D=3D QString("JPE")) + { + subAlbum =3D QString("JPG"); + } = - if (fi.suffix().toUpper() =3D=3D QString("MPEG") || - fi.suffix().toUpper() =3D=3D QString("MPE") || - fi.suffix().toUpper() =3D=3D QString("MPO")) - { - subAlbum =3D QString("MPG"); - } + if (fi.suffix().toUpper() =3D=3D QString("TIFF")) + { + subAlbum =3D QString("TIF"); + } = - // See B.K.O #136927 : we need to support file system which do not - // handle upper case properly. - subAlbum =3D subAlbum.toLower(); + if (fi.suffix().toUpper() =3D=3D QString("MPEG") || + fi.suffix().toUpper() =3D=3D QString("MPE") || + fi.suffix().toUpper() =3D=3D QString("MPO")) + { + subAlbum =3D QString("MPG"); + } = - if (!createAutoAlbum(downloadUrl, subAlbum, dateTime.date(), errMs= g)) - { - 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 =3D 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/i= mportui.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 delet= eAfter); bool createSubAlbums(KUrl &downloadUrl, const CamItemInfo &info); + bool createSubAlbum(KUrl &downloadUrl, const QString& subalbum, + const QDate& date); + bool createDateBasedSubAlbum(KUrl &downloadUrl, const CamItemInfo& inf= o); + bool createExtBasedSubAlbum(KUrl &downloadUrl, const CamItemInfo& info= ); = private Q_SLOTS: =20