diff options
author | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2008-04-01 18:50:06 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2008-04-01 18:50:06 (GMT) |
commit | a03e2be2693d0696a3f2a1a100e955553af83ab4 (patch) | |
tree | eb6585ecad302d10fa733b8985dd90a7a307bda0 /src | |
parent | dd16e50684400b18f7a27857eadea490a4c55dc8 (diff) |
New clipboard tray
Diffstat (limited to 'src')
-rw-r--r-- | src/view/clipboardmenu.py | 11 | ||||
-rw-r--r-- | src/view/frame/Makefile.am | 2 | ||||
-rw-r--r-- | src/view/frame/clipboardpanelwindow.py | 15 | ||||
-rw-r--r-- | src/view/frame/clipboardtray.py (renamed from src/view/frame/clipboardbox.py) | 33 |
4 files changed, 32 insertions, 29 deletions
diff --git a/src/view/clipboardmenu.py b/src/view/clipboardmenu.py index b847828..7df2ee0 100644 --- a/src/view/clipboardmenu.py +++ b/src/view/clipboardmenu.py @@ -25,6 +25,7 @@ import hippo from sugar.graphics.palette import Palette from sugar.graphics.menuitem import MenuItem +from sugar.graphics.icon import Icon from sugar.graphics import style from sugar.clipboard import clipboardservice from sugar.datastore import datastore @@ -60,7 +61,7 @@ class ClipboardMenu(Palette): self.menu.append(self._remove_item) self._remove_item.show() - self._open_item = MenuItem(_('Open')) + self._open_item = MenuItem(_('Open'), 'zoom-activity') self._open_item.connect('activate', self._open_item_activate_cb) self.menu.append(self._open_item) self._open_item.show() @@ -70,7 +71,11 @@ class ClipboardMenu(Palette): #self._stop_item.connect('activate', self._stop_item_activate_cb) #self.append_menu_item(self._stop_item) - self._journal_item = MenuItem(_('Add to journal'), 'document-save') + self._journal_item = MenuItem(_('Keep')) + icon = Icon(icon_name='document-save', icon_size=gtk.ICON_SIZE_MENU, + xo_color=profile.get_color()) + self._journal_item.set_image(icon) + self._journal_item.connect('activate', self._journal_item_activate_cb) self.menu.append(self._journal_item) self._journal_item.show() @@ -81,10 +86,12 @@ class ClipboardMenu(Palette): def _update_open_submenu(self): logging.debug('_update_open_submenu: %r' % self._activities) if self._activities is None or len(self._activities) <= 1: + self._open_item.child.set_text(_('Open')) if self._open_item.get_submenu() is not None: self._open_item.remove_submenu() return + self._open_item.child.set_text(_('Open with')) submenu = self._open_item.get_submenu() if submenu is None: submenu = gtk.Menu() diff --git a/src/view/frame/Makefile.am b/src/view/frame/Makefile.am index 02951b9..9bf5952 100644 --- a/src/view/frame/Makefile.am +++ b/src/view/frame/Makefile.am @@ -3,8 +3,8 @@ sugar_PYTHON = \ __init__.py \ activitiestray.py \ activitybutton.py \ - clipboardbox.py \ clipboardpanelwindow.py \ + clipboardtray.py \ frameinvoker.py \ friendstray.py \ eventarea.py \ diff --git a/src/view/frame/clipboardpanelwindow.py b/src/view/frame/clipboardpanelwindow.py index e579b8c..04e7408 100644 --- a/src/view/frame/clipboardpanelwindow.py +++ b/src/view/frame/clipboardpanelwindow.py @@ -21,7 +21,7 @@ import gtk import hippo from view.frame.framewindow import FrameWindow -from view.frame.clipboardbox import ClipboardBox +from view.frame.clipboardtray import ClipboardTray from sugar.clipboard import clipboardservice from sugar import util @@ -37,20 +37,21 @@ class ClipboardPanelWindow(FrameWindow): self._clipboard = gtk.Clipboard() self._clipboard.connect("owner-change", self._owner_change_cb) - self._clipboard_box = ClipboardBox() - self.append(self._clipboard_box, hippo.PACK_EXPAND) + self._clipboard_tray = ClipboardTray() + canvas_widget = hippo.CanvasWidget(widget=self._clipboard_tray) + self.append(canvas_widget, hippo.PACK_EXPAND) # Receiving dnd drops self.drag_dest_set(0, [], 0) - self.connect("drag_motion", self._clipboard_box.drag_motion_cb) - self.connect("drag_drop", self._clipboard_box.drag_drop_cb) + self.connect("drag_motion", self._clipboard_tray.drag_motion_cb) + self.connect("drag_drop", self._clipboard_tray.drag_drop_cb) self.connect("drag_data_received", - self._clipboard_box.drag_data_received_cb) + self._clipboard_tray.drag_data_received_cb) def _owner_change_cb(self, clipboard, event): logging.debug("owner_change_cb") - if self._clipboard_box.owns_clipboard(): + if self._clipboard_tray.owns_clipboard(): return cb_service = clipboardservice.get_instance() diff --git a/src/view/frame/clipboardbox.py b/src/view/frame/clipboardtray.py index 7702759..e4e7b5f 100644 --- a/src/view/frame/clipboardbox.py +++ b/src/view/frame/clipboardtray.py @@ -18,7 +18,6 @@ import os import logging import tempfile -import hippo import gtk from sugar import util @@ -57,19 +56,15 @@ class _ContextMap: def has_context(self, context): return context in self._context_map -class ClipboardBox(hippo.CanvasBox): +class ClipboardTray(VTray): MAX_ITEMS = gtk.gdk.screen_height() / style.GRID_CELL_SIZE - 2 def __init__(self): - hippo.CanvasBox.__init__(self) + VTray.__init__(self) self._icons = {} self._context_map = _ContextMap() - self._tray = VTray() - self.append(hippo.CanvasWidget(widget=self._tray), hippo.PACK_EXPAND) - self._tray.show() - cb_service = clipboardservice.get_instance() cb_service.connect('object-added', self._object_added_cb) cb_service.connect('object-deleted', self._object_deleted_cb) @@ -84,7 +79,7 @@ class ClipboardBox(hippo.CanvasBox): if not selection.data: return - logging.debug('ClipboardBox: adding type ' + selection.type) + logging.debug('ClipboardTray: adding type ' + selection.type) cb_service = clipboardservice.get_instance() if selection.type == 'text/uri-list': @@ -109,31 +104,31 @@ class ClipboardBox(hippo.CanvasBox): group = None icon = ClipboardIcon(object_id, name, group) - self._tray.add_item(icon, 0) + self.add_item(icon) icon.show() self._icons[object_id] = icon - objects_to_delete = self._tray.get_children()[ClipboardBox.MAX_ITEMS:] + objects_to_delete = self.get_children()[self.MAX_ITEMS:] for icon in objects_to_delete: - logging.debug('ClipboardBox: deleting surplus object') + logging.debug('ClipboardTray: deleting surplus object') cb_service = clipboardservice.get_instance() cb_service.delete_object(icon.get_object_id()) - logging.debug('ClipboardBox: ' + object_id + ' was added.') + logging.debug('ClipboardTray: ' + object_id + ' was added.') def _object_deleted_cb(self, cb_service, object_id): icon = self._icons[object_id] - self._tray.remove_item(icon) + self.remove_item(icon) del self._icons[object_id] - logging.debug('ClipboardBox: ' + object_id + ' was deleted.') + logging.debug('ClipboardTray: ' + object_id + ' was deleted.') def drag_motion_cb(self, widget, context, x, y, time): - logging.debug('ClipboardBox._drag_motion_cb') + logging.debug('ClipboardTray._drag_motion_cb') context.drag_status(gtk.gdk.ACTION_COPY, time) - return True; + return True def drag_drop_cb(self, widget, context, x, y, time): - logging.debug('ClipboardBox._drag_drop_cb') + logging.debug('ClipboardTray._drag_drop_cb') cb_service = clipboardservice.get_instance() object_id = cb_service.add_object(name="") @@ -167,12 +162,12 @@ class ClipboardBox(hippo.CanvasBox): return True def drag_data_received_cb(self, widget, context, x, y, selection, targetType, time): - logging.debug('ClipboardBox: got data for target %r' % selection.target) + logging.debug('ClipboardTray: got data for target %r' % selection.target) object_id = self._context_map.get_object_id(context) try: if selection is None: - logging.warn('ClipboardBox: empty selection for target ' + selection.target) + logging.warn('ClipboardTray: empty selection for target ' + selection.target) elif selection.target == 'XdndDirectSave0': if selection.data == 'S': window = context.source_window |