diff options
Diffstat (limited to 'PySide/QtGui/glue/qmenubar_glue.cpp')
-rw-r--r-- | PySide/QtGui/glue/qmenubar_glue.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/PySide/QtGui/glue/qmenubar_glue.cpp b/PySide/QtGui/glue/qmenubar_glue.cpp new file mode 100644 index 000000000..2326a76cc --- /dev/null +++ b/PySide/QtGui/glue/qmenubar_glue.cpp @@ -0,0 +1,20 @@ +inline PyObject* +addActionWithPyObject(QMenuBar* self, const QString& text, PyObject* callback) +{ + QAction* act = new QAction(text, self); + + self->addAction(act); + + PyObject* pyAct = %CONVERTTOPYTHON[QAction*](act); + PyObject* result = PyObject_CallMethod(pyAct, "connect", "OsO", pyAct, + SIGNAL(triggered(bool)), callback); + + if (result == 0 || result == Py_False) { + if (result) + Py_DECREF(result); + Py_DECREF(pyAct); + return 0; + } + + return pyAct; +} |