Submission: immich plugin

Gilles Caulier caulier.gilles at gmail.com
Wed Oct 21 13:53:59 BST 2026


Hi Christian,

* Look like the GUI has a better look now. It misses the Help button on the
bottom left to be homogenous with all other plugins. This imply to write
the user manual section in Restructured Text in the digikam doc git
repository (Export Tool ch.). This can be done in a second stage of course.

https://invent.kde.org/documentation/digikam-doc/-/tree/master/export_tools?ref_type=heads
https://docs.digikam.org/en/export_tools.html

* Few remarks:

#include "immichwindow.h"
#include "immichwindow_p.h"

The private header is enough, as the public header must be included in the
private one.

In all headers, the #ifndef / #define / #endif protection can be replaced
by a simple "#pragma once" on the top. It's supported everywhere since a
very long time.

This class for ex is a private one. C++ symbols can be hidden at
compilation time :

https://github.com/mchugh19/immich-digikam/blob/main/plugin/immichwindow_p.h#L57

...just uses the Qt macro Q_DECL_HIDDENas this one :

https://invent.kde.org/graphics/digikam/-/blob/master/core/dplugins/generic/webservices/flickr/flickrwidget_p.h?ref_type=heads#L53

Do it for all private classes of course.

Why did you use a structure instead a class here (and also in another
places in code) ?

https://github.com/mchugh19/immich-digikam/blob/main/plugin/immichwindow_p.h#L273

When it's possible constify a lot for robustness. For ex this one can be
certainly returns a const pointer :

https://github.com/mchugh19/immich-digikam/blob/main/plugin/immichsession.cpp#L50

Same remark for the methods which do not modify the class members.

All pointers must be set to nullptr by default as this one:

https://github.com/mchugh19/immich-digikam/blob/main/plugin/immichtalker.h#L231

Also in this header separate well the private method and the private
members (usually we pust private member in the PIMPL always placed at end
of the header for a better readability)

I will certainly found more stuff in your code, i will review in-deep it
tomorrow or Friday when time permits.

I will place all static analyzer scripts in a dedicated surbir on your
repo. You can double check your code by the machine. Sometime, they found
human errors (:=)))...

Best regards

Gilles Caulier





Le mer. 21 oct. 2026 à 14:21, Christian McHugh <mmchugh at silverapple.eu> a
écrit :

>
> On 10/21/26 8:01 AM, Gilles Caulier wrote:
>
> Hi Christian,
>
> See the files in bugzilla about this topic:
>
> https://bugs.kde.org/show_bug.cgi?id=502592
> https://bugs.kde.org/show_bug.cgi?id=503893
>
>
> Hi Gilles,
>
> Oh excellent! Yeah, I hope this solves the need!
>
> I took a crack at going through the issues you've raised and pushed the
> fixes back to the main branch. The crash was a particularly interesting
> ordering issue.
>
> If you're able to give it another go, I think it should work better for
> you.
>
>
> This is what it looks like when connected to an immich server.
>
>
> Currently, the import process allows selecting a directory, but I noticed
> that the google importer (in the wiki documentation) shows digikam albums.
> Would that be preferred?
>
> Otherwise, I think it should be all set. I can copy over to the invent
> server if that would be helpful for an MR.
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/digikam-devel/attachments/20261021/23549238/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PaJZTrivA0mpoiy6.png
Type: image/png
Size: 118826 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/digikam-devel/attachments/20261021/23549238/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: import tags.png
Type: image/png
Size: 49151 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/digikam-devel/attachments/20261021/23549238/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: export.png
Type: image/png
Size: 113310 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/digikam-devel/attachments/20261021/23549238/attachment-0005.png>


More information about the Digikam-devel mailing list