[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [digikam] utilities/importui/main: refactor downloadCameraItems()
From:       Andi Clemens <andi.clemens () googlemail ! com>
Date:       2012-12-31 16:19:19
Message-ID: 20121231161919.2C032A6091 () git ! kde ! org
[Download RAW message or body]

Git commit fde13f8803a0a044b4ae748ae27f55c9a6222184 by Andi Clemens.
Committed on 31/12/2012 at 16:54.
Pushed by aclemens into branch 'master'.

refactor downloadCameraItems()

M  +88   -76   utilities/importui/main/importui.cpp
M  +1    -0    utilities/importui/main/importui.h

http://commits.kde.org/digikam/fde13f8803a0a044b4ae748ae27f55c9a6222184

diff --git a/utilities/importui/main/importui.cpp b/utilities/importui/main/importui.cpp
index 77e5eee..b9e1cbe 100644
--- a/utilities/importui/main/importui.cpp
+++ b/utilities/importui/main/importui.cpp
@@ -2024,85 +2024,11 @@ bool ImportUI::downloadCameraItems(PAlbum* pAlbum, bool onlySelected, bool delet
         dateTime            = info.mtime;
 
         KUrl downloadUrl(url);
-        QString errMsg;
 
         // Auto sub-albums creation based on file date.
-
-        if (d->albumCustomizer->autoAlbumDateEnabled())
-        {
-            QString dirName;
-
-            switch (d->albumCustomizer->folderDateFormat())
-            {
-            case AlbumCustomizer::TextDateFormat:
-                dirName = dateTime.date().toString(Qt::TextDate);
-                break;
-
-            case AlbumCustomizer::LocalDateFormat:
-                dirName = dateTime.date().toString(Qt::LocalDate);
-                break;
-
-            case AlbumCustomizer::IsoDateFormat:
-                dirName = dateTime.date().toString(Qt::ISODate);
-                break;
-
-            default:        // Custom
-                dirName = dateTime.date().toString(d->albumCustomizer->customDateFormat());
-                break;
-            }
-
-            // See B.K.O #136927 : we need to support file system which do not
-            // handle upper case properly.
-            dirName = dirName.toLower();
-
-            if (!createAutoAlbum(downloadUrl, dirName, dateTime.date(), errMsg))
-            {
-                KMessageBox::error(this, errMsg);
-                return false;
-            }
-
-            downloadUrl.addPath(dirName);
-        }
-
-        // Auto sub-albums creation based on file extensions.
-
-        if (d->albumCustomizer->autoAlbumExtEnabled())
+        if (!createSubAlbums(downloadUrl, info))
         {
-            // We use the target file name to compute sub-albums name to take a care about
-            // conversion on the fly option.
-            QFileInfo fi(downloadName.isEmpty() ? settings.file : downloadName);
-
-            QString subAlbum = fi.suffix().toUpper();
-
-            if (fi.suffix().toUpper() == QString("JPEG") ||
-                    fi.suffix().toUpper() == QString("JPE"))
-            {
-                subAlbum = QString("JPG");
-            }
-
-            if (fi.suffix().toUpper() == QString("TIFF"))
-            {
-                subAlbum = QString("TIF");
-            }
-
-            if (fi.suffix().toUpper() == QString("MPEG") ||
-                    fi.suffix().toUpper() == QString("MPE") ||
-                    fi.suffix().toUpper() == QString("MPO"))
-            {
-                subAlbum = QString("MPG");
-            }
-
-            // See B.K.O #136927 : we need to support file system which do not
-            // handle upper case properly.
-            subAlbum = subAlbum.toLower();
-
-            if (!createAutoAlbum(downloadUrl, subAlbum, dateTime.date(), errMsg))
-            {
-                KMessageBox::error(this, errMsg);
-                return false;
-            }
-
-            downloadUrl.addPath(subAlbum);
+            return false;
         }
 
         d->foldersToScan << downloadUrl.toLocalFile();
@@ -2170,6 +2096,92 @@ bool ImportUI::downloadCameraItems(PAlbum* pAlbum, bool onlySelected, bool delet
     return true;
 }
 
+bool ImportUI::createSubAlbums(KUrl& downloadUrl, const CamItemInfo& info)
+{
+    QString downloadName    = info.downloadName;
+    QDateTime dateTime      = info.mtime;
+
+    QString errMsg;
+
+    if (d->albumCustomizer->autoAlbumDateEnabled())
+    {
+        QString dirName;
+
+        switch (d->albumCustomizer->folderDateFormat())
+        {
+        case AlbumCustomizer::TextDateFormat:
+            dirName = dateTime.date().toString(Qt::TextDate);
+            break;
+
+        case AlbumCustomizer::LocalDateFormat:
+            dirName = dateTime.date().toString(Qt::LocalDate);
+            break;
+
+        case AlbumCustomizer::IsoDateFormat:
+            dirName = dateTime.date().toString(Qt::ISODate);
+            break;
+
+        default:        // Custom
+            dirName = dateTime.date().toString(d->albumCustomizer->customDateFormat());
+            break;
+        }
+
+        // See B.K.O #136927 : we need to support file system which do not
+        // handle upper case properly.
+        dirName = dirName.toLower();
+
+        if (!createAutoAlbum(downloadUrl, dirName, dateTime.date(), errMsg))
+        {
+            KMessageBox::error(this, errMsg);
+            return false;
+        }
+
+        downloadUrl.addPath(dirName);
+    }
+
+    // Auto sub-albums creation based on file extensions.
+
+    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(downloadName.isEmpty() ? info.name : downloadName);
+
+        QString subAlbum = fi.suffix().toUpper();
+
+        if (fi.suffix().toUpper() == QString("JPEG") ||
+                fi.suffix().toUpper() == QString("JPE"))
+        {
+            subAlbum = QString("JPG");
+        }
+
+        if (fi.suffix().toUpper() == QString("TIFF"))
+        {
+            subAlbum = QString("TIF");
+        }
+
+        if (fi.suffix().toUpper() == QString("MPEG") ||
+                fi.suffix().toUpper() == QString("MPE") ||
+                fi.suffix().toUpper() == QString("MPO"))
+        {
+            subAlbum = QString("MPG");
+        }
+
+        // See B.K.O #136927 : we need to support file system which do not
+        // handle upper case properly.
+        subAlbum = subAlbum.toLower();
+
+        if (!createAutoAlbum(downloadUrl, subAlbum, dateTime.date(), errMsg))
+        {
+            KMessageBox::error(this, errMsg);
+            return false;
+        }
+
+        downloadUrl.addPath(subAlbum);
+    }
+    return true;
+}
+
 void ImportUI::slotDeleteNew()
 {
     slotSelectNew();
diff --git a/utilities/importui/main/importui.h b/utilities/importui/main/importui.h
index 38d1a81..3f5935a 100644
--- a/utilities/importui/main/importui.h
+++ b/utilities/importui/main/importui.h
@@ -140,6 +140,7 @@ private:
 
     bool checkDiskSpace(PAlbum* pAlbum);
     bool downloadCameraItems(PAlbum *pAlbum, bool onlySelected, bool deleteAfter);
+    bool createSubAlbums(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