Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAneesh Dogra <lionaneesh@gmail.com>2012-12-08 16:06:52 (GMT)
committer Aneesh Dogra <lionaneesh@gmail.com>2012-12-08 16:06:52 (GMT)
commitdc1a3c8eaf5a2ab935dc862f8aaf4045ea4c1426 (patch)
tree17f1ff4f44b2dc2e82a55493ac144772704c92a6
parent627406e972c50e62fe627c4f4186fc05ec536acf (diff)
Initial Gkt3 port.
-rw-r--r--ircactivity.py21
-rw-r--r--purk/widgets.py150
-rw-r--r--purk/windows.py37
-rwxr-xr-xsetup.py2
4 files changed, 106 insertions, 104 deletions
diff --git a/ircactivity.py b/ircactivity.py
index 58ddd04..47e5510 100644
--- a/ircactivity.py
+++ b/ircactivity.py
@@ -18,11 +18,12 @@
import logging
from gettext import gettext as _
-import gtk
+from gi.repository import Gtk
+from gi.repository import Gdk
import simplejson
-from sugar.activity import activity
-from sugar import env
+from sugar3.activity import activity
+from sugar3 import env
import purk
import purk.conf
import purk.windows
@@ -36,7 +37,7 @@ class IRCActivity(activity.Activity):
logging.debug('Starting the IRC Activity')
self.set_title(_('IRC Activity'))
- self.add_events(gtk.gdk.VISIBILITY_NOTIFY_MASK)
+ self.add_events(Gdk.VISIBILITY_NOTIFY_MASK)
self.connect('visibility-notify-event',
self.__visibility_notify_event_cb)
@@ -55,16 +56,16 @@ class IRCActivity(activity.Activity):
OLD_TOOLBAR = False
try:
- from sugar.graphics.toolbarbox import ToolbarBox, ToolbarButton
- from sugar.activity.widgets import ActivityToolbarButton, StopButton, \
+ from sugar3.graphics.toolbarbox import ToolbarBox, ToolbarButton
+ from sugar3.activity.widgets import ActivityToolbarButton, StopButton, \
ShareButton, KeepButton, TitleEntry, ActivityButton
except ImportError:
OLD_TOOLBAR = True
if OLD_TOOLBAR:
- from sugar.activity.activity import Activity, ActivityToolbox
- toolbox = activity.ActivityToolbox(self)
+ from sugar3.activity import widgets
+ toolbox = widgets.ActivityToolbox(self)
# Remove the Share button, since this activity isn't shareable
toolbar = toolbox.get_activity_toolbar()
@@ -86,7 +87,7 @@ class IRCActivity(activity.Activity):
toolbar_box.toolbar.insert(keep_button, -1)
keep_button.show()
- separator = gtk.SeparatorToolItem()
+ separator = Gtk.SeparatorToolItem()
separator.props.draw = False
separator.set_expand(True)
toolbar_box.toolbar.insert(separator, -1)
@@ -100,7 +101,7 @@ class IRCActivity(activity.Activity):
toolbar_box.show()
def __visibility_notify_event_cb(self, window, event):
- self.is_visible = event.state != gtk.gdk.VISIBILITY_FULLY_OBSCURED
+ self.is_visible = event.state != Gdk.VISIBILITY_FULLY_OBSCURED
#Configuracion por defecto
diff --git a/purk/widgets.py b/purk/widgets.py
index 559bd07..abbaddc 100644
--- a/purk/widgets.py
+++ b/purk/widgets.py
@@ -1,9 +1,9 @@
import codecs
import gobject
-import gtk
-import gtk.gdk
-import pango
+from gi.repository import Gtk
+from gi.repository import Gdk
+from gi.repository import Pango
from conf import conf
import parse_mirc
@@ -23,12 +23,12 @@ ACTIVITY_MARKUP = {
}
# This holds all tags for all windows ever
-tag_table = gtk.TextTagTable()
+tag_table = Gtk.TextTagTable()
-link_tag = gtk.TextTag('link')
+link_tag = Gtk.TextTag('link')
link_tag.set_property('underline', pango.UNDERLINE_SINGLE)
-indent_tag = gtk.TextTag('indent')
+indent_tag = Gtk.TextTag('indent')
indent_tag.set_property('indent', -20)
tag_table.add(link_tag)
@@ -43,14 +43,14 @@ def style_me(widget, style):
def set_style(widget_name, style):
if style:
# FIXME: find a better way...
- dummy = gtk.Label()
+ dummy = Gtk.Label()
dummy.set_style(None)
def apply_style_fg(value):
- dummy.modify_text(gtk.STATE_NORMAL, gtk.gdk.color_parse(value))
+ dummy.modify_text(Gtk.StateType.NORMAL, Gdk.color.parse(value))
def apply_style_bg(value):
- dummy.modify_base(gtk.STATE_NORMAL, gtk.gdk.color_parse(value))
+ dummy.modify_base(Gtk.StateType.NORMAL, Gdk.color.parse(value))
def apply_style_font(value):
dummy.modify_font(pango.FontDescription(value))
@@ -82,19 +82,19 @@ def menu_from_list(alist):
if len(item) == 2:
name, function = item
- menuitem = gtk.ImageMenuItem(name)
+ menuitem = Gtk.ImageMenuItem(name)
elif len(item) == 3:
name, stock_id, function = item
if isinstance(stock_id, bool):
- menuitem = gtk.CheckMenuItem(name)
+ menuitem = Gtk.CheckMenuItem(name)
menuitem.set_active(stock_id)
else:
- menuitem = gtk.ImageMenuItem(stock_id)
+ menuitem = Gtk.ImageMenuItem(stock_id)
if isinstance(function, list):
- submenu = gtk.Menu()
+ submenu = Gtk.Menu()
for subitem in menu_from_list(function):
submenu.append(subitem)
menuitem.set_submenu(submenu)
@@ -105,11 +105,11 @@ def menu_from_list(alist):
yield menuitem
else:
- yield gtk.SeparatorMenuItem()
+ yield Gtk.SeparatorMenuItem()
last = item
-class Nicklist(gtk.TreeView):
+class Nicklist(Gtk.TreeView):
def click(self, event):
if event.button == 3:
x, y = event.get_coords()
@@ -121,13 +121,13 @@ class Nicklist(gtk.TreeView):
self.events.trigger("ListRightClick", c_data)
if c_data.menu:
- menu = gtk.Menu()
+ menu = Gtk.Menu()
for item in menu_from_list(c_data.menu):
menu.append(item)
menu.show_all()
menu.popup(None, None, None, event.button, event.time)
- elif event.button == 1 and event.type == gtk.gdk._2BUTTON_PRESS:
+ elif event.button == 1 and event.type == Gdk.EventType._2BUTTON_PRESS:
x, y = event.get_coords()
(data,), path, x, y = self.get_path_at_pos(int(x), int(y))
@@ -159,16 +159,16 @@ class Nicklist(gtk.TreeView):
self.get_model().insert(pos, (realname, markedupname, sortkey))
def replace(self, names):
- self.set_model(gtk.ListStore(str, str, str))
+ self.set_model(Gtk.ListStore(str, str, str))
self.insert_column_with_attributes(
- 0, '', gtk.CellRendererText(), markup=1
- ).set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
+ 0, '', Gtk.CellRendererText(), markup=1
+ ).set_sizing(Gtk.TreeViewColumnSizing.FIXED)
for name in names:
self.append(*name)
- self.get_model().set_sort_column_id(2, gtk.SORT_ASCENDING)
+ self.get_model().set_sort_column_id(2, Gtk.GTK_SORT_ASCENDING)
def remove(self, realname):
index = self.index(realname)
@@ -189,7 +189,7 @@ class Nicklist(gtk.TreeView):
self.core = core
self.events = core.events
- gtk.TreeView.__init__(self)
+ Gtk.TreeView.__init__(self)
self.replace(())
@@ -201,7 +201,7 @@ class Nicklist(gtk.TreeView):
style_me(self, "nicklist")
# Label used to display/edit your current nick on a network
-class NickEditor(gtk.EventBox):
+class NickEditor(Gtk.EventBox):
def nick_change(self, entry):
oldnick, newnick = self.label.get_text(), entry.get_text()
@@ -222,14 +222,14 @@ class NickEditor(gtk.EventBox):
self.events.trigger("NickEditMenu", c_data)
if c_data.menu:
- menu = gtk.Menu()
+ menu = Gtk.Menu()
for item in menu_from_list(c_data.menu):
menu.append(item)
menu.show_all()
menu.popup(None, None, None, event.button, event.time)
else:
- entry = gtk.Entry()
+ entry = Gtk.Entry()
entry.set_text(self.label.get_text())
entry.connect('activate', self.nick_change)
entry.connect('focus-out-event', self.to_show_mode)
@@ -245,14 +245,14 @@ class NickEditor(gtk.EventBox):
self.remove(widget)
self.add(self.label)
self.win.input.grab_focus()
- self.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.XTERM))
+ self.window.set_cursor(Gdk.Cursor(Gdk.XTERM))
def __init__(self, window, core):
- gtk.EventBox.__init__(self)
+ Gtk.EventBox.__init__(self)
self.events = core.events
self.win = window
- self.label = gtk.Label()
+ self.label = Gtk.Label()
self.label.set_padding(5, 0)
self.add(self.label)
@@ -262,11 +262,11 @@ class NickEditor(gtk.EventBox):
self.connect(
"realize",
- lambda *a: self.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.XTERM))
+ lambda *a: self.window.set_cursor(Gtk.gdk.Cursor(Gdk.XTERM))
)
# The entry which you type in to send messages
-class TextInput(gtk.Entry):
+class TextInput(Gtk.Entry):
# Generates an input event
def entered_text(self, ctrl):
for line in self.text.splitlines():
@@ -288,9 +288,9 @@ class TextInput(gtk.Entry):
self.select_region(self.cursor, self.cursor)
#some nice toys for the scriptors
- text = property(gtk.Entry.get_text, gtk.Entry.set_text)
- cursor = property(gtk.Entry.get_position, gtk.Entry.set_position)
- selection = property(gtk.Entry.get_selection_bounds, _set_selection)
+ text = property(Gtk.Entry.get_text, Gtk.Entry.set_text)
+ cursor = property(Gtk.Entry.get_position, Gtk.Entry.set_position)
+ selection = property(Gtk.Entry.get_selection_bounds, _set_selection)
def insert(self, text):
self.do_insert_at_cursor(self, text)
@@ -299,14 +299,14 @@ class TextInput(gtk.Entry):
def do_grab_focus(self):
temp = self.text, (self.selection or (self.cursor,)*2)
self.text = ''
- gtk.Entry.do_grab_focus(self)
+ Gtk.Entry.do_grab_focus(self)
self.text, self.selection = temp
def keypress(self, event):
keychar = (
- (gtk.gdk.CONTROL_MASK, '^'),
- (gtk.gdk.SHIFT_MASK, '+'),
- (gtk.gdk.MOD1_MASK, '!')
+ (Gdk.CONTROL_MASK, '^'),
+ (Gdk.SHIFT_MASK, '+'),
+ (Gdk.MOD1_MASK, '!')
)
key = ''
@@ -314,21 +314,21 @@ class TextInput(gtk.Entry):
# we make this an int, because otherwise it leaks
if int(event.state) & keymod:
key += char
- key += gtk.gdk.keyval_name(event.keyval)
+ key += Gdk.keyval_name(event.keyval)
self.events.trigger('KeyPress', key=key, string=event.string, window=self.win)
if key == "^Return":
self.entered_text(True)
- up = gtk.gdk.keyval_from_name("Up")
- down = gtk.gdk.keyval_from_name("Down")
- tab = gtk.gdk.keyval_from_name("Tab")
+ up = Gdk.keyval_from_name("Up")
+ down = Gdk.keyval_from_name("Down")
+ tab = Gdk.keyval_from_name("Tab")
return event.keyval in (up, down, tab)
def __init__(self, window, core):
- gtk.Entry.__init__(self)
+ Gtk.Entry.__init__(self)
self.events = core.events
self.core = core
self.win = window
@@ -362,7 +362,7 @@ def word_from_pos(text, pos):
def get_iter_at_coords(view, x, y):
return view.get_iter_at_location(
- *view.window_to_buffer_coords(gtk.TEXT_WINDOW_TEXT, int(x), int(y))
+ *view.window_to_buffer_coords(Gtk.TEXT_WINDOW_TEXT, int(x), int(y))
)
def get_event_at_iter(view, iter, core):
@@ -376,7 +376,7 @@ def get_event_at_iter(view, iter, core):
#Caveat: text must be a unicode string, not utf-8 encoded; otherwise our
# offsets will be off when we use anything outside 7-bit ascii
- #gtk.TextIter.get_text returns unicode but gtk.TextBuffer.get_text does not
+ #Gtk.TextIter.get_text returns unicode but Gtk.TextBuffer.get_text does not
text = line_strt.get_text(line_end).rstrip("\n")
word, fr, to = word_from_pos(text, pos)
@@ -386,7 +386,7 @@ def get_event_at_iter(view, iter, core):
target=word, target_fr=fr, target_to=to,
)
-class TextOutput(gtk.TextView):
+class TextOutput(Gtk.TextView):
def copy(self):
startend = self.get_buffer().get_selection_bounds()
@@ -408,8 +408,8 @@ class TextOutput(gtk.TextView):
text = parse_mirc.unparse_mirc(tagsandtext)
- gtk.clipboard_get(gtk.gdk.SELECTION_CLIPBOARD).set_text(text)
- gtk.clipboard_get(gtk.gdk.SELECTION_PRIMARY).set_text(text)
+ Gtk.clipboard_get(Gdk.SELECTION_CLIPBOARD).set_text(text)
+ Gtk.clipboard_get(Gdk.SELECTION_PRIMARY).set_text(text)
return text
@@ -528,7 +528,7 @@ class TextOutput(gtk.TextView):
)
self.linking = set()
- self.get_window(gtk.TEXT_WINDOW_TEXT).set_cursor(None)
+ self.get_window(Gtk.TEXT_WINDOW_TEXT).set_cursor(None)
def hover(self, event):
if self.linking:
@@ -561,8 +561,8 @@ class TextOutput(gtk.TextView):
)
self.get_window(
- gtk.TEXT_WINDOW_TEXT
- ).set_cursor(gtk.gdk.Cursor(gtk.gdk.HAND2))
+ Gtk.TEXT_WINDOW_TEXT
+ ).set_cursor(Gdk.Cursor(Gdk.HAND2))
self.get_pointer()
@@ -583,16 +583,16 @@ class TextOutput(gtk.TextView):
def __init__(self, core, window, buffer=None):
if not buffer:
- buffer = gtk.TextBuffer(tag_table)
+ buffer = Gtk.TextBuffer(tag_table)
- gtk.TextView.__init__(self, buffer)
+ Gtk.TextView.__init__(self, buffer)
self.core = core
self.events = core.events
self.win = window
self.set_size_request(0, -1)
- self.set_wrap_mode(gtk.WRAP_WORD_CHAR)
+ self.set_wrap_mode(Gtk.WRAP_WORD_CHAR)
self.set_editable(False)
self.set_cursor_visible(False)
@@ -601,8 +601,8 @@ class TextOutput(gtk.TextView):
self.linking = set()
- self.add_events(gtk.gdk.POINTER_MOTION_HINT_MASK)
- self.add_events(gtk.gdk.LEAVE_NOTIFY_MASK)
+ self.add_events(Gdk.POINTER_MOTION_HINT_MASK)
+ self.add_events(Gdk.LEAVE_NOTIFY_MASK)
self.connect('populate-popup', TextOutput.popup)
self.connect('motion-notify-event', TextOutput.hover)
@@ -615,7 +615,7 @@ class TextOutput(gtk.TextView):
self.autoscroll = True
self._scrolling = False
- self.scroller = gtk.Adjustment()
+ self.scroller = Gtk.Adjustment()
def setup_scroll(self, _adj, vadj):
self.scroller = vadj
@@ -630,13 +630,13 @@ class TextOutput(gtk.TextView):
self.connect("size-allocate", TextOutput.scroll)
def set_cursor(widget):
- self.get_window(gtk.TEXT_WINDOW_TEXT).set_cursor(None)
+ self.get_window(Gtk.TEXT_WINDOW_TEXT).set_cursor(None)
self.connect("realize", set_cursor)
style_me(self, "view")
-class WindowLabel(gtk.EventBox):
+class WindowLabel(Gtk.EventBox):
def update(self):
title = self.win.get_title()
@@ -657,24 +657,24 @@ class WindowLabel(gtk.EventBox):
c_data.menu += [
None,
- ("Close", gtk.STOCK_CLOSE, self.win.close),
+ ("Close", Gtk.STOCK_CLOSE, self.win.close),
]
- menu = gtk.Menu()
+ menu = Gtk.Menu()
for item in menu_from_list(c_data.menu):
menu.append(item)
menu.show_all()
menu.popup(None, None, None, event.button, event.time)
def __init__(self, window, core):
- gtk.EventBox.__init__(self)
+ Gtk.EventBox.__init__(self)
self.core = core
self.events = core.events
self.win = window
self.connect("button-press-event", WindowLabel.tab_popup)
- self.label = gtk.Label()
+ self.label = Gtk.Label()
self.add(self.label)
self.update()
@@ -703,11 +703,11 @@ class FindBox(gtk.HBox):
if search_down:
cursor = cursor_iter.forward_search(
- text, gtk.TEXT_SEARCH_VISIBLE_ONLY
+ text, Gtk.TEXT_SEARCH_VISIBLE_ONLY
)
else:
cursor = cursor_iter.backward_search(
- text, gtk.TEXT_SEARCH_VISIBLE_ONLY
+ text, Gtk.TEXT_SEARCH_VISIBLE_ONLY
)
if not cursor:
@@ -727,12 +727,12 @@ class FindBox(gtk.HBox):
cursor_iter = buffer.get_iter_at_mark(buffer.get_insert())
def __init__(self, window):
- gtk.HBox.__init__(self)
+ Gtk.HBox.__init__(self)
self.win = window
- self.up = gtk.Button(stock='gtk-go-up')
- self.down = gtk.Button(stock='gtk-go-down')
+ self.up = Gtk.Button(stock='gtk-go-up')
+ self.down = Gtk.Button(stock='gtk-go-down')
self.up.connect('clicked', self.clicked)
self.down.connect('clicked', self.clicked, True)
@@ -740,12 +740,12 @@ class FindBox(gtk.HBox):
self.up.set_property('can_focus', False)
self.down.set_property('can_focus', False)
- self.textbox = gtk.Entry()
+ self.textbox = Gtk.Entry()
self.textbox.connect('focus-out-event', self.remove)
self.textbox.connect('activate', self.clicked)
- self.pack_start(gtk.Label('Find:'), expand=False)
+ self.pack_start(Gtk.Label('Find:'), expand=False)
self.pack_start(self.textbox)
self.pack_start(self.up, expand=False)
@@ -753,18 +753,18 @@ class FindBox(gtk.HBox):
self.show_all()
-class UrkUITabs(gtk.VBox):
+class UrkUITabs(Gtk.VBox):
def __init__(self, core):
- gtk.VBox.__init__(self)
+ Gtk.VBox.__init__(self)
# threading stuff
- gtk.gdk.threads_init()
+ Gdk.threads_init()
self.core = core
self.events = core.events
self.tabs = Notebook()
self.tabs.set_property(
"tab-pos",
- conf.get("ui-gtk/tab-pos", gtk.POS_BOTTOM)
+ conf.get("ui-gtk/tab-pos", Gtk.POS_BOTTOM)
)
self.tabs.set_scrollable(True)
@@ -801,9 +801,9 @@ class UrkUITabs(gtk.VBox):
def update(self, window):
self.tabs.get_tab_label(window).update()
-class Notebook(gtk.Notebook):
+class Notebook(Gtk.Notebook):
def __init__(self):
- gtk.Notebook.__init__(self)
+ Gtk.Notebook.__init__(self)
self.connect("switch-page", Notebook.switch_page, self)
def switch_page(self, page, pnum, data):
diff --git a/purk/windows.py b/purk/windows.py
index 28965ed..6ec45e6 100644
--- a/purk/windows.py
+++ b/purk/windows.py
@@ -1,4 +1,5 @@
-import gtk
+from gi.repository import Gtk
+from gi.repository import Gdk
import irc
from conf import conf
@@ -60,7 +61,7 @@ def get_default(network, manager):
for window in get_with(manager, None, network):
return window
-class Window(gtk.VBox):
+class Window(Gtk.VBox):
need_vbox_init = True
def transfer_text(self, _widget, event):
@@ -126,7 +127,7 @@ class Window(gtk.VBox):
if self.need_vbox_init:
#make sure we don't call this an extra time when mutating
- gtk.VBox.__init__(self, False)
+ Gtk.VBox.__init__(self, False)
self.need_vbox_init = False
if hasattr(self, "buffer"):
@@ -161,7 +162,7 @@ class SimpleWindow(Window):
self.pack_end(self.input, expand=False)
- topbox = gtk.ScrolledWindow()
+ topbox = Gtk.ScrolledWindow()
topbox.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
topbox.add(self.output)
@@ -188,14 +189,14 @@ class StatusWindow(Window):
self.focus = self.input.grab_focus
self.connect("key-press-event", self.transfer_text)
self.manager = core.manager
- botbox = gtk.HBox()
- botbox.pack_start(self.input)
+ botbox = Gtk.HBox()
+ botbox.add(self.input)
botbox.pack_end(self.nick_label, expand=False)
self.pack_end(botbox, expand=False)
- topbox = gtk.ScrolledWindow()
- topbox.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
+ topbox = Gtk.ScrolledWindow()
+ topbox.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
topbox.add(self.output)
self.pack_end(topbox)
@@ -211,14 +212,14 @@ class QueryWindow(Window):
self.focus = self.input.grab_focus
self.connect("key-press-event", self.transfer_text)
- botbox = gtk.HBox()
+ botbox = Gtk.HBox()
botbox.pack_start(self.input)
botbox.pack_end(self.nick_label, expand=False)
self.pack_end(botbox, expand=False)
- topbox = gtk.ScrolledWindow()
- topbox.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
+ topbox = Gtk.ScrolledWindow()
+ topbox.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
topbox.add(self.output)
self.pack_end(topbox)
@@ -230,7 +231,7 @@ class QueryWindow(Window):
def move_nicklist(paned, event):
paned._moving = (
- event.type == gtk.gdk._2BUTTON_PRESS,
+ event.type == Gdk.EventType._2BUTTON_PRESS,
paned.get_position()
)
@@ -271,23 +272,23 @@ class ChannelWindow(Window):
self.focus = self.input.grab_focus
self.connect("key-press-event", self.transfer_text)
- topbox = gtk.ScrolledWindow()
- topbox.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
+ topbox = Gtk.ScrolledWindow()
+ topbox.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
topbox.add(self.output)
- nlbox = gtk.ScrolledWindow()
- nlbox.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
+ nlbox = Gtk.ScrolledWindow()
+ nlbox.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
nlbox.add(self.nicklist)
nlbox.set_size_request(conf.get("ui-gtk/nicklist-width", 112), -1)
- botbox = gtk.HBox()
+ botbox = Gtk.HBox()
botbox.pack_start(self.input)
botbox.pack_end(self.nick_label, expand=False)
self.pack_end(botbox, expand=False)
- pane = gtk.HPaned()
+ pane = Gtk.HPaned()
pane.pack1(topbox, resize=True, shrink=False)
pane.pack2(nlbox, resize=False, shrink=True)
diff --git a/setup.py b/setup.py
index c400582..5e7f1ff 100755
--- a/setup.py
+++ b/setup.py
@@ -17,7 +17,7 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-from sugar.activity import bundlebuilder
+from sugar3.activity import bundlebuilder
bundlebuilder.start()