[Digikam-devel] Signal, when item count of album changed

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[Digikam-devel] Signal, when item count of album changed

Rupert Jones
Hello,

I am trying to "fix" [Bug 96388]. I have to know which signal I have to use to
verify that I am informed about changes in item count in an album.

Am I right, when I am fetching the signals from Digikam::AlbumLister
o void signalNewItems(const ImageInfoList& items);
o void signalDeleteItem(ImageInfo* item);
o void signalNewFilteredItems(const ImageInfoList& items);
o void signalDeleteFilteredItem(ImageInfo* item);
o void signalClear();

or have I to consider something else?

Mathias
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: [Digikam-devel] Signal, when item count of album changed

Marcel Wiesweg
> Hello,
>
> I am trying to "fix" [Bug 96388]. I have to know which signal I have to use
> to verify that I am informed about changes in item count in an album.
>
> Am I right, when I am fetching the signals from Digikam::AlbumLister
> o void signalNewItems(const ImageInfoList& items);
> o void signalDeleteItem(ImageInfo* item);
> o void signalNewFilteredItems(const ImageInfoList& items);
> o void signalDeleteFilteredItem(ImageInfo* item);
> o void signalClear();
>
> or have I to consider something else?

It seems to me these are the signals to be watched, but that's only from
looking at the code, so you will have to try and test.

Marcel

>
> Mathias
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: [Digikam-devel] Signal, when item count of album changed

Rupert Jones
On Thursday 19 October 2006 20:12, Marcel Wiesweg wrote:

> > Hello,
> >
> > I am trying to "fix" [Bug 96388]. I have to know which signal I have to
> > use to verify that I am informed about changes in item count in an album.
> >
> > Am I right, when I am fetching the signals from Digikam::AlbumLister
> > o void signalNewItems(const ImageInfoList& items);
> > o void signalDeleteItem(ImageInfo* item);
> > o void signalNewFilteredItems(const ImageInfoList& items);
> > o void signalDeleteFilteredItem(ImageInfo* item);
> > o void signalClear();
> >
> > or have I to consider something else?
>
> It seems to me these are the signals to be watched, but that's only from
> looking at the code, so you will have to try and test.
I have implemented a new signal, which collects all affected albums during a
KIO job and which is emitted when the job is finished.

New items are recognized and the count of items is updated but this effect is
not reached when deleting images.

I send my current patch (it is not yet complete) but I have no clue and cannot
continue. Perhaps somebody can have a look at the code and give me a hint
where the problem is.

Is there an other way to get the item count of an album?

Mathias

>
> Marcel
>
> > Mathias
>
> _______________________________________________
> Digikam-devel mailing list
> [hidden email]
> https://mail.kde.org/mailman/listinfo/digikam-devel

_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel

Bug96388-1.diff (8K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [Digikam-devel] Signal, when item count of album changed

Marcel Wiesweg
> > It seems to me these are the signals to be watched, but that's only from
> > looking at the code, so you will have to try and test.
>
> I have implemented a new signal, which collects all affected albums during
> a KIO job and which is emitted when the job is finished.
>
> New items are recognized and the count of items is updated but this effect
> is not reached when deleting images.

Take a look at AlbumManager::refresh.
It's called from dio.cpp, Watch::slotDone, which is called after DIO::scan,
which is called from AlbumManager::slotDirty, which is called from the
KDirWatch.

>
> I send my current patch (it is not yet complete) but I have no clue and
> cannot continue. Perhaps somebody can have a look at the code and give me a
> hint where the problem is.
>
> Is there an other way to get the item count of an album?

SELECT count(*) FROM Images  WHERE dirid=%1
(see albumdb.cpp for many other SQL statements)
It'd need to be passed through AlbumManager.

Marcel
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel