Showing with 34 additions and 13 deletions.
  1. +25 −13 src/jarabe/frame/activitiestray.py
  2. +9 −0 src/jarabe/journal/palettes.py
@@ -20,6 +20,7 @@
from gettext import gettext as _
import tempfile
import os
import json

from gi.repository import GObject
from gi.repository import GConf
@@ -346,6 +347,14 @@ def __init__(self, file_transfer):
self.file_transfer = file_transfer
file_transfer.connect('notify::state', self.__notify_state_cb)

self._file_metadata = None
self.file_transfer._pretty_description = file_transfer.description
try:
self._file_metadata = json.loads(self.file_transfer.description)
self.file_transfer._pretty_description = self._file_metadata.get('description', '')
except:
pass

icon = Icon()
self.props.icon_widget = icon
icon.show()
@@ -419,15 +428,18 @@ def create_palette(self):
def __notify_state_cb(self, file_transfer, pspec):
if file_transfer.props.state == filetransfer.FT_STATE_OPEN:
logging.debug('__notify_state_cb OPEN')
self._ds_object.metadata['title'] = file_transfer.title
self._ds_object.metadata['description'] = file_transfer.description
self._ds_object.metadata['progress'] = '0'
self._ds_object.metadata['keep'] = '0'
self._ds_object.metadata['buddies'] = ''
self._ds_object.metadata['preview'] = ''
self._ds_object.metadata['icon-color'] = \
file_transfer.buddy.props.color.to_string()
self._ds_object.metadata['mime_type'] = file_transfer.mime_type
if self._file_metadata:
self._ds_object.metadata = datastore.DSMetadata(self._file_metadata)
else:
self._ds_object.metadata['title'] = file_transfer.title
self._ds_object.metadata['description'] = file_transfer.description
self._ds_object.metadata['progress'] = '0'
self._ds_object.metadata['keep'] = '0'
self._ds_object.metadata['buddies'] = ''
self._ds_object.metadata['preview'] = ''
self._ds_object.metadata['icon-color'] = \
file_transfer.buddy.props.color.to_string()
self._ds_object.metadata['mime_type'] = file_transfer.mime_type
elif file_transfer.props.state == filetransfer.FT_STATE_COMPLETED:
logging.debug('__notify_state_cb COMPLETED')
self._ds_object.metadata['progress'] = '100'
@@ -610,8 +622,8 @@ def _update(self):
box.append_item(inner_box, vertical_padding=0)
inner_box.show()

if self.file_transfer.description:
label = Gtk.Label(label=self.file_transfer.description)
if self.file_transfer._pretty_description:
label = Gtk.Label(label=self.file_transfer._pretty_description)
inner_box.add(label)
label.show()

@@ -763,8 +775,8 @@ def _update(self):
box.append_item(inner_box, vertical_padding=0)
inner_box.show()

if self.file_transfer.description:
label = Gtk.Label(label=self.file_transfer.description)
if self.file_transfer._pretty_description:
label = Gtk.Label(label=self.file_transfer._pretty_description)
inner_box.add(label)
label.show()

@@ -18,6 +18,7 @@
from gettext import ngettext
import logging
import os
import json

from gi.repository import GObject
from gi.repository import Gtk
@@ -195,6 +196,14 @@ def __friend_selected_cb(self, menu_item, buddy):
if not mime_type:
mime_type = mime.get_for_file(file_name)

try:
toSave = self._metadata
if 'preview' in toSave:
del toSave['preview']
description = json.dumps(toSave)
except:
pass

filetransfer.start_transfer(buddy, file_name, title, description,
mime_type)