[Digikam-devel] [Bug 103255] wish: *add* (not edit) EXIF headers like date, comment etc

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[Digikam-devel] [Bug 103255] wish: *add* (not edit) EXIF headers like date, comment etc

Gilles Caulier
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=103255         




------- Additional Comments From caulier.gilles free fr  2006-10-25 12:26 -------
SVN commit 598985 by cgilles:

kipiplugins from trunk : MetadataEdit plugin: Exif Device informations editor: add File Source settings

CCBUGS: 103255

 M  +34 -2     exifdevice.cpp  


--- trunk/extragear/libs/kipi-plugins/metadataedit/exifdevice.cpp #598984:598985
 @ -58,6 +58,7  @
     {
         makeCheck            = 0;
         modelCheck           = 0;
+        deviceTypeCheck      = 0;
         exposureTimeCheck    = 0;
         exposureProgramCheck = 0;
         exposureModeCheck    = 0;
 @ -79,6 +80,7  @
 
     QCheckBox      *makeCheck;
     QCheckBox      *modelCheck;
+    QCheckBox      *deviceTypeCheck;
     QCheckBox      *exposureTimeCheck;
     QCheckBox      *exposureProgramCheck;
     QCheckBox      *exposureModeCheck;
 @ -87,6 +89,7  @
     QCheckBox      *meteringModeCheck;
     QCheckBox      *sensingMethodCheck;
   
+    QComboBox      *deviceTypeCB;
     QComboBox      *exposureProgramCB;
     QComboBox      *exposureModeCB;
     QComboBox      *ISOSpeedCB;
 @ -115,7 +118,7  @
 
     // --------------------------------------------------------
 
-    d->makeCheck = new QCheckBox(i18n("Make (*):"), parent);
+    d->makeCheck = new QCheckBox(i18n("Device manufacturer (*):"), parent);
     d->makeEdit  = new KLineEdit(parent);
     d->makeEdit->setValidator(asciiValidator);
     grid->addMultiCellWidget(d->makeCheck, 0, 0, 0, 0);
 @ -125,7 +128,7  @
 
     // --------------------------------------------------------
 
-    d->modelCheck = new QCheckBox(i18n("Model (*):"), parent);
+    d->modelCheck = new QCheckBox(i18n("Device model (*):"), parent);
     d->modelEdit  = new KLineEdit(parent);
     d->modelEdit->setValidator(asciiValidator);
     grid->addMultiCellWidget(d->modelCheck, 1, 1, 0, 0);
 @ -135,6 +138,20  @
 
     // --------------------------------------------------------
 
+    d->deviceTypeCheck = new QCheckBox(i18n("Device type:"), parent);
+    d->deviceTypeCB    = new QComboBox(false, parent);
+    d->deviceTypeCB->insertItem(i18n("Film scanner"),             0);
+    d->deviceTypeCB->insertItem(i18n("Reflection print scanner"), 1);
+    d->deviceTypeCB->insertItem(i18n("Digital camera"),           2);
+    d->deviceTypeCheck->setTristate(true);
+
+    grid->addMultiCellWidget(d->deviceTypeCheck, 2, 2, 0, 0);
+    grid->addMultiCellWidget(d->deviceTypeCB, 2, 2, 2, 5);
+    QWhatsThis::add(d->deviceTypeCB, i18n("<p>Select here the image input equipment type used to "
+                                     "generate the picture."));
+
+    // --------------------------------------------------------
+
     d->exposureTimeCheck   = new QCheckBox(i18n("Exposure time (seconds):"), parent);
     d->exposureTimeNumEdit = new KIntSpinBox(1, 100000, 1, 1, 10, parent);
     d->exposureTimeDenEdit = new KIntSpinBox(1, 100000, 1, 1, 10, parent);
 @ -285,6 +302,9  @
     connect(d->modelCheck, SIGNAL(toggled(bool)),
             d->modelEdit, SLOT(setEnabled(bool)));
 
+    connect(d->deviceTypeCheck, SIGNAL(toggled(bool)),
+            d->deviceTypeCB, SLOT(setEnabled(bool)));
+
     connect(d->exposureTimeCheck, SIGNAL(toggled(bool)),
             d->exposureTimeNumEdit, SLOT(setEnabled(bool)));
 
 @ -343,6 +363,13  @
     }
     d->modelEdit->setEnabled(d->modelCheck->isChecked());
 
+    if (exiv2Iface.getExifTagLong("Exif.Photo.FileSource", val))
+    {
+        d->deviceTypeCB->setCurrentItem(val-1);
+        d->deviceTypeCheck->setChecked(true);
+    }
+    d->deviceTypeCB->setEnabled(d->deviceTypeCheck->isChecked());
+
     if (exiv2Iface.getExifTagRational("Exif.Photo.ExposureTime", num, den))
     {
         d->exposureTimeNumEdit->setValue(num);
 @ -445,6 +472,11  @
     else
         exiv2Iface.removeExifTag("Exif.Image.Model");
 
+    if (d->deviceTypeCheck->isChecked())
+        exiv2Iface.setExifTagLong("Exif.Photo.FileSource", d->deviceTypeCB->currentItem()+1);
+    else
+        exiv2Iface.removeExifTag("Exif.Photo.FileSource");
+
     if (d->exposureTimeCheck->isChecked())
     {
         exiv2Iface.setExifTagRational("Exif.Photo.ExposureTime", d->exposureTimeNumEdit->value(),
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel