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

Gilles Caulier caulier.gilles at free.fr
Tue Oct 24 13:37:25 BST 2006


------- 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-24 14:37 -------
SVN commit 598736 by cgilles:

kipiplugins from trunk : MetadataEdit plugin: Exif Picture Adjustments informations editor: add Sharpness settings

CCBUGS: 103255

 M  +33 -2     exifadjust.cpp  


--- trunk/extragear/libs/kipi-plugins/metadataedit/exifadjust.cpp #598735:598736
 @ -58,20 +58,24  @
         gainControlCheck = 0;
         contrastCheck    = 0;
         saturationCheck  = 0;
+        sharpnessCheck   = 0;
         brightnessEdit   = 0;
         gainControlCB    = 0;
         contrastCB       = 0;
         saturationCB     = 0;
+        sharpnessCB      = 0;
     }
 
     QCheckBox      *brightnessCheck;
     QCheckBox      *gainControlCheck;
     QCheckBox      *contrastCheck;
     QCheckBox      *saturationCheck;
+    QCheckBox      *sharpnessCheck;
 
     QComboBox      *gainControlCB;
     QComboBox      *contrastCB;
     QComboBox      *saturationCB;
+    QComboBox      *sharpnessCB;
    
     KDoubleSpinBox *brightnessEdit;
 };
 @ -81,7 +85,7  @
 {
     d = new EXIFAdjustPriv;
 
-    QGridLayout* grid = new QGridLayout(parent, 6, 2, KDialog::spacingHint());
+    QGridLayout* grid = new QGridLayout(parent, 5, 2, KDialog::spacingHint());
 
     // --------------------------------------------------------
 
 @ -130,8 +134,20  @
     QWhatsThis::add(d->saturationCB, i18n("<p>Set here the direction of saturation processing "
                                           "applied by the camera to take the picture."));
 
+    // --------------------------------------------------------
+
+    d->sharpnessCheck = new QCheckBox(i18n("Sharpness:"), parent);
+    d->sharpnessCB    = new QComboBox(false, parent);
+    d->sharpnessCB->insertItem(i18n("Normal"), 0);
+    d->sharpnessCB->insertItem(i18n("Soft"),   1);
+    d->sharpnessCB->insertItem(i18n("Hard"),   2);
+    grid->addMultiCellWidget(d->sharpnessCheck, 4, 4, 0, 0);
+    grid->addMultiCellWidget(d->sharpnessCB, 4, 4, 2, 2);
+    QWhatsThis::add(d->sharpnessCB, i18n("<p>Set here the direction of sharpness processing "
+                                         "applied by the camera to take the picture."));
+
     grid->setColStretch(1, 10);                     
-    grid->setRowStretch(6, 10);                     
+    grid->setRowStretch(5, 10);                     
 
     // --------------------------------------------------------
 
 @ -147,6 +163,9  @
     connect(d->saturationCheck, SIGNAL(toggled(bool)),
             d->saturationCB, SLOT(setEnabled(bool)));
 
+    connect(d->sharpnessCheck, SIGNAL(toggled(bool)),
+            d->sharpnessCB, SLOT(setEnabled(bool)));
+
     // --------------------------------------------------------
     
     readMetadata(exifData);
 @ -191,6 +210,13  @
         d->saturationCheck->setChecked(true);
     }
     d->saturationCB->setEnabled(d->saturationCheck->isChecked());
+
+    if (exiv2Iface.getExifTagLong("Exif.Photo.Sharpness", val))
+    {
+        d->sharpnessCB->setCurrentItem(val);
+        d->sharpnessCheck->setChecked(true);
+    }
+    d->sharpnessCB->setEnabled(d->sharpnessCheck->isChecked());
 }
 
 void EXIFAdjust::applyMetadata(QByteArray& exifData)
 @ -222,6 +248,11  @
     else
         exiv2Iface.removeExifTag("Exif.Photo.Saturation");
 
+    if (d->sharpnessCheck->isChecked())
+        exiv2Iface.setExifTagLong("Exif.Photo.Sharpness", d->sharpnessCB->currentItem());
+    else
+        exiv2Iface.removeExifTag("Exif.Photo.Sharpness");
+
     exifData = exiv2Iface.getExif();
 }



More information about the Digikam-devel mailing list