diff options
author | Hugo Parente Lima <hugo.pl@gmail.com> | 2011-07-15 17:47:45 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-08 16:54:36 -0300 |
commit | 17e3d0da85c7dc98ab5ff4b69b7a839ab16627ef (patch) | |
tree | 1dd91c1efe78df02c82a3dadd4b73754b3ae857d /PySide | |
parent | 48a1b539a4c0ca08cda976fa1f68f4fd02f18dd5 (diff) |
Fix bug 924 - "Allow QScriptValue to be accessed via []"
Reviewer: Marcelo Lira <marcelo.lira@openbossa.org>
Renato Araújo <renato.filho@openbossa.org>
Diffstat (limited to 'PySide')
-rw-r--r-- | PySide/QtScript/typesystem_script.xml | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/PySide/QtScript/typesystem_script.xml b/PySide/QtScript/typesystem_script.xml index 870aec089..8c7ac10b2 100644 --- a/PySide/QtScript/typesystem_script.xml +++ b/PySide/QtScript/typesystem_script.xml @@ -49,6 +49,19 @@ <enum-type name="PropertyFlag" flags="PropertyFlags"/> <enum-type name="ResolveFlag" flags="ResolveFlags"/> <enum-type name="SpecialValue"/> + <add-function signature="__mgetitem__"> + <inject-code> + Shiboken::AutoDecRef key(PyObject_Str(_key)); + QVariant res = %CPPSELF.property(PyString_AS_STRING(key.object())).toVariant(); + if (res.isValid()) { + return %CONVERTTOPYTHON[QVariant](res); + } else { + PyObject* errorType = PyInt_Check(_key) ? PyExc_IndexError : PyExc_KeyError; + PyErr_SetString(errorType, "Key not found."); + return 0; + } + </inject-code> + </add-function> </value-type> <object-type name="QScriptValueIterator"/> </typesystem> |