------- 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 12:27 ------- SVN commit 598651 by cgilles: kipiplugins from trunk : MetadataEdit plugin: Exif Lens informations editor: add Digital Zoom Ratio settings CCBUGS: 103255 M +46 -15 exiflens.cpp --- trunk/extragear/libs/kipi-plugins/metadataedit/exiflens.cpp #598650:598651 @ -54,14 +54,16 @ EXIFLensPriv() { - apertureCheck = 0; - maxApertureCheck = 0; - focalLength35mmCheck = 0; - focalLengthCheck = 0; - apertureCB = 0; - maxApertureCB = 0; - focalLength35mmEdit = 0; - focalLengthEdit = 0; + apertureCheck = 0; + maxApertureCheck = 0; + focalLength35mmCheck = 0; + focalLengthCheck = 0; + digitalZoomRatioCheck = 0; + apertureCB = 0; + maxApertureCB = 0; + focalLength35mmEdit = 0; + focalLengthEdit = 0; + digitalZoomRatioEdit = 0; apertureValues.append("f/1.0"); apertureValues.append("f/1.1"); @ -129,6 +131,7 @ QCheckBox *maxApertureCheck; QCheckBox *focalLength35mmCheck; QCheckBox *focalLengthCheck; + QCheckBox *digitalZoomRatioCheck; QComboBox *apertureCB; QComboBox *maxApertureCB; @ -136,6 +139,7 @ KIntSpinBox *focalLength35mmEdit; KDoubleSpinBox *focalLengthEdit; + KDoubleSpinBox *digitalZoomRatioEdit; }; EXIFLens::EXIFLens(QWidget* parent, QByteArray& exifData) @ -143,12 +147,12 @ { d = new EXIFLensPriv; - QGridLayout* grid = new QGridLayout(parent, 4, 2, KDialog::spacingHint()); + QGridLayout* grid = new QGridLayout(parent, 5, 2, KDialog::spacingHint()); // -------------------------------------------------------- d->focalLengthCheck = new QCheckBox(i18n("Focal length (mm):"), parent); - d->focalLengthEdit = new KDoubleSpinBox(1, 10000, 1, 50, 1, parent); + d->focalLengthEdit = new KDoubleSpinBox(1.0, 10000.0, 1.0, 50.0, 1, parent); grid->addMultiCellWidget(d->focalLengthCheck, 0, 0, 0, 0); grid->addMultiCellWidget(d->focalLengthEdit, 0, 0, 1, 1); QWhatsThis::add(d->focalLengthEdit, i18n("<p>Set here the lens focal lenght in milimeters " @ -166,11 +170,20 @ // -------------------------------------------------------- + d->digitalZoomRatioCheck = new QCheckBox(i18n("Digital zoom ratio:"), parent); + d->digitalZoomRatioEdit = new KDoubleSpinBox(0.0, 100.0, 0.1, 1.0, 1, parent); + grid->addMultiCellWidget(d->digitalZoomRatioCheck, 2, 2, 0, 0); + grid->addMultiCellWidget(d->digitalZoomRatioEdit, 2, 2, 1, 1); + QWhatsThis::add(d->digitalZoomRatioEdit, i18n("<p>Set here the digital zoom ratio " + "used by camera to take the picture.")); + + // -------------------------------------------------------- + d->apertureCheck = new QCheckBox(i18n("Lens aperture (f-number):"), parent); d->apertureCB = new QComboBox(false, parent); d->apertureCB->insertStringList(d->apertureValues); - grid->addMultiCellWidget(d->apertureCheck, 2, 2, 0, 0); - grid->addMultiCellWidget(d->apertureCB, 2, 2, 1, 1); + grid->addMultiCellWidget(d->apertureCheck, 3, 3, 0, 0); + grid->addMultiCellWidget(d->apertureCB, 3, 3, 1, 1); QWhatsThis::add(d->apertureCB, i18n("<p>Select here the lens aperture used by camera " "to take the picture.")); @ -179,14 +192,14 @ d->maxApertureCheck = new QCheckBox(i18n("Max. lens aperture (f-number):"), parent); d->maxApertureCB = new QComboBox(false, parent); d->maxApertureCB->insertStringList(d->apertureValues); - grid->addMultiCellWidget(d->maxApertureCheck, 3, 3, 0, 0); - grid->addMultiCellWidget(d->maxApertureCB, 3, 3, 1, 1); + grid->addMultiCellWidget(d->maxApertureCheck, 4, 4, 0, 0); + grid->addMultiCellWidget(d->maxApertureCB, 4, 4, 1, 1); QWhatsThis::add(d->maxApertureCB, i18n("<p>Select here the smallest aperture of the lens used by camera " "to take the picture.")); grid->setColStretch(1, 10); grid->setColStretch(2, 10); - grid->setRowStretch(4, 10); + grid->setRowStretch(5, 10); // -------------------------------------------------------- @ -196,6 +209,9 @ connect(d->focalLength35mmCheck, SIGNAL(toggled(bool)), d->focalLength35mmEdit, SLOT(setEnabled(bool))); + connect(d->digitalZoomRatioCheck, SIGNAL(toggled(bool)), + d->digitalZoomRatioEdit, SLOT(setEnabled(bool))); + connect(d->apertureCheck, SIGNAL(toggled(bool)), d->apertureCB, SLOT(setEnabled(bool))); @ -233,6 +249,13 @ } d->focalLength35mmEdit->setEnabled(d->focalLength35mmCheck->isChecked()); + if (exiv2Iface.getExifTagRational("Exif.Photo.DigitalZoomRatio", num, den)) + { + d->digitalZoomRatioEdit->setValue((num == 0) ? 0.0 : (double)(num) / (double)(den)); + d->digitalZoomRatioCheck->setChecked(true); + } + d->digitalZoomRatioEdit->setEnabled(d->digitalZoomRatioCheck->isChecked()); + if (exiv2Iface.getExifTagRational("Exif.Photo.FNumber", num, den)) { QString fnumber = QString::number((double)(num)/(double)(den), 'f', 1); @ -313,6 +336,14 @ else exiv2Iface.removeExifTag("Exif.Photo.FocalLengthIn35mmFilm"); + if (d->digitalZoomRatioCheck->isChecked()) + { + exiv2Iface.convertToRational(d->digitalZoomRatioEdit->value(), &num, &den, 1); + exiv2Iface.setExifTagRational("Exif.Photo.DigitalZoomRatio", num, den); + } + else + exiv2Iface.removeExifTag("Exif.Photo.DigitalZoomRatio"); + if (d->apertureCheck->isChecked()) { exiv2Iface.convertToRational(d->apertureCB->currentText().remove(0, 2).toDouble(), &num, &den, 1); _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Free forum by Nabble | Edit this page |