Bug 192430

Summary: Tags disabled even though images are selected
Product: [Applications] digikam Reporter: DGardner <damien>
Component: Tags-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED WORKSFORME    
Severity: normal    
Priority: NOR    
Version: 0.10.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 2.2.0
Sentry Crash Report:

Description DGardner 2009-05-12 13:59:24 UTC
Version:           0.10.0 (using KDE 4.2.2)
OS:                Linux
Installed from:    Ubuntu Packages

I rely almost exclusively on tagging to organise images. (My album
folders are just organised by year and month.) My typical workflow
is to import a load of new images, select the relevant month folder,
view my tag hierarchy in the right-hand panel and start selecting
and tagging images in large chunks.

For example, I may have taken 100 images at a particular location,
so I select all of those images and assign my "Places/<Country>/<City>"
tag. Then I might have an "Event/Wedding/John & Jane" tag that I want
to apply to most of those images. This is where I notice a problem at
times.

In digiKam 0.9.x, I used to have problem if I changed the selection
while the previous tag was (slowly) being applied to lots of images.
It used to assign the old tag to the newly selected images, etc.
This seems to be fixed in 0.10.0, or at least I haven't noticed it
yet. Thanks.

In digiKam 0.10.0 (and less often in 0.9.x), I have a different
problem: when I change the selected images, the tag hierarchy on the
right is sometimes disabled (greyed out and not responding to clicks).
I often need to deselect and re-select one of the images to enable
the tag hierarchy again. Yesterday, this happened on every second or
third change of the selection. I haven't yet noticed any clear pattern
and cannot reproduce it at will.

I remember some bug or blog posting from Gilles where he mentioned
that there is a distinction between the current image and the selected
images (the thumbnail for the current image has the dotted outline,
those for the the selected images have a blue background). Maybe it
was bug #141940.

I wonder if this distinction is related to my problem. Maybe what
happens is that there are selected images but no current image, so
the tag hierarchy is disabled and I cannot apply tags to the selected
image.

This whole current/selected image thing is very confusing. There is
nothing about it in the user manual and I cannot understand how it
can be useful. Bug #141940 mentions that it is consistent with the
icon view in Konqueror, but that doesn't really help.
Comment 1 caulier.gilles 2009-05-12 14:07:28 UTC
I recommend to test using current code from svn (0.11.0), to see if problem is reproducible. It sound like a signl/slots connection is missing, or it's a race condition.

Marcel currently working to rewritte whole icon-view implementation using QT4 model/view. A lots of code will be updated/changed/re-written. In 0.10, we still use Qt4 porting classes with iconview.

Gilles Caulier
Comment 2 Mikolaj Machowski 2009-05-12 21:34:46 UTC
AFAIR greying out of tags hierarchy is method to prevent selection and assigning of new tags until all previous operations are done.

I was doing testing for fixind of bug you mentioned and after several tries developers decided to this "brute force" solution as only one really working.
Comment 3 DGardner 2009-12-01 11:54:29 UTC
I've been using 1.0.0-beta5 for a while and this issue is not as
prevalent there. It still happens from time-to-time, but mostly
the greyed out tags are enabled again once the previously selected
tags have been applied to all selected images. In 0.10.0, they
remained disabled far too often.

I'll continue to keep an eye on this. If I can find an easy way
to reproduce it, I'll report back.
Comment 4 DGardner 2009-12-06 12:04:43 UTC
Scratch my last comment. This is just as bad in 1.0.0-beta5 as it
ever was on the older versions. If I select lots of images, apply
a tag and, while the tag is being applied, change the selection,
then the tags are greyed out and, even after the original tagging
task is complete, they are not enabled until I change the selection
again. When tagging lots of images, this means that I often have to
make my selection twice, which tends to lead to a lot of swearing!
Comment 5 DGardner 2009-12-06 18:50:41 UTC
I have a correction to my last comment: the tags are not greyed out
until AFTER the previous tagging operation completes. For example,
if I select 50 images and then click on, say, the "Place/X" tag and
then click on the first image for the next tag "Place/Y", then the
first "Place/X" tag will be applied to the first 50 images (which
is just how I like it) and the first of the next set of images will
appear selected. While those images are being tagged (which may take
a few seconds), the tags are NOT greyed out. It is only when the
tagging completes that the tags become greyed out. I then have to
select something other than the first image for the "Place/Y"
tag and then select that first image again.

