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-10-13 18:30:01 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2008-10-13 18:30:01 (GMT)
commit190c1704b1346272421e99832bb489ec2ae5fdd0 (patch)
treee6da0b485d04c9f02d8e8b3598e772a5ea2c60de /src
parent686f494eed61b35368c03bb86df1b6b74abf35b7 (diff)
Add preview to text clipboard items.
Diffstat (limited to 'src')
-rw-r--r--src/jarabe/frame/clipboardicon.py11
-rw-r--r--src/jarabe/frame/clipboardmenu.py13
-rw-r--r--src/jarabe/frame/clipboardobject.py5
3 files changed, 20 insertions, 9 deletions
diff --git a/src/jarabe/frame/clipboardicon.py b/src/jarabe/frame/clipboardicon.py
index f67ec1f..ff182dc 100644
--- a/src/jarabe/frame/clipboardicon.py
+++ b/src/jarabe/frame/clipboardicon.py
@@ -35,6 +35,9 @@ class ClipboardIcon(RadioToolButton):
def __init__(self, cb_object, group):
RadioToolButton.__init__(self, group=group)
+
+ self.props.palette_invoker = FrameWidgetInvoker(self)
+
self._cb_object = cb_object
self.owns_clipboard = False
self.props.sensitive = False
@@ -53,13 +56,15 @@ class ClipboardIcon(RadioToolButton):
cb_service.connect('object-state-changed',
self._object_state_changed_cb)
- self.palette = ClipboardMenu(cb_object)
- self.palette.props.invoker = FrameWidgetInvoker(self)
-
child = self.get_child()
child.connect('drag_data_get', self._drag_data_get_cb)
self.connect('notify::active', self._notify_active_cb)
+ def create_palette(self):
+ palette = ClipboardMenu(self._cb_object)
+ palette.set_group_id('frame')
+ return palette
+
def get_object_id(self):
return self._cb_object.get_id()
diff --git a/src/jarabe/frame/clipboardmenu.py b/src/jarabe/frame/clipboardmenu.py
index 266dc81..0a5e615 100644
--- a/src/jarabe/frame/clipboardmenu.py
+++ b/src/jarabe/frame/clipboardmenu.py
@@ -37,7 +37,7 @@ from jarabe.model import bundleregistry
class ClipboardMenu(Palette):
def __init__(self, cb_object):
- Palette.__init__(self, cb_object.get_name())
+ Palette.__init__(self, text_maxlen=100)
self._cb_object = cb_object
@@ -70,8 +70,7 @@ class ClipboardMenu(Palette):
self.menu.append(self._journal_item)
self._journal_item.show()
- self._update_items_visibility()
- self._update_open_submenu()
+ self._update()
def _update_open_submenu(self):
activities = self._get_activities()
@@ -156,7 +155,13 @@ class ClipboardMenu(Palette):
def _object_state_changed_cb(self, cb_service, cb_object):
if cb_object != self._cb_object:
return
- self.set_primary_text(cb_object.get_name())
+ self._update()
+
+ def _update(self):
+ self.props.primary_text = self._cb_object.get_name()
+ preview = self._cb_object.get_preview()
+ if preview:
+ self.props.secondary_text = preview
self._update_progress_bar()
self._update_items_visibility()
self._update_open_submenu()
diff --git a/src/jarabe/frame/clipboardobject.py b/src/jarabe/frame/clipboardobject.py
index a4cd388..cf758ef 100644
--- a/src/jarabe/frame/clipboardobject.py
+++ b/src/jarabe/frame/clipboardobject.py
@@ -48,8 +48,9 @@ class ClipboardObject(object):
return mime.get_mime_icon(self.get_mime_type())
def get_preview(self):
- # TODO: should previews really be here?
- #return self._get_type_info().get_preview()
+ for mime_type in ['text/plain']:
+ if mime_type in self._formats:
+ return self._formats[mime_type].get_data()
return ''
def is_bundle(self):