Also harmonized icons for the desktop
This commit is contained in:
parent
6baed261b5
commit
5d76bb7571
|
@ -135,22 +135,12 @@ DesktopIcon * desktopicon_new(Desktop * desktop, char const * name,
|
||||||
if(S_ISLNK(lst.st_mode) && stat(path, &st) == 0)
|
if(S_ISLNK(lst.st_mode) && stat(path, &st) == 0)
|
||||||
s = &st;
|
s = &st;
|
||||||
mime = desktop_get_mime(desktop);
|
mime = desktop_get_mime(desktop);
|
||||||
if(S_ISDIR(s->st_mode))
|
isdir = S_ISDIR(s->st_mode) ? TRUE : FALSE;
|
||||||
{
|
isexec = (isdir == FALSE) && (s->st_mode & S_IXUSR)
|
||||||
isdir = TRUE;
|
? TRUE : FALSE;
|
||||||
image = desktop_get_folder(desktop);
|
mimetype = vfs_mime_type(mime, path, s->st_mode);
|
||||||
}
|
image = vfs_mime_icon(mime, path, mimetype, &lst, NULL,
|
||||||
else if(s->st_mode & S_IXUSR)
|
DESKTOPICON_ICON_SIZE);
|
||||||
{
|
|
||||||
/* FIXME use access() for this */
|
|
||||||
isexec = TRUE;
|
|
||||||
image = vfs_mime_icon(mime, path,
|
|
||||||
"application/x-executable", &lst, s,
|
|
||||||
DESKTOPICON_ICON_SIZE);
|
|
||||||
}
|
|
||||||
else if((mimetype = mime_type(mime, path)) != NULL)
|
|
||||||
image = vfs_mime_icon(mime, path, mimetype, &lst, s,
|
|
||||||
DESKTOPICON_ICON_SIZE);
|
|
||||||
}
|
}
|
||||||
if(name == NULL)
|
if(name == NULL)
|
||||||
{
|
{
|
||||||
|
|
|
@ -49,12 +49,16 @@ GdkPixbuf * vfs_mime_icon(Mime * mime, char const * filename,
|
||||||
{
|
{
|
||||||
GdkPixbuf * ret = NULL;
|
GdkPixbuf * ret = NULL;
|
||||||
mode_t mode = (lst != NULL) ? lst->st_mode : 0;
|
mode_t mode = (lst != NULL) ? lst->st_mode : 0;
|
||||||
|
struct stat s;
|
||||||
char const * emblem;
|
char const * emblem;
|
||||||
|
|
||||||
if(type == NULL)
|
if(type == NULL)
|
||||||
type = vfs_mime_type(mime, filename, S_ISLNK(mode) ? 0 : mode);
|
type = vfs_mime_type(mime, filename, S_ISLNK(mode) ? 0 : mode);
|
||||||
if(S_ISDIR(mode) || (S_ISLNK(mode) && st != NULL
|
if(S_ISDIR(mode))
|
||||||
&& S_ISDIR(st->st_mode)))
|
ret = _mime_icon_folder(mime, filename, lst, st, size);
|
||||||
|
else if(S_ISLNK(mode) && ((st != NULL && S_ISDIR(st->st_mode))
|
||||||
|
|| (stat(filename, &s) == 0)
|
||||||
|
&& S_ISDIR(s.st_mode)))
|
||||||
ret = _mime_icon_folder(mime, filename, lst, st, size);
|
ret = _mime_icon_folder(mime, filename, lst, st, size);
|
||||||
else
|
else
|
||||||
mime_icons(mime, type, size, &ret, -1);
|
mime_icons(mime, type, size, &ret, -1);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user