diff options
author | Jasmine Hassan <[email protected]> | 2012-10-27 13:14:25 +0200 |
---|---|---|
committer | Jasmine Hassan <[email protected]> | 2012-11-16 09:45:50 +0200 |
commit | 5680dbcc4995bd860e0e7659481e3d2079b09382 (patch) | |
tree | df41246439352f9e21f80c2068af8d9ff71bc2ab | |
parent | c7814e5022409a72afe03743b0198d964e0338b5 (diff) | |
download | caja-5680dbcc4995bd860e0e7659481e3d2079b09382.tar.bz2 caja-5680dbcc4995bd860e0e7659481e3d2079b09382.tar.xz |
[icon-info] add a method to fetch GIcons for user special dirs
http://git.gnome.org/browse/nautilus/commit/?id=1df83c6586560a8ae5efc96037e673e52b4b119b
-rw-r--r-- | libcaja-private/caja-icon-info.c | 27 | ||||
-rw-r--r-- | libcaja-private/caja-icon-info.h | 2 | ||||
-rw-r--r-- | libcaja-private/caja-icon-names.h | 9 |
3 files changed, 38 insertions, 0 deletions
diff --git a/libcaja-private/caja-icon-info.c b/libcaja-private/caja-icon-info.c index 7873ebfa..5d783877 100644 --- a/libcaja-private/caja-icon-info.c +++ b/libcaja-private/caja-icon-info.c @@ -21,6 +21,7 @@ #include <config.h> #include <string.h> #include "caja-icon-info.h" +#include "caja-icon-names.h" #include "caja-default-file-icon.h" #include <gtk/gtk.h> #include <gio/gio.h> @@ -778,3 +779,29 @@ caja_icon_theme_can_render (GThemedIcon *icon) return FALSE; } + +GIcon * +caja_user_special_directory_get_gicon (GUserDirectory directory) +{ + + #define ICON_CASE(x) \ + case G_USER_DIRECTORY_ ## x:\ + return g_themed_icon_new (CAJA_ICON_FOLDER_ ## x); + + switch (directory) { + + ICON_CASE (DESKTOP); + ICON_CASE (DOCUMENTS); + ICON_CASE (DOWNLOAD); + ICON_CASE (MUSIC); + ICON_CASE (PICTURES); + ICON_CASE (PUBLIC_SHARE); + ICON_CASE (TEMPLATES); + ICON_CASE (VIDEOS); + + default: + return g_themed_icon_new ("folder"); + } + + #undef ICON_CASE +} diff --git a/libcaja-private/caja-icon-info.h b/libcaja-private/caja-icon-info.h index d2bbc926..d4523d1a 100644 --- a/libcaja-private/caja-icon-info.h +++ b/libcaja-private/caja-icon-info.h @@ -91,6 +91,8 @@ extern "C" { guint caja_icon_get_emblem_size_for_icon_size (guint size); gboolean caja_icon_theme_can_render (GThemedIcon *icon); +GIcon * caja_user_special_directory_get_gicon (GUserDirectory directory); + #ifdef __cplusplus diff --git a/libcaja-private/caja-icon-names.h b/libcaja-private/caja-icon-names.h index d0598749..bb50a772 100644 --- a/libcaja-private/caja-icon-names.h +++ b/libcaja-private/caja-icon-names.h @@ -20,6 +20,15 @@ #define CAJA_ICON_EMBLEM_UNREADABLE "emblem-unreadable" #define CAJA_ICON_EMBLEM_SYMLINK "emblem-symbolic-link" +#define CAJA_ICON_FOLDER_DESKTOP "folder-documents" +#define CAJA_ICON_FOLDER_DOCUMENTS "folder-documents" +#define CAJA_ICON_FOLDER_DOWNLOAD "folder-download" +#define CAJA_ICON_FOLDER_MUSIC "folder-music" +#define CAJA_ICON_FOLDER_PICTURES "folder-pictures" +#define CAJA_ICON_FOLDER_PUBLIC_SHARE "folder-publicshare" +#define CAJA_ICON_FOLDER_TEMPLATES "folder-templates" +#define CAJA_ICON_FOLDER_VIDEOS "folder-videos" + /* Other icons */ #define CAJA_ICON_TEMPLATE "text-x-generic-template" |