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

List:       kde-commits
Subject:    kdeextragear-3/digikam/digikam
From:       Ralf Hoelzer <ralf () well ! com>
Date:       2004-08-26 22:00:24
Message-ID: 20040826220024.2279D90E7 () office ! kde ! org
[Download RAW message or body]

CVS commit by rhoezler: 

- "Correct EXIF orientation tag" now works on all selected images, not just the first one

CCMAIL: digikam-devel@lists.sourceforge.net, 88170-done@bugs.kde.org


  M +25 -9     albumiconview.cpp   1.69
  M +1 -1      albumiconview.h   1.20
  M +1 -6      digikamview.cpp   1.12


--- kdeextragear-3/digikam/digikam/albumiconview.cpp  #1.68:1.69
@@ -1596,18 +1596,34 @@ void AlbumIconView::slotSelectionChanged
 }
 
-void AlbumIconView::slotSetExifOrientation( AlbumIconItem *item, int orientation )
+void AlbumIconView::slotSetExifOrientation( int orientation )
 {
+    KURL::List urlList;
+
+    for (ThumbItem *it = firstItem(); it; it=it->nextItem()) {
+        if (it->isSelected()) {
+            AlbumIconItem *iconItem = static_cast<AlbumIconItem *>(it);
+            urlList.append(iconItem->fileItem()->url());
+        }
+    }
+
+    if (urlList.count() <= 0) return;
+
+    KURL::List::Iterator it;
+    
+    for( it = urlList.begin(); it != urlList.end(); ++it ) 
+    {
     kdDebug() << "Setting Exif Orientation to " << orientation << endl;
 
     KExifData::ImageOrientation o = (KExifData::ImageOrientation)orientation;
 
-    if (!KExifUtils::writeOrientation(item->fileItem()->url().path(), o))
+        if (!KExifUtils::writeOrientation((*it).path(), o))
     {
         KMessageBox::sorry(0, i18n("Failed to correct EXIF orientation for file %1")
-                           .arg(item->text()));
+                    .arg((*it).filename()));
         return;
     }
 
-    refreshItems(item->fileItem()->url().path()); 
+        refreshItems((*it).path()); 
+    }
 }
 

--- kdeextragear-3/digikam/digikam/albumiconview.h  #1.19:1.20
@@ -162,5 +162,5 @@ public slots:
     void slotEditImageComments(AlbumIconItem* item);
     void slotShowExifInfo(AlbumIconItem* item);
-    void slotSetExifOrientation(AlbumIconItem* item, int orientation);
+    void slotSetExifOrientation(int orientation);
     void slotRename(AlbumIconItem* item);
     void slotDeleteSelectedItems();

--- kdeextragear-3/digikam/digikam/digikamview.cpp  #1.11:1.12
@@ -371,10 +371,5 @@ void DigikamView::slot_imageExifInfo(Alb
 void DigikamView::slot_imageExifOrientation(int orientation)
 {
-    AlbumIconItem *item;
-
-    item = mIconView->firstSelectedItem();
-    if (!item) return;
-
-    mIconView->slotSetExifOrientation(item, orientation);
+    mIconView->slotSetExifOrientation(orientation);
 }
 


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

Configure | About | News | Add a list | Sponsored by KoreLogic