Run pygi-convert.sh for automatic conversion from GTK2 to GTK3 + pygi.

This is only on a best-effort basis; the code will be in a broken state after
this patch and need to be fixed manually.

The purpose of committing the intermediate, non-working output is to make it
reproducible. It's impractical to manually review the changes.

The exact version used was 4f637212f13b197a95c824967a58496b9e3b877c from the
main pygobject repository [1] plus a custom patch [2] that hasn't been sent
upstream yet.

[1] git://git.gnome.org/pygobject
[2] https://sascha.silbe.org/patches/pygobject-convert-sugar-20111122.patch

Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
This commit is contained in:
Sascha Silbe
2011-11-15 19:29:07 +01:00
committed by Simon Schampijer
parent aed295ec4e
commit 820efa56b9
47 changed files with 818 additions and 818 deletions
+28 -28
View File
@@ -55,9 +55,9 @@ import time
from hashlib import sha1
from functools import partial
import gconf
import gtk
import gobject
from gi.repository import GConf
from gi.repository import Gtk
from gi.repository import GObject
import dbus
import dbus.service
from dbus import PROPERTIES_IFACE
@@ -100,15 +100,15 @@ J_DBUS_INTERFACE = 'org.laptop.Journal'
CONN_INTERFACE_ACTIVITY_PROPERTIES = 'org.laptop.Telepathy.ActivityProperties'
class _ActivitySession(gobject.GObject):
class _ActivitySession(GObject.GObject):
__gsignals__ = {
'quit-requested': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([])),
'quit': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([])),
'quit-requested': (GObject.SignalFlags.RUN_FIRST, None, ([])),
'quit': (GObject.SignalFlags.RUN_FIRST, None, ([])),
}
def __init__(self):
gobject.GObject.__init__(self)
GObject.GObject.__init__(self)
self._xsmp_client = XSMPClient()
self._xsmp_client.connect('quit-requested',
@@ -127,7 +127,7 @@ class _ActivitySession(gobject.GObject):
if len(self._activities) == 0:
logging.debug('Quitting the activity process.')
gtk.main_quit()
Gtk.main_quit()
def will_quit(self, activity, will_quit):
if will_quit:
@@ -150,7 +150,7 @@ class _ActivitySession(gobject.GObject):
self.emit('quit')
class Activity(Window, gtk.Container):
class Activity(Window, Gtk.Container):
"""This is the base Activity class that all other Activities derive from.
This is where your activity starts.
@@ -204,8 +204,8 @@ class Activity(Window, gtk.Container):
Finaly, your Activity will very likely need some activity specific
buttons and options you can create your own toolbars by deriving a
class from gtk.Toolbar:
class MySpecialToolbar(gtk.Toolbar):
class from Gtk.Toolbar:
class MySpecialToolbar(Gtk.Toolbar):
...
4. Use your creativity. Make your Activity something special and share
@@ -221,11 +221,11 @@ class Activity(Window, gtk.Container):
__gtype_name__ = 'SugarActivity'
__gsignals__ = {
'shared': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([])),
'joined': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([])),
'shared': (GObject.SignalFlags.RUN_FIRST, None, ([])),
'joined': (GObject.SignalFlags.RUN_FIRST, None, ([])),
# For internal use only, use can_close() if you want to perform extra
# checks before actually closing
'_closing': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([])),
'_closing': (GObject.SignalFlags.RUN_FIRST, None, ([])),
}
def __init__(self, handle, create_jobject=True):
@@ -248,7 +248,7 @@ class Activity(Window, gtk.Container):
Connects our "destroy" message to our _destroy_cb
method.
Creates a base gtk.Window within this window.
Creates a base Gtk.Window within this window.
Creates an ActivityService (self._bus) servicing
this application.
@@ -265,7 +265,7 @@ class Activity(Window, gtk.Container):
# screen. Would be better if it was the shell to do this, but we
# haven't found yet a good way to do it there. See #1263.
self.connect('window-state-event', self.__window_state_event_cb)
screen = gtk.gdk.screen_get_default()
screen = Gdk.Screen.get_default()
screen.connect('size-changed', self.__screen_size_changed_cb)
self._adapt_window_to_screen()
@@ -298,7 +298,7 @@ class Activity(Window, gtk.Container):
self.__session_quit_requested_cb)
self._session.connect('quit', self.__session_quit_cb)
accel_group = gtk.AccelGroup()
accel_group = Gtk.AccelGroup()
self.set_data('sugar-accel-group', accel_group)
self.add_accel_group(accel_group)
@@ -321,7 +321,7 @@ class Activity(Window, gtk.Container):
self._jobject = self._initialize_journal_object()
if handle.invited:
wait_loop = gobject.MainLoop()
wait_loop = GObject.MainLoop()
self._client_handler = _ClientHandler(
self.get_bundle_id(),
partial(self.__got_channel_cb, wait_loop))
@@ -350,7 +350,7 @@ class Activity(Window, gtk.Container):
def _initialize_journal_object(self):
title = _('%s Activity') % get_bundle_name()
client = gconf.client_get_default()
client = GConf.Client.get_default()
icon_color = client.get_string('/desktop/sugar/user/color')
jobject = datastore.create()
@@ -433,7 +433,7 @@ class Activity(Window, gtk.Container):
if not self._active and self._jobject:
self.save()
active = gobject.property(
active = GObject.property(
type=bool, default=False, getter=get_active, setter=set_active)
def get_max_participants(self):
@@ -442,7 +442,7 @@ class Activity(Window, gtk.Container):
def set_max_participants(self, participants):
self._max_participants = participants
max_participants = gobject.property(
max_participants = GObject.property(
type=int, default=0, getter=get_max_participants,
setter=set_max_participants)
@@ -468,7 +468,7 @@ class Activity(Window, gtk.Container):
"""Sets the 'work area' of your activity with the canvas of your
choice.
One commonly used canvas is gtk.ScrolledWindow
One commonly used canvas is Gtk.ScrolledWindow
"""
Window.set_canvas(self, canvas)
if not self._read_file_called:
@@ -483,7 +483,7 @@ class Activity(Window, gtk.Container):
self.move(0, 0)
def _adapt_window_to_screen(self):
screen = gtk.gdk.screen_get_default()
screen = Gdk.Screen.get_default()
self.set_geometry_hints(None,
screen.get_width(), screen.get_height(),
screen.get_width(), screen.get_height(),
@@ -615,11 +615,11 @@ class Activity(Window, gtk.Container):
pixmap = self.canvas.get_snapshot((-1, -1, 0, 0))
width, height = pixmap.get_size()
pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, 0, 8, width, height)
pixbuf = GdkPixbuf.Pixbuf(GdkPixbuf.Colorspace.RGB, 0, 8, width, height)
pixbuf = pixbuf.get_from_drawable(pixmap, pixmap.get_colormap(),
0, 0, 0, 0, width, height)
pixbuf = pixbuf.scale_simple(style.zoom(300), style.zoom(225),
gtk.gdk.INTERP_BILINEAR)
GdkPixbuf.InterpType.BILINEAR)
preview_data = []
@@ -814,10 +814,10 @@ class Activity(Window, gtk.Container):
alert.props.msg = _('Keep error: all changes will be lost')
cancel_icon = Icon(icon_name='dialog-cancel')
alert.add_button(gtk.RESPONSE_CANCEL, _('Don\'t stop'), cancel_icon)
alert.add_button(Gtk.ResponseType.CANCEL, _('Don\'t stop'), cancel_icon)
stop_icon = Icon(icon_name='dialog-ok')
alert.add_button(gtk.RESPONSE_OK, _('Stop anyway'), stop_icon)
alert.add_button(Gtk.ResponseType.OK, _('Stop anyway'), stop_icon)
self.add_alert(alert)
alert.connect('response', self._keep_failed_dialog_response_cb)
@@ -826,7 +826,7 @@ class Activity(Window, gtk.Container):
def _keep_failed_dialog_response_cb(self, alert, response_id):
self.remove_alert(alert)
if response_id == gtk.RESPONSE_OK:
if response_id == Gtk.ResponseType.OK:
self.close(skip_save=True)
if self._quit_requested:
self._session.will_quit(self, True)
+4 -4
View File
@@ -26,7 +26,7 @@ import logging
import uuid
import dbus
import gobject
from gi.repository import GObject
from sugar3.activity.activityhandle import ActivityHandle
from sugar3 import util
@@ -148,7 +148,7 @@ def open_log_file(activity):
raise e
class ActivityCreationHandler(gobject.GObject):
class ActivityCreationHandler(GObject.GObject):
"""Sugar-side activity creation interface
This object uses a dbus method on the ActivityFactory
@@ -182,7 +182,7 @@ class ActivityCreationHandler(gobject.GObject):
If the file '/etc/olpc-security' exists, then activity launching
will be delegated to the prototype 'Rainbow' security service.
"""
gobject.GObject.__init__(self)
GObject.GObject.__init__(self)
self._bundle = bundle
self._service_name = bundle.get_bundle_id()
@@ -258,7 +258,7 @@ class ActivityCreationHandler(gobject.GObject):
stdout=log_file.fileno(),
stderr=log_file.fileno())
gobject.child_watch_add(child.pid,
GObject.child_watch_add(child.pid,
_child_watch_cb,
(environment_dir, log_file,
self._handle.activity_id))
+2 -2
View File
@@ -17,7 +17,7 @@
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
import gconf
from gi.repository import GConf
from gettext import gettext
import locale
@@ -135,7 +135,7 @@ def get_locale_path(bundle_id):
if 'SUGAR_LOCALEDIR' in os.environ:
candidate_dirs[os.environ['SUGAR_LOCALEDIR']] = 2
gconf_client = gconf.client_get_default()
gconf_client = GConf.Client.get_default()
package_dir = gconf_client.get_string('/desktop/sugar/i18n/langpackdir')
if package_dir is not None and package_dir is not '':
candidate_dirs[package_dir] = 1
+45 -45
View File
@@ -18,10 +18,10 @@
import gettext
import os
import gio
import gtk
import gobject
import gconf
from gi.repository import Gio
from gi.repository import Gtk
from gi.repository import GObject
from gi.repository import GConf
from sugar3.graphics import style
from sugar3.graphics.icon import Icon
@@ -40,7 +40,7 @@ def _get_icon_name(metadata):
mime_type = metadata.get('mime_type', '')
if not file_name and mime_type:
icons = gio.content_type_get_icon(mime_type)
icons = Gio.content_type_get_icon(mime_type)
for icon_name in icons.props.names:
file_name = get_icon_file_name(icon_name)
if file_name is not None:
@@ -52,30 +52,30 @@ def _get_icon_name(metadata):
return file_name
class NamingToolbar(gtk.Toolbar):
class NamingToolbar(Gtk.Toolbar):
""" Toolbar of the naming alert
"""
__gtype_name__ = 'SugarNamingToolbar'
__gsignals__ = {
'keep-clicked': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([])),
'keep-clicked': (GObject.SignalFlags.RUN_FIRST, None, ([])),
}
def __init__(self):
gtk.Toolbar.__init__(self)
Gtk.Toolbar.__init__(self)
client = gconf.client_get_default()
client = GConf.Client.get_default()
color = XoColor(client.get_string('/desktop/sugar/user/color'))
icon = Icon()
icon.set_from_icon_name('activity-journal',
gtk.ICON_SIZE_LARGE_TOOLBAR)
Gtk.IconSize.LARGE_TOOLBAR)
icon.props.xo_color = color
self._add_widget(icon)
self._add_separator()
self._title = gtk.Label(_('Name this entry'))
self._title = Gtk.Label(label=_('Name this entry'))
self._add_widget(self._title)
self._add_separator(True)
@@ -87,7 +87,7 @@ class NamingToolbar(gtk.Toolbar):
self._keep_button.show()
def _add_separator(self, expand=False):
separator = gtk.SeparatorToolItem()
separator = Gtk.SeparatorToolItem()
separator.props.draw = False
if expand:
separator.set_expand(True)
@@ -97,7 +97,7 @@ class NamingToolbar(gtk.Toolbar):
separator.show()
def _add_widget(self, widget, expand=False):
tool_item = gtk.ToolItem()
tool_item = Gtk.ToolItem()
tool_item.set_expand(expand)
tool_item.add(widget)
@@ -110,11 +110,11 @@ class NamingToolbar(gtk.Toolbar):
self.emit('keep-clicked')
class FavoriteIcon(gtk.ToggleButton):
class FavoriteIcon(Gtk.ToggleButton):
def __init__(self):
gtk.ToggleButton.__init__(self)
self.set_relief(gtk.RELIEF_NONE)
GObject.GObject.__init__(self)
self.set_relief(Gtk.ReliefStyle.NONE)
self.set_focus_on_click(False)
self._icon = Icon(icon_name='emblem-favorite',
@@ -127,7 +127,7 @@ class FavoriteIcon(gtk.ToggleButton):
def __toggled_cb(self, widget):
if self.get_active():
client = gconf.client_get_default()
client = GConf.Client.get_default()
color = XoColor(client.get_string('/desktop/sugar/user/color'))
self._icon.props.xo_color = color
else:
@@ -143,12 +143,12 @@ class FavoriteIcon(gtk.ToggleButton):
self._icon.props.fill_color = style.COLOR_TRANSPARENT.get_svg()
class NamingAlert(gtk.Window):
class NamingAlert(Gtk.Window):
__gtype_name__ = 'SugarNamingAlert'
def __init__(self, activity, bundle_path):
gtk.Window.__init__(self)
GObject.GObject.__init__(self)
self._bundle_path = bundle_path
self._favorite_icon = None
@@ -156,16 +156,16 @@ class NamingAlert(gtk.Window):
self._description = None
self._tags = None
accel_group = gtk.AccelGroup()
accel_group = Gtk.AccelGroup()
self.set_data('sugar-accel-group', accel_group)
self.add_accel_group(accel_group)
self.set_border_width(style.LINE_WIDTH)
offset = style.GRID_CELL_SIZE
width = gtk.gdk.screen_width() - offset * 2
height = gtk.gdk.screen_height() - offset * 2
width = Gdk.Screen.width() - offset * 2
height = Gdk.Screen.height() - offset * 2
self.set_size_request(width, height)
self.set_position(gtk.WIN_POS_CENTER_ALWAYS)
self.set_position(Gtk.WindowPosition.CENTER_ALWAYS)
self.set_decorated(False)
self.set_resizable(False)
self.set_modal(True)
@@ -173,7 +173,7 @@ class NamingAlert(gtk.Window):
self._activity = activity
vbox = gtk.VBox()
vbox = Gtk.VBox()
self.add(vbox)
vbox.show()
@@ -189,23 +189,23 @@ class NamingAlert(gtk.Window):
self._title.grab_focus()
def _create_body(self):
body = gtk.VBox(spacing=style.DEFAULT_SPACING)
body = Gtk.VBox(spacing=style.DEFAULT_SPACING)
body.set_border_width(style.DEFAULT_SPACING * 3)
header = self._create_header()
body.pack_start(header, False, False, style.DEFAULT_PADDING)
body.pack_start(self._create_separator(style.DEFAULT_SPACING), False, False, 0)
body.pack_start(self._create_separator(style.DEFAULT_SPACING, True, True, 0), False, False, 0)
body.pack_start(self._create_label(_('Description:')), False, False, 0)
body.pack_start(self._create_label(_('Description:', True, True, 0)), False, False, 0)
description = self._activity.metadata.get('description', '')
description_box, self._description = self._create_text_view(description)
body.pack_start(description_box, True, True, 0)
body.pack_start(self._create_separator(style.DEFAULT_PADDING), False, False, 0)
body.pack_start(self._create_separator(style.DEFAULT_PADDING, True, True, 0), False, False, 0)
body.pack_start(self._create_label(_('Tags:')), False, False, 0)
body.pack_start(self._create_label(_('Tags:', True, True, 0)), False, False, 0)
tags = self._activity.metadata.get('tags', '')
tags_box, self._tags = self._create_text_view(tags)
@@ -215,29 +215,29 @@ class NamingAlert(gtk.Window):
return body
def _create_label(self, text):
text = gtk.Label(text)
text = Gtk.Label(label=text)
text.set_alignment(0, 0.5)
text.modify_fg(gtk.STATE_NORMAL,
text.modify_fg(Gtk.StateType.NORMAL,
style.COLOR_BUTTON_GREY.get_gdk_color())
return text
def _create_separator(self, height):
separator = gtk.HSeparator()
separator.modify_bg(gtk.STATE_NORMAL, style.COLOR_WHITE.get_gdk_color())
separator = Gtk.HSeparator()
separator.modify_bg(Gtk.StateType.NORMAL, style.COLOR_WHITE.get_gdk_color())
separator.set_size_request(-1, height)
return separator
def _create_header(self):
header = gtk.HBox(spacing=style.DEFAULT_SPACING)
header = Gtk.HBox(spacing=style.DEFAULT_SPACING)
self._favorite_icon = FavoriteIcon()
header.pack_start(self._favorite_icon, expand=False)
header.pack_start(self._favorite_icon, False, True, 0)
entry_icon = self._create_entry_icon()
header.pack_start(entry_icon, expand=False)
header.pack_start(entry_icon, False, True, 0)
self._title = self._create_title()
header.pack_start(self._title, expand=True)
header.pack_start(self._title, True, True, 0)
return header
@@ -251,26 +251,26 @@ class NamingAlert(gtk.Window):
else:
activity_bundle = ActivityBundle(self._bundle_path)
file_name = activity_bundle.get_icon()
entry_icon = Icon(file=file_name, icon_size=gtk.ICON_SIZE_LARGE_TOOLBAR)
entry_icon = Icon(file=file_name, icon_size=Gtk.IconSize.LARGE_TOOLBAR)
if self._activity.metadata.get('icon-color'):
entry_icon.props.xo_color = XoColor( \
self._activity.metadata['icon-color'])
return entry_icon
def _create_title(self):
title = gtk.Entry()
title = Gtk.Entry()
title.set_text(self._activity.metadata.get('title', _('Untitled')))
return title
def _create_text_view(self, text):
scrolled_window = gtk.ScrolledWindow()
scrolled_window.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
scrolled_window = Gtk.ScrolledWindow()
scrolled_window.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
scrolled_window.set_border_width(style.LINE_WIDTH)
scrolled_window.set_shadow_type(gtk.SHADOW_IN)
scrolled_window.set_shadow_type(Gtk.ShadowType.IN)
text_view = gtk.TextView()
text_view = Gtk.TextView()
text_view.set_left_margin(style.DEFAULT_PADDING)
text_view.set_wrap_mode(gtk.WRAP_WORD_CHAR)
text_view.set_wrap_mode(Gtk.WrapMode.WORD_CHAR)
text_view.set_accepts_tab(False)
text_view.get_buffer().set_text(text)
scrolled_window.add(text_view)
@@ -278,7 +278,7 @@ class NamingAlert(gtk.Window):
return scrolled_window, text_view
def __realize_cb(self, widget):
self.window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DIALOG)
self.set_type_hint(Gdk.WindowTypeHint.DIALOG)
self.window.set_accept_focus(True)
def __keep_cb(self, widget):
+17 -17
View File
@@ -15,10 +15,10 @@
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
from gtk import gdk
import gtk
from gi.repository import Gdk
from gi.repository import Gtk
import gettext
import gconf
from gi.repository import GConf
import logging
from sugar3.graphics.toolbutton import ToolButton
@@ -38,7 +38,7 @@ def _create_activity_icon(metadata):
if metadata is not None and metadata.get('icon-color'):
color = XoColor(metadata['icon-color'])
else:
client = gconf.client_get_default()
client = GConf.Client.get_default()
color = XoColor(client.get_string('/desktop/sugar/user/color'))
from sugar3.activity.activity import get_bundle_path
@@ -173,7 +173,7 @@ class KeepButton(ToolButton):
self.props.tooltip = _('Keep')
self.props.accelerator = '<Ctrl>S'
client = gconf.client_get_default()
client = GConf.Client.get_default()
color = XoColor(client.get_string('/desktop/sugar/user/color'))
keep_icon = Icon(icon_name='document-save', xo_color=color)
keep_icon.show()
@@ -185,14 +185,14 @@ class KeepButton(ToolButton):
activity.copy()
class TitleEntry(gtk.ToolItem):
class TitleEntry(Gtk.ToolItem):
def __init__(self, activity, **kwargs):
gtk.ToolItem.__init__(self)
Gtk.ToolItem.__init__(self)
self.set_expand(False)
self.entry = gtk.Entry(**kwargs)
self.entry.set_size_request(int(gtk.gdk.screen_width() / 3), -1)
self.entry = Gtk.Entry(**kwargs)
self.entry.set_size_request(int(Gdk.Screen.width() / 3), -1)
self.entry.set_text(activity.metadata['title'])
self.entry.connect('focus-out-event', self.__title_changed_cb, activity)
self.entry.show()
@@ -202,11 +202,11 @@ class TitleEntry(gtk.ToolItem):
activity.connect('_closing', self.__closing_cb)
def modify_bg(self, state, color):
gtk.ToolItem.modify_bg(self, state, color)
Gtk.ToolItem.modify_bg(self, state, color)
self.entry.modify_bg(state, color)
def __jobject_updated_cb(self, jobject):
if self.entry.flags() & gtk.HAS_FOCUS:
if self.entry.has_focus():
return
if self.entry.get_text() == jobject['title']:
return
@@ -236,7 +236,7 @@ class TitleEntry(gtk.ToolItem):
shared_activity.props.name = title
class ActivityToolbar(gtk.Toolbar):
class ActivityToolbar(Gtk.Toolbar):
"""The Activity toolbar with the Journal entry title, sharing
and Stop buttons
@@ -245,7 +245,7 @@ class ActivityToolbar(gtk.Toolbar):
"""
def __init__(self, activity, orientation_left=False):
gtk.Toolbar.__init__(self)
Gtk.Toolbar.__init__(self)
self._activity = activity
@@ -256,7 +256,7 @@ class ActivityToolbar(gtk.Toolbar):
self.title = title_button.entry
if orientation_left == False:
separator = gtk.SeparatorToolItem()
separator = Gtk.SeparatorToolItem()
separator.props.draw = False
separator.set_expand(True)
self.insert(separator, -1)
@@ -274,7 +274,7 @@ class ActivityToolbar(gtk.Toolbar):
self.stop.show()
class EditToolbar(gtk.Toolbar):
class EditToolbar(Gtk.Toolbar):
"""Provides the standard edit toolbar for Activities.
Members:
@@ -309,7 +309,7 @@ class EditToolbar(gtk.Toolbar):
"""
def __init__(self):
gtk.Toolbar.__init__(self)
Gtk.Toolbar.__init__(self)
self.undo = UndoButton()
self.insert(self.undo, -1)
@@ -319,7 +319,7 @@ class EditToolbar(gtk.Toolbar):
self.insert(self.redo, -1)
self.redo.show()
self.separator = gtk.SeparatorToolItem()
self.separator = Gtk.SeparatorToolItem()
self.separator.set_draw(True)
self.insert(self.separator, -1)
self.separator.show()