[Bugs] #1622 UNSP: 3G (GSM) Modem Support
Sugar Labs Bugs
bugtracker-noreply at sugarlabs.org
Sun Dec 27 16:03:45 EST 2009
#1622: 3G (GSM) Modem Support
------------------------------------------+---------------------------------
Reporter: tch | Owner: tch
Type: enhancement | Status: new
Priority: Unspecified by Maintainer | Milestone: 0.88
Component: sugar | Version: 0.86.x
Severity: Unspecified | Keywords: 3G GSM modem usb r?
Distribution: Ubuntu | Status_field: Unconfirmed
------------------------------------------+---------------------------------
Changes (by tch):
* keywords: 3G GSM modem usb r! => 3G GSM modem usb r?
Comment:
class ExtEntry(gtk.Entry):
Cannot get what Ext means here, I see no problem in calling it just
Entry or GsmEntry? or something like that
Done
self.get_method = None
self.set_method = None
The idea with using inheritance is that you can declare in Entry these
two methods and just raise NotImplementedError?, then each subclass would
override it with their own implementations. Grep the code for
NotImplementedError? for examples.
Done
def ignore_changed(self):
if self.changed_handler is not None:
self.disconnect(self.changed_handler)
It's more usual to use the block and unblock methods:
http://www.pygtk.org/docs/pygobject/class-gobject.html#method-gobject
--handler-block-by-func
That is not what is supposed to do, it is not blocking and then unblocking
(or viceversa) changed events, just needs to connect to it once, and then
disconnect from it for good. Just as all the others control panel sections
does.
box = gtk.HBox(spacing=style.DEFAULT_SPACING)
label = gtk.Label(entry.label_text + ':')
label.modify_fg(gtk.STATE_NORMAL,
style.COLOR_SELECTION_GREY.get_gdk_color())
box.pack_start(label)
If Entry inherits from HBox and contains the label and the entry, it's
easier to know from where label_text comes. Grep the code for subclasses
of [HV]Box.
I really don't want to make the code darker, so I just wanted to have the
"extended" entry class with the data needed for "control panel section"
inner-control mechanisms. So now I changed the code to avoid having
unnecesary stuff on this extended entry class, and keep the code readable.
label = gtk.Label(entry.label_text + ':')
May be better that ':' is inside the translatable string, as some
languages can use another symbol, or have it at the other side (RTL
scripts).
Done
logging.error('Could not connect to gsm connection, %s', detail)
Can you make it logging.exception so we get a nice traceback?
Done
def __update_state(self, state):
Why two leading underscores?
Done
GsmDeviceView? will be instantiated only when needed, but right now
we'll have also an instance of GsmPalette? even when it is not needed.
It's not only one class instance, it also beings lots of other objects,
I'd say a few dozens. At some point we should move all palettes to be
created lazily, given that instantiating them is fast but cost quite a bit
of memory. I'm saying this because I have profiled memory usage and
palettes cost a significant amount of memory.
Saw the examples at meshbox.py, could someone explain me how that achieves
lazyness?
If it's only used internally, should be named self._client. About
creating an instance every time or not, I would leave it at your
preference.
Done
Thanks to you, this is almost ready to go in.
Hopefully ;)
--
Ticket URL: <http://bugs.sugarlabs.org/ticket/1622#comment:10>
Sugar Labs <http://sugarlabs.org/>
Sugar Labs bug tracking system
More information about the Bugs
mailing list