2005-10-21 14:10:06 +00:00
|
|
|
--- nautilus-2.12.1/src/file-manager/fm-actions.h.format 2005-07-01 06:22:19.000000000 -0400
|
2005-10-28 12:43:41 +00:00
|
|
|
+++ nautilus-2.12.1/src/file-manager/fm-actions.h 2005-10-27 14:35:29.000000000 -0400
|
2005-10-21 14:10:06 +00:00
|
|
|
@@ -57,6 +57,7 @@
|
|
|
|
#define FM_ACTION_MOUNT_VOLUME "Mount Volume"
|
|
|
|
#define FM_ACTION_UNMOUNT_VOLUME "Unmount Volume"
|
|
|
|
#define FM_ACTION_EJECT_VOLUME "Eject Volume"
|
|
|
|
+#define FM_ACTION_FORMAT_VOLUME "Format Volume"
|
|
|
|
#define FM_ACTION_SCRIPTS "Scripts"
|
|
|
|
#define FM_ACTION_NEW_DOCUMENTS "New Documents"
|
|
|
|
#define FM_ACTION_NEW_EMPTY_FILE "New Empty File"
|
|
|
|
--- nautilus-2.12.1/src/file-manager/fm-directory-view.c.format 2005-09-27 04:31:43.000000000 -0400
|
2005-10-28 12:43:41 +00:00
|
|
|
+++ nautilus-2.12.1/src/file-manager/fm-directory-view.c 2005-10-27 23:14:56.000000000 -0400
|
2005-10-21 14:10:06 +00:00
|
|
|
@@ -377,6 +377,8 @@
|
|
|
|
gpointer data);
|
|
|
|
static void action_unmount_volume_callback (GtkAction *action,
|
|
|
|
gpointer data);
|
|
|
|
+static void action_format_volume_callback (GtkAction *action,
|
|
|
|
+ gpointer data);
|
|
|
|
|
|
|
|
/* location popup-related actions */
|
|
|
|
|
2005-10-28 12:43:41 +00:00
|
|
|
@@ -5796,6 +5798,43 @@
|
2005-10-21 14:10:06 +00:00
|
|
|
nautilus_file_list_free (selection);
|
|
|
|
}
|
|
|
|
|
|
|
|
+static void
|
|
|
|
+action_format_volume_callback (GtkAction *action,
|
|
|
|
+ gpointer data)
|
|
|
|
+{
|
|
|
|
+ NautilusFile *file;
|
|
|
|
+ GList *selection, *l;
|
|
|
|
+ GnomeVFSDrive *drive;
|
2005-10-28 12:43:41 +00:00
|
|
|
+ char *device_path;
|
|
|
|
+ char *cmdline;
|
2005-10-21 14:10:06 +00:00
|
|
|
+ FMDirectoryView *view;
|
|
|
|
+
|
|
|
|
+ view = FM_DIRECTORY_VIEW (data);
|
|
|
|
+
|
|
|
|
+ selection = fm_directory_view_get_selection (view);
|
|
|
|
+ for (l = selection; l != NULL; l = l->next) {
|
|
|
|
+ file = NAUTILUS_FILE (l->data);
|
|
|
|
+
|
|
|
|
+ if (nautilus_file_has_drive (file)) {
|
|
|
|
+ drive = nautilus_file_get_drive (file);
|
2005-10-28 12:43:41 +00:00
|
|
|
+ device_path = gnome_vfs_drive_get_device_path (drive);
|
|
|
|
+
|
2005-10-21 14:10:06 +00:00
|
|
|
+ if (gnome_vfs_drive_get_device_type (drive) == GNOME_VFS_DEVICE_TYPE_FLOPPY) {
|
2005-10-28 12:43:41 +00:00
|
|
|
+
|
|
|
|
+
|
|
|
|
+ cmdline = g_strconcat ("gfloppy ", device_path, NULL);
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ cmdline = g_strconcat ("userformat ", device_path, NULL);
|
2005-10-21 14:10:06 +00:00
|
|
|
+ }
|
2005-10-28 12:43:41 +00:00
|
|
|
+ g_spawn_command_line_async (cmdline, NULL);
|
|
|
|
+ g_free (cmdline);
|
|
|
|
+ g_free (device_path);
|
2005-10-21 14:10:06 +00:00
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ nautilus_file_list_free (selection);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
static void
|
|
|
|
action_eject_volume_callback (GtkAction *action,
|
|
|
|
gpointer data)
|
2005-10-28 12:43:41 +00:00
|
|
|
@@ -6218,6 +6257,10 @@
|
2005-10-21 14:10:06 +00:00
|
|
|
N_("_Eject"), NULL, /* label, accelerator */
|
|
|
|
N_("Eject the selected volume"), /* tooltip */
|
|
|
|
G_CALLBACK (action_eject_volume_callback) },
|
|
|
|
+ { "Format Volume", NULL, /* name, stock id */
|
|
|
|
+ N_("_Format"), NULL, /* label, accelerator */
|
|
|
|
+ N_("Format the selected volume"), /* tooltip */
|
|
|
|
+ G_CALLBACK (action_format_volume_callback) },
|
|
|
|
{ "OpenCloseParent", NULL, /* name, stock id */
|
|
|
|
N_("Open File and Close window"), "<alt><shift>Down", /* label, accelerator */
|
|
|
|
NULL, /* tooltip */
|
2005-10-28 12:43:41 +00:00
|
|
|
@@ -6457,7 +6500,8 @@
|
2005-10-21 14:10:06 +00:00
|
|
|
gboolean *show_mount,
|
|
|
|
gboolean *show_unmount,
|
|
|
|
gboolean *show_eject,
|
|
|
|
- gboolean *show_connect)
|
|
|
|
+ gboolean *show_connect,
|
|
|
|
+ gboolean *show_format)
|
|
|
|
{
|
|
|
|
GnomeVFSVolume *volume;
|
|
|
|
GnomeVFSDrive *drive;
|
2005-10-28 12:43:41 +00:00
|
|
|
@@ -6467,6 +6511,7 @@
|
2005-10-21 14:10:06 +00:00
|
|
|
*show_unmount = FALSE;
|
|
|
|
*show_eject = FALSE;
|
|
|
|
*show_connect = FALSE;
|
|
|
|
+ *show_format = FALSE;
|
|
|
|
|
|
|
|
if (nautilus_file_has_volume (file)) {
|
|
|
|
*show_unmount = TRUE;
|
2005-10-28 12:43:41 +00:00
|
|
|
@@ -6476,11 +6521,18 @@
|
|
|
|
} else if (nautilus_file_has_drive (file)) {
|
|
|
|
drive = nautilus_file_get_drive (file);
|
|
|
|
*show_eject = eject_for_type (gnome_vfs_drive_get_device_type (drive));
|
|
|
|
+ if ((gnome_vfs_drive_get_device_type (drive) == GNOME_VFS_DEVICE_TYPE_FLOPPY &&
|
|
|
|
+ g_find_program_in_path ("gfloppy")) ||
|
|
|
|
+ g_find_program_in_path ("userformat")) {
|
|
|
|
+ *show_format = TRUE;
|
|
|
|
+ }
|
|
|
|
if (gnome_vfs_drive_is_mounted (drive)) {
|
|
|
|
*show_unmount = TRUE;
|
|
|
|
+ *show_format = FALSE;
|
2005-10-21 14:10:06 +00:00
|
|
|
} else {
|
|
|
|
*show_mount = TRUE;
|
|
|
|
}
|
|
|
|
+
|
|
|
|
} else if (nautilus_file_is_nautilus_link (file)) {
|
|
|
|
uri = nautilus_file_get_activation_uri (file);
|
|
|
|
if (uri != NULL &&
|
2005-10-28 12:43:41 +00:00
|
|
|
@@ -6507,32 +6559,38 @@
|
2005-10-21 14:10:06 +00:00
|
|
|
gboolean show_unmount;
|
|
|
|
gboolean show_eject;
|
|
|
|
gboolean show_connect;
|
|
|
|
+ gboolean show_format;
|
|
|
|
GtkAction *action;
|
|
|
|
|
|
|
|
show_mount = (selection != NULL);
|
|
|
|
show_unmount = (selection != NULL);
|
|
|
|
show_eject = (selection != NULL);
|
|
|
|
show_connect = (selection != NULL && selection_count == 1);
|
|
|
|
+ show_format = (selection != NULL && selection_count == 1);
|
|
|
|
|
|
|
|
for (l = selection; l != NULL && (show_mount || show_unmount
|
|
|
|
- || show_eject || show_connect);
|
|
|
|
+ || show_eject || show_connect
|
|
|
|
+ || show_format);
|
|
|
|
l = l->next) {
|
|
|
|
gboolean show_mount_one;
|
|
|
|
gboolean show_unmount_one;
|
|
|
|
gboolean show_eject_one;
|
|
|
|
gboolean show_connect_one;
|
|
|
|
+ gboolean show_format_one;
|
|
|
|
|
|
|
|
file = NAUTILUS_FILE (l->data);
|
|
|
|
file_should_show_foreach (file,
|
|
|
|
&show_mount_one,
|
|
|
|
&show_unmount_one,
|
|
|
|
&show_eject_one,
|
|
|
|
- &show_connect_one);
|
|
|
|
+ &show_connect_one,
|
|
|
|
+ &show_format_one);
|
|
|
|
|
|
|
|
show_mount &= show_mount_one;
|
|
|
|
show_unmount &= show_unmount_one;
|
|
|
|
show_eject &= show_eject_one;
|
|
|
|
show_connect &= show_connect_one;
|
|
|
|
+ show_format &= show_format_one;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* We don't want both eject and unmount, since eject
|
2005-10-28 12:43:41 +00:00
|
|
|
@@ -6556,6 +6614,10 @@
|
2005-10-21 14:10:06 +00:00
|
|
|
action = gtk_action_group_get_action (view->details->dir_action_group,
|
|
|
|
FM_ACTION_EJECT_VOLUME);
|
|
|
|
gtk_action_set_visible (action, show_eject);
|
|
|
|
+
|
|
|
|
+ action = gtk_action_group_get_action (view->details->dir_action_group,
|
|
|
|
+ FM_ACTION_FORMAT_VOLUME);
|
|
|
|
+ gtk_action_set_visible (action, show_format);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
--- nautilus-2.12.1/src/file-manager/nautilus-directory-view-ui.xml.format 2005-10-03 03:45:27.000000000 -0400
|
2005-10-28 12:43:41 +00:00
|
|
|
+++ nautilus-2.12.1/src/file-manager/nautilus-directory-view-ui.xml 2005-10-27 14:35:29.000000000 -0400
|
2005-10-21 14:10:06 +00:00
|
|
|
@@ -147,6 +147,7 @@
|
|
|
|
<menuitem name="Mount Volume" action="Mount Volume"/>
|
|
|
|
<menuitem name="Unmount Volume" action="Unmount Volume"/>
|
|
|
|
<menuitem name="Eject Volume" action="Eject Volume"/>
|
|
|
|
+ <menuitem name="Format Volume" action="Format Volume"/>
|
|
|
|
</placeholder>
|
|
|
|
<menuitem name="Connect To Server Link" action="Connect To Server Link"/>
|
|
|
|
</popup>
|