summaryrefslogtreecommitdiff
path: root/libnautilus-extensions/nautilus-global-preferences.c
diff options
context:
space:
mode:
authorJohn Sullivan <sullivan@src.gnome.org>2001-01-29 19:29:56 +0000
committerJohn Sullivan <sullivan@src.gnome.org>2001-01-29 19:29:56 +0000
commit5e384e1bd1e407a837ce32bd047ad83273115f9b (patch)
treebf91a9adb5db06d3fb3610dbccdee11e1f98a058 /libnautilus-extensions/nautilus-global-preferences.c
parent0e1358ee8865c3fd9f3312da3cc19a857347312b (diff)
downloadnautilus-5e384e1bd1e407a837ce32bd047ad83273115f9b.tar.gz
reviewed by: Darin Adler <darin@eazel.com>
Fixed bug 4427 (Should not execute text files by default). Now it asks whether to run or display executable text files. Advanced users can set a new preference. * libnautilus-extensions/nautilus-stock-dialogs.h: * libnautilus-extensions/nautilus-stock-dialogs.c: (create_message_box): New bottleneck function, contains former guts of show_message_box but doesn't call gtk_widget_show. (show_message_box): Now just a simple wrapper for calling create_message_box and showing the result. (nautilus_show_info_dialog), (nautilus_show_warning_dialog), (nautilus_show_error_dialog), (nautilus_show_yes_no_dialog), (nautilus_show_error_dialog_with_details): Renamed to add verb "show" to names. (nautilus_run_simple_dialog): Renamed to add verb "run" to name. (nautilus_create_question_dialog): New public function, does not show the dialog yet so caller can add more buttons or whatever before showing. * libnautilus-extensions/nautilus-global-preferences.h: * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_install_descriptions), (global_preferences_install_defaults), (global_preferences_install_visibility), (global_preferences_create_dialog): Add new preference for what to do when an executable text file is activated. It defaults to "Ask" and is visible only at Advanced level. * libnautilus-extensions/nautilus-file-private.h: * libnautilus-extensions/nautilus-file.h: Moved nautilus_file_contains_text into public header. * src/file-manager/fm-directory-view.c: (get_executable_text_file_action): New function, uses preference and dialog (if necessary) to determine how to handle activating an executable text file. (activate_callback): Now handles executable text files specially by using get_executable_text_file_action. Restructured the control flow a little. * components/music/nautilus-music-view.c: (set_album_cover), (play_current_file), (nautilus_music_view_update): * components/rpmview/nautilus-rpm-view-install.c: (nautilus_rpm_view_install_done): * components/services/summary/nautilus-view/nautilus-summary-dialogs.c: (nautilus_summary_login_failure_dialog), (generate_error_dialog): * components/text/nautilus-text-view.c: (file_read_callback): * libnautilus-extensions/nautilus-file-operations.c: (confirm_empty_trash), (handle_transfer_vfs_error), (handle_transfer_overwrite), (nautilus_file_operations_copy_move), (handle_new_folder_vfs_error), (nautilus_file_operations_move_to_trash): * libnautilus-extensions/nautilus-icon-dnd.c: (confirm_switch_to_manual_layout): * libnautilus-extensions/nautilus-program-chooser.c: (nautilus_program_chooser_show_no_choices_message): * libnautilus-extensions/nautilus-program-choosing.c: (nautilus_launch_application): * libnautilus-extensions/nautilus-volume-monitor.c: (display_mount_status): * src/file-manager/fm-desktop-icon-view.c: (icon_view_create_nautilus_links): * src/file-manager/fm-directory-view.c: (fm_directory_view_confirm_multiple_windows), (real_file_limit_reached), (fm_directory_view_confirm_deletion), (confirm_delete_from_trash), (report_broken_symbolic_link), * src/file-manager/fm-error-reporting.c: (fm_report_error_renaming_file), (fm_report_error_setting_group), (fm_report_error_setting_owner), (fm_report_error_setting_permissions): * src/file-manager/fm-properties-window.c: (set_custom_image): * src/file-manager/fm-search-list-view.c: (load_location_callback), (load_error_callback), (display_indexed_search_problems_dialog), (real_file_limit_reached): * src/file-manager/nautilus-indexing-info.c: (update_file_index_callback), (show_search_service_not_available_dialog): * src/nautilus-application.c: (check_required_directories), (nautilus_application_startup): * src/nautilus-location-bar.c: (drag_data_received_callback): * src/nautilus-property-browser.c: (remove_pattern), (remove_emblem), (emblem_image_file_changed), (add_pattern_to_browser), (add_color_to_browser), (emblem_dialog_clicked): * src/nautilus-sidebar.c: (receive_dropped_uri_list): * src/nautilus-theme-selector.c: (add_theme_to_icons), (theme_select_row_callback): * src/nautilus-window-manage-views.c: (handle_unreadable_location), (report_content_view_failure_to_user_internal), (report_sidebar_panel_failure_to_user), (nautilus_window_end_location_change_callback): * src/nautilus-window-menus.c: (forget_history_if_confirmed), (show_bogus_bookmark_window): Updated for dialog API name changes. * libnautilus-extensions/nautilus-file.c: (get_description): Lucky Aaron gets missing mime description complaints now.
Diffstat (limited to 'libnautilus-extensions/nautilus-global-preferences.c')
-rw-r--r--libnautilus-extensions/nautilus-global-preferences.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/libnautilus-extensions/nautilus-global-preferences.c b/libnautilus-extensions/nautilus-global-preferences.c
index dd85fbb7c..809ca1575 100644
--- a/libnautilus-extensions/nautilus-global-preferences.c
+++ b/libnautilus-extensions/nautilus-global-preferences.c
@@ -109,6 +109,25 @@ global_preferences_install_descriptions (void)
_("Activate items with a double click"),
NAUTILUS_CLICK_POLICY_DOUBLE);
+ /* Click activation type */
+ nautilus_preferences_set_description (NAUTILUS_PREFERENCES_EXECUTABLE_TEXT_ACTIVATION,
+ _("Activating Executable Text Files"));
+
+ nautilus_preferences_enumeration_insert (NAUTILUS_PREFERENCES_EXECUTABLE_TEXT_ACTIVATION,
+ _("launch"),
+ _("Always execute"),
+ NAUTILUS_EXECUTABLE_TEXT_LAUNCH);
+
+ nautilus_preferences_enumeration_insert (NAUTILUS_PREFERENCES_EXECUTABLE_TEXT_ACTIVATION,
+ _("display"),
+ _("Always display"),
+ NAUTILUS_EXECUTABLE_TEXT_DISPLAY);
+
+ nautilus_preferences_enumeration_insert (NAUTILUS_PREFERENCES_EXECUTABLE_TEXT_ACTIVATION,
+ _("ask"),
+ _("Ask each time"),
+ NAUTILUS_EXECUTABLE_TEXT_ASK);
+
/*
* Speed tradeoffs
*/
@@ -242,6 +261,10 @@ global_preferences_install_defaults (void)
NAUTILUS_USER_LEVEL_NOVICE,
NAUTILUS_CLICK_POLICY_DOUBLE);
+ nautilus_preferences_default_set_integer (NAUTILUS_PREFERENCES_EXECUTABLE_TEXT_ACTIVATION,
+ NAUTILUS_USER_LEVEL_NOVICE,
+ NAUTILUS_EXECUTABLE_TEXT_ASK);
+
nautilus_preferences_default_set_string (NAUTILUS_PREFERENCES_THEME,
NAUTILUS_USER_LEVEL_NOVICE,
"default");
@@ -386,6 +409,9 @@ global_preferences_install_visibility (void)
nautilus_preferences_set_visible_user_level (NAUTILUS_PREFERENCES_SHOW_SPECIAL_FLAGS,
NAUTILUS_USER_LEVEL_HACKER);
+ nautilus_preferences_set_visible_user_level (NAUTILUS_PREFERENCES_EXECUTABLE_TEXT_ACTIVATION,
+ NAUTILUS_USER_LEVEL_HACKER);
+
nautilus_preferences_set_visible_user_level (NAUTILUS_PREFERENCES_SMOOTH_GRAPHICS_MODE,
NAUTILUS_USER_LEVEL_INTERMEDIATE);
@@ -576,6 +602,13 @@ global_preferences_create_dialog (void)
NAUTILUS_PREFERENCES_SHOW_SPECIAL_FLAGS,
NAUTILUS_PREFERENCE_ITEM_BOOLEAN);
+ nautilus_preferences_pane_add_group (NAUTILUS_PREFERENCES_PANE (directory_views_pane), _("Activating Executable Text Files"));
+
+ nautilus_preferences_pane_add_item_to_nth_group (NAUTILUS_PREFERENCES_PANE (directory_views_pane),
+ 4,
+ NAUTILUS_PREFERENCES_EXECUTABLE_TEXT_ACTIVATION,
+ NAUTILUS_PREFERENCE_ITEM_ENUM);
+
/*
* Search Settings
*/