| 86 action->setIcon(QIcon::fromTheme(icon)); |
86 action->setIcon(QIcon::fromTheme(icon)); |
| 87 action->setIconVisibleInMenu(true); |
87 action->setIconVisibleInMenu(true); |
| 88 } |
88 } |
| 89 |
89 |
| 90 if(states) { |
90 if(states) { |
| 91 size_t nstates = uic_group_array_size(states); |
91 size_t nstates = uic_state_array_size(states); |
| 92 uic_add_group_widget_i(obj->ctx, action, (ui_enablefunc)ui_action_enable, states, nstates); |
92 uic_add_state_widget_i(obj->ctx, action, (ui_enablefunc)ui_action_enable, states, nstates); |
| 93 action->setEnabled(false); |
93 action->setEnabled(false); |
| 94 } |
94 } |
| 95 |
95 |
| 96 return action; |
96 return action; |
| 97 } |
97 } |
| 98 |
98 |
| 99 void add_menuitem_widget(QMenu *parent, int i, UiMenuItemI *item, UiObject *obj) { |
99 void add_menuitem_widget(QMenu *parent, int i, UiMenuItemI *item, UiObject *obj) { |
| 100 UiMenuItem *it = (UiMenuItem*)item; |
100 UiMenuItem *it = (UiMenuItem*)item; |
| 101 UiAction *action = create_action(obj, it->icon, it->label, it->callback, it->userdata, it->groups); |
101 UiAction *action = create_action(obj, it->icon, it->label, it->callback, it->userdata, it->states); |
| 102 parent->addAction(action); |
102 parent->addAction(action); |
| 103 QObject::connect(action, SIGNAL(triggered()), action, SLOT(trigger())); |
103 QObject::connect(action, SIGNAL(triggered()), action, SLOT(trigger())); |
| 104 } |
104 } |
| 105 |
105 |
| 106 void add_menuseparator_widget(QMenu *parent, int i, UiMenuItemI *item, UiObject *obj) { |
106 void add_menuseparator_widget(QMenu *parent, int i, UiMenuItemI *item, UiObject *obj) { |
| 108 } |
108 } |
| 109 |
109 |
| 110 void add_checkitem_widget(QMenu *parent, int i, UiMenuItemI *item, UiObject *obj) { |
110 void add_checkitem_widget(QMenu *parent, int i, UiMenuItemI *item, UiObject *obj) { |
| 111 UiMenuCheckItem *it = (UiMenuCheckItem*)item; |
111 UiMenuCheckItem *it = (UiMenuCheckItem*)item; |
| 112 |
112 |
| 113 UiAction *action = create_action(obj, it->icon, it->label, it->callback, it->userdata, it->groups); |
113 UiAction *action = create_action(obj, it->icon, it->label, it->callback, it->userdata, it->states); |
| 114 parent->addAction(action); |
114 parent->addAction(action); |
| 115 action->setCheckable(true); |
115 action->setCheckable(true); |
| 116 action->prepare_event = ui_checkableaction_prepare_event; |
116 action->prepare_event = ui_checkableaction_prepare_event; |
| 117 |
117 |
| 118 UiVar* var = uic_widget_var(obj->ctx, obj->ctx, NULL, it->varname, UI_VAR_INTEGER); |
118 UiVar* var = uic_widget_var(obj->ctx, obj->ctx, NULL, it->varname, UI_VAR_INTEGER); |
| 128 } |
128 } |
| 129 |
129 |
| 130 void add_radioitem_widget(QMenu *parent, int index, UiMenuItemI *item, UiObject *obj) { |
130 void add_radioitem_widget(QMenu *parent, int index, UiMenuItemI *item, UiObject *obj) { |
| 131 UiMenuRadioItem *it = (UiMenuRadioItem*)item; |
131 UiMenuRadioItem *it = (UiMenuRadioItem*)item; |
| 132 |
132 |
| 133 UiAction *action = create_action(obj, it->icon, it->label, it->callback, it->userdata, it->groups); |
133 UiAction *action = create_action(obj, it->icon, it->label, it->callback, it->userdata, it->states); |
| 134 parent->addAction(action); |
134 parent->addAction(action); |
| 135 action->setCheckable(true); |
135 action->setCheckable(true); |
| 136 action->prepare_event = ui_actiongroup_prepare_event; |
136 action->prepare_event = ui_actiongroup_prepare_event; |
| 137 |
137 |
| 138 UiVar* var = uic_widget_var(obj->ctx, obj->ctx, NULL, it->varname, UI_VAR_INTEGER); |
138 UiVar* var = uic_widget_var(obj->ctx, obj->ctx, NULL, it->varname, UI_VAR_INTEGER); |