digiKam

Professional Photo Management with the Power of Open Source

digiKam digest - 2009-05-10

by Anonymous

Usual portion of bug fixes and polishing. In addition:

- main part of port to Qt4 ListModel view done
- improving of Content Aware Resize plugin
- polishing of Free Rotation interface
- optimizations in thumbanils view
- proof-reading of digiKam interface
- introduction of tool to sanitize digiKam database from time to time
- making sure everything compile on MS-Windows


------------------------------------------------------------------------

Bug/wish count

digikam 223 +16 -4 12 255 +3 -1 2
kipiplugins 102 +4 -2 2 140 +4 -0 4

[1] Opened bugs
[2] Opened last week
[3] Closed last week
[4] Change
[5] Opened wishes
[6] Opened last week
[7] Closed last week
[8] Change

Full tables:
digiKam
KIPI-plugins

------------------------------------------------------------------------

SVN commit 963387 by mwiesweg:

Add method to create drag pixmap for view
(concentrate all drawing code in the delegate)

M +27 -0 imagedelegate.cpp
M +2 -1 imagedelegate.h

------------------------------------------------------------------------

SVN commit 963388 by mwiesweg:

- add custom startDrag method with pixmap drawn by delegate
- when a file's content changes, redraw

M +29 -1 imagecategorizedview.cpp
M +2 -0 imagecategorizedview.h

------------------------------------------------------------------------

SVN commit 963389 by mwiesweg:

Put all code from AlbumIconView that does actions with current or
selected items and current album, but that does not really require to be
in a view subclass, to a separate QObject class so that the code can be
shared.
The includes showing a delete dialog, adding to light table or queue
manager, renaming an item, creating a new album for some items and
changing an album thumbnail.

M +1 -0 CMakeLists.txt
A digikam/imageviewutilities.cpp [License: GPL (v2+)]
A digikam/imageviewutilities.h [License: GPL (v2+)]

------------------------------------------------------------------------

SVN commit 963386 by mwiesweg:

Add copyright statements for copy+pasted code.
Add signal to dispatch job result to widget's handling method

M +3 -0 albumdragdrop.cpp
M +8 -5 imagedragdrop.cpp
M +3 -0 imagedragdrop.h

------------------------------------------------------------------------

SVN commit 963956 by jnarboux:

Set side switch and enlargement steps as suggested by Carlo Baldassi.
CCBUGS: 149485

M +4 -0 contentawareresizer.cpp

------------------------------------------------------------------------

SVN commit 964222 by aclemens:

Make the point circle slightly bigger. Still centering of the middle
point fails. This is due to the fact that the circle is anti-aliased,
but the point is not. If I use anti-aliasing for the point as well, it
is perfectly centered, but looks crappy :-)
So I guess current implementation is ok.

M +4 -3 imageguidewidget.cpp

------------------------------------------------------------------------

SVN commit 964154 by aclemens:

If the main angle of the rotation angle is zero, the rotation direction
is wrongly detected, because
int mainAngle = anglesList[0].toInt(&ok);
will convert "-0" to "0" and therefore the direction information might
be lost.
Use the unaltered angle instead...

M +1 -1 freerotationtool.cpp

------------------------------------------------------------------------

SVN commit 964240 by aclemens:

Don't enable the "Adjust" button if the points are equal. This is also
checked by the calculateAngle method, but since it doesn't make sense to
rotate in this case, disabling the button is more logical (also to the
user).

M +2 -1 freerotationtool.cpp

------------------------------------------------------------------------

SVN commit 964646 by welwarsky:

move dummy border generation for refocus tool from sharpnesseditor to
refocus filter refactor sharpnesseditor code accordingly

M +17 -124 imageplugins/coreplugin/sharpnesseditor/sharpentool.cpp
M +0 -2 imageplugins/coreplugin/sharpnesseditor/sharpentool.h
M +71 -3 libs/dimg/filters/dimgrefocus.cpp
M +2 -0 libs/dimg/filters/dimgrefocus.h

------------------------------------------------------------------------

SVN commit 964603 by sengels:

fix thumbnailing:
the problem was that KTemporaryFile kept the file in use, so renaming
didn't work under Windows. I fixed this bug already twice - the same
code is spread all over KDE, so it might make sense if we can unify that
using previewjob from
kdelibs/kio. BUG:189742

M +10 -3 thumbnailcreator.cpp

------------------------------------------------------------------------

SVN commit 964958 by jnarboux:

Add a method to set preview mode in plugins.
Set mouse over preview mode for content aware resizing.
Display mask only if original is displayed.

CCBUGS: 149485

M +1 -0 imageplugins/contentawareresizing/contentawareresizetool.cpp
M +6 -1 libs/widgets/imageplugins/imageguidewidget.cpp
M +1 -0 libs/widgets/imageplugins/imageguidewidget.h

