Review Request 123735: version of QmlObject with a static engine

Vishesh Handa me at vhanda.in
Tue May 19 15:33:31 UTC 2015



> On May 19, 2015, 3:04 p.m., Vishesh Handa wrote:
> > src/kdeclarative/qmlobjectsharedengine.cpp, line 60
> > <https://git.reviewboard.kde.org/r/123735/diff/8/?file=370102#file370102line60>
> >
> >     I'm probably missing some parts of the picture. Could you please explain why this needs to be static?
> >     
> >     Also, you could just combine the QSharedPointer and the normal pointer.
> 
> Marco Martin wrote:
>     the whole point is to have a single instance per process...
>     or could be done differently, like with a Q_GLOBAL_STATIC...

So does each applet construct its own `QmlObjectSharedEngine`?

Maybe we can disable this class's constructor and just have a `static QQmlObjectSharedEngine* instance()` method? It'll make the semantics much clearer.


- Vishesh


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/123735/#review80630
-----------------------------------------------------------


On May 18, 2015, 8 p.m., Marco Martin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/123735/
> -----------------------------------------------------------
> 
> (Updated May 18, 2015, 8 p.m.)
> 
> 
> Review request for KDE Frameworks and Plasma.
> 
> 
> Repository: kdeclarative
> 
> 
> Description
> -------
> 
> to make easier doing applications like plasma that use a lot of qml to have a single engine make a subclass of QmlObject called QmlObjectSharedEngine that has a single, static QQmlEngine
> 
> Adds a class called QuickViewSharedEngine that has the same behavior as QmlObjectSharedEngine(using it): static QQmlEngine, separed rootContexts() for each instance.
> This is used by desktopviews and panelviews to share their engine.
> 
> Unfortunately it may not be possible to get the applet configuration dialogs to use this, since they still need a separed engine in order to have a different controls style (qstyle based) than the stuff in the desktop/panel
> 
> 
> Diffs
> -----
> 
>   src/kdeclarative/CMakeLists.txt d73bff0 
>   src/kdeclarative/kdeclarative.cpp b3906e2 
>   src/kdeclarative/qmlobject.h f26b67d 
>   src/kdeclarative/qmlobject.cpp c483665 
>   src/kdeclarative/qmlobjectsharedengine.h PRE-CREATION 
>   src/kdeclarative/qmlobjectsharedengine.cpp PRE-CREATION 
>   src/quickaddons/CMakeLists.txt 777d07c 
>   src/quickaddons/quickviewsharedengine.h PRE-CREATION 
>   src/quickaddons/quickviewsharedengine.cpp PRE-CREATION 
> 
> Diff: https://git.reviewboard.kde.org/r/123735/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Marco Martin
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20150519/916d9784/attachment-0001.html>


More information about the Kde-frameworks-devel mailing list