diff options
author | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2007-01-11 22:57:06 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2007-01-11 22:57:06 (GMT) |
commit | 334be3331bf967d9b6c60f9d55e27d2374ecc94e (patch) | |
tree | 30e9686f6210f2bfdf3eb7029921bab484f7551c /sugar/graphics | |
parent | d0ce5a07d548643074081c3b451ac42f39f96027 (diff) |
Some more usability fixes for the clipboard.
Diffstat (limited to 'sugar/graphics')
-rw-r--r-- | sugar/graphics/ClipboardBubble.py | 59 | ||||
-rw-r--r-- | sugar/graphics/canvasicon.py | 8 | ||||
-rw-r--r-- | sugar/graphics/menu.py | 2 |
3 files changed, 35 insertions, 34 deletions
diff --git a/sugar/graphics/ClipboardBubble.py b/sugar/graphics/ClipboardBubble.py index 1947fd5..acabb15 100644 --- a/sugar/graphics/ClipboardBubble.py +++ b/sugar/graphics/ClipboardBubble.py @@ -86,14 +86,27 @@ class ClipboardBubble(hippo.CanvasBox, hippo.CanvasItem): width -= line_width * 2 height -= line_width * 2 - self._paint_ellipse(cr, x, y, width, height, self._fill_color) + cr.move_to(x + self._radius, y); + cr.arc(x + width - self._radius, y + self._radius, + self._radius, math.pi * 1.5, math.pi * 2); + cr.arc(x + width - self._radius, x + height - self._radius, + self._radius, 0, math.pi * 0.5); + cr.arc(x + self._radius, y + height - self._radius, + self._radius, math.pi * 0.5, math.pi); + cr.arc(x + self._radius, y + self._radius, self._radius, + math.pi, math.pi * 1.5); + + color = self._int_to_rgb(self._fill_color) + cr.set_source_rgb(*color) + cr.fill_preserve(); color = self._int_to_rgb(self._stroke_color) cr.set_source_rgb(*color) cr.set_line_width(line_width) cr.stroke(); - self._paint_progress_bar(cr, x, y, width, height, line_width) + if self._percent > 0: + self._paint_progress_bar(cr, x, y, width, height, line_width) def _paint_progress_bar(self, cr, x, y, width, height, line_width): prog_x = x + line_width @@ -101,31 +114,21 @@ class ClipboardBubble(hippo.CanvasBox, hippo.CanvasItem): prog_width = (width - (line_width * 2)) * (self._percent / 100.0) prog_height = (height - (line_width * 2)) - self._paint_ellipse(cr, prog_x, prog_y, width, height, self._progress_color) - - def _paint_ellipse(self, cr, x, y, width, height, fill_color): - cr.move_to(x + self._radius, y) - cr.arc(x + width - self._radius, - y + self._radius, - self._radius, - math.pi * 1.5, - math.pi * 2) - cr.arc(x + width - self._radius, - x + height - self._radius, - self._radius, - 0, - math.pi * 0.5) - cr.arc(x + self._radius, - y + height - self._radius, - self._radius, - math.pi * 0.5, - math.pi) - cr.arc(x + self._radius, - y + self._radius, - self._radius, - math.pi, - math.pi * 1.5); - - color = self._int_to_rgb(fill_color) + x = prog_x + y = prog_y + width = prog_width + height = prog_height + + cr.move_to(x + self._radius, y); + cr.arc(x + width - self._radius, y + self._radius, + self._radius, math.pi * 1.5, math.pi * 2); + cr.arc(x + width - self._radius, x + height - self._radius, + self._radius, 0, math.pi * 0.5); + cr.arc(x + self._radius, y + height - self._radius, + self._radius, math.pi * 0.5, math.pi); + cr.arc(x + self._radius, y + self._radius, self._radius, + math.pi, math.pi * 1.5); + + color = self._int_to_rgb(self._progress_color) cr.set_source_rgb(*color) cr.fill_preserve(); diff --git a/sugar/graphics/canvasicon.py b/sugar/graphics/canvasicon.py index 071a745..125ddf9 100644 --- a/sugar/graphics/canvasicon.py +++ b/sugar/graphics/canvasicon.py @@ -54,6 +54,9 @@ class _IconCache: def get_handle(self, name, color, size): info = self._theme.lookup_icon(name, int(size), 0) + if not info: + raise "Icon '" + name + "' not found." + if color: key = (info.get_filename(), color.to_string()) else: @@ -160,8 +163,3 @@ class CanvasIcon(hippo.CanvasBox, hippo.CanvasItem): def _button_press_event_cb(self, item, event): item.emit_activated() - - def set_icon_name(self, icon_name): - self._icon_name = icon_name - self._buffer = None - self.emit_paint_needed(0, 0, -1, -1) diff --git a/sugar/graphics/menu.py b/sugar/graphics/menu.py index f453b16..2cc892a 100644 --- a/sugar/graphics/menu.py +++ b/sugar/graphics/menu.py @@ -110,4 +110,4 @@ class Menu(gtk.Window): self.emit('action', action) def set_title(self, title): - self._title_item.set_text(title) + self._title_item.set_property('text', title) |