diff options
author | Dave Camp <dave@ximian.com> | 2003-06-27 17:30:41 +0000 |
---|---|---|
committer | Dave Camp <campd@src.gnome.org> | 2003-06-27 17:30:41 +0000 |
commit | adf1efcf0fb38cdaeea9ddcbe7878aafcdbb9a27 (patch) | |
tree | 93977a4ca433d2a99b5765fc6b81825c42082523 | |
parent | 5ebd6eec761792a4d7d3290ad48e422183d3f58c (diff) | |
download | nautilus-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-- | ChangeLog | 15 | ||||
-rw-r--r-- | src/file-manager/fm-desktop-icon-view.c | 8 | ||||
-rw-r--r-- | src/file-manager/fm-directory-view.c | 126 | ||||
-rw-r--r-- | src/file-manager/fm-icon-view.c | 11 | ||||
-rw-r--r-- | src/file-manager/nautilus-desktop-icon-view-ui.xml | 8 | ||||
-rw-r--r-- | src/file-manager/nautilus-directory-view-ui.xml | 20 | ||||
-rw-r--r-- | src/nautilus-shell-ui.xml | 6 |
7 files changed, 156 insertions, 38 deletions
@@ -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" |