diff options
author | Walter Bender <walter.bender@gmail.com> | 2013-03-12 16:01:04 (GMT) |
---|---|---|
committer | Walter Bender <walter.bender@gmail.com> | 2013-03-12 16:01:04 (GMT) |
commit | 7dbc2f10ed836ee098161f6d8681731bda78e5c4 (patch) | |
tree | 1f6c7661038b2e0412c72af5f8cb15c31a584ca5 | |
parent | 7d88e037f8b30b6703a2e6ea5b6a4e64e4bb5804 (diff) |
more progress in backport
-rw-r--r-- | PortfolioActivity.py | 50 | ||||
-rw-r--r-- | utils.py | 31 |
2 files changed, 62 insertions, 19 deletions
diff --git a/PortfolioActivity.py b/PortfolioActivity.py index 5cccee5..80d3295 100644 --- a/PortfolioActivity.py +++ b/PortfolioActivity.py @@ -253,12 +253,6 @@ class PortfolioActivity(activity.Activity): holding out scrolling window. ''' self.vbox.set_size_request(rect.width, rect.height) - ''' - self._width = gtk.gdk.screen_width() - self._height = gtk.gdk.screen_height() - self._scale = gtk.gdk.screen_height() / 900. - ''' - def _set_screen_dpi(self): dpi = _get_screen_dpi() font_map_default = pangocairo.cairo_font_map_get_default() @@ -650,6 +644,7 @@ class PortfolioActivity(activity.Activity): owner = self._buddies[0] title = '' desc = '' + comment = [] preview = None if hasattr(dsobj, 'metadata'): if 'title' in dsobj.metadata: @@ -855,7 +850,7 @@ class PortfolioActivity(activity.Activity): self._preview.set_shape(pixbuf.scale_simple( int(PREVIEW[self._orientation][2] * self._scale), int(PREVIEW[self._orientation][3] * self._scale), - GdkPixbuf.InterpType.NEAREST)) + gtk.gdk.INTERP_NEAREST)) self._preview.set_layer(MIDDLE) else: if self._preview is not None: @@ -960,7 +955,7 @@ class PortfolioActivity(activity.Activity): if slide.thumb is None: if slide.preview is not None: pixbuf_thumb = slide.preview.scale_simple( - int(w), int(h), GdkPixbuf.InterpType.TILES) + int(w), int(h), gtk.gdk.INTERP_TILES) else: pixbuf_thumb = svg_str_to_pixbuf(genblank(int(w), int(h), self._colors)) @@ -974,6 +969,17 @@ class PortfolioActivity(activity.Activity): slide.star.set_layer(STAR) slide.star.move((x, y)) + def _expose_cb(self, win, event): + self.do_expose_event(event) + return True + + def do_expose_event(self, event): + cr = self.canvas.window.cairo_create() + cr.rectangle(event.area.x, event.area.y, event.area.width, + event.area.height) + cr.clip() + self._sprites.redraw_sprites(cr=cr) + def _draw_cb(self, win, context): ''' Callback to handle window draw events ''' self.do_draw_event(context) @@ -1045,17 +1051,19 @@ class PortfolioActivity(activity.Activity): return True self._selected_spr.set_label(label) if not hasattr(self, 'desc_entry'): - self.desc_entry = Gtk.TextView() - self.desc_entry.set_wrap_mode(Gtk.WrapMode.WORD) + self.desc_entry = gtk.TextView() + # self.desc_entry.set_wrap_mode(Gtk.WrapMode.WORD) self.desc_entry.set_pixels_above_lines(0) self.desc_entry.set_size_request(self._desc_wh[0], self._desc_wh[1]) - rgba = Gdk.RGBA() + ''' + rgba = gtk.gdk.RGBA() rgba.red, rgba.green, rgba.blue = rgb(self._colors[1]) rgba.alpha = 1. self.desc_entry.override_background_color( - Gtk.StateFlags.NORMAL, rgba) - font_desc = Pango.font_description_from_string( + gtk.StateFlags.NORMAL, rgba) + ''' + font_desc = pango.font_description_from_string( str(self.desc_size)) self.desc_entry.modify_font(font_desc) self.fixed.put(self.desc_entry, 0, 0) @@ -1070,15 +1078,17 @@ class PortfolioActivity(activity.Activity): self._selected_spr = None return True if not hasattr(self, 'title_entry'): - self.title_entry = Gtk.TextView() - self.title_entry.set_justification(Gtk.Justification.CENTER) + self.title_entry = gtk.TextView() + self.title_entry.set_justification(gtk.JUSTIFY_CENTER) self.title_entry.set_pixels_above_lines(1) + ''' rgba = Gdk.RGBA() rgba.red, rgba.green, rgba.blue = rgb(self._colors[1]) rgba.alpha = 1. self.title_entry.override_background_color( Gtk.StateFlags.NORMAL, rgba) - font_desc = Pango.font_description_from_string( + ''' + font_desc = pango.font_description_from_string( str(self.title_size)) self.title_entry.modify_font(font_desc) self.fixed.put(self.title_entry, 0, 0) @@ -1090,17 +1100,19 @@ class PortfolioActivity(activity.Activity): self._selected_spr.set_label('') self._saved_string = spr.labels[0] if not hasattr(self, 'comment_entry'): - self.comment_entry = Gtk.TextView() - self.comment_entry.set_wrap_mode(Gtk.WrapMode.WORD) + self.comment_entry = gtk.TextView() + # self.comment_entry.set_wrap_mode(Gtk.WrapMode.WORD) self.comment_entry.set_pixels_above_lines(0) self.comment_entry.set_size_request( self._new_comment_wh[0], self._new_comment_wh[1]) + ''' rgba = Gdk.RGBA() rgba.red, rgba.green, rgba.blue = rgb(self._colors[1]) rgba.alpha = 1. self.comment_entry.override_background_color( Gtk.StateFlags.NORMAL, rgba) - font_desc = Pango.font_description_from_string( + ''' + font_desc = pango.font_description_from_string( str(self.desc_size)) self.comment_entry.modify_font(font_desc) self.fixed.put(self.comment_entry, 0, 0) @@ -23,6 +23,20 @@ XO175 = 'xo1.75' UNKNOWN = 'unknown' +def get_tablet_mode(): + if not os.path.exists('/dev/input/event4'): + return False + try: + output = subprocess.call( + ['evtest', '--query', '/dev/input/event4', 'EV_SW', + 'SW_TABLET_MODE']) + except (OSError, subprocess.CalledProcessError): + return False + if str(output) == '10': + return True + return False + + def play_audio_from_file(file_path): """ Audio media """ command_line = ['gst-launch', 'filesrc', 'location=' + file_path, @@ -69,6 +83,17 @@ def _get_dmi(node): return None +def parse_comments(comments): + label = '' + for comment in comments: + if 'from' in comment: + label += '[%s] ' % (comment['from']) + if 'message' in comment: + label += comment['message'] + label += '\n' + return label + + def get_path(activity, subpath): """ Find a Rainbow-approved place for temporary files. """ try: @@ -79,6 +104,12 @@ def get_path(activity, subpath): "org.sugarlabs.PortfolioActivity", subpath)) +def rgb(color): + return float(int(color[1:3], 16) / 255.), \ + float(int(color[3:5], 16) / 255.), \ + float(int(color[5:7], 16) / 255.) + + def _luminance(color): ''' Calculate luminance value ''' return int(color[1:3], 16) * 0.3 + int(color[3:5], 16) * 0.6 + \ |