From aabf1dad36a374d92e8b924ea2e4c13edbc35a37 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Thu, 14 Dec 2006 17:15:30 +0000 Subject: [PATCH] hal-device-manager: correct minor display bugs when used with dbus-python 0.80 (bugs.fd.o #9343) --- tools/device-manager/DeviceManager.py | 28 +++++++++++++++++----------- 1 files changed, 17 insertions(+), 11 deletions(-) diff --git a/tools/device-manager/DeviceManager.py b/tools/device-manager/DeviceManager.py index b5fec40..b05a802 100644 --- a/tools/device-manager/DeviceManager.py +++ b/tools/device-manager/DeviceManager.py @@ -360,7 +360,7 @@ class DeviceManager(LibGladeApplication): category.set_label("Unknown") if device.properties.has_key("info.capabilities"): - capabilities.set_label("%s"%device.properties["info.capabilities"]) + capabilities.set_label('"' + '", "'.join(device.properties["info.capabilities"]) + '"') else: capabilities.set_label("Unknown") @@ -441,22 +441,28 @@ class DeviceManager(LibGladeApplication): iter = store.append() val = device.properties[p] ptype = type(val) - if ptype==str: + if issubclass(ptype, str): store.set(iter, 0, p, 1, "string", 2, "%s"%val) - elif ptype==int: - store.set(iter, 0, p, 1, "int", 2, "%d (0x%x)"%(val, val)) - elif ptype==long: - store.set(iter, 0, p, 1, "long", 2, "%d (0x%x)"%(val, val)) - elif ptype==bool: + elif issubclass(ptype, unicode): + store.set(iter, 0, p, 1, "string", 2, val.encode('utf-8')) + elif issubclass(ptype, (bool, dbus.Boolean)): if val: store.set(iter, 0, p, 1, "bool", 2, "true") else: store.set(iter, 0, p, 1, "bool", 2, "false") - elif ptype==float: + elif issubclass(ptype, int): + store.set(iter, 0, p, 1, "int", 2, "%d (0x%x)"%(val, val)) + elif issubclass(ptype, long): + store.set(iter, 0, p, 1, "long", 2, "%d (0x%x)"%(val, val)) + elif issubclass(ptype, float): store.set(iter, 0, p, 1, "float", 2, "%f"%val) - else: - # assume strlist - store.set(iter, 0, p, 1, "strlist", 2, val) + elif issubclass(ptype, list): + # assume strlist + formatted = (u'"' + u'", "'.join(val) + u'"').encode('utf-8') + store.set(iter, 0, p, 1, "strlist", 2, formatted) + else: + # should never happen + store.set(iter, 0, p, 1, "(unknown type)", 2, "") prop_tree_view = self.xml.get_widget("ns_adv_properties") -- 1.4.4.2