[digikam] [Bug 448593] new view plugin for digikam
https://bugs.kde.org/show_bug.cgi?id=448593 --- Comment #9 from caulier.gil...@gmail.com --- Another important remark : In this function : https://github.com/cathaysia/digikamflowplugin/blob/master/src/PicFlowView.cpp#L169 you access to image directly by a QPixmap() call to later create label in GUI over a loop. This is so far not optimal. 1/ Do not use QPixmap directly. digiKam has a multithread image preview API with a cache mechanism to speed up image data handling with huge album contents. It's accessible from plugins of course. Look use of PreviewLoadThread in Slideshow plugin here : https://invent.kde.org/graphics/digikam/-/blob/master/core/dplugins/generic/view/slideshow/widgets/slideimage.cpp#L76 2 instances are used, internally, both use a common cache to optimize memory usage. One instance preload image in cache, one is used to load current image. Both instance will use a separated thread to run. A signal is emitted when image is available as DImg which thread safe (in opposite of QPixmap). You can convert DImg as QImage or QPixmap of course. API : DImg : https://invent.kde.org/graphics/digikam/-/blob/master/core/libs/dimg/dimg.h PreviewLoadThread : https://invent.kde.org/graphics/digikam/-/blob/master/core/libs/threadimageio/preview/previewloadthread.h 2/ The forever loop here : https://github.com/cathaysia/digikamflowplugin/blob/master/src/PicFlowView.cpp#L258 ...will be time consuming to render large album. Use preview load thread and signal/slot mechanism to not freeze GUI. If you need to play with image data, use a separated thread with QImage, not QPixmap. Only play with widget on main thread at end. All consuming CPU task as loop must be done in separated thread. Use profiling for that. if necessary 3/ Remove definitively the database headers https://github.com/cathaysia/digikamflowplugin/blob/master/src/PicFlowView.cpp#L258 Generic plugin must not use database at all. 4/ why do you mix Qt and C++ API where Qt propose equivalent, optimized, and portable classes ? c++::semaphore for ex. 5/ Please use English comments and documentations everywhere. It's difficult to use a translator over source code to read explanations. 6/ In dependencies list i can see spdlog API. Do not add this extra dependency if Qt do the job with QDebug API and is enough for a plugin... I don't yet compiled your code. I will do it later. Best regards Gilles Caulier -- You are receiving this mail because: You are watching all bug changes.
[digikam] [Bug 448593] new view plugin for digikam
https://bugs.kde.org/show_bug.cgi?id=448593 --- Comment #8 from 319513...@outlook.com <319513...@outlook.com> --- Thanks, this has been fix at 640413057fde0e066027988225c59a3a92654aa3 -- You are receiving this mail because: You are watching all bug changes.
[digikam] [Bug 448593] new view plugin for digikam
https://bugs.kde.org/show_bug.cgi?id=448593 --- Comment #7 from caulier.gil...@gmail.com --- To be more clear this header are prohibited in a Generic plugin : #include #include There are shared to build Batch Queue Manager plugins (BQM), which are dedicated for digiKam only, not Showfoto. Gilles Caulier -- You are receiving this mail because: You are watching all bug changes.
[digikam] [Bug 448593] new view plugin for digikam
https://bugs.kde.org/show_bug.cgi?id=448593 --- Comment #6 from caulier.gil...@gmail.com --- I take a lok in your plugin source and something is wrong : https://github.com/cathaysia/digikamflowplugin/blob/master/src/PicFlowView.h Your plugin is defined as GENERIC and access directly to the database. It's weird. You must use the DPlugin interface to access to the item metadata. This will work too with Showfoto which do not have at all a database. A generic plugin must work on both application transparently. https://invent.kde.org/graphics/digikam/-/blob/master/core/libs/dplugins/iface/dinfointerface.h All generic plugin for digiKam use DPlugin interface. Please fix your code. Thanks in advance Gilles Caulier -- You are receiving this mail because: You are watching all bug changes.
[digikam] [Bug 448593] new view plugin for digikam
https://bugs.kde.org/show_bug.cgi?id=448593 --- Comment #5 from caulier.gil...@gmail.com --- Hi, No, digiKam team do not package RPMs at all. We provide a generic AppImage Linux bundle, the official MacOS package, and the official Windows installer. In your case AppImage cover all Linux distributions. For the Linux Ubuntu Flatpak, MosiacWall and GmicQt are also included, but this bundle maintenance is delegate to a dedicated team. To have a Fedora support, contact the distribution team to build a rpm for the plugin. It's the standard way. Best Gilles Caulier -- You are receiving this mail because: You are watching all bug changes.
[digikam] [Bug 448593] new view plugin for digikam
https://bugs.kde.org/show_bug.cgi?id=448593 --- Comment #4 from 319513...@outlook.com <319513...@outlook.com> --- Understand. But for my part, it seems fedora has not contains these 3rd plugins. So I am afraid I can't get any benefit from this. -- You are receiving this mail because: You are watching all bug changes.
[digikam] [Bug 448593] new view plugin for digikam
https://bugs.kde.org/show_bug.cgi?id=448593 --- Comment #3 from caulier.gil...@gmail.com --- A 3rd plugin is a tool that source code is located outside the project but packaged with digiKam in the official AppImage, MacOS and Windows bundles. The 3rdparty plugins source code are taken from the own repository and compiled with digiKam. Look how the ImageMosaic and GMicQt repository are done. Gilles Caulier -- You are receiving this mail because: You are watching all bug changes.
[digikam] [Bug 448593] new view plugin for digikam
https://bugs.kde.org/show_bug.cgi?id=448593 --- Comment #2 from 319513...@outlook.com <319513...@outlook.com> --- What you means is make my plugin as a 3rd plugin? My intention was simply to have digikam installed with this plugin. In this case, is my plugin compiled separately from digikam? Can I get the header file for digikam at compile time? -- You are receiving this mail because: You are watching all bug changes.
[digikam] [Bug 448593] new view plugin for digikam
https://bugs.kde.org/show_bug.cgi?id=448593 caulier.gil...@gmail.com changed: What|Removed |Added Component|Plugin-Generic-GLViewer |Plugin-Generic-WishForNewTo ||ols -- You are receiving this mail because: You are watching all bug changes.
[digikam] [Bug 448593] new view plugin for digikam
https://bugs.kde.org/show_bug.cgi?id=448593 caulier.gil...@gmail.com changed: What|Removed |Added OS|Linux |All Platform|RedHat RPMs |Compiled Sources CC||caulier.gil...@gmail.com Version|unspecified |7.6.0 --- Comment #1 from caulier.gil...@gmail.com --- Hi and thanks to create a new plugin for digiKam. I will take a look to your source code. But it will be better to include your plusing as a 3rd party tool compiled with all bundle (appimage, MacOS, and Windows). We have already 2 plugins in this case : MosaicWall and GmicQt : https://github.com/scheckmedia/ImageMosaicWall https://github.com/cgilles/gmic-qt ... which are compiled with this bundle rules: https://invent.kde.org/graphics/digikam/-/blob/master/project/bundles/3rdparty/ext_mosaicwall/CMakeLists.txt https://invent.kde.org/graphics/digikam/-/blob/master/project/bundles/3rdparty/ext_gmicqt/CMakeLists.txt This kind of plan is fine for you ? Best regards Gilles Caulier -- You are receiving this mail because: You are watching all bug changes.