def _get_icon_for_mime(mime_type): generic_types = mime.get_all_generic_types() for generic_type in generic_types: if mime_type in generic_type.mime_types: file_name = get_icon_file_name(generic_type.icon) if file_name is not None: return file_name icons = gio.content_type_get_icon(mime_type) logging.debug('icons for this file: %r' % icons.props.names) for icon_name in icons.props.names: file_name = get_icon_file_name(icon_name) if file_name is not None: return file_name
def _get_icon_for_mime(mime_type): generic_types = mime.get_all_generic_types() for generic_type in generic_types: if mime_type in generic_type.mime_types: file_name = get_icon_file_name(generic_type.icon) if file_name is not None: return file_name icons = gio.content_type_get_icon(mime_type) logging.debug('icons for this file: %r', icons.props.names) for icon_name in icons.props.names: file_name = get_icon_file_name(icon_name) if file_name is not None: return file_name
def _get_icon_name(metadata): file_name = None mime_type = metadata.get('mime_type', '') if not file_name and mime_type: icons = gio.content_type_get_icon(mime_type) for icon_name in icons.props.names: file_name = get_icon_file_name(icon_name) if file_name is not None: break if file_name is None or not os.path.exists(file_name): file_name = get_icon_file_name('application-octet-stream') return file_name
def __init__(self, file_transfer): BaseTransferButton.__init__(self, file_transfer) self._ds_object = datastore.create() file_transfer.connect('notify::state', self.__notify_state_cb) file_transfer.connect('notify::transferred-bytes', self.__notify_transferred_bytes_cb) icons = gio.content_type_get_icon(file_transfer.mime_type).props.names icons.append('application-octet-stream') for icon_name in icons: icon_name = 'transfer-from-%s' % icon_name file_name = get_icon_file_name(icon_name) if file_name is not None: self.props.icon_widget.props.icon_name = icon_name self.notif_icon.props.icon_name = icon_name break icon_color = file_transfer.buddy.props.color self.props.icon_widget.props.xo_color = icon_color self.notif_icon.props.xo_color = icon_color frame = jarabe.frame.get_view() frame.add_notification(self.notif_icon, gtk.CORNER_TOP_LEFT)
def get_icon_filename(metadata=None, activity=None, mime_type=None): """ Get filename for object icon """ file_name = None bundle_id = activity if not bundle_id and metadata: bundle_id = metadata.get('activity') if not bundle_id and metadata: bundle_id = metadata.get('bundle_id') if bundle_id: bundle = get_bundle(bundle_id) file_name = bundle and bundle.get_icon() if not file_name and mime_type: file_name = _get_icon_for_mime(mime_type) if not file_name and metadata: file_name = _get_icon_for_mime(metadata.get('mime_type')) if file_name is None: file_name = get_icon_file_name('application-octet-stream') return file_name
def get_icon_name(metadata): file_name = None bundle_id = metadata.get('activity', '') if not bundle_id: bundle_id = metadata.get('bundle_id', '') if bundle_id: activity_info = bundleregistry.get_registry().get_bundle(bundle_id) if activity_info: file_name = activity_info.get_icon() if file_name is None and is_activity_bundle(metadata): file_path = model.get_file(metadata['uid']) if file_path is not None and os.path.exists(file_path): try: bundle = ActivityBundle(file_path) file_name = bundle.get_icon() except Exception: logging.exception('Could not read bundle') if file_name is None: file_name = _get_icon_for_mime(metadata.get('mime_type', '')) if file_name is None: file_name = get_icon_file_name('application-octet-stream') return file_name
def __init__(self, file_transfer): BaseTransferButton.__init__(self, file_transfer) icons = gio.content_type_get_icon(file_transfer.mime_type).props.names icons.append('application-octet-stream') for icon_name in icons: icon_name = 'transfer-to-%s' % icon_name file_name = get_icon_file_name(icon_name) if file_name is not None: self.props.icon_widget.props.icon_name = icon_name self.notif_icon.props.icon_name = icon_name break client = gconf.client_get_default() icon_color = XoColor(client.get_string('/desktop/sugar/user/color')) self.props.icon_widget.props.xo_color = icon_color self.notif_icon.props.xo_color = icon_color frame = jarabe.frame.get_view() frame.add_notification(self.notif_icon, gtk.CORNER_TOP_LEFT)