digiKam

Professional Photo Management with the Power of Open Source

digiKam digest - 2009-05-17

by Anonymous

This week in digiKam:

  • taking care about MS-Windows; to quote Andi: "Hope MSVC is happy now."
  • new expander box widget for easier display of data in main GUI and all plugins:
  • importimagesVista

    nrplugin

  • continuing work on Content Aware Resize plugin
  • lqrplugin01
    lqrplugin02

  • optimizations, optimizations, OPTIMIZATIONS!
  • usability fixes
  • bug fixing, with concentration on memory leaks
  • new Qt4 ModelView for Album GUI available in SVN


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

Bug/wish count

digikam 224 +14 -11 3 261 +10 -5 5
kipiplugins 99 +7 -10 -3 140 +1 -0 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 966369 by cgilles:

apply patch #33528 from David Eriksson. Thanks for this patch and tests
under Windows.

BUG: 190296
CCMAIL: meldavid@acc.umu.se

M +12 -6 editorwindow.cpp
M +1 -0 savingcontextcontainer.h

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

SVN commit 966546 by jnarboux:

Do not use deprecated gradient function, add the new energy functions of
Lqr 0.4.0 in the list. Rename pen size into brush size.

CCBUGS: 149485

M +2 -10 contentawareresizer.cpp
M +1 -1 contentawareresizer.h
M +11 -14 contentawareresizetool.cpp

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

SVN commit 966906 by cgilles:

more hack to try to get video thumbnails from cameragui.
code is synchronized with kdebase/runtime/kioslave/thumbnails.cpp
no plugin is found (but in album gui it work : mplayerthumbs installed)
Why ? Because cameragui use a separated thread to get thumbs ?
CCMAIL: digikam-devel@kde.org

M +24 -19 umscamera.cpp

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

SVN commit 966906 by cgilles:

more hack to try to get video thumbnails from cameragui.
code is synchronized with kdebase/runtime/kioslave/thumbnails.cpp
no plugin is found (but in album gui it work : mplayerthumbs installed)
Why ? Because cameragui use a separated thread to get thumbs ?
CCMAIL: digikam-devel@kde.org

M +24 -19 umscamera.cpp

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

SVN commit 966899 by cgilles:

wrong logic here.
missing to re-implement drag enter event
re-enable drag and drop between camera gui and the rest of digiKam to
upload new item in camera media

M +17 -2 cameraiconview.cpp
M +3 -2 cameraiconview.h

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

SVN commit 967067 by cgilles:

Use DLabelExpander in camera gui settings page instead QToolBox. It's
more easy to see all settings at the same time now.

Screenshot : http://farm4.static.flickr.com/3360/3525590192_f9c7ee8003_o.png
CCMAIl: digikam-devel@kde.org

M +45 -24 cameraui.cpp
M +8 -8 cameraui_p.h

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

SVN commit 967089 by cgilles:

install event filter over label pixmap to expand or not container as
swith title or arrow.

M +23 -0 clicklabel.cpp
M +4 -0 clicklabel.h

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

SVN commit 967373 by aclemens:

Add method to change tracker alignment
Align the tracker to the right in the cameraUI so it doesn't run out of
the window.

M +5 -0 libs/widgets/common/dcursortracker.cpp
M +1 -0 libs/widgets/common/dcursortracker.h
M +6 -0 utilities/cameragui/renamecustomizer.cpp
M +2 -0 utilities/cameragui/renamecustomizer.h

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

SVN commit 967325 by cgilles:

very very nice. Broken signal/slot connection between cameragui and
cameracontroller.
Typically, DB never recieve notification about new donloaded image from
camera !
CCMAIL: digikam-devel@kde.org

M +3 -3 cameracontroller.h
M +3 -3 cameraui.cpp
M +3 -3 cameraui.h

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

SVN commit 967285 by cgilles:

use Oxygen icon everywhere.
Cache icons loaded in memory to camera icon view to optimize speed

M +4 -8 cameraiconitem.cpp
M +32 -140 cameraiconview.cpp
M +8 -5 cameraiconview.h

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

SVN commit 967321 by jnarboux:

Allow to hide advanced settings. Use new widget built by Gilles and
Marcel.

CCBUGS: 149485

M +23 -20 contentawareresizetool.cpp

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

SVN commit 967392 by jnarboux:

Add side switch frequency option.

CCBUGS: 149485

M +5 -3 contentawareresizer.cpp
M +2 -1 contentawareresizer.h
M +16 -4 contentawareresizetool.cpp

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

