summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Camp <dave@ximian.com>2003-06-27 17:30:41 +0000
committerDave Camp <campd@src.gnome.org>2003-06-27 17:30:41 +0000
commitadf1efcf0fb38cdaeea9ddcbe7878aafcdbb9a27 (patch)
tree93977a4ca433d2a99b5765fc6b81825c42082523
parent5ebd6eec761792a4d7d3290ad48e422183d3f58c (diff)
downloadnautilus-adf1efcf0fb38cdaeea9ddcbe7878aafcdbb9a27.tar.gz
Trimmed up the context menu, and changed the New items to be Open (for
2003-06-27 Dave Camp <dave@ximian.com> * src/file-manager/fm-desktop-icon-view.c: (update_disks_menu): * src/file-manager/fm-directory-view.c: (update_scripts_menu), (paste_clipboard_data), (paste_clipboard_received_callback), (paste_into_clipboard_received_callback), (paste_files_callback), (paste_files_into_callback), (real_merge_menus), (clipboard_targets_received), (real_update_menus): * src/file-manager/fm-icon-view.c: (fm_icon_view_merge_menus): * src/file-manager/nautilus-shell-ui.xml: * src/file-manager/nautilus-directory-view-ui.xml: Trimmed up the context menu, and changed the New items to be Open (for things that create windows) and Create (for things that create files).
-rw-r--r--ChangeLog15
-rw-r--r--src/file-manager/fm-desktop-icon-view.c8
-rw-r--r--src/file-manager/fm-directory-view.c126
-rw-r--r--src/file-manager/fm-icon-view.c11
-rw-r--r--src/file-manager/nautilus-desktop-icon-view-ui.xml8
-rw-r--r--src/file-manager/nautilus-directory-view-ui.xml20
-rw-r--r--src/nautilus-shell-ui.xml6
7 files changed, 156 insertions, 38 deletions
diff --git a/ChangeLog b/ChangeLog
index 5907e7ec7..f751ef3fe 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2003-06-27 Dave Camp <dave@ximian.com>
+
+ * src/file-manager/fm-desktop-icon-view.c: (update_disks_menu):
+ * src/file-manager/fm-directory-view.c: (update_scripts_menu),
+ (paste_clipboard_data), (paste_clipboard_received_callback),
+ (paste_into_clipboard_received_callback), (paste_files_callback),
+ (paste_files_into_callback), (real_merge_menus),
+ (clipboard_targets_received), (real_update_menus):
+ * src/file-manager/fm-icon-view.c: (fm_icon_view_merge_menus):
+ * src/file-manager/nautilus-shell-ui.xml:
+ * src/file-manager/nautilus-directory-view-ui.xml:
+ Trimmed up the context menu, and changed the New items to be
+ Open (for things that create windows) and Create (for things that
+ create files).
+
2003-06-27 Alexander Larsson <alexl@redhat.com>
* components/tree/nautilus-tree-model.c (nautilus_tree_model_get_flags):
diff --git a/src/file-manager/fm-desktop-icon-view.c b/src/file-manager/fm-desktop-icon-view.c
index 3131ea10c..546f7b734 100644
--- a/src/file-manager/fm-desktop-icon-view.c
+++ b/src/file-manager/fm-desktop-icon-view.c
@@ -76,6 +76,7 @@
#define DESKTOP_COMMAND_MEDIA_PROPERTIES_VOLUME_CONDITIONAL "/commands/Media Properties Conditional"
#define DESKTOP_BACKGROUND_POPUP_PATH_DISKS "/popups/background/Before Zoom Items/Volume Items/Disks"
+#define DESKTOP_BACKGROUND_POPUP_PATH_VOLUME_ITEMS "/popups/background/Before Zoom Items/Volume Items"
/* Timeout to check the desktop directory for updates */
#define RESCAN_TIMEOUT 4000
@@ -947,6 +948,13 @@ update_disks_menu (FMDesktopIconView *view)
mount_parameters_free_wrapper));
g_free (command_name);
}
+
+ nautilus_bonobo_set_hidden (view->details->ui,
+ DESKTOP_BACKGROUND_POPUP_PATH_DISKS,
+ (disk_list == NULL));
+ nautilus_bonobo_set_hidden (view->details->ui,
+ DESKTOP_BACKGROUND_POPUP_PATH_VOLUME_ITEMS,
+ (disk_list == NULL));
}
static void
diff --git a/src/file-manager/fm-directory-view.c b/src/file-manager/fm-directory-view.c
index 6591dbe95..6a395352d 100644
--- a/src/file-manager/fm-directory-view.c
+++ b/src/file-manager/fm-directory-view.c
@@ -129,6 +129,7 @@
#define FM_DIRECTORY_VIEW_COMMAND_CUT_FILES "/commands/Cut Files"
#define FM_DIRECTORY_VIEW_COMMAND_COPY_FILES "/commands/Copy Files"
#define FM_DIRECTORY_VIEW_COMMAND_PASTE_FILES "/commands/Paste Files"
+#define FM_DIRECTORY_VIEW_COMMAND_PASTE_FILES_INTO "/commands/Paste Files Into"
#define FM_DIRECTORY_VIEW_MENU_PATH_OPEN_ALTERNATE "/menu/File/Open Placeholder/OpenAlternate"
#define FM_DIRECTORY_VIEW_MENU_PATH_OPEN_WITH "/menu/File/Open Placeholder/Open With"
@@ -150,6 +151,7 @@
#define FM_DIRECTORY_VIEW_POPUP_PATH_BACKGROUND "/popups/background"
#define FM_DIRECTORY_VIEW_POPUP_PATH_SELECTION "/popups/selection"
+#define FM_DIRECTORY_VIEW_POPUP_PATH_BACKGROUND_SCRIPTS "/popups/background/Before Zoom Items/Scripts"
#define FM_DIRECTORY_VIEW_POPUP_PATH_BACKGROUND_SCRIPTS_PLACEHOLDER "/popups/background/Before Zoom Items/Scripts/Scripts Placeholder"
#define FM_DIRECTORY_VIEW_POPUP_PATH_BACKGROUND_SCRIPTS_SEPARATOR "/popups/background/Before Zoom Items/Scripts/After Scripts"
@@ -4304,6 +4306,15 @@ update_scripts_menu (FMDirectoryView *view)
nautilus_directory_list_free (sorted_copy);
nautilus_bonobo_set_hidden (view->details->ui,
+ FM_DIRECTORY_VIEW_MENU_PATH_SCRIPTS,
+ !any_scripts);
+ nautilus_bonobo_set_hidden (view->details->ui,
+ FM_DIRECTORY_VIEW_POPUP_PATH_SCRIPTS,
+ !any_scripts);
+ nautilus_bonobo_set_hidden (view->details->ui,
+ FM_DIRECTORY_VIEW_POPUP_PATH_BACKGROUND_SCRIPTS,
+ !any_scripts);
+ nautilus_bonobo_set_hidden (view->details->ui,
FM_DIRECTORY_VIEW_MENU_PATH_SCRIPTS_SEPARATOR,
!any_scripts);
nautilus_bonobo_set_hidden (view->details->ui,
@@ -4520,17 +4531,13 @@ convert_lines_to_str_list (char **lines, gboolean *cut)
}
static void
-clipboard_received_callback (GtkClipboard *clipboard,
- GtkSelectionData *selection_data,
- gpointer data)
+paste_clipboard_data (FMDirectoryView *view,
+ GtkSelectionData *selection_data,
+ char *destination_uri)
{
- FMDirectoryView *view;
char **lines;
gboolean cut;
GList *item_uris;
- char *view_uri;
-
- view = FM_DIRECTORY_VIEW (data);
if (selection_data->type != copied_files_atom
|| selection_data->length <= 0) {
@@ -4547,13 +4554,11 @@ clipboard_received_callback (GtkClipboard *clipboard,
g_strfreev (lines);
}
- view_uri = fm_directory_view_get_backing_uri (view);
-
- if (item_uris == NULL|| view_uri == NULL) {
+ if (item_uris == NULL|| destination_uri == NULL) {
nautilus_view_report_status (view->details->nautilus_view,
_("There is nothing on the clipboard to paste."));
} else {
- fm_directory_view_move_copy_items (item_uris, NULL, view_uri,
+ fm_directory_view_move_copy_items (item_uris, NULL, destination_uri,
cut ? GDK_ACTION_MOVE : GDK_ACTION_COPY,
0, 0,
view);
@@ -4561,6 +4566,44 @@ clipboard_received_callback (GtkClipboard *clipboard,
}
static void
+paste_clipboard_received_callback (GtkClipboard *clipboard,
+ GtkSelectionData *selection_data,
+ gpointer data)
+{
+ FMDirectoryView *view;
+ char *view_uri;
+
+ view = FM_DIRECTORY_VIEW (data);
+
+ view_uri = fm_directory_view_get_backing_uri (view);
+
+ paste_clipboard_data (view, selection_data, view_uri);
+
+ g_free (view_uri);
+}
+
+static void
+paste_into_clipboard_received_callback (GtkClipboard *clipboard,
+ GtkSelectionData *selection_data,
+ gpointer data)
+{
+ GList *selection;
+ FMDirectoryView *view;
+ char *directory_uri;
+
+ view = FM_DIRECTORY_VIEW (data);
+
+ selection = fm_directory_view_get_selection (view);
+
+ directory_uri = nautilus_file_get_uri (NAUTILUS_FILE (selection->data));
+
+ paste_clipboard_data (view, selection_data, directory_uri);
+
+ g_free (directory_uri);
+ nautilus_file_list_free (selection);
+}
+
+static void
paste_files_callback (BonoboUIComponent *component,
gpointer callback_data,
const char *verb)
@@ -4571,7 +4614,22 @@ paste_files_callback (BonoboUIComponent *component,
gtk_clipboard_request_contents (get_clipboard (view),
copied_files_atom,
- clipboard_received_callback,
+ paste_clipboard_received_callback,
+ callback_data);
+}
+
+static void
+paste_files_into_callback (BonoboUIComponent *component,
+ gpointer callback_data,
+ const char *verb)
+{
+ FMDirectoryView *view;
+
+ view = FM_DIRECTORY_VIEW (callback_data);
+
+ gtk_clipboard_request_contents (get_clipboard (view),
+ copied_files_atom,
+ paste_into_clipboard_received_callback,
callback_data);
}
@@ -4612,6 +4670,7 @@ real_merge_menus (FMDirectoryView *view)
BONOBO_UI_VERB ("OtherViewer", other_viewer_callback),
BONOBO_UI_VERB ("Edit Launcher", edit_launcher_callback),
BONOBO_UI_VERB ("Paste Files", paste_files_callback),
+ BONOBO_UI_VERB ("Paste Files Into", paste_files_into_callback),
BONOBO_UI_VERB ("Reset Background", reset_background_callback),
BONOBO_UI_VERB ("Reset to Defaults", reset_to_defaults_callback),
BONOBO_UI_VERB ("Select All", bonobo_menu_select_all_callback),
@@ -4651,7 +4710,6 @@ clipboard_targets_received (GtkClipboard *clipboard,
GdkAtom *targets;
int n_targets;
int i;
-
view = FM_DIRECTORY_VIEW (user_data);
can_paste = FALSE;
@@ -4666,10 +4724,22 @@ clipboard_targets_received (GtkClipboard *clipboard,
g_free (targets);
}
- if (view->details->ui != NULL)
+ if (view->details->ui != NULL) {
+ GList *selection;
+ int count;
+
+ selection = fm_directory_view_get_selection (view);
+ count = g_list_length (selection);
+
nautilus_bonobo_set_sensitive (view->details->ui,
FM_DIRECTORY_VIEW_COMMAND_PASTE_FILES,
- can_paste);
+ can_paste && !fm_directory_view_is_read_only (view));
+ nautilus_bonobo_set_sensitive (view->details->ui,
+ FM_DIRECTORY_VIEW_COMMAND_PASTE_FILES_INTO,
+ can_paste && count == 1 && nautilus_file_is_directory (NAUTILUS_FILE (selection->data)) && nautilus_file_can_write (NAUTILUS_FILE (selection->data)));
+
+ nautilus_file_list_free (selection);
+ }
g_object_unref (view);
}
@@ -4682,9 +4752,11 @@ real_update_menus (FMDirectoryView *view)
char *label_with_underscore;
gboolean selection_contains_special_link;
gboolean is_read_only;
+ gboolean selection_is_read_only;
gboolean can_create_files;
gboolean can_delete_files;
gboolean can_copy_files;
+ gboolean can_paste_files_into;
gboolean can_link_files;
gboolean can_duplicate_files;
gboolean show_separate_delete_command;
@@ -4701,12 +4773,18 @@ real_update_menus (FMDirectoryView *view)
selection_contains_special_link = special_link_in_selection (view);
is_read_only = fm_directory_view_is_read_only (view);
+ selection_is_read_only = selection_count == 1
+ && !nautilus_file_can_write (NAUTILUS_FILE (selection->data));
+
can_create_files = fm_directory_view_supports_creating_files (view);
can_delete_files = !is_read_only
&& selection_count != 0
&& !selection_contains_special_link;
can_copy_files = selection_count != 0
- && !selection_contains_special_link;
+ && !selection_contains_special_link;
+ can_paste_files_into = selection_count == 1 &&
+ nautilus_file_is_directory (NAUTILUS_FILE (selection->data));
+
can_duplicate_files = can_create_files && can_copy_files;
can_link_files = can_create_files && can_copy_files;
@@ -4848,15 +4926,21 @@ real_update_menus (FMDirectoryView *view)
selection_count == 1
? _("_Copy File")
: _("_Copy Files"));
+
nautilus_bonobo_set_sensitive (view->details->ui,
FM_DIRECTORY_VIEW_COMMAND_COPY_FILES,
can_copy_files);
- if (is_read_only) {
- nautilus_bonobo_set_sensitive (view->details->ui,
- FM_DIRECTORY_VIEW_COMMAND_PASTE_FILES,
- FALSE);
- } else {
+ nautilus_bonobo_set_hidden (view->details->ui,
+ FM_DIRECTORY_VIEW_COMMAND_PASTE_FILES_INTO,
+ !can_paste_files_into);
+ nautilus_bonobo_set_sensitive (view->details->ui,
+ FM_DIRECTORY_VIEW_COMMAND_PASTE_FILES_INTO,
+ !selection_is_read_only);
+ nautilus_bonobo_set_sensitive (view->details->ui,
+ FM_DIRECTORY_VIEW_COMMAND_PASTE_FILES,
+ is_read_only);
+ if (!selection_is_read_only || !is_read_only) {
/* Ask the clipboard */
g_object_ref (view); /* Need to keep the object alive until we get the reply */
gtk_clipboard_request_contents (get_clipboard (view),
diff --git a/src/file-manager/fm-icon-view.c b/src/file-manager/fm-icon-view.c
index 30366fb50..92285cdcb 100644
--- a/src/file-manager/fm-icon-view.c
+++ b/src/file-manager/fm-icon-view.c
@@ -92,6 +92,10 @@
#define POPUP_PATH_LAY_OUT "/popups/background/Before Zoom Items/View Items/Arrange Items"
+#define POPUP_PATH_ICON_APPEARANCE "/popups/selection/Icon Appearance Items"
+#define POPUP_PATH_STRETCH_ICON "/popups/selection/Icon Appearance Items/Stretch"
+#define POPUP_PATH_UNSTRETCH_ICON "/popups/selection/Icon Appearance Items/Unstretch"
+
#define COMMAND_PREFIX "/commands/"
#define COMMAND_STRETCH_ICON "/commands/Stretch"
#define COMMAND_UNSTRETCH_ICONS "/commands/Unstretch"
@@ -1547,6 +1551,13 @@ fm_icon_view_merge_menus (FMDirectoryView *view)
(icon_view->details->ui, POPUP_PATH_LAY_OUT, TRUE);
}
+ nautilus_bonobo_set_hidden
+ (icon_view->details->ui, POPUP_PATH_ICON_APPEARANCE, TRUE);
+
+ nautilus_bonobo_set_hidden
+ (icon_view->details->ui, POPUP_PATH_ICON_APPEARANCE,
+ !FM_IS_DESKTOP_ICON_VIEW (view));
+
update_layout_menus (icon_view);
bonobo_ui_component_thaw (icon_view->details->ui, NULL);
diff --git a/src/file-manager/nautilus-desktop-icon-view-ui.xml b/src/file-manager/nautilus-desktop-icon-view-ui.xml
index 322036687..664e76d5d 100644
--- a/src/file-manager/nautilus-desktop-icon-view-ui.xml
+++ b/src/file-manager/nautilus-desktop-icon-view-ui.xml
@@ -21,10 +21,10 @@
_label="Medi_a Properties"
_tip="Show media properties for the selected volume"/>
<cmd name="New Terminal"
- _label="New T_erminal"
+ _label="Open T_erminal"
_tip="Open a new GNOME terminal window"/>
<cmd name="New Launcher Desktop"
- _label="New L_auncher"
+ _label="Create L_auncher"
_tip="Create a new launcher"/>
<cmd name="OpenAlternate" hidden="1"/>
<cmd name="Reset Background"
@@ -49,8 +49,10 @@
<popups>
<popup name="background">
<placeholder name="Before Zoom Items">
- <placeholder name="New Items">
+ <placeholder name="New Window Items">
<menuitem name="New Terminal" verb="New Terminal"/>
+ </placeholder>
+ <placeholder name="New Object Items">
<menuitem name="New Launcher" verb="New Launcher Desktop"/>
</placeholder>
<placeholder name="Volume Items" delimit="top">
diff --git a/src/file-manager/nautilus-directory-view-ui.xml b/src/file-manager/nautilus-directory-view-ui.xml
index e56712eb3..084a8f31f 100644
--- a/src/file-manager/nautilus-directory-view-ui.xml
+++ b/src/file-manager/nautilus-directory-view-ui.xml
@@ -16,10 +16,10 @@
_label="_Empty Trash"
_tip="Delete all items in the Trash"/>
<cmd name="New Folder"
- _label="_New Folder"
+ _label="Create _Folder"
_tip="Create a new empty folder inside this folder"/>
<cmd name="New Launcher"
- _label="New L_auncher"
+ _label="Create L_auncher"
_tip="Create a new launcher"/>
<cmd name="Edit Launcher"
_label="Edit Launcher"
@@ -54,6 +54,9 @@
<cmd name="Paste Files"
_label="_Paste Files"
_tip="Move or copy files previously selected by a Cut Files or Copy Files command"/>
+ <cmd name="Paste Files Into"
+ _label="_Paste Files Into Folder"
+ _tip="Move or copy files previously selected by a Cut Files or Copy Files command into the selected folder"/>
<cmd name="Select All"
_label="Select _All Files"
_tip="Select all items in this window"/>
@@ -174,7 +177,7 @@
<popups>
<popup name="background">
<placeholder name="Before Zoom Items">
- <placeholder name="New Items">
+ <placeholder name="New Object Items">
<menuitem name="New Folder"
verb="New Folder"/>
<menuitem name="New Launcher"
@@ -191,12 +194,6 @@
</submenu>
<placeholder name="View Items" delimit="top"/>
<placeholder name="File Clipboard Actions" delimit="top">
- <menuitem name="Cut Files"
- pixtype="stock" pixname="gtk-cut"
- verb="Cut Files"/>
- <menuitem name="Copy Files"
- pixtype="stock" pixname="gtk-copy"
- verb="Copy Files"/>
<menuitem name="Paste Files"
pixtype="stock" pixname="gtk-paste"
verb="Paste Files"/>
@@ -245,12 +242,11 @@
<menuitem name="Copy Files"
pixtype="stock" pixname="gtk-copy"
verb="Copy Files"/>
- <menuitem name="Paste Files"
+ <menuitem name="Paste Files Into"
pixtype="stock" pixname="gtk-paste"
- verb="Paste Files"/>
+ verb="Paste Files Into"/>
</placeholder>
<placeholder name="File Actions" delimit="top">
- <menuitem name="Duplicate" verb="Duplicate"/>
<menuitem name="Create Link" verb="Create Link"/>
<menuitem name="Rename" verb="Rename"/>
</placeholder>
diff --git a/src/nautilus-shell-ui.xml b/src/nautilus-shell-ui.xml
index 24e9c8484..fc7c3fd8e 100644
--- a/src/nautilus-shell-ui.xml
+++ b/src/nautilus-shell-ui.xml
@@ -20,7 +20,7 @@
_label="Find"
_tip="Search this computer for files"/>
<cmd name="New Window"
- _label="New _Window"
+ _label="Open New _Window"
_tip="Open another Nautilus window for the displayed location"/>
<cmd name="Home"
_tip="Go to the home location"/>
@@ -369,10 +369,12 @@
<popups>
<popup name="background" tearoff="0">
<placeholder name="Before Zoom Items" delimit="none">
- <placeholder name="New Items" delimit="none">
+ <placeholder name="New Window Items" delimit="none">
<menuitem name="New Window"
verb="New Window"/>
</placeholder>
+ <placeholder name="New Object Items" delimit="none">
+ </placeholder>
</placeholder>
<placeholder name="Zoom Items" delimit="top">
<menuitem name="Zoom In"