diff options
author | Ajay Garg <ajay@activitycentral.com> | 2012-10-16 12:41:02 (GMT) |
---|---|---|
committer | Ajay Garg <ajay@activitycentral.com> | 2012-10-16 12:57:20 (GMT) |
commit | 274ddde27feb895905931178fffc388f983604da (patch) | |
tree | 5002fd37017971e5c3b5e98effcc6c3254f3327a | |
parent | ea0162bf509ae87cdf0b2236824b87d037a2b5da (diff) |
XO-Model-Number in "My Settings" -> "About My Computer" (gconf-controllable).
Signed-off-by: Ajay Garg <ajay@activitycentral.com>
-rw-r--r-- | extensions/cpsection/aboutcomputer/model.py | 13 | ||||
-rw-r--r-- | extensions/cpsection/aboutcomputer/view.py | 32 |
2 files changed, 36 insertions, 9 deletions
diff --git a/extensions/cpsection/aboutcomputer/model.py b/extensions/cpsection/aboutcomputer/model.py index 0732b1b..a4ffd0f 100644 --- a/extensions/cpsection/aboutcomputer/model.py +++ b/extensions/cpsection/aboutcomputer/model.py @@ -126,6 +126,15 @@ def print_build_number(): print get_build_number() +def get_model_laptop(): + from ceibal import laptop + + model_laptop = laptops.get_model_laptop() + if model_laptop is None or not model_laptop: + model_laptop = _not_available + return model_laptop + + def _parse_firmware_number(firmware_no): if firmware_no is None: firmware_no = _not_available @@ -309,3 +318,7 @@ def get_last_updated_on_field(): # Everything should be fine (hopefully :-) ) return last_update_readable_format + + +def get_sugar_version(): + return config.version diff --git a/extensions/cpsection/aboutcomputer/view.py b/extensions/cpsection/aboutcomputer/view.py index ac89e08..587e1b6 100644 --- a/extensions/cpsection/aboutcomputer/view.py +++ b/extensions/cpsection/aboutcomputer/view.py @@ -23,7 +23,6 @@ from gi.repository import Gdk from sugar3.graphics import style -from jarabe import config from jarabe.controlpanel.sectionview import SectionView @@ -67,24 +66,34 @@ class AboutComputer(SectionView): self._setup_component_if_applicable(None, _('Serial Number:'), - self._model.get_serial_number(), + self._model.get_serial_number, vbox_identity) self._setup_component_if_applicable(None, _('Lease:'), - self._model.get_lease_days(), + self._model.get_lease_days, vbox_identity) self._vbox.pack_start(vbox_identity, False, True, 0) vbox_identity.show() def _is_feature_to_be_shown(slf, gconf_key): + if gconf_key is None: + return True + from gi.repository import GConf client = GConf.Client.get_default() return client.get_bool(gconf_key) is True - def _setup_component_if_applicable(self, gconf_key, key, value, packer): + def _setup_component_if_applicable(self, gconf_key, key, value_func, packer): + if not self._is_feature_to_be_shown(gconf_key): + return + + # Now that we do need to show, fetch the value. + print value_func + value = value_func() + box = Gtk.HBox(spacing=style.DEFAULT_SPACING) key_label = Gtk.Label(label=key) key_label.set_alignment(1, 0) @@ -113,29 +122,34 @@ class AboutComputer(SectionView): box_software.set_border_width(style.DEFAULT_SPACING * 2) box_software.set_spacing(style.DEFAULT_SPACING) + self._setup_component_if_applicable('/desktop/sugar/extensions/aboutcomputer/display_model', + _('Model:'), + self._model.get_model_laptop, + box_software) + self._setup_component_if_applicable(None, _('Build:'), - self._model.get_build_number(), + self._model.get_build_number, box_software) self._setup_component_if_applicable(None, _('Sugar:'), - config.version, + self._model.get_sugar_version, box_software) self._setup_component_if_applicable(None, _('Firmware:'), - self._model.get_firmware_number(), + self._model.get_firmware_number, box_software) self._setup_component_if_applicable(None, _('Wireless Firmware:'), - self._model.get_wireless_firmware(), + self._model.get_wireless_firmware, box_software) self._setup_component_if_applicable(None, _('Last Updated On:'), - self._model.get_last_updated_on_field(), + self._model.get_last_updated_on_field, box_software) self._vbox.pack_start(box_software, False, True, 0) |