diff options
author | Johan Dahlin <jdahlin@async.com.br> | 2008-04-08 14:51:27 +0000 |
---|---|---|
committer | Johan Dahlin <johan@src.gnome.org> | 2008-04-08 14:51:27 +0000 |
commit | 24d6e7c51d6a43a31838065ea7bb7d664f53e4d4 (patch) | |
tree | 5fcdb1f03c114dfd73ba2526eb69937864a60df1 | |
parent | a60fd2b2679c18174cefc11a3ac5573bfe1d6d15 (diff) | |
download | pygobject-24d6e7c51d6a43a31838065ea7bb7d664f53e4d4.tar.gz pygobject-24d6e7c51d6a43a31838065ea7bb7d664f53e4d4.tar.xz pygobject-24d6e7c51d6a43a31838065ea7bb7d664f53e4d4.zip |
Add basic support for GThemedIcon, based on patch by Thomas Leonard
2008-04-08 Johan Dahlin <jdahlin@async.com.br>
* gio/gio-types.defs:
* gio/gio.defs:
* gio/gio.override:
* tests/test_gio.py:
Add basic support for GThemedIcon, based on patch by
Thomas Leonard (#521883)
svn path=/trunk/; revision=767
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | gio/gio-types.defs | 7 | ||||
-rw-r--r-- | gio/gio.defs | 14 | ||||
-rw-r--r-- | gio/gio.override | 21 | ||||
-rw-r--r-- | tests/test_gio.py | 13 |
5 files changed, 64 insertions, 0 deletions
@@ -1,5 +1,14 @@ 2008-04-08 Johan Dahlin <jdahlin@async.com.br> + * gio/gio-types.defs: + * gio/gio.defs: + * gio/gio.override: + * tests/test_gio.py: + Add basic support for GThemedIcon, based on patch by + Thomas Leonard (#521883) + +2008-04-08 Johan Dahlin <jdahlin@async.com.br> + * gobject/pygsource.c: * tests/test_source.py: Unbreak Source.prepare (#523075, Bryan Silverthorn) diff --git a/gio/gio-types.defs b/gio/gio-types.defs index cf3a2f2..fa80816 100644 --- a/gio/gio-types.defs +++ b/gio/gio-types.defs @@ -36,6 +36,13 @@ (gtype-id "G_TYPE_ICON") ) +(define-object ThemedIcon + (in-module "gio") + (c-name "GThemedIcon") + (gtype-id "G_TYPE_THEMED_ICON") + (implements "GIcon") +) + (define-object LoadableIcon (in-module "gio") (c-name "GLoadableIcon") diff --git a/gio/gio.defs b/gio/gio.defs index 43847e7..4f293ac 100644 --- a/gio/gio.defs +++ b/gio/gio.defs @@ -4000,6 +4000,20 @@ ) ) +(define-method get_names + (c-name "g_themed_icon_get_names") + (of-object "GThemedIcon") + (return-type "const-gchar*-const*") +) + +(define-method append_name + (c-name "g_themed_icon_append_name") + (of-object "GThemedIcon") + (return-type "none") + (parameters + '("char*" "iconname") + ) +) ;; From gunionvolumemonitor.h diff --git a/gio/gio.override b/gio/gio.override index 702382d..33b8611 100644 --- a/gio/gio.override +++ b/gio/gio.override @@ -159,3 +159,24 @@ _wrap_g_app_info_get_all_for_type (PyGObject *self, PyObject *args) return ret; } +%% +override g_themed_icon_get_names noargs +static PyObject * +_wrap_g_themed_icon_get_names(PyGObject *self) +{ + const char * const *names; + PyObject *ret; + + names = g_themed_icon_get_names(G_THEMED_ICON(self->obj)); + + ret = PyList_New(0); + while (names && *names) { + PyObject *item = PyString_FromString(names[0]); + PyList_Append(ret, item); + Py_DECREF(item); + + names++; + } + + return ret; +} diff --git a/tests/test_gio.py b/tests/test_gio.py index 26ff2e8..2b8e9f1 100644 --- a/tests/test_gio.py +++ b/tests/test_gio.py @@ -199,3 +199,16 @@ class TestVolumeMonitor(unittest.TestCase): def testGetMounts(self): mounts = self.monitor.get_mounts() self.failUnless(isinstance(mounts, list)) + + +class TestThemedIcon(unittest.TestCase): + def setUp(self): + self.icon = gio.ThemedIcon("open") + + def testGetNames(self): + self.assertEquals(self.icon.get_names(), ['open']) + + def testAppendName(self): + self.assertEquals(self.icon.get_names(), ['open']) + self.icon.append_name('close') + self.assertEquals(self.icon.get_names(), ['open', 'close']) |