[Digikam-devel] Re: Very slow context menu invocation

Andi Clemens andi.clemens at gmx.net
Tue Nov 30 21:11:16 GMT 2010


Well it is used, the problem is that the BQM window initializes all of its 
plugins, even though there are not used / assigned at this moment.

Maybe we can initialize plugins only when they are assigned?


Andi Clemens
-----------------
www.digikam.org

On Tuesday 30 November 2010 22:05:07 Gilles Caulier wrote:
> Marcel,
> 
> This method already exist :
> 
> class QueueMgrWindow : public KXmlGuiWindow
> {
>     Q_OBJECT
> 
> public:
> 
>     ~QueueMgrWindow();
> 
>     static QueueMgrWindow* queueManagerWindow();
>     static bool            queueManagerWindowCreated();
> 
> ...
> 
> So it can be used in ContextMenuHelper...
> 
> Gilles
> 
> 2010/11/28 Marcel Wiesweg <marcel.wiesweg at gmx.de>:
> >> Digikam::QueueMgrWindow::QueueMgrWindow() at queuemgrwindow.cpp:137
> >> 0x827d80a Digikam::QueueMgrWindow::queueManagerWindow() at
> >> queuemgrwindow.cpp:106 0x827d24b
> >> Digikam::ContextMenuHelper::addQueueManagerMenu() at
> >> contextmenuhelper.cpp:741 0x81b096a
> >> Digikam::DigikamImageView::showContextMenuOnInfo() at
> >> digikamimageview.cpp:222 0x81d3a92
> >> 
> >> We call this instruction chain whenever the context menu is openend.
> >> But why? Wouldn't it be enough to just generate the QueueMgrWindow
> >> without all this stuff? Especially when no images have been added to
> >> the BQM?
> > 
> > If the QueueManagerWindow is supposed to be a singleton, like the
> > ImageWindow, there should be an additional method which returns the
> > singleton pointer (or a bool) but does not create it. With
> > K_GLOBAL_STATIC, there is a method exists() on the creator
> > _______________________________________________
> > Digikam-devel mailing list
> > Digikam-devel at kde.org
> > https://mail.kde.org/mailman/listinfo/digikam-devel
> 
> _______________________________________________
> Digikam-devel mailing list
> Digikam-devel at kde.org
> https://mail.kde.org/mailman/listinfo/digikam-devel



More information about the Digikam-devel mailing list