Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/mmm_modules/image_category.py
diff options
context:
space:
mode:
Diffstat (limited to 'mmm_modules/image_category.py')
-rwxr-xr-xmmm_modules/image_category.py59
1 files changed, 28 insertions, 31 deletions
diff --git a/mmm_modules/image_category.py b/mmm_modules/image_category.py
index 4ea4782..92af2ee 100755
--- a/mmm_modules/image_category.py
+++ b/mmm_modules/image_category.py
@@ -17,18 +17,15 @@
# If you find this activity useful or end up using parts of it in one of your
# own creations we would love to hear from you at info@WorldWideWorkshop.org !
#
-
-import pygtk
-pygtk.require('2.0')
-import gtk, gobject
+from gi.repository import Gtk, GObject
import os
from glob import glob
import logging
import md5
-from sugar import mime
-from sugar.graphics.objectchooser import ObjectChooser
+from sugar3 import mime
+from sugar3.graphics.objectchooser import ObjectChooser
from borderframe import BorderFrame
from utils import load_image, resize_image, RESIZE_CUT
@@ -156,7 +153,7 @@ class CategoryDirectory (object):
return load_image(thumbs[0], self.twidth, self.theight)
-class ImageSelectorWidget (gtk.Table):
+class ImageSelectorWidget (Gtk.Table):
__gsignals__ = {'category_press' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, ()),
'image_press' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, ()),}
@@ -167,12 +164,12 @@ class ImageSelectorWidget (gtk.Table):
prepare_btn_cb=prepare_btn,
method=RESIZE_CUT,
image_dir=None):
- gtk.Table.__init__(self, 2,5,False)
+ Gtk.Table.__init__(self, 2,5,False)
self._signals = []
self.parentp = parentp
self.width = width
self.height = height
- self.image = gtk.Image()
+ self.image = Gtk.Image()
self.method = method
#self.set_myownpath(MYOWNPIC_FOLDER)
img_box = BorderFrame(border_color=frame_color)
@@ -180,30 +177,30 @@ class ImageSelectorWidget (gtk.Table):
img_box.set_border_width(5)
self._signals.append((img_box, img_box.connect('button_press_event', self.emit_image_pressed)))
self.attach(img_box, 0,5,0,1,0,0)
- self.attach(gtk.Label(), 0,1,1,2)
- self.bl = gtk.Button()
+ self.attach(Gtk.Label(), 0,1,1,2)
+ self.bl = Gtk.Button()
- il = gtk.Image()
+ il = Gtk.Image()
il.set_from_pixbuf(load_image(os.path.join(iconpath, 'arrow_left.png')))
self.bl.set_image(il)
self.bl.connect('clicked', self.previous)
self.attach(prepare_btn_cb(self.bl), 1,2,1,2,0,0)
- cteb = gtk.EventBox()
- self.cat_thumb = gtk.Image()
+ cteb = Gtk.EventBox()
+ self.cat_thumb = Gtk.Image()
self.cat_thumb.set_size_request(THUMB_SIZE, THUMB_SIZE)
cteb.add(self.cat_thumb)
self._signals.append((cteb, cteb.connect('button_press_event', self.emit_cat_pressed)))
self.attach(cteb, 2,3,1,2,0,0,xpadding=10)
- self.br = gtk.Button()
- ir = gtk.Image()
+ self.br = Gtk.Button()
+ ir = Gtk.Image()
ir.set_from_pixbuf(load_image(os.path.join(iconpath,'arrow_right.png')))
self.br.set_image(ir)
self.br.connect('clicked', self.next)
self.attach(prepare_btn_cb(self.br), 3,4,1,2,0,0)
- self.attach(gtk.Label(),4,5,1,2)
+ self.attach(Gtk.Label(),4,5,1,2)
self.filename = None
self.show_all()
self.image.set_size_request(width, height)
@@ -220,17 +217,17 @@ class ImageSelectorWidget (gtk.Table):
filter = { }
chooser = ObjectChooser(_('Choose image'), self.parentp, #self._parent,
- gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
+ Gtk.DialogFlags.MODAL | Gtk.DialogFlags.DESTROY_WITH_PARENT,
**filter)
try:
result = chooser.run()
- if result == gtk.RESPONSE_ACCEPT:
+ if result == Gtk.ResponseType.ACCEPT:
jobject = chooser.get_selected_object()
if jobject and jobject.file_path:
if self.load_image(str(jobject.file_path), True):
pass
else:
- err = gtk.MessageDialog(self._parent, gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK,
+ err = Gtk.MessageDialog(self._parent, Gtk.DialogFlags.MODAL, Gtk.MESSAGE_ERROR, Gtk.BUTTONS_OK,
_("Not a valid image file"))
err.run()
err.destroy()
@@ -395,12 +392,12 @@ class ImageSelectorWidget (gtk.Table):
self.set_image_dir(obj.get('image_dir', None))
self.image.set_from_pixbuf(self.category.get_image(obj.get('filename', None)))
-class CategorySelector (gtk.ScrolledWindow):
+class CategorySelector (Gtk.ScrolledWindow):
__gsignals__ = {'selected' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, (str,))}
def __init__ (self, title=None, selected_category_path=None, path=None, extra=()):
- gtk.ScrolledWindow.__init__ (self)
- self.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+ Gtk.ScrolledWindow.__init__ (self)
+ self.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
if path is None:
path = os.path.join(mmmpath, 'mmm_images')
self.path = path
@@ -408,12 +405,12 @@ class CategorySelector (gtk.ScrolledWindow):
model, selected = self.get_model(path, selected_category_path, extra)
self.ignore_first = selected is not None
- self.treeview = gtk.TreeView()
- col = gtk.TreeViewColumn(title)
- r1 = gtk.CellRendererPixbuf()
- r2 = gtk.CellRendererText()
- col.pack_start(r1, False)
- col.pack_start(r2, True)
+ self.treeview = Gtk.TreeView()
+ col = Gtk.TreeViewColumn(title)
+ r1 = Gtk.CellRendererPixbuf()
+ r2 = Gtk.CellRendererText()
+ col.pack_start(r1, False, True, 0)
+ col.pack_start(r2, True, True, 0)
col.set_cell_data_func(r1, self.cell_pb)
col.set_attributes(r2, text=1)
self.treeview.append_column(col)
@@ -442,8 +439,8 @@ class CategorySelector (gtk.ScrolledWindow):
def get_model (self, path, selected_path, extra):
# Each row is (path/dirname, pretty name, 0 based index)
selected = None
- store = gtk.ListStore(str, str, int)
- store.set_sort_column_id(1, gtk.SORT_ASCENDING)
+ store = Gtk.ListStore(str, str, int)
+ store.set_sort_column_id(1, Gtk.SortType.ASCENDING)
files = [os.path.join(path, x) for x in os.listdir(path) if not x.startswith('.')]
files.extend(extra)
for fullpath, prettyname in [(x, _(os.path.basename(x))) for x in files if os.path.isdir(x)]: