summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCosimo Cecchi <cosimoc@gnome.org>2012-09-26 13:11:31 -0400
committerCosimo Cecchi <cosimoc@gnome.org>2012-09-26 13:55:42 -0400
commit6fefabd53655fa886f2c3240374f99f9e8f3cdd5 (patch)
tree528def8276ee2b4bc8ceac130a48b17fd8a35f5c
parent5ac6df0fbfe175dfc76e8b539bceafc3d50554e2 (diff)
downloadnautilus-6fefabd53655fa886f2c3240374f99f9e8f3cdd5.tar.gz
file-utilities: export special_directory_get_icon()
Will be useful to get the icon for XDG bookmarks.
-rw-r--r--libnautilus-private/nautilus-file-utilities.c39
-rw-r--r--libnautilus-private/nautilus-file-utilities.h3
-rw-r--r--libnautilus-private/nautilus-icon-names.h11
-rw-r--r--src/nautilus-places-sidebar.c27
4 files changed, 52 insertions, 28 deletions
diff --git a/libnautilus-private/nautilus-file-utilities.c b/libnautilus-private/nautilus-file-utilities.c
index 08b7b5431..d0e31c24d 100644
--- a/libnautilus-private/nautilus-file-utilities.c
+++ b/libnautilus-private/nautilus-file-utilities.c
@@ -26,6 +26,7 @@
#include "nautilus-file-utilities.h"
#include "nautilus-global-preferences.h"
+#include "nautilus-icon-names.h"
#include "nautilus-lib-self-check-functions.h"
#include "nautilus-metadata.h"
#include "nautilus-file.h"
@@ -1009,6 +1010,44 @@ have_program_in_path (const char *name)
return result;
}
+static GIcon *
+special_directory_get_icon (GUserDirectory directory,
+ gboolean symbolic)
+{
+
+#define ICON_CASE(x) \
+ case G_USER_DIRECTORY_ ## x: \
+ return (symbolic) ? g_themed_icon_new (NAUTILUS_ICON_FOLDER_ ## x) : g_themed_icon_new (NAUTILUS_ICON_FULLCOLOR_FOLDER_ ## x);
+
+ switch (directory) {
+
+ ICON_CASE (DOCUMENTS);
+ ICON_CASE (DOWNLOAD);
+ ICON_CASE (MUSIC);
+ ICON_CASE (PICTURES);
+ ICON_CASE (PUBLIC_SHARE);
+ ICON_CASE (TEMPLATES);
+ ICON_CASE (VIDEOS);
+
+ default:
+ return (symbolic) ? g_themed_icon_new (NAUTILUS_ICON_FOLDER) : g_themed_icon_new (NAUTILUS_ICON_FULLCOLOR_FOLDER);
+ }
+
+#undef ICON_CASE
+}
+
+GIcon *
+nautilus_special_directory_get_symbolic_icon (GUserDirectory directory)
+{
+ return special_directory_get_icon (directory, TRUE);
+}
+
+GIcon *
+nautilus_special_directory_get_icon (GUserDirectory directory)
+{
+ return special_directory_get_icon (directory, FALSE);
+}
+
gboolean
nautilus_is_file_roller_installed (void)
{
diff --git a/libnautilus-private/nautilus-file-utilities.h b/libnautilus-private/nautilus-file-utilities.h
index 5ff4811d3..0c3b3c8c1 100644
--- a/libnautilus-private/nautilus-file-utilities.h
+++ b/libnautilus-private/nautilus-file-utilities.h
@@ -61,6 +61,9 @@ char * nautilus_compute_title_for_location (GFile *file);
gboolean nautilus_is_file_roller_installed (void);
+GIcon * nautilus_special_directory_get_icon (GUserDirectory directory);
+GIcon * nautilus_special_directory_get_symbolic_icon (GUserDirectory directory);
+
gboolean nautilus_uri_parse (const char *uri,
char **host,
guint16 *port,
diff --git a/libnautilus-private/nautilus-icon-names.h b/libnautilus-private/nautilus-icon-names.h
index 715ecdb68..ddc4543d5 100644
--- a/libnautilus-private/nautilus-icon-names.h
+++ b/libnautilus-private/nautilus-icon-names.h
@@ -30,8 +30,15 @@
#define NAUTILUS_DESKTOP_ICON_NETWORK "network-workgroup"
/* Fullcolor icons */
-#define NAUTILUS_ICON_FULLCOLOR_FOLDER "folder"
-#define NAUTILUS_ICON_FULLCOLOR_FOLDER_REMOTE "folder-remote"
+#define NAUTILUS_ICON_FULLCOLOR_FOLDER "folder"
+#define NAUTILUS_ICON_FULLCOLOR_FOLDER_REMOTE "folder-remote"
+#define NAUTILUS_ICON_FULLCOLOR_FOLDER_DOCUMENTS "folder-documents"
+#define NAUTILUS_ICON_FULLCOLOR_FOLDER_DOWNLOAD "folder-download"
+#define NAUTILUS_ICON_FULLCOLOR_FOLDER_MUSIC "folder-music"
+#define NAUTILUS_ICON_FULLCOLOR_FOLDER_PICTURES "folder-pictures"
+#define NAUTILUS_ICON_FULLCOLOR_FOLDER_PUBLIC_SHARE "folder-publicshare"
+#define NAUTILUS_ICON_FULLCOLOR_FOLDER_TEMPLATES "folder-templates"
+#define NAUTILUS_ICON_FULLCOLOR_FOLDER_VIDEOS "folder-videos"
#define NAUTILUS_ICON_FULLCOLOR_FOLDER_SAVED_SEARCH "folder-saved-search"
/* Other icons */
diff --git a/src/nautilus-places-sidebar.c b/src/nautilus-places-sidebar.c
index 29b4e21cf..9236dbd89 100644
--- a/src/nautilus-places-sidebar.c
+++ b/src/nautilus-places-sidebar.c
@@ -396,31 +396,6 @@ sidebar_update_restore_selection (NautilusPlacesSidebar *sidebar,
}
}
-static GIcon *
-special_directory_get_gicon (GUserDirectory directory)
-{
-
-#define ICON_CASE(x) \
- case G_USER_DIRECTORY_ ## x: \
- return g_themed_icon_new (NAUTILUS_ICON_FOLDER_ ## x);
-
- switch (directory) {
-
- 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-symbolic");
- }
-
-#undef ICON_CASE
-}
-
static gboolean
recent_is_supported (void)
{
@@ -475,7 +450,7 @@ add_special_dirs (NautilusPlacesSidebar *sidebar)
root = g_file_new_for_path (path);
name = g_file_get_basename (root);
- icon = special_directory_get_gicon (index);
+ icon = nautilus_special_directory_get_symbolic_icon (index);
mount_uri = g_file_get_uri (root);
tooltip = g_file_get_parse_name (root);