Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2008-04-01 18:50:06 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2008-04-01 18:50:06 (GMT)
commita03e2be2693d0696a3f2a1a100e955553af83ab4 (patch)
treeeb6585ecad302d10fa733b8985dd90a7a307bda0 /src
parentdd16e50684400b18f7a27857eadea490a4c55dc8 (diff)
New clipboard tray
Diffstat (limited to 'src')
-rw-r--r--src/view/clipboardmenu.py11
-rw-r--r--src/view/frame/Makefile.am2
-rw-r--r--src/view/frame/clipboardpanelwindow.py15
-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