On Tuesday, October 30, 2012 16:01:37 Kevin Krammer wrote:
> On Tuesday, 2012-10-30, Sebastian Kügler wrote:
> > On Monday, October 29, 2012 13:46:18 Marco Martin wrote:
> > > On Monday 29 October 2012, Daker Fernandes Pinheiro wrote:
> > > > > > Daker Fernandes Pinheiro
> > > > > > http://codecereal.blogspot.com
> > > > > 
> > > > > isn't QAction already registered as "action" primitive type?
> > > > 
> > > > At least not on QtQuick 1.1
> > > 
> > > not sure if is really qaction or some wrapper class, but
> > > http://qt-project.org/doc/qt-4.8/qml-action.html
> > 
> > I don't know either. Using QAction as QtObject in QML works. On the other
> > hand, QAction doesn't have trigger() as Q_INVOKABLE, yet it is one for the
> > runtime (one can just call trigger() on a QAction passed into the runtime.
> 
> Sorry for jumping into this thread, but trigger() is a slot (public even),
> so it should be invokable even without Q_INVOKABLE.

Ah, ok. Thought it really needed the Q_INVOKABLE macro.

> In any case, I am curious what the use case of triggering a UI action is?
> I mean any imperative portion of the QML could just invoke the script
> function the action's onTriggered is calling, no?

In Plasma Desktop, we have pluggable actions, which exist as QActions for 
example in Corona (think of "Lock widgets", "Add Widgets", "Activities", 
etc.).

In order to do a fully functional containment (and toolbox) in QML, we need 
access to these actions, and we need to be able to trigger them. So, basically 
a QML button receives an action object from the C++ side and is able to call 
trigger on it when the button is clicked. The trigger() function in this case 
is not scripted, but lives "somewhere else".
-- 
sebas

http://www.kde.org | http://vizZzion.org | GPG Key ID: 9119 0EF9
_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to