SVN commit 967343 by jnarboux:

Change arrow direction when widget is expanded.

M +7 -1 clicklabel.cpp

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

SVN commit 967340 by aclemens:

Clicking the tooltip of the ManualRenameInput widget should hide it.

When the tooltip is displayed and you switch to another window or
application, the DCursorTracker is still visible (because it has no
parent and is a toplevel widget). In this case a simple click on the
tooltip should hide it again.

M +6 -0 libs/widgets/common/dcursortracker.cpp
M +8 -0 libs/widgets/common/dcursortracker.h
M +3 -0 utilities/cameragui/renamecustomizer.cpp

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

SVN commit 967358 by aclemens:

Automatically hide the ToolTipTracker when window loses focus.
I will implement this for cameraUI later on, too.

M +16 -0 queuemgrwindow.cpp
M +3 -0 queuemgrwindow.h

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

SVN commit 967645 by aclemens:

Hello. I'm a big patch. I only exist because Microsoft is stuuuupid. I
will change all lines that look like this:
QString &str
to something like this:
QString& str.

As you can see, this is a lot of stuff, I hope it doesn't break
anything. I compiled twice here and everything is fine.
Hope MSVC is happy now.

[MM: veeeery long list of files - cut]

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

SVN commit 967616 by welwarsky:

allow to upload to flickr photostream only.

CCBUG: 183639

M +3 -1 flickrwindow.cpp

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

SVN commit 967731 by aclemens:

Add "New Search" action to the context menu of the searchfolderview.
This action will open the advanced search dialog.

CCBUG:192413

M +3 -0 digikam/digikamview.cpp
M +47 -19 utilities/searchwindow/searchfolderview.cpp
M +1 -0 utilities/searchwindow/searchfolderview.h

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

SVN commit 967936 by cgilles:

since camera items are displayed in reverse order, downloading need to
follow the same way

M +7 -6 cameraui.cpp

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

SVN commit 967874 by cgilles:

as we store now already downloaded items list in database, last camera
acess time stamp is not used anymore

M +6 -8 digikam/digikamapp.cpp
M +1 -2 utilities/cameragui/cameraui.cpp
M +1 -1 utilities/cameragui/cameraui.h
M +0 -2 utilities/cameragui/cameraui_p.h

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

SVN commit 967868 by cgilles:

as we sort by file ext registered in AlbumSettings, there is nothing new
to register from camera gui.

M +0 -6 cameraui.cpp
M +0 -1 cameraui.h

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

SVN commit 967866 by cgilles:

only show in Camera Gui all registered file extensions from album
settings
BUG: 181726

M +10 -1 cameraui.cpp

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

SVN commit 967850 by aclemens:

Use prefix operator whenever possible.
We can not be sure that the compiler will optimize the postfix operator
to be called in a prefix way, if it is not used in an expression or
assignment.

[MM: long list of files - cut]

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

SVN commit 967846 by cgilles:

don't lost camera port when editing
BUG: 131551

M +4 -2 cameraselection.cpp

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

SVN commit 967884 by cgilles:

remove last access date properties to camera type

M +8 -28 digikam/cameralist.cpp
M +0 -2 digikam/cameralist.h
M +20 -35 digikam/cameratype.cpp
M +2 -5 digikam/cameratype.h
M +3 -7 digikam/ddragobjects.cpp
M +1 -1 digikam/ddragobjects.h
M +2 -2 utilities/cameragui/cameraui.cpp
M +1 -7 utilities/setup/setupcamera.cpp

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

SVN commit 967919 by cgilles:

Store current "start index" setting from camera rename customizer to
digiKam camera xml settings file. Current index is restored between
seesion of camera gui.
BUG: 154626

M +22 -7 digikam/cameralist.cpp
M +2 -0 digikam/cameralist.h
M +37 -21 digikam/cameratype.cpp
M +3 -1 digikam/cameratype.h
M +4 -1 digikam/ddragobjects.cpp
M +5 -6 digikam/digikamapp.cpp
M +8 -4 utilities/cameragui/cameraui.cpp
M +1 -1 utilities/cameragui/cameraui.h
M +6 -4 utilities/cameragui/renamecustomizer.cpp
M +2 -0 utilities/cameragui/renamecustomizer.h
M +7 -3 utilities/setup/setupcamera.cpp

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

SVN commit 968345 by cgilles:

optimize layout. improve usability. reduce sidebar heigh.

M +22 -26 ratiocroptool.cpp
M +1 -2 ratiocroptool.h

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

SVN commit 968183 by cgilles:

