SVN commit 606387 by cgilles:
kipi-plugins from trunk : MetadataEdit : new option to set Comments to a group of pictures. This tool will set the same comments to all selected pictures from host application. You can sync IPTC/EXIF/JFIF comments at the same time. A fresh screenshot : http://digikam3rdparty.free.fr/Screenshots/KipipluginBatchCommentsEditor.png CCMAIL: [hidden email], [hidden email] M +2 -2 Makefile.am A commenteditdialog.cpp [License: GPL] A commenteditdialog.h [License: GPL] M +20 -11 plugin_metadataedit.cpp --- trunk/extragear/libs/kipi-plugins/metadataedit/Makefile.am #606386:606387 @@ -15,8 +15,8 @@ exiflens.cpp exifdevice.cpp exiflight.cpp \ iptceditdialog.cpp iptccaption.cpp iptcsubjects.cpp \ iptccredits.cpp iptcstatus.cpp iptcorigin.cpp \ - iptcdatetime.cpp iptckeywords.cpp iptccategories.cpp - + iptcdatetime.cpp iptckeywords.cpp iptccategories.cpp \ + commenteditdialog.cpp # Libs needed by the plugin kipiplugin_metadataedit_la_LIBADD = $(top_builddir)/kipi-plugins/common/exiv2iface/libexiv2iface.la \ --- trunk/extragear/libs/kipi-plugins/metadataedit/plugin_metadataedit.cpp #606386:606387 @@ -41,6 +41,7 @@ #include "exiv2iface.h" #include "exifeditdialog.h" #include "iptceditdialog.h" +#include "commenteditdialog.h" #include "plugin_metadataedit.h" #include "plugin_metadataedit.moc" @@ -113,7 +114,7 @@ actionCollection(), "importiptc")); -/* m_actionMetadataEdit->popupMenu()->insertSeparator(); + m_actionMetadataEdit->popupMenu()->insertSeparator(); m_actionMetadataEdit->insert(new KAction (i18n("Edit Comments..."), 0, @@ -122,7 +123,7 @@ SLOT(slotEditComments()), actionCollection(), "editcomments")); -*/ + addAction( m_actionMetadataEdit ); m_interface = dynamic_cast< KIPI::Interface* >( parent() ); @@ -439,13 +440,9 @@ if ( !images.isValid() || images.images().isEmpty() ) return; - // TODO : new Edit Comments dialog here. + KIPIMetadataEditPlugin::CommentEditDialog dlg(kapp->activeWindow()); - if (KMessageBox::warningYesNo( - kapp->activeWindow(), - i18n("Comments from current selected pictures will be permanently " - "replaced.\nDo you want to continue ?"), - i18n("Edit Pictures Comments")) != KMessageBox::Yes) + if (dlg.exec() != KMessageBox::Ok) return; KURL::List imageURLs = images.images(); @@ -458,13 +455,25 @@ KURL url = *it; bool ret = false; + KIPI::ImageInfo info = m_interface->info(url); + info.setDescription(dlg.getComments()); + if (!KIPIPlugins::Exiv2Iface::isReadOnly(url.path())) { ret = true; KIPIPlugins::Exiv2Iface exiv2Iface; ret &= exiv2Iface.load(url.path()); -/* ret &= exiv2Iface.setIptc(iptcData); - ret &= exiv2Iface.save(url.path());*/ + + if (dlg.syncEXIFCommentIsChecked()) + ret &= exiv2Iface.setExifComment(dlg.getComments()); + + if (dlg.syncJFIFCommentIsChecked()) + ret &= exiv2Iface.setComments(dlg.getComments().utf8()); + + if (dlg.syncIPTCCaptionIsChecked()) + ret &= exiv2Iface.setIptcTagString("Iptc.Application2.Caption", dlg.getComments()); + + ret &= exiv2Iface.save(url.path()); } if (!ret) @@ -482,7 +491,7 @@ { KMessageBox::errorList( kapp->activeWindow(), - i18n("Unable to set Comments from:"), + i18n("Unable to set comments like picture metadata from:"), errorURLs.toStringList(), i18n("Edit Pictures Comments")); } _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Free forum by Nabble | Edit this page |