[Digikam-devel] How to apply changes in digikams IPTC settings to all tagged photos?

Caulier Gilles caulier.gilles at kdemail.net
Sat Jan 27 17:20:40 GMT 2007


Le Samedi 27 Janvier 2007 15:25, Marcel Wiesweg a écrit :
> > A patch to do it is here :
> >
> > http://digikam3rdparty.free.fr/misc.tarballs/commentstagsprogress.patch
> >
> > This one include to run a progress bar on the top of sidebar when :
> >
> > - Apply button is pressed
> > - More button options are used.
> >
> > TODO : handle Tags drag & drop.
> >
> > ...but, there is a problem with this solution...
> >
> > We need to fix all DMetadata call everywhere in digiKam to used
> > MetadataHub instead. This not yet done for example with all Drag and drop
> > actions from others sidebar (TagsFilter for example)
> >
> > ... and we need to give a progress feedback everywhere, because metadata
> > to write in pictures can take a while with huge selection.
> >
> > I think than an ultimate solution is to use a _Status Bar_ on the bottom
> > of Album gui.
> >
> > What do you think about ?
>
> Yes the progress bar in the status bar is better. Especially if we also
> write metadata when assigning with drag and drop, the status bar is the
> right place.

ok. I will fix my patch in this way and add a status bar in to bottom of album 
gui.

>
> It seems we have once again opened a box which proves to be much larger
> than it appeared ;-)
>
> For the ultimate solution, I have two more requirements:
>
> 1) When a user assigns tag A to 1500 images it takes some time to write the
> DMetadata. After that, he wants to assign another tag to the same images.
> Again, it takes considerable time. This means users will wish to temporally
> disable writing.
> An elegant solution is to implement (2).
>
> 2) Do the whole thing multithreaded. 

Yes, multithreading is fine, but take a care than DB interface is not yet 
thread-safe, in the case of pictures metadata and digiKAm metadata must be 
sync at the same time...

> This solves (1). 
> Implementing this when we have ported to KDE4/Qt4 will be much easier. So I
> would prefer to delay this.

Absolutly. and with the Qt4.0 port, we need to plan to do the DB interface 
thread-safe.

>
> For now, the solution can be:
> - the right side bar emits progress signals (similar to the methods you
> added to NavigateBarTab)

yes. I will do it

> - DigikamView connects to these signals, manages the progress bar

... and report it to status bar.

> - if we write metadata after drag&drop/context menu assignment, the
> AlbumIconView can emit the same signals

yes.

Gilles




More information about the Digikam-devel mailing list