better camera list management.
fix memory leak again.
fix a risk of crash between digikamapp and cameralist when a camera is
removed: race condition with signal and slot.

M +11 -16 digikam/cameralist.cpp
M +3 -1 digikam/cameralist.h
M +5 -9 digikam/digikamapp.cpp
M +4 -2 digikam/digikamapp.h
M +29 -38 utilities/setup/setupcamera.cpp

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

SVN commit 968170 by aclemens:

Do we really need to clean up the actions and handle the deletion of the
popmenu like this?
As I wrote this, I borrowed it from some old contextmenu code, but I
guess it is not needed. Valgrind shows no leaks either.
I disable it for now for testing purposes. If all is fine, I will remove
it completely later on.

M +6 -6 digikam/albumfolderview.cpp
M +5 -5 digikam/albumiconview.cpp
M +5 -5 digikam/digikamimageview.cpp
M +7 -7 digikam/imagepreviewview.cpp
M +3 -3 digikam/tagfolderview.cpp
M +7 -7 utilities/lighttable/lighttablebar.cpp
M +8 -8 utilities/lighttable/lighttablepreview.cpp
M +7 -7 utilities/searchwindow/searchfolderview.cpp

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

SVN commit 968225 by aclemens:

It is more visible to use icons in the context menu, especially with our
quite big contextmenu, entries can get lost quite easy.
I added the tag icon for the "assign tag" / "remove tag" actions.

What do you think?
I think it helps a lot to identify those entries now.

Andi

CCMAIL:digikam-devel@kde.org

M +2 -0 contextmenuhelper.cpp

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

SVN commit 968152 by cgilles:

fix api
fix memory leak

M +2 -2 digikam/cameralist.cpp
M +1 -1 digikam/cameralist.h
M +19 -18 utilities/cameragui/cameraui.cpp
M +1 -1 utilities/cameragui/cameraui.h
M +2 -1 utilities/setup/setupcamera.cpp

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

SVN commit 968146 by cgilles:

Q3PtrList => Qlist : pure Qt4 implementation

M +18 -20 digikam/cameralist.cpp
M +5 -5 digikam/cameralist.h
M +2 -2 utilities/setup/setupcamera.cpp

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

SVN commit 968224 by aclemens:

Move the rotate action to the image editing actions in the context
menus.
It makes a little bit more sense to have it there.

M +1 -1 albumiconview.cpp
M +1 -1 digikamimageview.cpp
M +1 -1 imagepreviewview.cpp

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

SVN commit 968414 by aclemens:

Use DExpanderBox in freerotation tool, too.
Makes it much more space saving on smaller screens.

Gilles, Marcel and others,
we should consider to use this in every plugin... what do you think?
It is much more readable then those ugly vertical tabs (toolbox widget)
we use in some places.

Andi

CCMAIL:digikam-devel@kde.org

M +22 -9 freerotationtool.cpp
M +16 -14 freerotationtool.h

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

SVN commit 968601 by aclemens:

Use the guide size for the line thickness in the freerotation tool.
Sometimes it is handy to change the guide color and the thickness so
that you can distinguish the guide a little bit better from the rest of
the image. If you need a bigger guide size, it is most common that you
also need a thicker line in the freerotation tool, to see where you set
the auto-correct points.

M +2 -1 imageguidewidget.cpp

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

SVN commit 968789 by mwiesweg:

As discussed with Gilles, add a temporary copy of KCategorizedView to
our codebase, to fix performance problems and add some needed features,
with the plan of contacting the authors and merging back to kdelibs 4.4.
We support KDE4.2 as well, and the kdelibs code has at least one major
performance hit for our special use cases, so there's no other way.

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

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

SVN commit 968785 by mwiesweg:

Replace AlbumIconView with the new DigikamImageView class.
This is the final step of replacing the old IconView based main view
with a new view based on Qt's model view architecture and
KDE's KVategorizedView. Optimizations are are needed.

Note: All features are ported, but expect bugs!

CCMAIL: digikam-devel@kde.org

M +95 -227 digikamview.cpp
M +10 -8 digikamview.h

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

SVN commit 968791 by mwiesweg:

Fix major performance problem: sizeHintForIndex() is expensive,
calling viewOptions() each time. Honour the uniformItemSize()
optimization.
Added a few minor optimizations.

M +20 -7 kcategorizedview.cpp

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

SVN commit 968790 by mwiesweg:

Add a faster method here. The returned string need to be unique for the
id, but not user visible or serve any other purpose.

M +18 -1 imagefiltermodel.cpp

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