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(self): mime_type = self.get_mime_type() generic_types = mime.get_all_generic_types() for generic_type in generic_types: if mime_type in generic_type.mime_types: return generic_type.icon icons = gio.content_type_get_icon(mime_type) icon_name = None if icons is not None: icon_theme = gtk.icon_theme_get_default() for icon_name in icons.props.names: icon_info = icon_theme.lookup_icon(icon_name, gtk.ICON_SIZE_LARGE_TOOLBAR, 0) if icon_info is not None: icon_info.free() return icon_name return 'application-octet-stream'
def refresh_filters(self): current_value = self._what_search_combo.props.value current_value_index = 0 self._what_search_combo.handler_block(self._what_combo_changed_sid) try: self._what_search_combo.remove_all() # TRANS: Item in a combo box that filters by entry type. self._what_search_combo.append_item(_ACTION_ANYTHING, _('Anything')) registry = bundleregistry.get_registry() appended_separator = False types = mime.get_all_generic_types() for generic_type in types: if not appended_separator: self._what_search_combo.append_separator() appended_separator = True self._what_search_combo.append_item(generic_type.type_id, generic_type.name, generic_type.icon) if generic_type.type_id == current_value: current_value_index = \ len(self._what_search_combo.get_model()) - 1 self._what_search_combo.set_active(current_value_index) self._what_search_combo.append_separator() for service_name in model.get_unique_values('activity'): activity_info = registry.get_bundle(service_name) if activity_info is None: continue if service_name == current_value: combo_model = self._what_search_combo.get_model() current_value_index = len(combo_model) # try activity-provided icon if os.path.exists(activity_info.get_icon()): try: self._what_search_combo.append_item( service_name, activity_info.get_name(), file_name=activity_info.get_icon()) except glib.GError, exception: logging.warning( 'Falling back to default icon for' ' "what" filter because %r (%r) has an' ' invalid icon: %s', activity_info.get_name(), str(service_name), exception) else: continue # fall back to generic icon self._what_search_combo.append_item( service_name, activity_info.get_name(), icon_name='application-octet-stream') finally: self._what_search_combo.handler_unblock( self._what_combo_changed_sid)
def refresh_filters(self): current_value = self._what_search_combo.props.value current_value_index = 0 self._what_search_combo.handler_block(self._what_combo_changed_sid) try: self._what_search_combo.remove_all() # TRANS: Item in a combo box that filters by entry type. self._what_search_combo.append_item(_ACTION_ANYTHING, _('Anything')) registry = bundleregistry.get_registry() appended_separator = False types = mime.get_all_generic_types() for generic_type in types: if not appended_separator: self._what_search_combo.append_separator() appended_separator = True self._what_search_combo.append_item( generic_type.type_id, generic_type.name, generic_type.icon) if generic_type.type_id == current_value: current_value_index = \ len(self._what_search_combo.get_model()) - 1 self._what_search_combo.set_active(current_value_index) self._what_search_combo.append_separator() for service_name in model.get_unique_values('activity'): activity_info = registry.get_bundle(service_name) if activity_info is None: continue if service_name == current_value: combo_model = self._what_search_combo.get_model() current_value_index = len(combo_model) # try activity-provided icon if os.path.exists(activity_info.get_icon()): try: self._what_search_combo.append_item(service_name, activity_info.get_name(), file_name=activity_info.get_icon()) except glib.GError, exception: logging.warning('Falling back to default icon for' ' "what" filter because %r (%r) has an' ' invalid icon: %s', activity_info.get_name(), str(service_name), exception) else: continue # fall back to generic icon self._what_search_combo.append_item(service_name, activity_info.get_name(), icon_name='application-octet-stream') finally: self._what_search_combo.handler_unblock( self._what_combo_changed_sid)