ui/qt/menu.cpp

changeset 966
e411ed7c5f10
parent 659
d6baaa93f7be
child 989
cd1ccc0d3d05
equal deleted inserted replaced
965:5d4419042d9b 966:e411ed7c5f10
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);

mercurial