Could it be that the condition that is supposed to grey out the
tags while tagging is in progress and then "un-grey" then when it
completes is working the wrong way around? Is it "un-greying" them
at the start (when they are already in that state) and then greying
them out at the end?
Comment 6 DGardner 2010-06-27 19:09:19 UTC
I've let a lot of photos build up over the past few months and finally
got around to tagging them today. This is the first time I've used
1.2.0 for anything more than a bit of browsing. This particular problem
with the disabling of the tag tree is worse in 1.2.0 than in any
previous version I have used.

For whatever reason, DigiKam seems very sluggish today; maybe that
is why more than half of the time this happens from the main
browsing window:

 1. I select some photos (that have never been tagged before), say
    about ten of them. I click the first thumbnail image (well, the
    box around the image) and then Shift-click the last image to
    select the range.

 2. I check a couple of tags in the tag tree in the right-hand panel.

 3. I click the next image I want to tag. This starts to apply the
    tags set in 2. to the images selected in 1. At this point the
    tag tree is still enabled. I just select one image, though
    selecting a range will have the same effect.

 4. I start to move the mouse from the image towards the tag tree
    to select a new tag. While I am on my way over there, the tag
    tree will suddenly become disabled, just as if I has not selected
    any images.

 5. I deselect the image from 3. and select it again. Now the tag
    tree is enabled and I can select a new image.

So, more than half the time, I have to select images twice to make
sure that the tag tree is enabled.

Here is my theory:

While DigiKam is applying tags to images in the background, it
was designed to disable the tag tree and then enable it when the
tagging was complete. However, it is doing it backwards: it is
enabling the tree when it starts and disabling it when it finishes.
Some sort of Boolean flag is being applied incorrectly.

OK, it's just a theory with no evidence to support it other than
the observed behaviour of the GUI. However, the fact that the tag
tree is enabled while I am making my second selection and then
suddenly appears disabled for no other apparent reason would seem
to suggest that it is caused by the background task that is applying
the tags to the previously selected images.

Anyway, it's bugging the proverbial out of me today, so I thought
I would write it up at great length...again.
Comment 7 DGardner 2010-06-27 19:42:02 UTC
Just been doing more tagging since the last update. I can reproduce this
problem 100% of the time. However, if I consciously delay making the new
selection, it helps to make it less annoying:

 1. Select images, tag them.

 2. Select first image in new range. Tagging of images from 1.
    will start in the background.

 3. WAIT UNTIL THE TAG TREE IS GREYED OUT WHEN THE TAGS IN 1. HAVE
    BEEN APPLIED.

 4. Now that the tag tree is greyed out, select the last image
    in the new range. This acts to enable the tree again without
    having to make unnecessary selections.

There is still a problem if the new range has only one image,
or if I forget to delay the selection of the the last image
when there are multiple images in the new range.
Comment 8 DGardner 2010-06-27 19:45:44 UTC
Sorry for going on, but I forgot to mention that this problem does
not occur if I hit the "Apply" button in the tag panel. It only
happens if I allow the tags to be applied automatically when I
change selection, which is the way I prefer to work (though I
think I'll have to change that preference).
Comment 9 Marcel Wiesweg 2011-01-26 13:32:17 UTC
Just tried with 2.0 SVN, cannot reproduce the problem.
Comment 10 Marcel Wiesweg 2011-09-24 13:32:46 UTC
Ancient bug. Feel free to reopen is reproducible with a 2.x version.