From 2df776b8783246bce1552a0da7e656b2d63f5e15 Mon Sep 17 00:00:00 2001 From: Joe Marcus Clarke Date: Fri, 3 Oct 2003 16:58:38 +0000 Subject: * Show the scripts menu/popup item regardless if any scripts exist or not * Make sure we find CD-ROMs no matter where they may be mounted * Add support for showing floppy disk icons on the Nautilus desktop Reported by: Pav Lucistnik --- x11-fm/nautilus2/Makefile | 2 +- ...-libnautilus-private::nautilus-volume-monitor.c | 91 ++++++++++++++++------ .../patch-src_file-manager_fm-directory-view.c | 31 ++++++++ 3 files changed, 100 insertions(+), 24 deletions(-) create mode 100644 x11-fm/nautilus2/files/patch-src_file-manager_fm-directory-view.c (limited to 'x11-fm') diff --git a/x11-fm/nautilus2/Makefile b/x11-fm/nautilus2/Makefile index 7d1a6b8a6da9..1c8586a0dd76 100644 --- a/x11-fm/nautilus2/Makefile +++ b/x11-fm/nautilus2/Makefile @@ -7,7 +7,7 @@ PORTNAME= nautilus2 PORTVERSION= 2.4.0 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= x11-fm gnome MASTER_SITES= ${MASTER_SITE_GNOME} MASTER_SITE_SUBDIR= sources/${PORTNAME:S/2$//}/2.4 diff --git a/x11-fm/nautilus2/files/patch-libnautilus-private::nautilus-volume-monitor.c b/x11-fm/nautilus2/files/patch-libnautilus-private::nautilus-volume-monitor.c index b63431e8a341..62ef3a83acd5 100644 --- a/x11-fm/nautilus2/files/patch-libnautilus-private::nautilus-volume-monitor.c +++ b/x11-fm/nautilus2/files/patch-libnautilus-private::nautilus-volume-monitor.c @@ -1,6 +1,6 @@ ---- libnautilus-private/nautilus-volume-monitor.c.orig Sun May 4 04:36:53 2003 -+++ libnautilus-private/nautilus-volume-monitor.c Wed May 7 00:50:22 2003 -@@ -59,6 +59,16 @@ +--- libnautilus-private/nautilus-volume-monitor.c.orig Mon Jul 7 07:05:04 2003 ++++ libnautilus-private/nautilus-volume-monitor.c Thu Oct 2 22:59:30 2003 +@@ -60,6 +60,16 @@ #include #include @@ -17,7 +17,7 @@ #ifdef HAVE_SYS_VFSTAB_H #include #elif HAVE_FSTAB_H -@@ -120,7 +130,7 @@ +@@ -121,7 +131,7 @@ #define MNTOPT_RO "ro" #endif @@ -26,7 +26,7 @@ #define setmntent(f,m) fopen(f,m) #endif #ifndef HAVE_ENDMNTENT -@@ -519,6 +529,9 @@ +@@ -585,6 +595,9 @@ static gboolean has_removable_mntent_options (MountTableEntry *ent) { @@ -36,7 +36,7 @@ #ifdef HAVE_HASMNTOPT /* Use "owner" or "user" or "users" as our way of determining a removable volume */ if (hasmntopt (ent, "user") != NULL -@@ -528,6 +541,12 @@ +@@ -594,6 +607,12 @@ return TRUE; } #endif @@ -49,7 +49,7 @@ #ifdef SOLARIS_MNT if (eel_str_has_prefix (ent->mnt_special, "/vol/")) { -@@ -667,10 +686,15 @@ +@@ -733,10 +752,15 @@ static GList * get_removable_volumes (NautilusVolumeMonitor *monitor) { @@ -68,7 +68,7 @@ char * fs_opt; #if defined(HAVE_SYS_MNTTAB_H) || defined(AIX_MNT) MountTableEntry ent_storage; -@@ -678,26 +702,27 @@ +@@ -744,26 +768,27 @@ #ifdef HAVE_GETMNTINFO int count, index; #endif @@ -101,7 +101,7 @@ return NULL; } -@@ -742,9 +767,21 @@ +@@ -808,9 +833,21 @@ (monitor, volume, ent->mnt_type, volumes); } } @@ -124,7 +124,7 @@ #ifdef HAVE_CDDA volume = create_volume (CD_AUDIO_PATH, CD_AUDIO_PATH); -@@ -774,7 +811,7 @@ +@@ -840,7 +877,7 @@ return result; } @@ -133,7 +133,7 @@ static gboolean volume_is_removable (const NautilusVolume *volume) -@@ -1040,7 +1077,7 @@ +@@ -1152,7 +1189,7 @@ char *command; if (path != NULL) { @@ -142,7 +142,7 @@ eel_gnome_shell_execute (command); g_free (command); } -@@ -1197,23 +1234,34 @@ +@@ -1309,23 +1346,34 @@ return volumes; } @@ -180,7 +180,7 @@ while (! getmntent(fh, &ent)) { volume = create_volume (ent.mnt_special, ent.mnt_mountp); volume->is_removable = has_removable_mntent_options (&ent); -@@ -1222,6 +1270,16 @@ +@@ -1334,6 +1382,16 @@ } endmntent (fh); @@ -197,7 +197,7 @@ return volumes; } -@@ -1448,7 +1506,7 @@ +@@ -1560,7 +1618,7 @@ static int get_cdrom_type (const char *vol_dev_path, int* fd) { @@ -206,7 +206,7 @@ GString *new_dev_path; struct cdrom_tocentry entry; struct cdrom_tochdr header; -@@ -1487,6 +1545,34 @@ +@@ -1599,6 +1657,34 @@ return type; #elif defined(AIX_MNT) return CDS_NO_INFO; @@ -241,7 +241,7 @@ #else *fd = open (vol_dev_path, O_RDONLY|O_NONBLOCK); return ioctl (*fd, CDROM_DISC_STATUS, CDSL_CURRENT); -@@ -2004,7 +2090,7 @@ +@@ -2116,7 +2202,7 @@ for (node = volume_list; node != NULL; node = node->next) { volume = node->data; @@ -250,7 +250,7 @@ /* These are set up by get_current_mount_list for Solaris&AIX.*/ volume->is_removable = volume_is_removable (volume); #endif -@@ -2033,7 +2119,7 @@ +@@ -2145,7 +2231,7 @@ ok = mount_volume_auto_add (volume); } else if (strcmp (file_system_type_name, "cdda") == 0) { ok = mount_volume_cdda_add (volume); @@ -259,14 +259,59 @@ ok = mount_volume_iso9660_add (volume); } else if (strcmp (file_system_type_name, "nfs") == 0) { ok = mount_volume_nfs_add (volume); -@@ -2071,8 +2157,8 @@ +@@ -2180,9 +2266,18 @@ + } else if (eel_str_has_prefix (volume->device_path, "/dev/floppy")) { + volume->device_type = NAUTILUS_DEVICE_FLOPPY_DRIVE; + volume->is_removable = TRUE; ++ } else if (eel_str_has_prefix (volume->device_path, "/dev/fd")) { ++ volume->device_type = NAUTILUS_DEVICE_FLOPPY_DRIVE; ++ volume->is_removable = TRUE; } else if (eel_str_has_prefix (volume->device_path, "/dev/cdrom")) { volume->device_type = NAUTILUS_DEVICE_CDROM_DRIVE; volume->is_removable = TRUE; -- } else if (eel_str_has_prefix (volume->mount_path, "/mnt/")) { -- name = volume->mount_path + strlen ("/mnt/"); ++ } else if (eel_str_has_prefix (volume->device_path, "/dev/acd")) { ++ volume->device_type = NAUTILUS_DEVICE_CDROM_DRIVE; ++ volume->is_removable = TRUE; ++ } else if (eel_str_has_prefix (volume->device_path, "/dev/cd")) { ++ volume->device_type = NAUTILUS_DEVICE_CDROM_DRIVE; ++ volume->is_removable = TRUE; + } else if (eel_str_has_prefix (volume->mount_path, "/mnt/")) { + name = volume->mount_path + strlen ("/mnt/"); + +@@ -2243,7 +2338,36 @@ + } else { + volume->is_removable = FALSE; + } + } else if (eel_str_has_prefix (volume->mount_path, "/")) { + name = volume->mount_path + strlen ("/"); - - if (eel_str_has_prefix (name, "cdrom") - || eel_str_has_prefix (name, "burn")) { ++ ++ if (eel_str_has_prefix (name, "cdrom") ++ || eel_str_has_prefix (name, "burn")) { ++ volume->device_type = NAUTILUS_DEVICE_CDROM_DRIVE; ++ volume->is_removable = TRUE; ++ } else if (eel_str_has_prefix (name, "floppy")) { ++ volume->device_type = NAUTILUS_DEVICE_FLOPPY_DRIVE; ++ volume->is_removable = TRUE; ++ } else if (eel_str_has_prefix (name, "zip")) { ++ volume->device_type = NAUTILUS_DEVICE_ZIP_DRIVE; ++ volume->is_removable = TRUE; ++ } else if (eel_str_has_prefix (name, "jaz")) { ++ volume->device_type = NAUTILUS_DEVICE_JAZ_DRIVE; ++ volume->is_removable = TRUE; ++ } else if (eel_str_has_prefix (name, "camera")) { ++ volume->device_type = NAUTILUS_DEVICE_CAMERA; ++ volume->is_removable = TRUE; ++ } else if (eel_str_has_prefix (name, "memstick") ++ || eel_str_has_prefix (name, "ram")) { ++ volume->device_type = NAUTILUS_DEVICE_MEMORY_STICK; ++ volume->is_removable = TRUE; ++ } else if (eel_str_has_prefix (name, "ipod")) { ++ volume->device_type = NAUTILUS_DEVICE_APPLE; ++ volume->is_removable = TRUE; ++ } else { ++ volume->is_removable = FALSE; + } ++ } + + return TRUE; + } diff --git a/x11-fm/nautilus2/files/patch-src_file-manager_fm-directory-view.c b/x11-fm/nautilus2/files/patch-src_file-manager_fm-directory-view.c new file mode 100644 index 000000000000..5f84cfbe5aee --- /dev/null +++ b/x11-fm/nautilus2/files/patch-src_file-manager_fm-directory-view.c @@ -0,0 +1,31 @@ +--- src/file-manager/fm-directory-view.c.orig Thu Oct 2 23:30:40 2003 ++++ src/file-manager/fm-directory-view.c Thu Oct 2 23:52:04 2003 +@@ -4314,19 +4314,25 @@ + + nautilus_bonobo_set_hidden (view->details->ui, + FM_DIRECTORY_VIEW_MENU_PATH_SCRIPTS, +- !any_scripts); ++ FALSE); + nautilus_bonobo_set_hidden (view->details->ui, + FM_DIRECTORY_VIEW_POPUP_PATH_SCRIPTS, ++ FALSE); ++ nautilus_bonobo_set_hidden (view->details->ui, ++ FM_DIRECTORY_VIEW_MENU_PATH_SCRIPTS_PLACEHOLDER, ++ !any_scripts); ++ nautilus_bonobo_set_hidden (view->details->ui, ++ FM_DIRECTORY_VIEW_POPUP_PATH_BACKGROUND_SCRIPTS_PLACEHOLDER, + !any_scripts); + nautilus_bonobo_set_hidden (view->details->ui, + FM_DIRECTORY_VIEW_POPUP_PATH_BACKGROUND_SCRIPTS, +- !any_scripts); ++ FALSE); + nautilus_bonobo_set_hidden (view->details->ui, + FM_DIRECTORY_VIEW_MENU_PATH_SCRIPTS_SEPARATOR, + !any_scripts); + nautilus_bonobo_set_hidden (view->details->ui, + FM_DIRECTORY_VIEW_POPUP_PATH_SCRIPTS_SEPARATOR, +- !any_scripts); ++ FALSE); + nautilus_bonobo_set_hidden (view->details->ui, + FM_DIRECTORY_VIEW_POPUP_PATH_BACKGROUND_SCRIPTS_SEPARATOR, + !any_scripts); -- cgit v1.2.3