summaryrefslogtreecommitdiff
path: root/libnautilus-private/nautilus-link.c
diff options
context:
space:
mode:
authorDave Emory Watson <dwatson@cs.ucr.edu>2002-03-28 04:02:48 +0000
committerDavid Emory Watson <dwatson@src.gnome.org>2002-03-28 04:02:48 +0000
commit371db7a380e6a485ff7220d2534ff14f6bef2368 (patch)
treecd6a9b443b1c44234f1c055c7d2b9ab44054142f /libnautilus-private/nautilus-link.c
parent561f65f68dc4766bcf77fb8f576d59c08ca7333c (diff)
downloadnautilus-371db7a380e6a485ff7220d2534ff14f6bef2368.tar.gz
Share code between different link implementations so that home directory
2002-03-27 Dave Emory Watson <dwatson@cs.ucr.edu> * libnautilus-private/nautilus-link.c, libnautilus-private/nautilus-link.h: (nautilus_link_local_is_volume_link), (nautilus_link_local_is_home_link), (nautilus_link_local_is_trash_link), (nautilus_link_local_is_special_link): Share code between different link implementations so that home directory link behavior can be controlled from one place. * libnautilus-private/nautilus-link-desktop-file.c, libnautilus-private/nautilus-link-desktop-file.h: (nautilus_link_desktop_file_local_is_volume_link), (nautilus_link_desktop_file_local_is_home_link), (nautilus_link_desktop_file_local_is_trash_link): Remove. * libnautilus-private/nautilus-link-historical.h, libnautilus-private/nautilus-link-historical.c: (nautilus_link_historical_local_is_volume_link), (nautilus_link_historical_local_is_home_link), (nautilus_link_historical_local_is_trash_link): Remove. * libnautilus-private/nautilus-file-operations.c: (is_special_link): Use nautilus_link_local_is_special_link. src/file-manager/fm-directory-view.c: (is_link_type_special): Remove. (special_link_in_selection): Use nautilus_link_local_is_special_link. * src/file-manager/fm-desktop-icon-view.c: (update_home_link_and_delete_copies): Don't recreate the home directory link when desktop==home.
Diffstat (limited to 'libnautilus-private/nautilus-link.c')
-rw-r--r--libnautilus-private/nautilus-link.c44
1 files changed, 21 insertions, 23 deletions
diff --git a/libnautilus-private/nautilus-link.c b/libnautilus-private/nautilus-link.c
index a243486fb..ecefc975d 100644
--- a/libnautilus-private/nautilus-link.c
+++ b/libnautilus-private/nautilus-link.c
@@ -31,8 +31,9 @@
#include "nautilus-directory.h"
#include "nautilus-file-attributes.h"
#include "nautilus-file.h"
-#include "nautilus-metadata.h"
#include "nautilus-file-utilities.h"
+#include "nautilus-global-preferences.h"
+#include "nautilus-metadata.h"
#include <eel/eel-glib-extensions.h>
#include <eel/eel-gnome-extensions.h>
#include <eel/eel-stock-dialogs.h>
@@ -277,40 +278,37 @@ nautilus_link_get_link_icon_given_file_contents (const char *uri,
gboolean
nautilus_link_local_is_volume_link (const char *path)
{
- switch (get_link_style_for_local_file (path)) {
- case desktop:
- return nautilus_link_desktop_file_local_is_volume_link (path);
- case historical:
- return nautilus_link_historical_local_is_volume_link (path);
- default:
- return FALSE;
- }
+ return (nautilus_link_local_get_link_type (path) == NAUTILUS_LINK_MOUNT);
}
gboolean
nautilus_link_local_is_home_link (const char *path)
{
- switch (get_link_style_for_local_file (path)) {
- case desktop:
- return nautilus_link_desktop_file_local_is_home_link (path);
- case historical:
- return nautilus_link_historical_local_is_home_link (path);
- default:
- return FALSE;
- }
+ return (nautilus_link_local_get_link_type (path) == NAUTILUS_LINK_HOME);
}
gboolean
nautilus_link_local_is_trash_link (const char *path)
{
- switch (get_link_style_for_local_file (path)) {
- case desktop:
- return nautilus_link_desktop_file_local_is_trash_link (path);
- case historical:
- return nautilus_link_historical_local_is_trash_link (path);
- default:
+ return (nautilus_link_local_get_link_type (path) == NAUTILUS_LINK_TRASH);
+}
+
+gboolean
+nautilus_link_local_is_special_link (const char *path)
+{
+ switch (nautilus_link_local_get_link_type (path)) {
+ case NAUTILUS_LINK_HOME:
+ if (eel_preferences_get_boolean (NAUTILUS_PREFERENCES_DESKTOP_IS_HOME_DIR)) {
+ return FALSE;
+ }
+ case NAUTILUS_LINK_TRASH:
+ case NAUTILUS_LINK_MOUNT:
+ return TRUE;
+ case NAUTILUS_LINK_GENERIC:
return FALSE;
}
+
+ return FALSE;
}
void