Difference between revisions of "Features/GTK3/Shell"

From Sugar Labs
< Features‎ | GTK3
Jump to navigation Jump to search
Line 46: Line 46:
 
see
 
see
 
http://mail.gnome.org/archives/python-hackers-list/2011-December/msg00013.html
 
http://mail.gnome.org/archives/python-hackers-list/2011-December/msg00013.html
 +
 +
=== Port hardcoded styles to the CSS stylesheet ===
 +
 +
For example in sugar/extensions/cpsection/network/view.py we have things like:
 +
 +
<pre>
 +
        label_server = gtk.Label(_('Server:'))
 +
        label_server.set_alignment(1, 0.5)
 +
        label_server.modify_fg(gtk.STATE_NORMAL,
 +
                              style.COLOR_SELECTION_GREY.get_gdk_color())
 +
</pre>

Revision as of 16:05, 30 January 2012

Daniel Drake started an effort to port the shell to the GTK3 sugar-toolkit. These are the biggest issues identified so far:

Custom tree model for journal

Having trouble reimplementing this. See http://mail.gnome.org/archives/python-hackers-list/2011-December/msg00010.html

Custom Icon cell renderer

sugar3.graphics.icon.CellRendererIcon is based on pygtks GenericCellRenderer - needs to be ported

do_forall not working in pygobject

Needs:

cant call gdkwindow.raise()

raise is reserved word in Python. Workaround: getattr(win, 'raise')()

See http://mail.gnome.org/archives/python-hackers-list/2011-December/msg00011.html

xklavier

python-xklavier is based on pygtk codegen, we can probably just drop the link to pygtk, but failing that, we will need introspection bindings.

gdk_property_get

Not working:

def _property_get_trapped(window, prop, prop_type):
    Gdk.error_trap_push()

    prop_atom = Gdk.Atom.intern(prop, False)
    type_atom = Gdk.Atom.intern(prop_type, False)

    logging.warning("get prop %s %s %s", window, prop_atom, type_atom)
    prop_info = Gdk.property_get(window, prop_atom, type_atom, 0, 9999, False)
TypeError: Could not caller allocate argument 6 of callable property_get

ActivityIcon.do_draw never called

see http://mail.gnome.org/archives/python-hackers-list/2011-December/msg00013.html

Port hardcoded styles to the CSS stylesheet

For example in sugar/extensions/cpsection/network/view.py we have things like:

        label_server = gtk.Label(_('Server:'))
        label_server.set_alignment(1, 0.5)
        label_server.modify_fg(gtk.STATE_NORMAL,
                               style.COLOR_SELECTION_GREY.get_gdk_color())