digiKam

Professional Photo Management with the Power of Open Source

digiKam digest - 2009-07-19

by Anonymous

Great week for metadata maniacs!

  • Support for different authors of comments in various languages
    • captionedit
  • Fully customizable "Short view" (aka "Human readable") in Metadata tab; unfortunately due to feature freeze for 4.3 duration this will not be available in digiKam 1.0 with this KDE release, but only with KDE 4.4.
    • metadatafilter
    • metadatafilter01
    • metadatafilter02
    • metadatafilter03
    • metadatafilter04
  • Further optimizations in image plugins
  • Fixed bug about creation date for non-EXIF-able files
  • Fixes and improvements in templates system
  • Compatibility with libjpeg7
  • Multiple fixes and improvements in advanced slideshow kipi-plugin

Bug/wish table

Opened bugsOpened last weekClosed last weekChangeOpened wishesOpened last weekClosed last weekChange
digikam241+22-166274+2-4-2
kipiplugins102+12-111150+2-20

Full tables:


NEWS reports

Issues closed last week (note: due to different methodologies numbers may not add up with table above)

digiKam

+General : Exif, Makernotes, Iptc, and Xmp metadata tags filtering can be customized in setup config dialog. +General : Add support of Author properties to multi-language Captions. User can set + an author name for each caption value. +ImageEditor : Close tools by pressing ESC. +016 ==> 199251 : digiKam crashes when setting exif orientation tag. +017 ==> 199482 : Caption can't be canged. +018 ==> 174586 : Loading video from camera consumes ll memory. +019 ==> 199667 : Make writing of metadata to picture enabled by default. +020 ==> 199981 : XMP synchronization of digiKam namespace occurs for second tag. +021 ==> 199967 : Creation date newer than last modified date. +022 ==> 200190 : tag filters: unlike older versions AND-condition doesn't match anymore. +023 ==> 193616 : Location not shown digiKam right sidebar after geolocating in external program. +024 ==> 189156 : digikam crashes on importing directories with some (cyrillic?) file names. +025 ==> 191963 : calender sort by wrong dates on images without properties. +026 ==> 189072 : Right click popup menu. +027 ==> 200223 : Default language of spellchecker is ignored. +028 ==> 126086 : Besides the basic and full exif info I would like a page with selectable fields. +029 ==> 200637 : Too small fonts in collections setup page. +030 ==> 135476 : Support for multiple comment authors. +031 ==> 200246 : digiKam does not recognize GPS EXIF information.

Kipi-plugins

+012 ==> SendImages : 146487 : kipi-plugins export to email fails when email too large. +013 ==> SendImages : 189984 : Impossible to email images if the path contains characters such as ?Š?¨? . +014 ==> RawConverter : 161337 : Image rotation of converted RAW photos (portrait format) broken. +015 ==> Calendar : 196888 : Create Calender: Year formatted as 2,009 on last page of wizard. +016 ==> Calendar : 111697 : I wish for the option to change the first day of week (sun / mon). +017 ==> GPSSync : 187517 : gpsssync when entering no map. +018 ==> BatchProcess : 200483 : digiKam crashes after batch image-color-improvement on single picture. +019 ==> AcquireImages: 200558 : Crash when saving scanned image to .tiff. +020 ==> BatchProcess : 200217 : Crash after batch recompress. +021 ==> BatchProcess : 200722 : Crashes after successfull batch and closing resize dialog. +022 ==> AdvSlideShow : 200647 : Not all main settings are not restored correctly. +023 ==> BatchProcess : 168243 : Delete photo after not found imagemagick +024 ==> BatchProcess : 149488 : after batch renaming pictures, the pictures appears as unkown images, and can't be removed from album nor can be viewed or edit +025 ==> SendImages : 146828 : Sendimages opera command line.

Selected commits

KDE/kdegraphics/libs/libkdcraw/libkdcraw (2009-07-13 01:03)
SVN commit 995545 by cfeck:

Make it possible to create a DcrawSettingsWidget with only a QWidget as parameter (again :)

1 file changed


extragear/graphics/digikam (2009-07-13 17:29)
SVN commit 995957 by mwiesweg:

