blob: 9d10d7addb045d86fb74788f17ff8eaa6652cf3e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
inline PyObject*
addActionWithPyObject(QMenu *self, const QIcon& icon, const QString& text, PyObject *callback, const QKeySequence &shortcut)
{
QAction *act = new QAction(text, self);
if (!icon.isNull())
act->setIcon(icon);
if (!shortcut.isEmpty())
act->setShortcut(shortcut);
self->addAction(act);
PyObject *pyAct = Shiboken::Converter<QAction*>::toPython(act);
PyObject* result = PyObject_CallMethod(pyAct, "connect", "OsO", pyAct, SIGNAL(triggered(bool)), callback);
if (result == 0) {
Py_DECREF(pyAct);
return 0;
}
return pyAct;
}
|