------------------------------------------------------------------------

SVN commit 965424 by mwiesweg:

Split from searchutilities.cpp to libs/widgets/common.
Adapt class names, signals to general use.
Add keyboard navigation to click labels.
Add EXPORT macros.

A libs/widgets/common/clicklabel.cpp [License: GPL (v2+)]
A libs/widgets/common/clicklabel.h [License: GPL (v2+)]
A libs/widgets/common/visibilitycontroller.cpp [License: GPL (v2+)]
A libs/widgets/common/visibilitycontroller.h [License: GPL (v2+)]
M +0 -314 utilities/searchwindow/searchutilities.cpp
M +0 -121 utilities/searchwindow/searchutilities.h

------------------------------------------------------------------------

SVN commit 965527 by cgilles:

Temp file don not be deleted automatically. It's renamed just after...
Tested under Linux. Look like thumbs is really faster now. Sound like we
have this bug since KDE4 port is started (summer 2007)
CCBUGS: 189742

M +1 -4 thumbnailcreator.cpp

------------------------------------------------------------------------

SVN commit 965716 by coles:

Proof-reading.

M +8 -8 openfilepage.cpp

------------------------------------------------------------------------

SVN commit 965590 by mwiesweg:

Split the combo box to select albums/tags from the SearchWindow to its
own class.

CCMAIL: andi.clemens@gmx.net

M +1 -0 CMakeLists.txt
A digikam/albumselectcombobox.cpp [License: GPL (v2+)]
A digikam/albumselectcombobox.h [License: GPL (v2+)]
M +11 -43 utilities/searchwindow/searchfields.cpp
M +3 -5 utilities/searchwindow/searchfields.h

------------------------------------------------------------------------

SVN commit 965551 by welwarsky:

don't sprinkle code with #defines, DImgRefocus is the right place to
store the max. matrix size fix small bug in sharpen batchtool (correct
signal signature)

M +1 -3 imageplugins/coreplugin/sharpnesseditor/sharpentool.cpp
M +5 -0 libs/dimg/filters/dimgrefocus.cpp
M +2 -0 libs/dimg/filters/dimgrefocus.h
M +2 -4 utilities/queuemanager/basetools/enhance/sharpen.cpp

------------------------------------------------------------------------

SVN commit 965812 by aclemens:

Fix little memory leak: the iterator object will not be destroyed
automatically like other Qt objects. We need to delete it in the
destructor.

M +1 -0 batchprocessimagesdialog.cpp

------------------------------------------------------------------------

SVN commit 965849 by aclemens:

This patch will make filtering of the albumiconview much faster,
especially when displaying a big album recursively.

Marcel, Gilles,
I will commit this little patch anyway now because I need it from time
to time :-) Hopefully we don't need this with the upcoming ModelView
infrastructure.

M +1 -2 albumlister.cpp

------------------------------------------------------------------------

SVN commit 965996 by aclemens:

First attempt of a man page for cleanup_digikamdb. Since the script is
not doing much, I don't know what to put in there :-)

M +1 -0 CMakeLists.txt
A cleanup_digikamdb.1

------------------------------------------------------------------------

SVN commit 965981 by aclemens:

This little script can be used to clean up ("VACUUM;") the digiKam DB.
It will increase speed and reduce the size of the database.

AM cleanup_digikamdb.sh

------------------------------------------------------------------------

SVN commit 965982 by cgilles:

remove "-Release" at end of liraw release string

M +1 -1 kdcraw.cpp

------------------------------------------------------------------------

SVN commit 966164 by mwiesweg:

Add missing functionality from ImageViewUtilities, MetadataManager and
signals.

M +78 -63 digikamimageview.cpp
M +14 -0 digikamimageview.h

------------------------------------------------------------------------

SVN commit 966160 by mwiesweg:

The last missing major piece of functionality for DigikamImageView is
assigning tags/rating including writing metadata for multiple images.
This is done in the event loop thread using kapp->processEvents() in
AlbumIconView, which is known to be potentially evil. MetadataManager
provides a simple API for these operations and executes them in threads,
one thread for db operations, one thread for file metadata writing.
Dispatching is done by signals (this is a possible use case for
QtConcurrent as well. I'm currently not very familiar with that API
though).
Attempt at reporting progress as a summary. Needs testing.

A metadatamanager.cpp [License: GPL (v2+)]
A metadatamanager.h [License: GPL (v2+)]
A metadatamanager_p.h [License: GPL (v2+)]

------------------------------------------------------------------------

SVN commit 966228 by cgilles:

polish for MSVC 2008. Sound like it don't like "const class &foo", but
"const class& foo". I have a lots of warnings to clean up...

M +18 -20 metadatamanager.cpp
M +6 -6 metadatamanager.h
M +23 -24 metadatamanager_p.h

------------------------------------------------------------------------