Use the file descriptor based method to download a file with gphoto2. This should solve problems with very large files because they can directly be written to disk.

BUG: 174586

2 files changed


extragear/graphics/digikam/libs/widgets/imageplugins (2009-07-14 13:16)
SVN commit 996427 by aclemens:

Do not create / draw the cursor on every mouse move. The drawing of the mask is a little bit faster now, but still it flickers with cursor-sizes above 64px.

2 files changed


KDE/kdegraphics/libs/libkexiv2/libkexiv2 (2009-07-14 16:26)
SVN commit 996566 by sengels:

people might have older exiv2 versions installed - do not use newer API before that

1 file changed


extragear/graphics/digikam/libs/widgets/imageplugins (2009-07-14 16:59)
SVN commit 996602 by aclemens:

More performance fixes: Do not call repaint() directly, ever… in most of the cases we don’t need this. This greatly improves performance on my machine.

1 file changed


extragear/graphics/digikam/libs/database (2009-07-14 12:27)
SVN commit 996418 by mwiesweg:

Use the oldest of ctime, mtime when falling back to the file system to determine the creation date

CCBUG: 199967

2 files changed


extragear/graphics/digikam/libs/database (2009-07-14 12:27)
SVN commit 996417 by mwiesweg:

Prepare to use CollectionScanner/Imagescanner to rescan files (“Read metadata to database”)

  • so that a manual rescan uses 100% the same code as an initial scan when the file is imported Add a flag to CollectionScanner::scanFile to signal if a normal scan, a scan as if modified or a full rescan shall be done. Some internal restructuring.

CCBUG: 193616

4 files changed


extragear/graphics/digikam (2009-07-14 10:07)
SVN commit 996339 by cgilles:

add support of Captions author properties. For each language alternative caption values, user can fill caption author name A caption date properties is also set accordingly, using current date when caption is enter. These new Captions properties are recordrd to datase only, for the moment. TODO: record all captions properties to digiKam XMP namespace CCBUGS: 135476

http://websvn.kde.org/?view=rev&revision=996339

15 files changed


extragear/graphics/digikam/libs/widgets/imageplugins (2009-07-14 00:52)
SVN commit 996160 by aclemens:

speed up drawing of the mask a little bit, do not convert the DImg to a Pixmap all the time.

1 file changed


extragear/graphics/digikam/libs/widgets/imageplugins (2009-07-13 23:46)
SVN commit 996141 by aclemens:

I would suggest to display the draw cursor all the time, so it is easier to set the correct size in the panel. Right now we show the cursor only when pressing the mouse.

One question: Why do we allow to set a size of 100 in the panel for the brush size, but disallow the maximum size in the mouseMoveEvent? In there we only allow a max size of 64, which looks weird, because the mask “blob” we draw is bigger as the cursor.

Is this some old, “wrong” code?

Andi

CCMAIL:digikam-devel@kde.org

1 file changed


extragear/graphics/digikam/imageplugins/perspective (2009-07-14 19:33)
SVN commit 996686 by aclemens:

call update() instead of repaint() whenever possible

1 file changed


extragear/graphics/digikam/libs/dmetadata (2009-07-14 21:09)
SVN commit 996721 by cgilles:

Save/restore Captions properties to/from digiKam XMP namespace. Authors and Dates roperties are saved in alternative language bags. Captions Map is build using all these properties, plus the comments get from standard XMP tags.

Marcel, When i import a new image with these XMP metadata into collection, authors and dates map are not imported in database… CCBUGS: 135476 CCMAIL: marcel.wiesweg@gmx.de

3 files changed


extragear/graphics/digikam/utilities (2009-07-15 14:28)
SVN commit 997148 by aclemens:

Fullscreen is a toggle action and should be used as such. Either press the button in the toolbar, or CTRL+SHIFT+F to exit fullscreen. This mechanism is used throughout KDE and should be used in digiKam as well of course. I would strongly recommend NOT to use ESC to quit the fullscreen mode.

I disable these actions for now, but again I would rather remove it completely. What do you think?

Andi

CCMAIL:digikam-devel@kde.org

