Re: top-left text



I for one wouldn't mind trying to get this in, at 2.2.1 at the latest.
It is definitely a regression, as Michael says.

Luis

On Fri, 2003-01-24 at 05:40, Alexander Larsson wrote:
> I looked into why we don't get top-left text for text/plain files in 
> nautilus HEAD. The reason is the generic mimetype icon for "text/*" in 
> gnome-icon-theme (called "gnome-mime-text"). It is a "text file" icon, 
> i.e. it looks like a paper with some text on it. 
> 
> This is great for typical applications, but for nautilus or any app that 
> does text embedding you really want to use "gnome-fs-regular", as that 
> icon has an EmbeddedTextRectangle and looks like an empty paper.
> 
> Nautilus passes GNOME_ICON_LOOKUP_FLAGS_EMBEDDING_TEXT to 
> gnome_icon_lookup(), so we can special case this libgnomeui if we want.
> Here are patches that makes text get top-left text in nautilus if enabled.
> 
> patch for libgnomeui to make it work:
> 
> diff -u -p -r1.7 gnome-icon-lookup.c
> --- gnome-icon-lookup.c	7 Nov 2002 13:51:32 -0000	1.7
> +++ gnome-icon-lookup.c	24 Jan 2003 10:36:51 -0000
> @@ -139,7 +139,7 @@ make_mime_name (const char *mime_type)
>  }
>  
>  static char *
> -make_generic_mime_name (const char *mime_type)
> +make_generic_mime_name (const char *mime_type, gboolean embedd_text)
>  {
>    char *generic_mime_type, *icon_name;
>    char *p;
> @@ -155,8 +155,11 @@ make_generic_mime_name (const char *mime
>    if ((p = strchr(generic_mime_type, '/')) != NULL)
>      {
>        *p = 0;
> -  
> -      icon_name = g_strconcat (ICON_NAME_MIME_PREFIX, generic_mime_type, NULL);
> +
> +      if (strcmp ("text", generic_mime_type) == 0 && embedd_text)
> +	icon_name = g_strdup ("gnome-fs-regular");
> +      else
> +	icon_name = g_strconcat (ICON_NAME_MIME_PREFIX, generic_mime_type, NULL);
>      }
>    g_free (generic_mime_type);
>    
> @@ -289,7 +292,7 @@ gnome_icon_lookup (GnomeIconTheme       
>  	return mime_name;
>        g_free (mime_name);
>        
> -      mime_name = make_generic_mime_name (mime_type);
> +      mime_name = make_generic_mime_name (mime_type, flags & GNOME_ICON_LOOKUP_FLAGS_EMBEDDING_TEXT);
>        if (mime_name && gnome_icon_theme_has_icon (icon_theme, mime_name))
>  	return mime_name;
>        g_free (mime_name);
> 
> patch for nautilus to get the real text mime icon if embedded text is 
> disabled:
> 
> diff -u -p -r1.285 nautilus-icon-factory.c
> --- nautilus-icon-factory.c	20 Jan 2003 17:29:20 -0000	1.285
> +++ nautilus-icon-factory.c	24 Jan 2003 10:38:25 -0000
> @@ -747,7 +747,8 @@ nautilus_icon_factory_get_icon_for_file 
>  	GnomeVFSFileInfo *file_info;
>  	GnomeThumbnailFactory *thumb_factory;
>  	gboolean show_thumb;
> -
> +	GnomeIconLookupFlags lookup_flags;
> +	
>  	if (file == NULL) {
>  		return NULL;
>  	}
> @@ -783,15 +784,18 @@ nautilus_icon_factory_get_icon_for_file 
>  	} else {
>  		thumb_factory = NULL;
>  	}
> -	
> +
> +	lookup_flags = GNOME_ICON_LOOKUP_FLAGS_SHOW_SMALL_IMAGES_AS_THEMSELVES;
> +	if (nautilus_file_peek_top_left_text (file) != NULL) {
> +		lookup_flags |= GNOME_ICON_LOOKUP_FLAGS_EMBEDDING_TEXT;
> +	}
>  	icon_name = gnome_icon_lookup (factory->icon_theme,
>  				       thumb_factory,
>  				       file_uri,
>  				       custom_icon,
>  				       nautilus_file_peek_vfs_file_info (file),
>  				       mime_type,
> -				       GNOME_ICON_LOOKUP_FLAGS_EMBEDDING_TEXT |
> -				       GNOME_ICON_LOOKUP_FLAGS_SHOW_SMALL_IMAGES_AS_THEMSELVES,
> +				       lookup_flags,
>  				       &lookup_result);
>  
> 
> Should we try to get this into the 2.2.0 release? I guess this is a bit of 
> a regression.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]