diff options
author | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2008-10-13 18:30:01 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2008-10-13 18:30:01 (GMT) |
commit | 190c1704b1346272421e99832bb489ec2ae5fdd0 (patch) | |
tree | e6da0b485d04c9f02d8e8b3598e772a5ea2c60de /src | |
parent | 686f494eed61b35368c03bb86df1b6b74abf35b7 (diff) |
Add preview to text clipboard items.
Diffstat (limited to 'src')
-rw-r--r-- | src/jarabe/frame/clipboardicon.py | 11 | ||||
-rw-r--r-- | src/jarabe/frame/clipboardmenu.py | 13 | ||||
-rw-r--r-- | src/jarabe/frame/clipboardobject.py | 5 |
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): |