3 files changed


extragear/graphics/digikam/utilities/imageeditor/editor (2009-07-15 15:47)
SVN commit 997192 by aclemens:

Use global action for closing the tools in the image editor. Sometimes the assigned shortcut is not working, which is weird. It doesn’t seem to work so well to assign a shortcut manually to a button. With this global action all the tools will close fine. Also with this method the shortcut becomes configurable.

6 files changed


extragear/graphics/digikam (2009-07-15 15:10)
SVN commit 997167 by cgilles:

Add new widet to edit text (based on KTextEdit) which display a click message as with KLineEdit. This improve usability and make interface more easily to understand. This widget will be moved in libkexiv2 later, with others widgets hosted by Template code.

7 files changed


extragear/graphics/digikam/utilities/imageeditor/editor (2009-07-15 14:23)
SVN commit 997143 by aclemens:

Close tools by pressing ESC. We used ESC in the editor window to get out of fullscreen, but this is inconsistent within digiKam itself as well as throughout the whole KDE desktop. Fullscreen is a toggle action and should be used as such. By re-assigning ESC to the cancel button in the EditorToolSettings, we can now easily abort a filter, which greatly improves usability and is also a often asked feature.

2 files changed


extragear/graphics/digikam/utilities/imageeditor/editor (2009-07-15 15:58)
SVN commit 997196 by aclemens:

Oops, committed the wrong branch. The commit before was some experimental code. This patch will fix the closing of the tool when a filter is aborted.

3 files changed


extragear/graphics/digikam/libs/template (2009-07-16 05:15)
SVN commit 997578 by cgilles:

set checkspelling language accordingly with settings

1 file changed


extragear/graphics/digikam/libs/dmetadata (2009-07-15 23:11)
SVN commit 997480 by mwiesweg:

Use common method to retrieve copyright information (this now includes the IPTC legacy fields as well)

I think the different scanning code paths are consolidated now, but I need to review tomorrow. Hope no regressions introduced.

1 file changed


extragear/graphics/digikam/libs (2009-07-15 22:51)
SVN commit 997471 by mwiesweg:

DMetadata:

  • add a method to fill the copyright-related fields of a given Template
  • add a convenience method to convert an AltLangMap passed as QVariant. ImageScanner:
  • code from scanImageCopyright has now been moved to DMetadata and ImageCopyright

3 files changed


extragear/graphics/digikam/libs/database (2009-07-15 21:24)
SVN commit 997367 by mwiesweg:

Put code to read and write from template into ImageCopyright. May be reused.

3 files changed


extragear/graphics/digikam/libs/database (2009-07-15 20:57)
SVN commit 997336 by mwiesweg:

In ImageScanner, rely on DMetadata::getImageComments to handle all interpretation of comment values. No custom code here.

CCBUG: 135476

1 file changed


extragear/graphics/digikam/libs/widgets/metadata (2009-07-16 16:13)
SVN commit 997792 by cgilles:

new widget to config metadata tags to display on EXIF, IPTC, and XMP view It will be used in setupMetadata panel. CCBUGS: 126086

2 files changed


extragear/graphics/digikam/libs/dmetadata (2009-07-16 19:19)
SVN commit 997946 by mwiesweg:

Get IPTC Core subject codes from XMP or Iptc. Add a method getIptcCoreSubjects which returns subject from XMP or IPTC. Some internal restructuring.

2 files changed


extragear/graphics/digikam/digikam (2009-07-16 21:00)
SVN commit 997976 by mwiesweg:

Add a method to abort all current activity and suspend scanning. When the database is changed, all scanning tasks should better be aborted.

2 files changed


extragear/graphics/digikam/digikam (2009-07-16 21:00)
SVN commit 997977 by mwiesweg:

Suspend all running scanning tasks before changing the database. Throw in a few wait cursors for the code of opening a new database. May take 1-2secs.

1 file changed


extragear/graphics/digikam (2009-07-16 21:00)
SVN commit 997978 by mwiesweg:

Use CollectionScanner/ImageScanner to read metadata from file to database. This means that this method now uses 100% the same code as if the image was completely unknown so far and newly added to the collection.

