@@ -39,19 +39,19 @@ import QtQuick 2.0
41MenuAction {
41MenuAction {
42− id: dbusActionState
42+ id: menuAction
45 \preliminary
45 \preliminary
46 The component which will have the property changed by action
46 The component which will have the property changed by action
48− property alias target: propertyBinding.target
48+ property QtObject target: null
51 \preliminary
51 \preliminary
52 The property name of \l target component which will be linked with action state
52 The property name of \l target component which will be linked with action state
54− property string property: propertyBinding.property
54+ property string property
57 \preliminary
57 \preliminary
@@ -63,37 +63,36 @@ MenuAction {
63 onTargetChanged: connectViewChanges()
63 onTargetChanged: connectViewChanges()
64 onPropertyChanged: connectViewChanges()
64 onPropertyChanged: connectViewChanges()
68− property alias actionObject : dbusActionState.__actionObject
70 property var currentTarget: undefined
68 property var currentTarget: undefined
71 property string currentSignal
69 property string currentSignal
74− Binding {
72+ Binding {
75− id: propertyBinding
73+ id: propertyBinding
74+ target: menuAction.target
75+ property: menuAction.property
76− value: dbusActionState.state
76+ value: menuAction.state
77− when: priv.actionObject && dbusActionState.active
77+ when: menuAction.actionObject && menuAction.active
78− property: dbusActionState.property
80+ // TODO - re-evaluate in c++
82 function connectViewChanges() {
81 function connectViewChanges() {
83− if (priv.currentTarget != undefined && priv.currentSignal !== "") {
82+ if (d.currentTarget != undefined && d.currentSignal !== "") {
84− if (priv.currentTarget[priv.currentSignal] !== undefined) {
83+ if (d.currentTarget[d.currentSignal] !== undefined) {
85− priv.currentTarget[priv.currentSignal].disconnect(onViewValueChanged);
84+ d.currentTarget[d.currentSignal].disconnect(onViewValueChanged);
89− priv.currentTarget = null;
88+ d.currentTarget = null;
90− priv.currentSignal = "";
89+ d.currentSignal = "";
91 if (target) {
90 if (target) {
92 var signal = "on%1Changed".arg(property.charAt(0).toUpperCase() + property.slice(1));
91 var signal = "on%1Changed".arg(property.charAt(0).toUpperCase() + property.slice(1));
93 if (target[signal] !== undefined) {
92 if (target[signal] !== undefined) {
94 target[signal].connect(onViewValueChanged);
93 target[signal].connect(onViewValueChanged);
95− priv.currentTarget = target;
94+ d.currentTarget = target;
96− priv.currentSignal = signal;
95+ d.currentSignal = signal;
@@ -101,7 +100,7 @@ MenuAction {
101 function onViewValueChanged() {
100 function onViewValueChanged() {
102 if (valid) {
101 if (valid) {
103 var propertyValue = target[property];
102 var propertyValue = target[property];
104− priv.actionObject.updateState(propertyValue);
103+ actionObject.updateState(propertyValue);