digiKam

Professional Photo Management with the Power of Open Source

digiKam digest - 2009-05-24

by Anonymous

In this week there was mostly continuation of last week work:

- New expander widget in all plugins and whole interface
liquid
- fixing of memory leaks
- making MSVC happy (many thanks to developers working on MS-Windows
who are sending patches!)
- preparation for libkdcraw 1.0
- polishing and cleaning of code
- making sure that MS-Windows users will get warm welcome (fixing issues
with welcome page in good shape)
welcome
- hard work on bug fixing and optimizations in new Model View Album GUI
- option for better control what images should be scanned for creation
of thumbnails
thumbs
- proof-reading


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

Bug/wish count

digikam 229 +18 -13 5 268 +7 -1 6
kipiplugins 103 +6 -2 4 138 +1 -2 -1

[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 969414 by jnarboux:

Use new DExpanderBox widget.

CCBUGS: 149485

M +81 -58 contentawareresizetool.cpp

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

SVN commit 969370 by cgilles:

fix memory leak : use KUrl::List instead KUrl::List*
signals => Q_SIGNALS
slots => Q_SLOTS

M +10 -5 advanceddialog.h
M +1 -1 captiondialog.h
M +23 -21 common.cpp
M +3 -2 common.h
M +1 -1 imageloadthread.h
M +10 -8 listimageitems.h
M +9 -3 listsounditems.h
M +3 -7 maindialog.cpp
M +14 -7 maindialog.h
M +22 -14 playbackwidget.h
M +6 -7 plugin_advancedslideshow.cpp
M +3 -3 plugin_advancedslideshow.h
M +2 -2 slideplaybackwidget.h
M +2 -2 slideshow.h
M +1 -4 slideshowconfig.cpp
M +10 -4 slideshowconfig.h
M +4 -1 slideshowgl.h
M +2 -1 slideshowkb.h
M +10 -3 soundtrackdialog.h

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

SVN commit 969434 by jnarboux:

Add help for side switch frequency.

CCBUGS: 149485

M +1 -1 contentawareresizetool.cpp

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

SVN commit 969602 by cgilles:

prepare digiKam to use future libkdcraw 1.0.0 with RExpanderBox (KDE 4.4)

M +8 -0 rawsettingsbox.cpp

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

SVN commit 969578 by gateau:

Start with a reasonable size

M +5 -0 batchprocessimagesdialog.cpp
M +1 -0 batchprocessimagesdialog.h

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

SVN commit 969420 by cgilles:

GPSSync kipi-plugins : apply patch #33449 from Michael G. Hansen to copy
and paste GPS coordinates with clipboard

BUG: 191914

M +1 -0 CMakeLists.txt
M +1 -1 gpsdataparser.h
M +3 -3 gpseditdialog.h
AM gpslistviewcontextmenu.cpp [License: GPL (v2+)]
AM gpslistviewcontextmenu.h [License: GPL (v2+)]
M +1 -1 gpsmapwidget.h
M +7 -2 gpssyncdialog.cpp
M +2 -2 gpssyncdialog.h
M +4 -0 gpstracklisteditdialog.cpp
M +3 -3 gpstracklisteditdialog.h
M +1 -1 gpstracklistwidget.h
M +3 -3 kmlexportconfig.h
M +1 -1 plugin_gpssync.h

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

SVN commit 969668 by cgilles:

compile with future libkdcraw 1.0.0

M +10 -0 batchdialog.cpp
M +6 -2 singledialog.cpp

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

SVN commit 969901 by aclemens:

<ul> tags shouldn't be "alone" in HTML code. It is better to embed them
in paragraphs.

M +15 -11 welcomepageview.cpp

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

SVN commit 969870 by cgilles:

remove namespace extra qualification.
move buildDate method to svnversion header to be recompiled at the right
time

M +0 -5 digikam/daboutdata.h
M +5 -5 digikam/main.cpp
M +12 -1 digikam/version.h.cmake
M +8 -6 showfoto/main.cpp

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

SVN commit 969855 by cgilles:

since it still just one file for sharpnesseditor to compile, move it to
up dir.

M +6 -7 CMakeLists.txt
A sharpentool.cpp sharpnesseditor/sharpentool.cpp#969851 [License: GPL (v2+)]
A sharpentool.h sharpnesseditor/sharpentool.h#969851 [License: GPL (v2+)]
D sharpnesseditor (directory)

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

SVN commit 969857 by cgilles:

store expander instance to d private internal class.
don't use "m_" prefix with local member, it's dedicated to main member
(here all main members are hosted to d container in fact) use
readSettings() and writeSettings() to save and restore expander box
state between sessions.
CCMAIL: Julien@narboux.fr

M +14 -8 contentawareresizetool.cpp

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

SVN commit 969802 by mboquien:

Filtering did not work for anything other than "Greater than or equals"
because a method had "ratingCond = ratingCondition;" where one was the
object member and the other one was the method parameter. Apparently the
object member took precedence over the paremeter so only the default
setting worked.

BUG:193163

M +2 -2 imagefiltersettings.cpp

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

SVN commit 969949 by cgilles:

Warnings : sound like to use KTemporaryFile under windows is bugous if
no prefix is set as lead temp folder.
Under Linux, no problem : KDE tmp dir is used properly, but under
windows, it's doesn't work. I don't know why...
So, for digiKam welcome page and CSS file, we don't need a temp file.
CSS content is just merged with XHTML code as well, and it's work
perfectly...
CCMAIL: digikam-devel@kde.org

M +2 -2 data/about/main.html
M +4 -21 digikam/welcomepageview.cpp
M +0 -6 digikam/welcomepageview.h

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

SVN commit 969937 by cgilles:

Simply ktemporaryfile handling. no need to use Qfile here,
KTempopraryFile is enough.
Remove CSS temp file properly, else we will fill temp dir...
This patch must fix CSS file creation of welcome page view under
windows, which is previouly not created duing both file instance open at
the same time (another limitation of M$?)

M +11 -13 welcomepageview.cpp
M +1 -1 welcomepageview.h

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

SVN commit 970253 by coles:

Proof-reading.

M +5 -5 gpseditdialog.cpp
M +2 -2 gpslistviewcontextmenu.cpp
M +1 -1 gpslistviewitem.cpp
M +9 -9 gpssyncdialog.cpp
M +1 -1 gpstracklisteditdialog.cpp
M +3 -3 kmlexport.cpp
M +5 -5 kmlexportconfig.cpp
M +1 -1 plugin_gpssync.cpp

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

SVN commit 970262 by mwiesweg:

I'm not sure about the intention here, but it resets the current item at
every single mouse click.
Change it to touch only the selection, not the current item. Leave
clearing the selection to QItemSelection (which gets passed the flags).
I assume it's needed to clear d->lastSelection before if the clear flag
is set.

M +4 -8 kcategorizedview.cpp

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

SVN commit 970261 by mwiesweg:

Optimization part 2:
Use a binary search algorithm to limit number of access to data() for
CategorySortRole. Create indexes exactly once and reuse.

M +122 -34 kcategorizedview.cpp
M +5 -0 kcategorizedview_p.h

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

SVN commit 970260 by mwiesweg:

Fix issue of grid size not set after starting with empty digikamrc.
A ThumbSize object is default-constructed not with 0 but with 96, which
happens to be the default value; then the check d->thumbSize == newSize
will return true.

M +2 -0 digikam/imagedelegate.cpp
M +3 -1 libs/models/imagethumbnailmodel.cpp

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

SVN commit 970286 by aclemens:

Default to the first rename method when no config option is present.

CCBUG:193226

M +1 -1 renamecustomizer.cpp

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

SVN commit 970756 by mwiesweg:

Optimization part 3.
- QList can be inefficient for QModelIndex - in fact it will call
new/delete for every single insertion or deletion, which makes
complexity O(n). QVector is O(1). Use QVector for storing indexes
- elementsInfo is always completely filled and size is known in advance.
No need for a hash, QVector is fine.
- for non-uniformItemSizes, store at least the view options when
iterating. This does not affect us anymore in digikam but
viewOptions() was initially the no.1 cost

Combine the branches for uniformItemSizes/non-uniform sizes again.

M +33 -61 kcategorizedview.cpp
M +3 -3 kcategorizedview_p.h

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

SVN commit 970736 by coles:

Minor proof-reading.

M +9 -9 contentawareresizetool.cpp

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

SVN commit 970755 by mwiesweg:

After exif rotation, delete thumbnail and signal image change

M +4 -0 metadatamanager.cpp

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

SVN commit 970765 by mwiesweg:

Ok upperBound means one-past-the-last. It's better like this.
Fix the problem that the first item of the next category
was shown as the last item of the previous category.

M +5 -5 kcategorizedview.cpp

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

SVN commit 971111 by mwiesweg:

Switching on dynamicSortFilter is not good - it leads to numerous
layoutChanged() signals, one for each dataChanged(). We emit dataChanged
e.g. when a thumbnail is loaded.
Be more specific and trigger invalidate() when a changeset is received.
Add a signal to ImageModel to emit on changeset, and connect these to
invalidate in the filter model.

M +16 -2 imagefiltermodel.cpp
M +3 -0 imagefiltermodel.h
M +13 -4 imagemodel.cpp
M +10 -0 imagemodel.h

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

SVN commit 971108 by mwiesweg:

I see no need to clear the selection here. We do not need to deal with
it at all. QItemSelection model handles this just fine.

M +3 -1 kcategorizedview.cpp

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

SVN commit 971112 by mwiesweg:

- Use our new API additions to KCategorizedView
- if there was one selected item, which is then filtered out, ensure
there is one selected item again. This fixes the problem that the
preview view is empty when the currently viewed item is filtered out
- adapt to model API changes

M +77 -15 imagecategorizedview.cpp
M +8 -6 imagecategorizedview.h

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

SVN commit 971339 by aclemens:

Use the extracted ManualRenameInput widget in the cameraUI and BQM

M +1 -228 cameragui/renamecustomizer.cpp
M +0 -50 cameragui/renamecustomizer.h
M +9 -9 queuemanager/queuelist.cpp
M +1 -1 queuemanager/queuesettingsview.cpp

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

SVN commit 971983 by aclemens:

I think we should stretch the settings box, otherwise we have too much
space below it and a scrollbar will appear, although the editor is big
enough to display everything (at least on my 1440x900 screen).

M +9 -9 rawsettingsbox.cpp

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

SVN commit 972107 by cgilles:

when DMetadata is used to play with image information, unforget to
register flags from albumsettings to follow digiKam configuration.
BUG: 191678

M +1 -0 albumiconview.cpp
M +3 -1 metadatamanager.cpp

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

SVN commit 972163 by coles:

Proof-reading.

M +2 -2 batchprocessimages/colorimagesdialog.cpp
M +3 -3 batchprocessimages/convertimagesdialog.cpp
M +1 -1 batchprocessimages/convertoptionsdialog.cpp
M +2 -2 batchprocessimages/effectimagesdialog.cpp
M +2 -2 batchprocessimages/filterimagesdialog.cpp
M +1 -1 batchprocessimages/filteroptionsdialog.cpp
M +1 -1 batchprocessimages/imagepreview.cpp
M +1 -1 batchprocessimages/outputdialog.cpp
M +2 -2 batchprocessimages/recompressimagesdialog.cpp
M +2 -2 batchprocessimages/resizeimagesdialog.cpp
M +2 -2 calendar/calevents.ui
M +1 -1 calendar/caltemplate.ui
M +3 -3 dngconverter/plugin/batchdialog.cpp
M +2 -2 facebook/fbtalker.cpp
M +4 -4 facebook/fbwidget.cpp
M +1 -1 flickrexport/flickralbumdialog.ui
M +5 -5 flickrexport/flickrtalker.cpp
M +4 -4 flickrexport/flickrwidget.cpp
M +1 -1 flickrexport/flickrwindow.cpp
M +1 -1 galleryexport/gallerywindow.cpp
M +1 -1 htmlexport/plugin.cpp
M +2 -2 ipodexport/IpodExportDialog.cpp

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

SVN commit 972293 by cgilles:

fix uri encryption path. Use KUrl::url() now, as Gwenview.
BUG: 152877

M +2 -2 thumbnailbasic.cpp

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

SVN commit 972305 by mwiesweg:

Set recurseAlbums/Tags settings on model when action is changed

M +2 -2 digikamapp.cpp
M +11 -0 digikamview.cpp
M +2 -0 digikamview.h

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

SVN commit 972362 by cgilles:

thumbnails can be rebuilt in background for
- All items as well (take a while)
- All missing items (faster)
BUG: 140615

M +26 -15 digikam/digikamapp.cpp
M +2 -1 digikam/digikamapp.h
M +6 -4 digikam/digikamapp_p.h
M +2 -2 digikam/digikamui.rc
M +10 -5 utilities/batch/batchthumbsgenerator.cpp
M +2 -2 utilities/batch/batchthumbsgenerator.h

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

SVN commit 972420 by mwiesweg:

Fix categoryAt(). Should affect dragging crashes.

M +10 -8 kcategorizedview.cpp

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

SVN commit 972379 by coles:

Proof-reading.

M +1 -1 firstrundlg.cpp
M +18 -18 generalpage.cpp
M +4 -4 simpleviewer.cpp
M +1 -1 svedialog.cpp

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

SVN commit 972402 by anaselli:

fix print order management:
- crash if changing photo order with only two photos selected
- fix move up photo button management

M +16 -1 wizard.cpp

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