So this method can now be used if

  • any metadata was changed by external tools
  • a missing piece or bug in our scanning code filled wrong or incomplete info in the db

BUG: 135476

2 files changed


extragear/graphics/digikam/libs/widgets/metadata (2009-07-16 23:36)
SVN commit 998041 by cgilles:

optimize

1 file changed


extragear/graphics/digikam/libs/widgets/metadata (2009-07-17 10:05)
SVN commit 998204 by cgilles:

added tooltip

1 file changed


extragear/graphics/kipi-plugins/calendar (2009-07-17 18:29)
SVN commit 998433 by nlecureuil:

make year locale aware CCBUG:196888

1 file changed


extragear/graphics/kipi-plugins/jpeglossless (2009-07-17 14:02)
SVN commit 998312 by aclemens:

When messing with pointers, always check if they are valid. This gives another backtrace now, which seems to confirm my guess that the libjpeg update is responsible for the crash.

CCBUG:200159

1 file changed


extragear/graphics/digikam (2009-07-18 07:54)
SVN commit 998593 by cgilles:

Implement metadata tags filter settings and rules for metadata viewer from right side bar. In setup metadata dialog page, a new panel is available to set which metadata tags must be displayed in EXIF, Makernotes, Iptc and XMP viewer. This panel list all tags supported by Exiv2. User can search on whole tags collection supported with a search bar to found easily metadata title to select. Buttons can clear selection, select all, or use Human Readable default list of tags.

0 files changed


extragear/graphics/digikam (2009-07-18 10:59)
SVN commit 998637 by cgilles:

Added Metadata Tags filter support to Showfoto BUGS: 126086

6 files changed


extragear/graphics/kipi-plugins (2009-07-18 09:21)
SVN commit 998596 by nlecureuil:

Fix crash when saving images in .tiff format

2 files changed


KDE/kdegraphics/libs/libkexiv2/libkexiv2 (2009-07-18 16:07)
SVN commit 998759 by cgilles:

handle new XMP namespace with right exiv2 version

1 file changed


extragear/graphics/digikam (2009-07-18 14:24)
SVN commit 998727 by aclemens:

Remove bold tags from descriptive text in setup pages

3 files changed


extragear/graphics/digikam/libs/widgets/metadata (2009-07-18 16:21)
SVN commit 998768 by cgilles:

support new XMP namespace

3 files changed


extragear/graphics/digikam/utilities/firstrun (2009-07-18 18:08)
SVN commit 998799 by osterfeld:

Actually save the selected album path in the config.

1 file changed


extragear/graphics/digikam/libs (2009-07-18 14:54)
SVN commit 998736 by mwiesweg:

Following hint from other KDE commit to make this work with libjpeg7. Untested with libjpeg 7. only with libjpeg 6.2, where numerator and denominator are always 1 so the effect is the same.

2 files changed


extragear/graphics/kipi-plugins/advancedslideshow (2009-07-19 00:31)
SVN commit 998997 by aclemens:

fix memory leaks

4 files changed


extragear/graphics/kipi-plugins/advancedslideshow (2009-07-19 00:32)
SVN commit 999002 by aclemens:

little speed improvement: don’t connect the slots at the beginning of readSettings()

1 file changed


extragear/graphics/kipi-plugins/advancedslideshow (2009-07-19 00:32)
SVN commit 999000 by aclemens:

remove some Q3support classes. We still have Qt3 classes in this plugin, which is really bad. Other things to fix: drag & drop

11 files changed


extragear/graphics/kipi-plugins/advancedslideshow (2009-07-19 00:32)
SVN commit 999001 by aclemens:

This can’t be right: the urlList of the sharedData is always appended. Every click on “Start Slideshow” will duplicate the list content.

1 file changed


extragear/graphics/kipi-plugins/advancedslideshow (2009-07-19 12:07)
SVN commit 999122 by aclemens:

Use QPointers when showing modal dialogs via exec(), as discussed in http://www.kdedevelopers.org/node/3919

1 file changed


extragear/graphics/kipi-plugins/advancedslideshow (2009-07-19 14:25)
SVN commit 999207 by aclemens:

