Harmonize icons a bit more (for plug-ins)

This commit is contained in:
Pierre Pronchery 2012-12-06 01:08:18 +01:00
parent a5da094aa3
commit 69d0e558bb
3 changed files with 16 additions and 8 deletions

View File

@ -35,8 +35,8 @@ typedef struct _BrowserPluginHelper
{
Browser * browser;
int (*error)(Browser * browser, char const * message, int ret);
GdkPixbuf * (*get_icon)(Browser * browser, char const * type,
struct stat * st, int size);
GdkPixbuf * (*get_icon)(Browser * browser, char const * filename,
char const * type, struct stat * st, int size);
Mime * (*get_mime)(Browser * browser);
int (*set_location)(Browser * browser, char const * path);
} BrowserPluginHelper;

View File

@ -224,8 +224,8 @@ unsigned int browser_cnt = 0;
/* accessors */
static gboolean _browser_plugin_is_enabled(Browser * browser,
char const * plugin);
static GdkPixbuf * _browser_get_icon(Browser * browser, char const * type,
struct stat * st, int size);
static GdkPixbuf * _browser_get_icon(Browser * browser, char const * filename,
char const * type, struct stat * st, int size);
static Mime * _browser_get_mime(Browser * browser);
static void _browser_set_status(Browser * browser, char const * status);
@ -2773,9 +2773,17 @@ static gboolean _browser_plugin_is_enabled(Browser * browser,
/* browser_get_icon */
static GdkPixbuf * _browser_get_icon(Browser * browser, char const * type,
struct stat * st, int size)
static GdkPixbuf * _browser_get_icon(Browser * browser, char const * filename,
char const * type, struct stat * st, int size)
{
struct stat s;
if(st == NULL && lstat(filename, &s) == 0)
st = &s;
if(st != NULL && S_ISDIR(st->st_mode))
return vfs_mime_folder_icon(browser->mime, filename, st, size);
if(filename != NULL && type == NULL)
type = mime_type(browser->mime, filename);
return vfs_mime_icon(browser->mime, type, st, size);
}

View File

@ -461,8 +461,8 @@ static void _refresh_type(Properties * properties, struct stat * st)
properties->filename)) == NULL
&& st->st_mode & S_IXUSR)
type = "application/x-executable";
if(type != NULL && pixbuf == NULL
&& (pixbuf = helper->get_icon(helper->browser, type, st,
if(pixbuf == NULL && (pixbuf = helper->get_icon(helper->browser,
properties->filename, type, st,
iconsize)) != NULL)
image = gtk_image_new_from_pixbuf(pixbuf);
if(type == NULL)