diff options
Diffstat (limited to 'gui/page.py')
-rw-r--r-- | gui/page.py | 90 |
1 files changed, 45 insertions, 45 deletions
diff --git a/gui/page.py b/gui/page.py index 183a9af..bee9131 100644 --- a/gui/page.py +++ b/gui/page.py @@ -21,8 +21,8 @@ import gi import os from gi.repository import Gtk import cairo # for getting png for CanvasImage -import pango -import hippo +from gi.repository import Pango +from gi.repository import Hippo import logging import StringIO @@ -51,20 +51,20 @@ from gui import theme from globals import Globals -THUMB_SIZE = min(Gtk.gdk.screen_width(), Gtk.gdk.screen_height()) / 2 +THUMB_SIZE = min(Gdk.Screen.width(), Gdk.Screen.height()) / 2 -class Page(hippo.CanvasBox): +class Page(Hippo.CanvasBox): def __init__(self, **kwargs): - hippo.CanvasBox.__init__(self, **kwargs) + gobject.GObject.__init__(self, **kwargs) self.__alternate_color_listrows = False self.__color_listrow = theme.COLOR_LIST_ROW_ALT.get_int() def append(self, item, *args, **kwargs): - hippo.CanvasBox.append(self, item, *args, **kwargs) + Hippo.CanvasBox.append(self, item, *args, **kwargs) @property @@ -94,12 +94,12 @@ class Page(hippo.CanvasBox): image_file = os.path.join(Globals.pwd, theme.AUDIO_CHOOSE) if not os.path.exists(image_file): logging.debug('cannot find %s' % image_file) - return hippo.CanvasBox() + return Hippo.CanvasBox() surface = cairo.ImageSurface.create_from_png(image_file) - preview_sound = hippo.CanvasImage(image=surface, - xalign=hippo.ALIGNMENT_START, - yalign=hippo.ALIGNMENT_CENTER) + preview_sound = Hippo.CanvasImage(image=surface, + xalign=Hippo.ALIGNMENT_START, + yalign=Hippo.ALIGNMENT_CENTER) preview_sound.connect('button-press-event', self.__do_clicked_preview_sound, obj, property) if hasattr(obj, property) and getattr(obj, property) != None: @@ -107,8 +107,8 @@ class Page(hippo.CanvasBox): else: sound_name = _('Click to choose a sound') - choose_sound = hippo.CanvasText(text=sound_name, - xalign=hippo.ALIGNMENT_START) + choose_sound = Hippo.CanvasText(text=sound_name, + xalign=Hippo.ALIGNMENT_START) choose_sound.connect('button-press-event', self.__do_clicked_choose_sound, obj, property) sound_box = RoundBox() @@ -118,13 +118,13 @@ class Page(hippo.CanvasBox): sound_box.props.border=theme.BORDER_WIDTH_CONTROL / 2 sound_box.props.border_color=theme.COLOR_DARK_GREEN.get_int() sound_box.props.background_color = theme.COLOR_WHITE.get_int() - sound_box.props.orientation=hippo.ORIENTATION_HORIZONTAL - sound_box.props.xalign=hippo.ALIGNMENT_START + sound_box.props.orientation=Hippo.Orientation.HORIZONTAL + sound_box.props.xalign=Hippo.ALIGNMENT_START sound_box.set_clickable(True) sound_box.append(preview_sound) sound_box.append(choose_sound) - deglitch_box = hippo.CanvasBox(xalign=hippo.ALIGNMENT_START, box_width=width) + deglitch_box = Hippo.CanvasBox(xalign=Hippo.ALIGNMENT_START, box_width=width) deglitch_box.append(sound_box) return deglitch_box @@ -155,11 +155,11 @@ class Page(hippo.CanvasBox): border_width = theme.BORDER_WIDTH_IMAGE # the image itself - cover_image = hippo.CanvasImage(image=surface, + cover_image = Hippo.CanvasImage(image=surface, border=border_width, border_color=theme.COLOR_BLACK.get_int(), - xalign=hippo.ALIGNMENT_CENTER, - yalign=hippo.ALIGNMENT_CENTER, + xalign=Hippo.ALIGNMENT_CENTER, + yalign=Hippo.ALIGNMENT_CENTER, scale_width=width, scale_height=height) if editable: @@ -176,14 +176,14 @@ class Page(hippo.CanvasBox): # Grrr... RoundedBoxes and CanvasImages expand their width to their parent # unless they're in a CanvasBox - deglitch_box = hippo.CanvasBox(xalign=hippo.ALIGNMENT_CENTER, padding=padding) + deglitch_box = Hippo.CanvasBox(xalign=Hippo.ALIGNMENT_CENTER, padding=padding) deglitch_box.append(image_box) return deglitch_box - def make_bodytext(self, text, width=-1, xalign = hippo.ALIGNMENT_START, text_color = theme.COLOR_BLACK): - return hippo.CanvasText(text=text, - size_mode=hippo.CANVAS_SIZE_WRAP_WORD, + def make_bodytext(self, text, width=-1, xalign = Hippo.ALIGNMENT_START, text_color = theme.COLOR_BLACK): + return Hippo.CanvasText(text=text, + size_mode=Hippo.CANVAS_SIZE_WRAP_WORD, box_width=width, xalign=xalign, color=text_color.get_int()) @@ -198,12 +198,12 @@ class Page(hippo.CanvasBox): def make_field(self, label, label_width, obj, property, field_width, editable=True): value = self.__get_property_value(obj, property) - field_box = hippo.CanvasBox(orientation=hippo.ORIENTATION_HORIZONTAL, - xalign=hippo.ALIGNMENT_START, + field_box = Hippo.CanvasBox(orientation=Hippo.Orientation.HORIZONTAL, + xalign=Hippo.ALIGNMENT_START, spacing=10) - field_box.append(hippo.CanvasText(text=label, + field_box.append(Hippo.CanvasText(text=label, box_width=label_width, - xalign=hippo.ALIGNMENT_START, + xalign=Hippo.ALIGNMENT_START, color=theme.COLOR_DARK_GREEN.get_int())) #if editable: textfield = self.__textview(value, field_width, -1, editable, False) @@ -211,10 +211,10 @@ class Page(hippo.CanvasBox): field_box.append(textfield) #else: # TODO - move to __textview() #glitch_box = CanvasBox(box_width=field_width) - #glitch_box.append(hippo.CanvasText(text=value, - #size_mode=hippo.CANVAS_SIZE_WRAP_WORD, + #glitch_box.append(Hippo.CanvasText(text=value, + #size_mode=Hippo.CANVAS_SIZE_WRAP_WORD, #box_width=field_width, - #xalign=hippo.ALIGNMENT_START)) + #xalign=Hippo.ALIGNMENT_START)) #field_box.append(glitch_box) return field_box @@ -227,21 +227,21 @@ class Page(hippo.CanvasBox): textview.get_buffer().set_text(text) # control props - textview.set_wrap_mode(Gtk.WRAP_WORD) - textview.modify_base(Gtk.STATE_NORMAL, theme.COLOR_TEXTBOX.get_gdk_color()) + textview.set_wrap_mode(Gtk.WrapMode.WORD) + textview.modify_base(Gtk.StateType.NORMAL, theme.COLOR_TEXTBOX.get_gdk_color()) textview.set_editable(editable) textview.set_cursor_visible(editable) if height == -1: context = textview.create_pango_context() - layout = pango.Layout(context) + layout = Pango.Layout(context) layout.set_text(text[ : text.find('\n')]) (w, h) = layout.get_pixel_size() height = h #+ theme.BORDER_WIDTH_CONTROL / 2 # fudge factor - on the XO-1 hardware all known solutions evaporate textview.set_size_request(width, height) - textview.set_border_window_size(Gtk.TEXT_WINDOW_LEFT, 0) - textview.set_border_window_size(Gtk.TEXT_WINDOW_RIGHT, 0) - textview.set_border_window_size(Gtk.TEXT_WINDOW_TOP, 0) - textview.set_border_window_size(Gtk.TEXT_WINDOW_BOTTOM, 0) + textview.set_border_window_size(Gtk.TextWindowType.LEFT, 0) + textview.set_border_window_size(Gtk.TextWindowType.RIGHT, 0) + textview.set_border_window_size(Gtk.TextWindowType.TOP, 0) + textview.set_border_window_size(Gtk.TextWindowType.BOTTOM, 0) textview.show() if editable: # because rounded corners are well... pretty @@ -252,18 +252,18 @@ class Page(hippo.CanvasBox): border_box.props.border=theme.BORDER_WIDTH_CONTROL / 2 border_box.props.border_color=theme.COLOR_DARK_GREEN.get_int() border_box.props.background_color=theme.COLOR_TEXTBOX.get_int() - border_box.props.xalign=hippo.ALIGNMENT_START + border_box.props.xalign=Hippo.ALIGNMENT_START #border_box.props.box_width = width #border_box.props.box_height = height # TODO - File bug: RoundBox seriously messes with TextView's # (and other things) width !! - deglitch_box = hippo.CanvasBox() - deglitch_box.append(hippo.CanvasWidget(widget=textview)) + deglitch_box = Hippo.CanvasBox() + deglitch_box.append(Hippo.CanvasWidget(widget=textview)) border_box.append(deglitch_box) return border_box - no_edit_box = hippo.CanvasWidget(widget=textview) + no_edit_box = Hippo.CanvasWidget(widget=textview) no_edit_box.control = textview return no_edit_box @@ -301,11 +301,11 @@ class Page(hippo.CanvasBox): # Courtesy of Write.activity - toolbar.py chooser = ObjectChooser(title=_('Choose image'), parent=Globals.JokeMachineActivity, #._parent, - flags=Gtk.DIALOG_MODAL | Gtk.DIALOG_DESTROY_WITH_PARENT, + flags=Gtk.DialogFlags.MODAL | Gtk.DialogFlags.DESTROY_WITH_PARENT, **filter) try: result = chooser.run() - if result == Gtk.RESPONSE_ACCEPT: + if result == Gtk.ResponseType.ACCEPT: logging.debug('ObjectChooser: %r' % chooser.get_selected_object()) journal_object = chooser.get_selected_object() if hasattr(obj, 'image_blob') and journal_object and journal_object.file_path: @@ -333,11 +333,11 @@ class Page(hippo.CanvasBox): logging.debug('choosing sound file') chooser = ObjectChooser(title=_('Choose Sound'), parent=Globals.JokeMachineActivity, #._parent, - flags=Gtk.DIALOG_MODAL | Gtk.DIALOG_DESTROY_WITH_PARENT, + flags=Gtk.DialogFlags.MODAL | Gtk.DialogFlags.DESTROY_WITH_PARENT, **filter) try: result = chooser.run() - if result == Gtk.RESPONSE_ACCEPT: + if result == Gtk.ResponseType.ACCEPT: logging.debug('ObjectChooser: %r' % chooser.get_selected_object()) journal_object = chooser.get_selected_object() if hasattr(obj, 'sound_blob') and journal_object and journal_object.file_path: @@ -367,7 +367,7 @@ class Page(hippo.CanvasBox): player.play() def _load_image(file_name): - pixbuf = Gtk.gdk.pixbuf_new_from_file_at_size(file_name, + pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(file_name, THUMB_SIZE, THUMB_SIZE) if pixbuf is None: return None |