use sharedData->urlList in slotSlideShow(), now the selected images are displayed correcly.

1 file changed


extragear/graphics/kipi-plugins/advancedslideshow (2009-07-19 13:38)
SVN commit 999169 by aclemens:

fix showSelectedFilesOnly: don’t save this value in the config file, chances are that the radiobutton is always disabled, even if a valid selection is made. Add a different logic: If only one image is selected, assume to display the whole album content, otherwise enable showSelectedFilesOnly and display the selected images.

2 files changed


extragear/graphics/kipi-plugins/advancedslideshow (2009-07-19 16:17)
SVN commit 999247 by aclemens:

Increase the maximum slideshow delay to 20s, some users might want to have more…

1 file changed


extragear/graphics/kipi-plugins/advancedslideshow (2009-07-19 16:17)
SVN commit 999245 by aclemens:

Fix loading of the saved delay value from the config file. The value was actually saved correctly, but not used properly. This commit should have fixed this.

BUG:200647

3 files changed


extragear/graphics/kipi-plugins/batchprocessimages (2009-07-19 17:25)
SVN commit 999296 by nlecureuil:

Do not crash if imagemagick is not installed BUG:168243

1 file changed


extragear/graphics/digikam/libs/widgets/metadata (2009-07-19 19:46)
SVN commit 999368 by cgilles:

Metadata Filter : if metadata tags from filter are not available in image, show tags as “unavaialble” as well instead is hide it. This will improve usability to compare image metadata.

7 files changed


Looks great! Talking about

Looks great!

Talking about meta-data: what about nepomuk integration? I know it did not have high priority so far, but I believe it would be a great feature, most importantly since it would enable us to reuse their tags in other applications.

Keep up the great work!

During the Nepomuk coding

During the Nepomuk coding sprint in June I have implemented a basic syncing for comments, rating and tags (tags is missing the KDE->digikam direction still).
I need to add options to setup to enable this.
Will require KDE4.3.

Awesome! You guys are an

Awesome! You guys are an amazing team. :)

Nepomuk question, Again.

Well, I would not keep the breath for nepomuk integration. It should be possible but currently the KDE does not support (lack of manpower) it either well. There is lots of stuff what should be fixed and done to get nepomuk on such state that it can be used as wanted on KDE. Even that nepomuk is ready, the usage is still too minimal.

I do not even know should we wait KDE about this technology and implent all the nepomuk features what are already there or not.

For personally opinion about this, I do not wait nepomuk integration (yet!) because if I want to find photos fast, I use digiKam searches. I can not find any good ways to find wanted photos trought krunner, menu or dolphin as I can do with digiKam or even with the other photo managers like Lightroom and Aperture.

I am not big fan of Nepomuk

I am not big fan of Nepomuk and would prefer if in future digiKam could keep its data separate - much more important is cooperation and interoperability with other photo software and services which could be easier by keeping its own storage.

But Nepomuk has its uses in "semantic desktop". Example: e-mail sending from inside of digiKam is nice but in reality much often I am writing e-mail and halfway I think that would be good to attach some photos. It would be much more comfortable to use standard file dialog for quick browsing of files with metadata enabled. In the past it could be done with digikamtags:// protocol, now there is no such possibility.

For other uses think about: graphics for presentations in KPresenter, looking for images from Krita, inserting illustrations for article in KWord, etc., etc. I was using all of this with digikamtags.

Nepomuk theoretically has advantage that it could be extended to non-KDE applications (digikamtags protocol is based on KIO-slaves).

digiKam kioslaves...

>digikamtags protocol is based on KIO-slaves

True, but if we use another database backend as MySql in the future, BYE BYE kioslave, and welcome to multi-threading.

Kio-slave is used here because SQlite is not fully safe with multi-threading. With Mysql, no problem.

Also, kio-slave is a mess to hack. I hate it...

Removing Kioslave will reduce a lots of dependencies problem which break digiKam, for ex. currently when you update KDE 4.3 under Debian, you lost all thumbs in icons view due to a crash of kio-slave (libmarblewidget symbol unresolved)

digiKam