nautilus/libnautilus-private/nautilus-global-preferences.h

205 lines
8.7 KiB
C
Raw Normal View History

/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/* nautilus-global-prefs.h - Nautilus main preferences api.
reviewed by: John Sullivan <sullivan@eazel.com> Fix bug 6613 (no way to delete files without using trash) by integrating Maciej's patch to add an optional Delete command (with some fixes to the patch). There may still be some loose ends. Fix bug 2206 (No way to move or copy a file to a different directory from keyboard) by implementing Cut, Copy, and Paste for files, in a way that will be familiar to Windows users. The positioning of the new files is not right yet (they inherit their position from the old files), there is no feedback when you have cut some files (Arlo's idea, which I might implement, is to make them translucent to show they are "on the way out") or when you have copied some files, and I think there are some other loose ends. Fixed cut, copy, and paste within the file names when you do a rename. This wasn't working at all. Got rid of configure-time checks that were looking at the existence of some special system files. Fixed a few minor bugs discovered by code inspection. * 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 expert preference to add a Delete command that bypasses the Trash. * src/file-manager/nautilus-directory-view-ui.xml: Add Delete, Cut Files, Copy Files, and Paste Files. * src/file-manager/fm-directory-view.c: (confirm_delete_directly), (delete_callback): Add delete code. (bonobo_menu_empty_trash_callback): Get rid of extraneous cast. (fm_directory_view_initialize): Track the delete preference. Set the flags properly to indicate we have our own X window. Add a target so GTK knows that we accept pastes of copied files. (forget_clipboard_contents): Helper for when we are no longer the clipboard owner. (fm_directory_view_destroy): Remove the delete preference callback. Free the clipboard contents. (offset_drop_points): Change so it handles NULL for the list of points. (trash_or_delete_files_common): Remove unneeded parameters. (get_current_event_time): New function, placeholder that just returned GDK_CURRENT_TIME. Perhaps we should get the real event time here for use in clipboard manipulation calls. (copy_or_cut_files): New function. Save the selection for later use in a paste. (copy_files_callback), (cut_files_callback): Call the new copy_or_cut_files function. (paste_files_callback): Do the clipboard convert that results in the paste operation. (real_selection_clear_event): Forget the clipboard contents. (real_selection_get): Convert the selection into the appropriate format and put it on the clipboard. (convert_lines_to_str_list): Helper function for decoding incoming pasted files. (real_selection_received): Handle pasted files by parsing and then triggering a file copy operation. (real_merge_menus): Add verbs for cut, copy, and paste. (enable_delete_changed_callback): Keep track of delete command status in a boolean. (real_update_menus): Show delete command if the preference is on and we are not showing "Delete from Trash". Update names of the Cut and Copy command depending on how many files are selected. Also desensitize them when none are selected. (fm_directory_view_select_file): Initialize an uninitialized field. (fm_directory_view_move_copy_items): Allow relative_item_points to be NULL. (real_realize): Create our own X window. (real_size_allocate): Trick GtkScrolledWindow into doing the right thing despite the fact that we have our own X window. (fm_directory_view_initialize_class): Moved down to the bottom so we don't need so many forward declaractions. Added code to set up some needed atoms and new default handlers. * libnautilus-extensions/nautilus-icon-text-item.c: (send_focus_event), (iti_stop_editing), (iti_start_editing): Add code to send the appropriate focus events to the fake off-screen GtkEntry. This makes the clipboard code that tracks focus-related signals work properly with this entry. (iti_event): Tweak the sequence and simplify the code a bit. * libnautilus/nautilus-clipboard.c: (set_paste_sensitive_if_clipboard_contains_data): Add more FIXMEs. This function is very far from useful, and it's not clear that it can be implemented efficiently under X. (nautilus_clipboard_set_up_editable): Get rid of silly "grab_focus" hack that was an attempt to address the problems with the NautilusIconTextItem. The real solution was to do focusing for that item too. (nautilus_clipboard_set_up_editable_in_control): Fix this so it works when called on an editable that is already focused. * src/file-manager/fm-icon-view.c: (renaming_icon_callback): Get rid of "grab_focus" workaround, which wasn't working. * acconfig.h: * configure.in: Remove all configure checks that were checking the existence of files. * libnautilus-extensions/nautilus-medusa-support.c: (nautilus_medusa_check_cron_is_enabled): Simplify logic so there's less room for confusion (I did this as a fix for the bug that was reported on the mailing list, but Rebecka checked in the small patch first). Also change it so we don't need a configure-time check for the existence of the process directory and fix it so we won't get a core dump if the file doesn't have a space character in it. Also change the logic so we don't leave the directory open when we do find the cron process. * libnautilus-extensions/nautilus-volume-monitor.c: (nautilus_volume_monitor_initialize_class), (has_removable_mntent_options), (get_removable_volumes), (volume_is_removable), (volume_is_read_only), (mount_volume_get_cdrom_name), (mount_volume_activate_cdda), (mount_volume_activate_cdrom), (build_volume_list_delta), (get_current_mount_list), (mount_lists_are_identical), (verify_current_mount_state), (mount_volume_floppy_add), (get_cdrom_type_solaris), (mount_volume_iso9660_add), (display_mount_status), (close_error_pipe), (nautilus_volume_monitor_mount_unmount_removable), (mount_volume_add_filesystem): Make changes throughout to get rid of dependence on configure-time file checks and do things at runtime instead. Also use typedefs to make less code conditional. Also fix the Solaris CD-ROM code which was casting a GString to a (char *) before, so it used absurd file names, and failed to open and returned FALSE all the time. * libnautilus-extensions/nautilus-icon-container.c: (nautilus_icon_container_start_renaming_selected_item): Send the renaming signal before setting up the rest of the icon. This change is not really needed, but it's a better order to do things. * libnautilus/nautilus-clipboard-ui.xml: Move tips into the commands instead of the menu items (for style mostly, no practical implications at the moment). * src/nautilus-shell-ui.xml: Remove tips from Cut, Copy, and Paste, since tips from insensitive items aren't used, and if we had tips, we'd put them on the command, not the menu item, anyway.
2001-03-23 02:34:16 +00:00
Copyright (C) 1999, 2000, 2001 Eazel, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this program; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
Authors: Ramiro Estrugo <ramiro@eazel.com>
*/
#ifndef NAUTILUS_PREFS_GLOBAL_H
#define NAUTILUS_PREFS_GLOBAL_H
Move the nautilus-widgets classes to libnautilus-extensions. * Makefile.am: * components/hardware/Makefile.am: * components/help/Makefile.am: * components/history/Makefile.am: * components/html/Makefile.am: * components/loser/content/Makefile.am: * components/loser/sidebar/Makefile.am: * components/music/Makefile.am: * components/notes/Makefile.am: * components/rpmview/Makefile.am: * components/sample/Makefile.am: * components/services/startup/nautilus-view/Makefile.am: * components/services/time/nautilus-view/Makefile.am: * components/services/trilobite/sample/nautilus-view/Makefile.am: * components/websearch/Makefile.am: * configure.in: * helper-utilities/authenticate/Makefile.am: * helper-utilities/authenticate/nautilus-authenticate.c: * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-caption-table.c: * libnautilus-extensions/nautilus-caption.c: * libnautilus-extensions/nautilus-file-utilities.c: * libnautilus-extensions/nautilus-global-preferences.c: * libnautilus-extensions/nautilus-global-preferences.h: * libnautilus-extensions/nautilus-lib-self-check-functions.h: * libnautilus-extensions/nautilus-link-set.c: * libnautilus-extensions/nautilus-link.c: * libnautilus-extensions/nautilus-password-dialog.c: * libnautilus-extensions/nautilus-preference.c: (nautilus_self_check_preference): * libnautilus-extensions/nautilus-preferences-box.c: * libnautilus-extensions/nautilus-preferences-box.h: * libnautilus-extensions/nautilus-preferences-dialog.c: * libnautilus-extensions/nautilus-preferences-dialog.h: * libnautilus-extensions/nautilus-preferences-group.c: * libnautilus-extensions/nautilus-preferences-group.h: * libnautilus-extensions/nautilus-preferences-item.c: * libnautilus-extensions/nautilus-preferences-item.h: * libnautilus-extensions/nautilus-preferences-pane.c: * libnautilus-extensions/nautilus-preferences-pane.h: * libnautilus-extensions/nautilus-preferences.c: * libnautilus-extensions/nautilus-preferences.h: * libnautilus-extensions/nautilus-radio-button-group.c: * libnautilus-extensions/nautilus-string-picker.c: * libnautilus-extensions/nautilus-string-picker.h: * libnautilus-extensions/nautilus-text-caption.c: * libnautilus-extensions/nautilus-text-caption.h: * libnautilus-extensions/nautilus-undo-manager.c: * libnautilus-extensions/nautilus-user-level-manager.c: * libnautilus-extensions/nautilus-user-level-manager.h: * libnautilus-extensions/nautilus-widgets-self-check-functions.c: * libnautilus-extensions/nautilus-widgets-self-check-functions.h: * libnautilus-extensions/test-nautilus-preferences.c: * libnautilus-extensions/test-preferences.c: * nautilus-widgets/Makefile.am: * nautilus-widgets/nautilus-caption-table.c: * nautilus-widgets/nautilus-caption-table.h: * nautilus-widgets/nautilus-caption.c: * nautilus-widgets/nautilus-caption.h: * nautilus-widgets/nautilus-password-dialog.c: * nautilus-widgets/nautilus-password-dialog.h: * nautilus-widgets/nautilus-preference.c: * nautilus-widgets/nautilus-preference.h: * nautilus-widgets/nautilus-preferences-box.c: * nautilus-widgets/nautilus-preferences-box.h: * nautilus-widgets/nautilus-preferences-dialog.c: * nautilus-widgets/nautilus-preferences-dialog.h: * nautilus-widgets/nautilus-preferences-group.c: * nautilus-widgets/nautilus-preferences-group.h: * nautilus-widgets/nautilus-preferences-item.c: * nautilus-widgets/nautilus-preferences-item.h: * nautilus-widgets/nautilus-preferences-pane.c: * nautilus-widgets/nautilus-preferences-pane.h: * nautilus-widgets/nautilus-preferences.c: * nautilus-widgets/nautilus-preferences.h: * nautilus-widgets/nautilus-radio-button-group.c: * nautilus-widgets/nautilus-radio-button-group.h: * nautilus-widgets/nautilus-string-picker.c: * nautilus-widgets/nautilus-string-picker.h: * nautilus-widgets/nautilus-text-caption.c: * nautilus-widgets/nautilus-text-caption.h: * nautilus-widgets/nautilus-user-level-manager.c: * nautilus-widgets/nautilus-user-level-manager.h: * nautilus-widgets/nautilus-widgets-self-check-functions.c: * nautilus-widgets/nautilus-widgets-self-check-functions.h: * nautilus-widgets/test-nautilus-preferences.c: * nautilus-widgets/test-nautilus-widgets.c: * nautilus-widgets/test-preferences.c: * src/Makefile.am: * src/nautilus-main.c: (main): * src/nautilus-sidebar.c: * src/nautilus-window-menus.c: * test/Makefile.am: Move the nautilus-widgets classes to libnautilus-extensions.
2000-06-10 00:38:01 +00:00
#include <libnautilus-extensions/nautilus-preferences.h>
BEGIN_GNOME_DECLS
/* Which theme is active */
reviewed by: Pavel Cisler <pavel@eazel.com> Lots of bug fixes: 2848 - User level agnostic config settings have nowhere to live. 2654 - Need default values even for non user level preferences. 3414 - Show more preferences at higher user levels. 3415 - Make preference the same for all levels at which it is not visible 3416 - Make preference changes affect all levels at which they are visible 4357 - Web search URL setting should be reset upon Nautilus update 5160 - Tree view doesnt exist when starting nautilus as a beginner 5234 - Sidebar panel preferences are not properly separated among user levels * components/mozilla/mozilla-preferences.cpp: Update for gnome vfs proxy changes. Proxy host and port are now stored in separate gconf settings. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-enumeration.h: * libnautilus-extensions/nautilus-enumeration.c: (nautilus_enumeration_new), (nautilus_enumeration_free), (nautilus_enumeration_insert), (nautilus_enumeration_get_nth_entry), (nautilus_enumeration_get_nth_description), (nautilus_enumeration_get_nth_value), (nautilus_enumeration_get_num_entries), (nautilus_self_check_enumeration): New files. An enumeration data structure. * components/tree/nautilus-tree-expansion-state.c: No longer need to give the full path to a gconf setting. * components/tree/nautilus-tree-view.c: (filtering_changed_callback), (nautilus_tree_view_initialize): * libnautilus-extensions/nautilus-directory-async.c: (can_use_public_metafile), (get_filter_options_for_directory_count): * libnautilus-extensions/nautilus-file-operations.c: (confirm_empty_trash): * libnautilus-extensions/nautilus-file.c: (nautilus_file_should_get_top_left_text): * libnautilus-extensions/nautilus-font-factory.c: (nautilus_font_factory_get_font_from_preferences): Update for preferences api changes. * libnautilus-extensions/nautilus-gconf-extensions.h: * libnautilus-extensions/nautilus-gconf-extensions.c: (global_client_free), (nautilus_gconf_client_get_global), (nautilus_gconf_handle_error), (nautilus_gconf_set_boolean), (nautilus_gconf_get_boolean), (nautilus_gconf_set_int), (nautilus_gconf_get_int), (nautilus_gconf_set_string), (nautilus_gconf_get_string), (nautilus_gconf_set_string_list), (nautilus_gconf_get_string_list), (nautilus_gconf_is_default), (nautilus_gconf_monitor_directory): New files. Useful gconf extensions; make peeking and poking settings a little easier. * libnautilus-extensions/nautilus-icon-container.c: (button_press_event): * libnautilus-extensions/nautilus-icon-canvas-item.c: (in_single_click_mode): Update for preferences api changes. * libnautilus-extensions/nautilus-icon-factory.c: (icon_theme_changed_callback), (should_display_image_file_as_itself): Update for preferences api changes. Also no longer need to define a default theme. * libnautilus-extensions/nautilus-lib-self-check-functions.h: Add entries for enumeration and preferences. Remove preference entry. Note plural vs not. * libnautilus-extensions/nautilus-preference.c: * libnautilus-extensions/nautilus-preference.h: Retire these 2. No longer use a GtkObject to store each preference. We simply use the string name instead. * libnautilus-extensions/nautilus-preferences-box.h: * libnautilus-extensions/nautilus-preferences-box.c: (nautilus_preferences_box_add_pane), (nautilus_preferences_box_update): New function. Should be called when user level changes so that the box updates its panes. * libnautilus-extensions/nautilus-preferences-dialog.h: * libnautilus-extensions/nautilus-preferences-dialog.c: (nautilus_preferences_dialog_initialize), (nautilus_preferences_dialog_destroy), (nautilus_preferences_dialog_get_prefs_box), (nautilus_preferences_dialog_update), (user_level_changed_callback): Keep track of user level changes. New function to update the dialog when user level changes. * libnautilus-extensions/nautilus-preferences-group.h: * libnautilus-extensions/nautilus-preferences-group.c: (nautilus_preferences_group_initialize), (nautilus_preferences_group_destroy), (nautilus_preferences_group_add_item): Collect the group's items in a list. Update to user a string to represent a preference instead of a GtkObject. (nautilus_preferences_group_update): New function. Updates the group's items to respect preferences visibility based on the user level. (nautilus_preferences_get_num_visible_items): New function. Return the number of currently visible items. Collect the group's items in a list. Update to user a string to represent a preference instead of a GtkObject. * libnautilus-extensions/nautilus-preferences-item.h: * libnautilus-extensions/nautilus-preferences-item.c: (preferences_item_construct), (preferences_item_create_enum), (preferences_item_create_short_enum), (preferences_item_create_boolean), (preferences_item_create_editable_string), (preferences_item_create_integer), (preferences_item_create_font_family), (preferences_item_create_theme), (enum_radio_group_changed_callback), (editable_string_changed_callback), (integer_changed_callback), (nautilus_preferences_item_get_name): New function to fetch the item's preference name. Add a new kind of preference - INTEGER. Update for string vs. GtkObject preferences representation changes. * libnautilus-extensions/nautilus-preferences-pane.h: * libnautilus-extensions/nautilus-preferences-pane.c: (nautilus_preferences_pane_update): New function. Updates the pane's groups to respect preferences visibility based on the user level. * libnautilus-extensions/nautilus-preferences.h: * libnautilus-extensions/nautilus-preferences.c: (preferences_get_path), (preferences_get_defaults_path), (preferences_get_visibility_path), (preferences_get_user_level_key), (preferences_preference_is_internal), (preferences_preference_is_user_level), (preferences_key_make), (preferences_key_make_for_default), (preferences_key_make_for_default_getter), (preferences_key_make_for_visibility), (preferences_global_client_remove_notification), (preferences_global_client_get), (preferences_preference_is_default), (preferences_make_user_level_filtered_key), (nautilus_preferences_get_visible_user_level), (nautilus_preferences_set_visible_user_level), (nautilus_preferences_set_boolean), (preferences_key_make_for_getter), (nautilus_preferences_get_boolean), (nautilus_preferences_set_int), (nautilus_preferences_get_int), (nautilus_preferences_set), (nautilus_preferences_get), (nautilus_preferences_set_string_list), (nautilus_preferences_get_string_list), (nautilus_preferences_get_user_level), (nautilus_preferences_set_user_level), (nautilus_preferences_default_set_int), (nautilus_preferences_default_get_int), (nautilus_preferences_default_set_boolean), (nautilus_preferences_default_get_boolean), (nautilus_preferences_default_set_string), (nautilus_preferences_default_get_string), (nautilus_preferences_default_set_string_list), (nautilus_preferences_default_get_string_list), (preferences_callback_entry_invoke_function), (preferences_something_changed_notice), (preferences_global_table_check_changes_function), (preferences_user_level_changed_notice), (preferences_entry_add_callback), (preferences_entry_remove_callback), (preferences_callback_entry_free), (preferences_callback_entry_free_func), (preferences_entry_free), (preferences_entry_free_func), (preferences_global_table_free), (preferences_global_table_get_global), (preferences_global_table_lookup), (preferences_global_table_insert), (preferences_global_table_lookup_or_insert), (nautilus_preferences_add_callback), (preferences_while_alive_disconnector), (nautilus_preferences_add_callback_while_alive), (nautilus_preferences_remove_callback), (nautilus_preferences_enumeration_insert), (nautilus_preferences_enumeration_get_nth_entry), (nautilus_preferences_enumeration_get_nth_description), (nautilus_preferences_enumeration_get_nth_value), (nautilus_preferences_enumeration_get_num_entries), (nautilus_preferences_set_description), (nautilus_preferences_get_description), (nautilus_preferences_get_user_level_name_for_display), (nautilus_preferences_get_user_level_name_for_storage), (preferences_user_level_check_range), (nautilus_preferences_monitor_directory), (nautilus_preferences_is_visible), (nautilus_self_check_preferences): Many changes. Redid to support the preferences system described in bugs 3414, 3415 and 3416. * libnautilus-extensions/nautilus-smooth-widget.c: (preferences_get_is_smooth): * libnautilus-extensions/nautilus-sound.c: (kill_sound_if_necessary), (nautilus_sound_initialize), (nautilus_sound_kill_sound), (nautilus_sound_register_sound), (nautilus_sound_can_play_sound): * libnautilus-extensions/nautilus-theme.c: (nautilus_theme_get_theme), (nautilus_theme_get_theme_data), (nautilus_theme_get_image_path): Update for preferences api changes. * libnautilus-extensions/nautilus-user-level-manager.c: * libnautilus-extensions/nautilus-user-level-manager.h: Retire. No longer needed. User level things are handled in nautilus-preferences.[ch] now. The current user level design is much simpler and does no require its own GtkObject. * src/file-manager/fm-desktop-icon-view.c: (update_home_link_and_delete_copies), (real_update_menus): * src/file-manager/fm-directory-view.c: (open_location), (confirm_delete_from_trash), (real_update_menus), (fm_directory_view_activate_files), (filtering_changed_callback): * src/file-manager/fm-icon-text-window.c: (changed_attributes_option_menu_callback), (fm_get_text_attribute_names_preference_or_default): * src/file-manager/fm-icon-view.c: (should_preview_sound), (fm_icon_view_update_click_mode), (fm_icon_view_update_smooth_graphics_mode): * src/file-manager/fm-list-view.c: (fm_list_view_update_click_mode): * src/file-manager/fm-properties-window.c: (create_permissions_page): * src/nautilus-application.c: (desktop_changed_callback): * src/nautilus-complex-search-bar.c: (nautilus_complex_search_bar_get_location): * src/nautilus-first-time-druid.c: (user_level_selection_changed), (make_hbox_user_level_radio_button), (set_up_user_level_page): * src/nautilus-main.c: (main): * src/nautilus-property-browser.c: (nautilus_property_browser_update_contents): * src/nautilus-sidebar.c: (nautilus_sidebar_sidebar_panel_enabled), (toggle_sidebar_panel), (nautilus_sidebar_size_allocate): * src/nautilus-switchable-search-bar.c: (nautilus_switchable_search_bar_new), (nautilus_search_uri_to_search_bar_mode): Update for preferences api changes. * src/nautilus-window-manage-views.c: (position_and_show_window_callback), (nautilus_window_end_location_change_callback): Update for preferences api changes. Also, no longer need to pass in a default location to the preferences getter. * src/nautilus-window-menus.c: (user_level_customize_callback), (switch_to_user_level), (refresh_bookmarks_menu), (user_level_changed_callback), (add_user_level_menu_item), (nautilus_window_initialize_menus), (update_user_level_menu_items), (convert_user_level_to_path): A lot of simplification. The "Edit Settings..." menu item no longer changes it wording based on the user level. We know allow it to edit settings on all user levels, since we have the ability to hide preferences at higher user levels. No longer need to update the preferences dialog or its title. * src/nautilus-window.c: (nautilus_window_constructed), (nautilus_window_close), (nautilus_window_go_web_search), (nautilus_window_go_home), (nautilus_window_show): Update for preferences api changes. * libnautilus-extensions/nautilus-global-preferences.h: Update all the preferences defines to not include a full gconf path. We dont need to do this anymore to get non user level coupled prefernces. * libnautilus-extensions/nautilus-global-preferences.c: (compare_view_identifiers), (global_preferences_create_dialog), (nautilus_global_preferences_get_enabled_sidebar_panel_view_identif iers), (global_preferences_install_sidebar_panel_defaults), (global_preferences_is_sidebar_panel_enabled), (global_preferences_install_speed_tradeoff_descriptions), (register_proxy_preferences), (global_preferences_register), (global_preferences_install_defaults), (nautilus_global_preferences_set_dialog_title): Lots of changes to support new preferences design. Set the WM_CLASS here once instead of everytime the dialog title is changed. This was causing criticals. No longer need to create parallel proxy preferences and map them to the gconf ones. We can use the gconf ones directly now. * test/.cvsignore: * test/Makefile.am: * test/test-nautilus-preferences-change.c: (user_level_changed_callback), (fruits_changed_callback), (int_picker_changed_callback), (user_level_picker_changed_callback), (picker_new), (user_level_picker_new), (main): * test/test-nautilus-preferences-display.c: (text_caption_update), (user_level_caption_update), (user_level_changed_callback), (green_changed_callback), (yellow_changed_callback), (red_changed_callback), (apple_changed_callback), (orange_changed_callback), (pear_changed_callback), (entry_new), (user_level_frame_new), (colors_frame_new), (fruits_frame_new), (main): * test/test.c: (test_pixbuf_draw_rectangle_tiled), (test_text_caption_set_text_for_int_preferences), (test_text_caption_set_text_for_string_preferences), (test_text_caption_set_text_for_default_int_preferences), (test_text_caption_set_text_for_default_string_preferences), (test_text_caption_get_text_as_int), (test_window_set_title_with_pid): * test/test.h: New tests for preferences changes. * test/test-nautilus-preferences.c: Retire old prefs test which didnt really work. * test/test-nautilus-smooth-graphics.c: (smooth_graphics_mode_changed_callback), (main): Update for preferences api changes.
2001-01-18 08:52:40 +00:00
#define NAUTILUS_PREFERENCES_THEME "preferences/theme"
Fix bugs: 7343 - Fonts checks should work even when nautilus has not undergone 'make install' 7703 - index status dialog is mixing gnome dialog font and nautilus custom font 7204 - Need a better way to pick a fallback font 1102 - Embedded text should use preferences to determine the font it uses 7357 - Preferences dialog spews critical in the ja_JP locale 7344 - NautilusScalable should not be doing any preferences peeking 7345 - Default font "helvetica" hard coded and marked for translatation in many places 7834 - Should mark selected style in font picker menu 5239 - Please make the text viewer use a fixed-width font 7401 - Non smooth font family picker should have a "GTK System Font" entry Work in progress for related bugs: 5101 - font sizes hard-coded in icon view 5456 - Sidebar tabs use hard coded font families 7670 - Font size is small in list view. reviewed by: Glynn Foster <glynn.foster@ireland.sun.com> * components/notes/nautilus-notes.c: (make_notes_view): Dont translate the font name. * components/text/nautilus-text-view-ui.xml: Add default and fixed entries. * components/text/nautilus-text-view.c: (nautilus_text_view_initialize_class), (nautilus_text_view_initialize), (nautilus_text_view_destroy), (nautilus_text_view_update_font), (handle_ui_event), (merge_bonobo_menu_items), (nautilus_text_view_zoom_to_level), (zoomable_zoom_to_fit_callback), (font_changed_callback): Dont store the font name and size. Compute these as needed. Use deltas instead of hard coded font sizes to compute the font size for a given zoom level. Store the font changes in preferences. * libnautilus-extensions/nautilus-caption.c: (nautilus_caption_initialize), (nautilus_caption_set_title_label), (nautilus_caption_get_title_label), (nautilus_caption_get_title_label_width), (nautilus_caption_set_child), (nautilus_caption_set_spacing): * libnautilus-extensions/nautilus-caption.h: Add support for nice caption alignments. * libnautilus-extensions/nautilus-directory.c: (add_preferences_callbacks), (remove_preferences_callbacks): A bit of a hack. Keep track of changes in the default smooth font so that embedded icon text previews can be updated as needed. * libnautilus-extensions/nautilus-font-factory.c: (nautilus_font_factory_get_font_by_family), A temporary hack for default system font usage. In a future checkin this will not be needed anymore. (nautilus_font_factory_get_font_from_preferences): Dont translate font names anymore. * libnautilus-extensions/nautilus-font-manager.c: (font_description_new), (font_description_free), (font_description_get_char_set), (font_description_table_for_each), (font_list_find_bold_callback), (get_test_font_dir), (nautilus_self_check_font_manager): * libnautilus-extensions/nautilus-font-manager.h: Merge char_set_registry and char_set_encoding into one string 'char_set.' Make the font checks work even if nautilus has not undergone 'make install' * libnautilus-extensions/nautilus-font-picker.c: (nautilus_font_picker_initialize), (nautilus_font_picker_destroy), (font_picker_populate), (font_make_style_name), (font_style_entry_new), (compare_style), (global_font_list_populate_callback): * libnautilus-extensions/nautilus-font-picker.h: Sublcass the font picker from NautilusCaption so that it will nicely align in the preferences dialog. Mark selected style in font picker menus by using radio buttons. Fix a storage leak on destruction. * libnautilus-extensions/nautilus-glib-extensions.c: (nautilus_compare_integer), (nautilus_self_check_glib_extensions): * libnautilus-extensions/nautilus-glib-extensions.h: New GCompare function for integers. * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_install_defaults), (global_preferences_create_dialog), (global_preferences_create_search_pane), (global_preferences_create_sidebar_panels_pane), (global_preferences_pane_update_callback), (global_preferences_get_dialog), (global_preferences_install_sidebar_panel_defaults), (global_preferences_make_sidebar_panel_key), (global_preferences_is_sidebar_panel_enabled), (global_preferences_install_home_location_defaults), (global_preferences_install_font_defaults), (global_preferences_install_medusa_defaults), (global_preferences_populate_pane), (global_preferences_get_smooth_font), (global_preferences_get_smooth_bold_font), (nautilus_global_preferences_get_icon_view_smooth_font), (nautilus_global_preferences_get_default_smooth_font), (nautilus_global_preferences_get_default_smooth_bold_font), (nautilus_global_preferences_initialize): * libnautilus-extensions/nautilus-global-preferences.h: Simplify the creation of preferences by using structures to describe both preferences and preference fialog entries. * libnautilus-extensions/nautilus-gtk-extensions.c: (nautilus_gtk_get_system_font): * libnautilus-extensions/nautilus-gtk-extensions.h: New function to obtain the "Gtk System Font." * libnautilus-extensions/nautilus-icon-canvas-item.c: (nautilus_icon_canvas_item_initialize_class), (nautilus_icon_canvas_item_set_arg), (nautilus_icon_canvas_item_get_arg), (nautilus_icon_canvas_item_set_smooth_font_size): * libnautilus-extensions/nautilus-icon-canvas-item.h: Use signed integers for the font dimensions. * libnautilus-extensions/nautilus-icon-container.c: (nautilus_icon_container_initialize), (nautilus_icon_container_update_icon), (nautilus_icon_container_theme_changed), (nautilus_icon_container_set_font_size_table): * libnautilus-extensions/nautilus-icon-container.h: * libnautilus-extensions/nautilus-icon-private.h: Dont translate the font names. Rename the font size table to better reflect its purpose. Use signed integers for font sizes. * libnautilus-extensions/nautilus-icon-factory.c: (embedded_text_font_changed_callback), (embedded_text_font_free), (embed_text): Keep track of changes in the smooth font used for embedded text so that the icon text previews will update as needed. * libnautilus-extensions/nautilus-preferences-box.c: (nautilus_preferences_box_find_pane): * libnautilus-extensions/nautilus-preferences-box.h: New function to find a named pane. * libnautilus-extensions/nautilus-preferences-group.c: (preferences_group_align_captions), (nautilus_preferences_group_update), (nautilus_preferences_group_get_title_label): * libnautilus-extensions/nautilus-preferences-group.h: Add support for aligning captions. * libnautilus-extensions/nautilus-preferences-item.c: (nautilus_preferences_item_initialize), (preferences_item_construct), (preferences_item_update_enum), (preferences_item_create_enum), (preferences_item_update_short_enum), (preferences_item_create_short_enum), (preferences_item_update_boolean), (preferences_item_create_boolean), (preferences_item_update_editable_string), (preferences_item_create_editable_string), (preferences_item_update_editable_integer), (preferences_item_create_editable_integer), (preferences_item_update_constrained_integer), (preferences_item_create_constrained_integer), (preferences_item_update_font), (preferences_item_create_font), (preferences_item_update_smooth_font), (preferences_item_create_smooth_font), (nautilus_preferences_item_new), (enum_radio_group_changed_callback), (boolean_button_toggled_callback), (font_item_changed_callback), (editable_string_changed_callback), (editable_integer_changed_callback), (constrained_integer_changed_callback), (nautilus_preferences_item_update_displayed_value), (preferences_item_update_editable_integer_settings_at_idle), (nautilus_preferences_item_get_control_showing), (nautilus_preferences_item_set_constrained_integer_paramaters), (nautilus_preferences_item_child_is_caption), (nautilus_preferences_item_get_caption_title_label_width), (nautilus_preferences_item_set_caption_spacing): * libnautilus-extensions/nautilus-preferences-item.h: Add a new CONSTRAINED INTEGER item type. Add support for aligning captions. Dont translate font names. * libnautilus-extensions/nautilus-preferences-pane.c: (nautilus_preferences_pane_add_group), (nautilus_preferences_pane_add_item_to_nth_group), (nautilus_preferences_pane_get_num_visible_groups), (nautilus_preferences_pane_get_num_groups), (nautilus_preferences_pane_find_group): * libnautilus-extensions/nautilus-preferences-pane.h: Add a function for finding a named group. * libnautilus-extensions/nautilus-scalable-font.c: (nautilus_scalable_font_get_default_font), (nautilus_scalable_font_get_default_bold_font): Dont peek preferences for the default fonts. These are now handled in nautilus-global-preferences. * libnautilus-extensions/nautilus-smooth-text-layout.c: (smooth_text_layout_line_list_new), (smooth_text_layout_line_list_new_wrapped), (nautilus_smooth_text_layout_new), (nautilus_smooth_text_layout_set_font_size): Use signed integers for font sizes. * libnautilus-extensions/nautilus-string-picker.c: (nautilus_string_picker_initialize), (nautilus_string_picker_set_string_list): Update for Caption superclass changes. Dont make singleton choices insensitive. * libnautilus-extensions/nautilus-text-caption.c: (nautilus_text_caption_initialize): * libnautilus-extensions/nautilus-text-caption.h: Update for Caption superclass changes. Fix errors in header comments. * src/file-manager/fm-directory-view.c: (fm_directory_view_initialize), (fm_directory_view_destroy): * src/file-manager/fm-directory-view.h: Remove knowledge of font stuff. The fonts for icon and list view are now handled separately so each subclass will have to do its own preferences listening. * src/file-manager/fm-icon-view.c: (set_sort_criterion_by_id), (font_changed_callback), (smooth_font_changed_callback), (standard_font_size_changed_callback), (fm_icon_view_initialize_class), (fm_icon_view_initialize), (fm_icon_view_update_icon_container_font_size_table), (fm_icon_view_update_icon_container_smooth_font), (create_icon_container): Keep track of icon view font changes. Use deltas to compute the font sizes instead of hard coded point sizes. * src/file-manager/fm-list-view.c: (fm_list_view_initialize_class), (fm_list_view_initialize), (fm_list_view_update_font), (font_or_font_size_changed_callback), (fm_list_view_image_display_policy_changed): Keep track of list view font changes. Use deltas to compute the font sizes instead of hard coded point sizes. * src/file-manager/nautilus-indexing-info.c: (last_index_time_and_reindex_button_dialog_new), (index_progress_dialog_new): Dont use smooth labels mixed in with regular gtk labels. * src/nautilus-sidebar-tabs.c: (nautilus_sidebar_tabs_load_theme_data), (smooth_font_changed_callback), (nautilus_sidebar_tabs_initialize), (nautilus_sidebar_tabs_destroy): Add macros and FIXME for hard coded font size. NULL out the tab_font when its unreffed, otherwise all hell breaks lose when user level changes. Update for default font changes. * src/nautilus-sidebar-title.c: (smooth_font_changed_callback), (nautilus_sidebar_title_initialize), (nautilus_sidebar_title_destroy), (update_font): Keep track of smooth font changes. Update for default font changes. * test/test-nautilus-font-manager.c: (font_iterator_callback): * test/test-nautilus-font-picker.c: (update_font), (print_selected_font_callback), (main): * test/test-nautilus-label-simple.c: (use_system_font_callback), (use_system_font_bold_callback), (main): Update for font picker and font manager changes.
2001-03-28 10:10:29 +00:00
/* How wide the sidebar is (or how wide it will be when expanded) */
reviewed by: Pavel Cisler <pavel@eazel.com> Lots of bug fixes: 2848 - User level agnostic config settings have nowhere to live. 2654 - Need default values even for non user level preferences. 3414 - Show more preferences at higher user levels. 3415 - Make preference the same for all levels at which it is not visible 3416 - Make preference changes affect all levels at which they are visible 4357 - Web search URL setting should be reset upon Nautilus update 5160 - Tree view doesnt exist when starting nautilus as a beginner 5234 - Sidebar panel preferences are not properly separated among user levels * components/mozilla/mozilla-preferences.cpp: Update for gnome vfs proxy changes. Proxy host and port are now stored in separate gconf settings. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-enumeration.h: * libnautilus-extensions/nautilus-enumeration.c: (nautilus_enumeration_new), (nautilus_enumeration_free), (nautilus_enumeration_insert), (nautilus_enumeration_get_nth_entry), (nautilus_enumeration_get_nth_description), (nautilus_enumeration_get_nth_value), (nautilus_enumeration_get_num_entries), (nautilus_self_check_enumeration): New files. An enumeration data structure. * components/tree/nautilus-tree-expansion-state.c: No longer need to give the full path to a gconf setting. * components/tree/nautilus-tree-view.c: (filtering_changed_callback), (nautilus_tree_view_initialize): * libnautilus-extensions/nautilus-directory-async.c: (can_use_public_metafile), (get_filter_options_for_directory_count): * libnautilus-extensions/nautilus-file-operations.c: (confirm_empty_trash): * libnautilus-extensions/nautilus-file.c: (nautilus_file_should_get_top_left_text): * libnautilus-extensions/nautilus-font-factory.c: (nautilus_font_factory_get_font_from_preferences): Update for preferences api changes. * libnautilus-extensions/nautilus-gconf-extensions.h: * libnautilus-extensions/nautilus-gconf-extensions.c: (global_client_free), (nautilus_gconf_client_get_global), (nautilus_gconf_handle_error), (nautilus_gconf_set_boolean), (nautilus_gconf_get_boolean), (nautilus_gconf_set_int), (nautilus_gconf_get_int), (nautilus_gconf_set_string), (nautilus_gconf_get_string), (nautilus_gconf_set_string_list), (nautilus_gconf_get_string_list), (nautilus_gconf_is_default), (nautilus_gconf_monitor_directory): New files. Useful gconf extensions; make peeking and poking settings a little easier. * libnautilus-extensions/nautilus-icon-container.c: (button_press_event): * libnautilus-extensions/nautilus-icon-canvas-item.c: (in_single_click_mode): Update for preferences api changes. * libnautilus-extensions/nautilus-icon-factory.c: (icon_theme_changed_callback), (should_display_image_file_as_itself): Update for preferences api changes. Also no longer need to define a default theme. * libnautilus-extensions/nautilus-lib-self-check-functions.h: Add entries for enumeration and preferences. Remove preference entry. Note plural vs not. * libnautilus-extensions/nautilus-preference.c: * libnautilus-extensions/nautilus-preference.h: Retire these 2. No longer use a GtkObject to store each preference. We simply use the string name instead. * libnautilus-extensions/nautilus-preferences-box.h: * libnautilus-extensions/nautilus-preferences-box.c: (nautilus_preferences_box_add_pane), (nautilus_preferences_box_update): New function. Should be called when user level changes so that the box updates its panes. * libnautilus-extensions/nautilus-preferences-dialog.h: * libnautilus-extensions/nautilus-preferences-dialog.c: (nautilus_preferences_dialog_initialize), (nautilus_preferences_dialog_destroy), (nautilus_preferences_dialog_get_prefs_box), (nautilus_preferences_dialog_update), (user_level_changed_callback): Keep track of user level changes. New function to update the dialog when user level changes. * libnautilus-extensions/nautilus-preferences-group.h: * libnautilus-extensions/nautilus-preferences-group.c: (nautilus_preferences_group_initialize), (nautilus_preferences_group_destroy), (nautilus_preferences_group_add_item): Collect the group's items in a list. Update to user a string to represent a preference instead of a GtkObject. (nautilus_preferences_group_update): New function. Updates the group's items to respect preferences visibility based on the user level. (nautilus_preferences_get_num_visible_items): New function. Return the number of currently visible items. Collect the group's items in a list. Update to user a string to represent a preference instead of a GtkObject. * libnautilus-extensions/nautilus-preferences-item.h: * libnautilus-extensions/nautilus-preferences-item.c: (preferences_item_construct), (preferences_item_create_enum), (preferences_item_create_short_enum), (preferences_item_create_boolean), (preferences_item_create_editable_string), (preferences_item_create_integer), (preferences_item_create_font_family), (preferences_item_create_theme), (enum_radio_group_changed_callback), (editable_string_changed_callback), (integer_changed_callback), (nautilus_preferences_item_get_name): New function to fetch the item's preference name. Add a new kind of preference - INTEGER. Update for string vs. GtkObject preferences representation changes. * libnautilus-extensions/nautilus-preferences-pane.h: * libnautilus-extensions/nautilus-preferences-pane.c: (nautilus_preferences_pane_update): New function. Updates the pane's groups to respect preferences visibility based on the user level. * libnautilus-extensions/nautilus-preferences.h: * libnautilus-extensions/nautilus-preferences.c: (preferences_get_path), (preferences_get_defaults_path), (preferences_get_visibility_path), (preferences_get_user_level_key), (preferences_preference_is_internal), (preferences_preference_is_user_level), (preferences_key_make), (preferences_key_make_for_default), (preferences_key_make_for_default_getter), (preferences_key_make_for_visibility), (preferences_global_client_remove_notification), (preferences_global_client_get), (preferences_preference_is_default), (preferences_make_user_level_filtered_key), (nautilus_preferences_get_visible_user_level), (nautilus_preferences_set_visible_user_level), (nautilus_preferences_set_boolean), (preferences_key_make_for_getter), (nautilus_preferences_get_boolean), (nautilus_preferences_set_int), (nautilus_preferences_get_int), (nautilus_preferences_set), (nautilus_preferences_get), (nautilus_preferences_set_string_list), (nautilus_preferences_get_string_list), (nautilus_preferences_get_user_level), (nautilus_preferences_set_user_level), (nautilus_preferences_default_set_int), (nautilus_preferences_default_get_int), (nautilus_preferences_default_set_boolean), (nautilus_preferences_default_get_boolean), (nautilus_preferences_default_set_string), (nautilus_preferences_default_get_string), (nautilus_preferences_default_set_string_list), (nautilus_preferences_default_get_string_list), (preferences_callback_entry_invoke_function), (preferences_something_changed_notice), (preferences_global_table_check_changes_function), (preferences_user_level_changed_notice), (preferences_entry_add_callback), (preferences_entry_remove_callback), (preferences_callback_entry_free), (preferences_callback_entry_free_func), (preferences_entry_free), (preferences_entry_free_func), (preferences_global_table_free), (preferences_global_table_get_global), (preferences_global_table_lookup), (preferences_global_table_insert), (preferences_global_table_lookup_or_insert), (nautilus_preferences_add_callback), (preferences_while_alive_disconnector), (nautilus_preferences_add_callback_while_alive), (nautilus_preferences_remove_callback), (nautilus_preferences_enumeration_insert), (nautilus_preferences_enumeration_get_nth_entry), (nautilus_preferences_enumeration_get_nth_description), (nautilus_preferences_enumeration_get_nth_value), (nautilus_preferences_enumeration_get_num_entries), (nautilus_preferences_set_description), (nautilus_preferences_get_description), (nautilus_preferences_get_user_level_name_for_display), (nautilus_preferences_get_user_level_name_for_storage), (preferences_user_level_check_range), (nautilus_preferences_monitor_directory), (nautilus_preferences_is_visible), (nautilus_self_check_preferences): Many changes. Redid to support the preferences system described in bugs 3414, 3415 and 3416. * libnautilus-extensions/nautilus-smooth-widget.c: (preferences_get_is_smooth): * libnautilus-extensions/nautilus-sound.c: (kill_sound_if_necessary), (nautilus_sound_initialize), (nautilus_sound_kill_sound), (nautilus_sound_register_sound), (nautilus_sound_can_play_sound): * libnautilus-extensions/nautilus-theme.c: (nautilus_theme_get_theme), (nautilus_theme_get_theme_data), (nautilus_theme_get_image_path): Update for preferences api changes. * libnautilus-extensions/nautilus-user-level-manager.c: * libnautilus-extensions/nautilus-user-level-manager.h: Retire. No longer needed. User level things are handled in nautilus-preferences.[ch] now. The current user level design is much simpler and does no require its own GtkObject. * src/file-manager/fm-desktop-icon-view.c: (update_home_link_and_delete_copies), (real_update_menus): * src/file-manager/fm-directory-view.c: (open_location), (confirm_delete_from_trash), (real_update_menus), (fm_directory_view_activate_files), (filtering_changed_callback): * src/file-manager/fm-icon-text-window.c: (changed_attributes_option_menu_callback), (fm_get_text_attribute_names_preference_or_default): * src/file-manager/fm-icon-view.c: (should_preview_sound), (fm_icon_view_update_click_mode), (fm_icon_view_update_smooth_graphics_mode): * src/file-manager/fm-list-view.c: (fm_list_view_update_click_mode): * src/file-manager/fm-properties-window.c: (create_permissions_page): * src/nautilus-application.c: (desktop_changed_callback): * src/nautilus-complex-search-bar.c: (nautilus_complex_search_bar_get_location): * src/nautilus-first-time-druid.c: (user_level_selection_changed), (make_hbox_user_level_radio_button), (set_up_user_level_page): * src/nautilus-main.c: (main): * src/nautilus-property-browser.c: (nautilus_property_browser_update_contents): * src/nautilus-sidebar.c: (nautilus_sidebar_sidebar_panel_enabled), (toggle_sidebar_panel), (nautilus_sidebar_size_allocate): * src/nautilus-switchable-search-bar.c: (nautilus_switchable_search_bar_new), (nautilus_search_uri_to_search_bar_mode): Update for preferences api changes. * src/nautilus-window-manage-views.c: (position_and_show_window_callback), (nautilus_window_end_location_change_callback): Update for preferences api changes. Also, no longer need to pass in a default location to the preferences getter. * src/nautilus-window-menus.c: (user_level_customize_callback), (switch_to_user_level), (refresh_bookmarks_menu), (user_level_changed_callback), (add_user_level_menu_item), (nautilus_window_initialize_menus), (update_user_level_menu_items), (convert_user_level_to_path): A lot of simplification. The "Edit Settings..." menu item no longer changes it wording based on the user level. We know allow it to edit settings on all user levels, since we have the ability to hide preferences at higher user levels. No longer need to update the preferences dialog or its title. * src/nautilus-window.c: (nautilus_window_constructed), (nautilus_window_close), (nautilus_window_go_web_search), (nautilus_window_go_home), (nautilus_window_show): Update for preferences api changes. * libnautilus-extensions/nautilus-global-preferences.h: Update all the preferences defines to not include a full gconf path. We dont need to do this anymore to get non user level coupled prefernces. * libnautilus-extensions/nautilus-global-preferences.c: (compare_view_identifiers), (global_preferences_create_dialog), (nautilus_global_preferences_get_enabled_sidebar_panel_view_identif iers), (global_preferences_install_sidebar_panel_defaults), (global_preferences_is_sidebar_panel_enabled), (global_preferences_install_speed_tradeoff_descriptions), (register_proxy_preferences), (global_preferences_register), (global_preferences_install_defaults), (nautilus_global_preferences_set_dialog_title): Lots of changes to support new preferences design. Set the WM_CLASS here once instead of everytime the dialog title is changed. This was causing criticals. No longer need to create parallel proxy preferences and map them to the gconf ones. We can use the gconf ones directly now. * test/.cvsignore: * test/Makefile.am: * test/test-nautilus-preferences-change.c: (user_level_changed_callback), (fruits_changed_callback), (int_picker_changed_callback), (user_level_picker_changed_callback), (picker_new), (user_level_picker_new), (main): * test/test-nautilus-preferences-display.c: (text_caption_update), (user_level_caption_update), (user_level_changed_callback), (green_changed_callback), (yellow_changed_callback), (red_changed_callback), (apple_changed_callback), (orange_changed_callback), (pear_changed_callback), (entry_new), (user_level_frame_new), (colors_frame_new), (fruits_frame_new), (main): * test/test.c: (test_pixbuf_draw_rectangle_tiled), (test_text_caption_set_text_for_int_preferences), (test_text_caption_set_text_for_string_preferences), (test_text_caption_set_text_for_default_int_preferences), (test_text_caption_set_text_for_default_string_preferences), (test_text_caption_get_text_as_int), (test_window_set_title_with_pid): * test/test.h: New tests for preferences changes. * test/test-nautilus-preferences.c: Retire old prefs test which didnt really work. * test/test-nautilus-smooth-graphics.c: (smooth_graphics_mode_changed_callback), (main): Update for preferences api changes.
2001-01-18 08:52:40 +00:00
#define NAUTILUS_PREFERENCES_SIDEBAR_WIDTH "preferences/sidebar_width"
reviewed by: John Sullivan <sullivan@eazel.com> Fix bug 6495 (Emacs-style keybindings not working in location bar and other NautilusEntry fields) by adding an expert preference to control whether the Emacs shortcuts or the ones in the menu bar take precedence. I started with Maciej's patch and did many refinements. Fix bug 1788 ("Select All" needs to be implemented for text): I had to add Select All so it won't do the icon view's Select All when you do a select all with the location bar focused. Fix bug 5612 (clicking to deselect causes incorrect menu sensitivity) by adding another signal handler for button clicks. Fix bug 7581 (When trying to restart Nautilus after crash from bug 7579 I get a Segmentation Fault). I was just lucky enough to run into the problem on my machine. * 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): Added the new Emacs-shortcut preference with the wording requested in the bug report. * libnautilus-extensions/nautilus-entry.h: * libnautilus-extensions/nautilus-entry.c: (emacs_shortcuts_preference_changed_callback): Track the preference. (nautilus_entry_initialize): Set up the callback to track the preference. (nautilus_entry_destroy): Tear down the callback to track the preference. (nautilus_entry_key_press): Allow the emacs shortcuts built into GtkEntry to work if the preference is set that way. Also, only emit the selection_changed signal if the key is actually handled. (nautilus_entry_motion_notify): Simplify the logic, since it's OK to send the selection_changed signal a little too often. (select_all_at_idle): Handle the case where the object is destroyed. (nautilus_entry_select_all_at_idle): Ref the object to handle the case where the object is destroyed before the idle happens. (nautilus_entry_button_press): Send a selection_changed message, since pressing the button can cause a selection change. (nautilus_entry_button_release): Send a selection_changed message, since pressing the button can cause a selection change. (nautilus_entry_initialize_class): Add new default handlers. Also, move to bottom of file so we don't need so many forward declarations. * libnautilus/nautilus-clipboard-ui.xml: Add a Select All Text command. * libnautilus/nautilus-clipboard.c: (select_all): New function to select all the text in a GtkEditable. Sadly it needs a special case for GtkText. (select_all_idle_callback): Callback used to select the text from idle. (select_all_callback): Callback that sets up the idle. Called from the bonobo verb. (initialize_clipboard_component_with_callback_data): Add the callback for Select All. * librsvg/rsvg.c: (rsvg_state_init): Initialize more fields, including font_size. (rsvg_text_handler_characters): Don't try to draw if the font size is 0 or negative. * librsvg/art_render_mask.c: (art_render_mask_render): Handle cases where x1 < x0. The old code would seg. fault. This was the reason we got a crash in bug 7581. * configure.in: Upped the required version of gnome-vfs.
2001-03-16 22:26:53 +00:00
/* Text fields */
#define NAUTILUS_PREFERENCES_USE_EMACS_SHORTCUTS "preferences/use_emacs_shortcuts"
/* Window options */
Task 518. Support for changing preferecens individually within each confgurable user level. * libnautilus-extensions/nautilus-global-preferences.h: Change all preferences strings to not include the "/nautilus" prefix. The prefix is not automatically computed by the prefences api taking into account the user level. Add (nautilus_global_preferences_dialog_update) to rebuild the preferences dialog when the user level changes. * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_get_dialog), (global_preferences_register_sidebar_panels_preferences_for_ui), (global_preferences_register_with_defaults), (global_preferences_register_boolean_with_defaults), (global_preferences_register_string_with_defaults), (global_preferences_register_enum_with_defaults), (global_preferences_register_for_ui), (global_preferences_initialize_if_needed), (nautilus_global_preferences_show_dialog), (nautilus_global_preferences_hide_dialog), (nautilus_global_preferences_set_dialog_title), (nautilus_global_preferences_dialog_update), (nautilus_global_preferences_shutdown): remove the user level tracking hack. We now set default values for each of the user levels. * libnautilus-extensions/nautilus-icon-container.c: (nautilus_icon_container_initialize): Simplified preference callback api by having a single add_callback function. Use it here. * libnautilus-extensions/nautilus-list.c: (nautilus_list_initialize): Simplified preference callback api by having a single add_callback function. Use it here. * src/file-manager/fm-directory-view.c: (fm_directory_view_initialize): Simplified preference callback api by having a single add_callback function. Use it here. * nautilus-widgets/nautilus-preference.c: (preference_initialize_if_needed), (preference_hash_node_alloc), (preference_hash_node_free_func), (preference_hash_node_free), (preference_register), (preference_hash_node_lookup), (preference_hash_node_lookup_with_registration), (nautilus_preference_shutdown), (nautilus_preference_find_by_name), (nautilus_preference_set_info_by_name), (nautilus_preference_enum_add_entry_by_name): * nautilus-widgets/nautilus-preference.h: Move the preference description hash table here from nautilus-preferences. These are preferences that are expected to have nice defaults as well as descriptions and possibly extra data for the preferences widgets to use (like enumeration values) I moved the tabulation and hashing stuff intactly even though it contains many turds. I plan to fix these soon. * nautilus-widgets/nautilus-preferences-group.c: (nautilus_preferences_group_add_item): * nautilus-widgets/nautilus-preferences-item.c: (preferences_item_construct), (enum_radio_group_changed_callback): Update for the above. * nautilus-widgets/nautilus-preferences.c: (preferences_hash_node_alloc), (preferences_hash_node_free), (preferences_hash_node_add_callback), (preferences_hash_node_remove_callback), (preferences_hash_node_check_changes_func), (preferneces_callback_node_invoke_func), (preferences_register), (preferences_hash_node_lookup_with_registration), (preferences_gconf_callback), (user_level_changed_callback), (preferences_initialize_if_needed), (nautilus_preferences_add_callback), (nautilus_preferences_set_boolean), (nautilus_preferences_get_boolean), (nautilus_preferences_set_enum), (nautilus_preferences_get_enum), (nautilus_preferences_set), (nautilus_preferences_get), (nautilus_preferences_shutdown): * nautilus-widgets/nautilus-preferences.h: Move the tabulation of nice preferences to nautilus-preference. Install one gconf notification for each user level. Remove all the extra unused registration parameters. Use generated keys that take into account the current user level to communicato with GConf. Keep track of user level changes so that we can compare preferences between user levels and fire callbacks accordingly. This simplifies the lifes of preferences callers as they can continue to install one simple callback as before. They will get notified when a preference changes for whatever reason. That could be the user manaually tweaking it, or a sweeping user level change. Again, i tried to keep as much of the original hashing logic intact. It needs cleaning up as well. * nautilus-widgets/nautilus-user-level-manager.c: (nautilus_user_level_manager_set_default_value_if_needed), (nautilus_user_level_manager_compare_preference_between_user_levels ): * nautilus-widgets/nautilus-user-level-manager.h: Add a public function to determine whether a preference is the same between 2 user levels. * nautilus-widgets/test-nautilus-preferences.c: (register_global_preferences): Update to reflect api changes. * src/nautilus-window-menus.c: (nautilus_window_initialize_menus), (user_level_changed_callback), (get_customize_user_level_setttings_menu_string), (update_preferences_dialog_title): Update the preferences dialog whenever the user level changes. This is an easy way to have the dialog reflect reallity. It would be a lot nicer it the contents updated on the fly instead of rebuilding the whole thing. I can do that later.
2000-06-02 16:41:42 +00:00
#define NAUTILUS_PREFERENCES_WINDOW_ALWAYS_NEW "preferences/window_always_new"
Fixed bug 1563 (Optionally hide ~-suffix files created by emacs) Fixed bug 2274 (Implement Empty Trash confirmation preference) * libnautilus-extensions/nautilus-global-preferences.h: define NAUTILUS_PREFERENCES_CONFIRM_TRASH and NAUTILUS_PREFERENCES_SHOW_BACKUP_FILES. * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_create_dialog): Put these two new preferences on the Directory Views page; rename it Folder Views. (global_preferences_register): Register default values for new preferences. * libnautilus-extensions/nautilus-preferences-dialog.c: Increase initial height of window to account for new preferences. There's an open bug about reorganizing the whole window for later. * libnautilus-extensions/nautilus-file-operations.c: (confirm_empty_trash): Don't confirm if preference says not to. * src/file-manager/fm-directory-view.c: (fm_directory_view_initialize), (fm_directory_view_destroy): Add & remove callbacks to monitor these two new preferences. (queue_pending_files): Take SHOW_BACKUP_FILES preference into account. (file_name_from_uri): New helper routine to save a little code duplication. (fm_directory_view_confirm_deletion): Use yes_no dialog instead of simple dialog to match other usage; improve dialog title. (confirm_delete_from_trash): New function, confirms deleting items from trash unless preference says not to bother. (fm_directory_view_trash_or_delete_files): Call confirm_delete_from_trash before deleting items from trash. (compute_menu_item_info): Do or don't add ellipses to "Empty Trash" and "Delete From Trash" depending on preference setting. (schedule_update_menus_callback): New function, simple wrapper for schedule_update_menus (called when CONFIRM_TRASH preference changes). (filtering_changed_callback): Renamed and slightly generalized from show_hidden_files_changed_callback, called when either the SHOW_HIDDEN_FILES or SHOW_BACKUP_FILES preference changes.
2000-09-15 22:46:21 +00:00
/* Trash options */
#define NAUTILUS_PREFERENCES_CONFIRM_TRASH "preferences/confirm_trash"
reviewed by: John Sullivan <sullivan@eazel.com> Fix bug 6613 (no way to delete files without using trash) by integrating Maciej's patch to add an optional Delete command (with some fixes to the patch). There may still be some loose ends. Fix bug 2206 (No way to move or copy a file to a different directory from keyboard) by implementing Cut, Copy, and Paste for files, in a way that will be familiar to Windows users. The positioning of the new files is not right yet (they inherit their position from the old files), there is no feedback when you have cut some files (Arlo's idea, which I might implement, is to make them translucent to show they are "on the way out") or when you have copied some files, and I think there are some other loose ends. Fixed cut, copy, and paste within the file names when you do a rename. This wasn't working at all. Got rid of configure-time checks that were looking at the existence of some special system files. Fixed a few minor bugs discovered by code inspection. * 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 expert preference to add a Delete command that bypasses the Trash. * src/file-manager/nautilus-directory-view-ui.xml: Add Delete, Cut Files, Copy Files, and Paste Files. * src/file-manager/fm-directory-view.c: (confirm_delete_directly), (delete_callback): Add delete code. (bonobo_menu_empty_trash_callback): Get rid of extraneous cast. (fm_directory_view_initialize): Track the delete preference. Set the flags properly to indicate we have our own X window. Add a target so GTK knows that we accept pastes of copied files. (forget_clipboard_contents): Helper for when we are no longer the clipboard owner. (fm_directory_view_destroy): Remove the delete preference callback. Free the clipboard contents. (offset_drop_points): Change so it handles NULL for the list of points. (trash_or_delete_files_common): Remove unneeded parameters. (get_current_event_time): New function, placeholder that just returned GDK_CURRENT_TIME. Perhaps we should get the real event time here for use in clipboard manipulation calls. (copy_or_cut_files): New function. Save the selection for later use in a paste. (copy_files_callback), (cut_files_callback): Call the new copy_or_cut_files function. (paste_files_callback): Do the clipboard convert that results in the paste operation. (real_selection_clear_event): Forget the clipboard contents. (real_selection_get): Convert the selection into the appropriate format and put it on the clipboard. (convert_lines_to_str_list): Helper function for decoding incoming pasted files. (real_selection_received): Handle pasted files by parsing and then triggering a file copy operation. (real_merge_menus): Add verbs for cut, copy, and paste. (enable_delete_changed_callback): Keep track of delete command status in a boolean. (real_update_menus): Show delete command if the preference is on and we are not showing "Delete from Trash". Update names of the Cut and Copy command depending on how many files are selected. Also desensitize them when none are selected. (fm_directory_view_select_file): Initialize an uninitialized field. (fm_directory_view_move_copy_items): Allow relative_item_points to be NULL. (real_realize): Create our own X window. (real_size_allocate): Trick GtkScrolledWindow into doing the right thing despite the fact that we have our own X window. (fm_directory_view_initialize_class): Moved down to the bottom so we don't need so many forward declaractions. Added code to set up some needed atoms and new default handlers. * libnautilus-extensions/nautilus-icon-text-item.c: (send_focus_event), (iti_stop_editing), (iti_start_editing): Add code to send the appropriate focus events to the fake off-screen GtkEntry. This makes the clipboard code that tracks focus-related signals work properly with this entry. (iti_event): Tweak the sequence and simplify the code a bit. * libnautilus/nautilus-clipboard.c: (set_paste_sensitive_if_clipboard_contains_data): Add more FIXMEs. This function is very far from useful, and it's not clear that it can be implemented efficiently under X. (nautilus_clipboard_set_up_editable): Get rid of silly "grab_focus" hack that was an attempt to address the problems with the NautilusIconTextItem. The real solution was to do focusing for that item too. (nautilus_clipboard_set_up_editable_in_control): Fix this so it works when called on an editable that is already focused. * src/file-manager/fm-icon-view.c: (renaming_icon_callback): Get rid of "grab_focus" workaround, which wasn't working. * acconfig.h: * configure.in: Remove all configure checks that were checking the existence of files. * libnautilus-extensions/nautilus-medusa-support.c: (nautilus_medusa_check_cron_is_enabled): Simplify logic so there's less room for confusion (I did this as a fix for the bug that was reported on the mailing list, but Rebecka checked in the small patch first). Also change it so we don't need a configure-time check for the existence of the process directory and fix it so we won't get a core dump if the file doesn't have a space character in it. Also change the logic so we don't leave the directory open when we do find the cron process. * libnautilus-extensions/nautilus-volume-monitor.c: (nautilus_volume_monitor_initialize_class), (has_removable_mntent_options), (get_removable_volumes), (volume_is_removable), (volume_is_read_only), (mount_volume_get_cdrom_name), (mount_volume_activate_cdda), (mount_volume_activate_cdrom), (build_volume_list_delta), (get_current_mount_list), (mount_lists_are_identical), (verify_current_mount_state), (mount_volume_floppy_add), (get_cdrom_type_solaris), (mount_volume_iso9660_add), (display_mount_status), (close_error_pipe), (nautilus_volume_monitor_mount_unmount_removable), (mount_volume_add_filesystem): Make changes throughout to get rid of dependence on configure-time file checks and do things at runtime instead. Also use typedefs to make less code conditional. Also fix the Solaris CD-ROM code which was casting a GString to a (char *) before, so it used absurd file names, and failed to open and returned FALSE all the time. * libnautilus-extensions/nautilus-icon-container.c: (nautilus_icon_container_start_renaming_selected_item): Send the renaming signal before setting up the rest of the icon. This change is not really needed, but it's a better order to do things. * libnautilus/nautilus-clipboard-ui.xml: Move tips into the commands instead of the menu items (for style mostly, no practical implications at the moment). * src/nautilus-shell-ui.xml: Remove tips from Cut, Copy, and Paste, since tips from insensitive items aren't used, and if we had tips, we'd put them on the command, not the menu item, anyway.
2001-03-23 02:34:16 +00:00
#define NAUTILUS_PREFERENCES_ENABLE_DELETE "preferences/enable_delete"
Fixed bug 1563 (Optionally hide ~-suffix files created by emacs) Fixed bug 2274 (Implement Empty Trash confirmation preference) * libnautilus-extensions/nautilus-global-preferences.h: define NAUTILUS_PREFERENCES_CONFIRM_TRASH and NAUTILUS_PREFERENCES_SHOW_BACKUP_FILES. * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_create_dialog): Put these two new preferences on the Directory Views page; rename it Folder Views. (global_preferences_register): Register default values for new preferences. * libnautilus-extensions/nautilus-preferences-dialog.c: Increase initial height of window to account for new preferences. There's an open bug about reorganizing the whole window for later. * libnautilus-extensions/nautilus-file-operations.c: (confirm_empty_trash): Don't confirm if preference says not to. * src/file-manager/fm-directory-view.c: (fm_directory_view_initialize), (fm_directory_view_destroy): Add & remove callbacks to monitor these two new preferences. (queue_pending_files): Take SHOW_BACKUP_FILES preference into account. (file_name_from_uri): New helper routine to save a little code duplication. (fm_directory_view_confirm_deletion): Use yes_no dialog instead of simple dialog to match other usage; improve dialog title. (confirm_delete_from_trash): New function, confirms deleting items from trash unless preference says not to bother. (fm_directory_view_trash_or_delete_files): Call confirm_delete_from_trash before deleting items from trash. (compute_menu_item_info): Do or don't add ellipses to "Empty Trash" and "Delete From Trash" depending on preference setting. (schedule_update_menus_callback): New function, simple wrapper for schedule_update_menus (called when CONFIRM_TRASH preference changes). (filtering_changed_callback): Renamed and slightly generalized from show_hidden_files_changed_callback, called when either the SHOW_HIDDEN_FILES or SHOW_BACKUP_FILES preference changes.
2000-09-15 22:46:21 +00:00
/* Desktop options */
#define NAUTILUS_PREFERENCES_SHOW_DESKTOP "preferences/show_desktop"
#define NAUTILUS_PREFERENCES_DESKTOP_IS_HOME_DIR "preferences/desktop_is_home_dir"
/* Display */
Task 518. Support for changing preferecens individually within each confgurable user level. * libnautilus-extensions/nautilus-global-preferences.h: Change all preferences strings to not include the "/nautilus" prefix. The prefix is not automatically computed by the prefences api taking into account the user level. Add (nautilus_global_preferences_dialog_update) to rebuild the preferences dialog when the user level changes. * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_get_dialog), (global_preferences_register_sidebar_panels_preferences_for_ui), (global_preferences_register_with_defaults), (global_preferences_register_boolean_with_defaults), (global_preferences_register_string_with_defaults), (global_preferences_register_enum_with_defaults), (global_preferences_register_for_ui), (global_preferences_initialize_if_needed), (nautilus_global_preferences_show_dialog), (nautilus_global_preferences_hide_dialog), (nautilus_global_preferences_set_dialog_title), (nautilus_global_preferences_dialog_update), (nautilus_global_preferences_shutdown): remove the user level tracking hack. We now set default values for each of the user levels. * libnautilus-extensions/nautilus-icon-container.c: (nautilus_icon_container_initialize): Simplified preference callback api by having a single add_callback function. Use it here. * libnautilus-extensions/nautilus-list.c: (nautilus_list_initialize): Simplified preference callback api by having a single add_callback function. Use it here. * src/file-manager/fm-directory-view.c: (fm_directory_view_initialize): Simplified preference callback api by having a single add_callback function. Use it here. * nautilus-widgets/nautilus-preference.c: (preference_initialize_if_needed), (preference_hash_node_alloc), (preference_hash_node_free_func), (preference_hash_node_free), (preference_register), (preference_hash_node_lookup), (preference_hash_node_lookup_with_registration), (nautilus_preference_shutdown), (nautilus_preference_find_by_name), (nautilus_preference_set_info_by_name), (nautilus_preference_enum_add_entry_by_name): * nautilus-widgets/nautilus-preference.h: Move the preference description hash table here from nautilus-preferences. These are preferences that are expected to have nice defaults as well as descriptions and possibly extra data for the preferences widgets to use (like enumeration values) I moved the tabulation and hashing stuff intactly even though it contains many turds. I plan to fix these soon. * nautilus-widgets/nautilus-preferences-group.c: (nautilus_preferences_group_add_item): * nautilus-widgets/nautilus-preferences-item.c: (preferences_item_construct), (enum_radio_group_changed_callback): Update for the above. * nautilus-widgets/nautilus-preferences.c: (preferences_hash_node_alloc), (preferences_hash_node_free), (preferences_hash_node_add_callback), (preferences_hash_node_remove_callback), (preferences_hash_node_check_changes_func), (preferneces_callback_node_invoke_func), (preferences_register), (preferences_hash_node_lookup_with_registration), (preferences_gconf_callback), (user_level_changed_callback), (preferences_initialize_if_needed), (nautilus_preferences_add_callback), (nautilus_preferences_set_boolean), (nautilus_preferences_get_boolean), (nautilus_preferences_set_enum), (nautilus_preferences_get_enum), (nautilus_preferences_set), (nautilus_preferences_get), (nautilus_preferences_shutdown): * nautilus-widgets/nautilus-preferences.h: Move the tabulation of nice preferences to nautilus-preference. Install one gconf notification for each user level. Remove all the extra unused registration parameters. Use generated keys that take into account the current user level to communicato with GConf. Keep track of user level changes so that we can compare preferences between user levels and fire callbacks accordingly. This simplifies the lifes of preferences callers as they can continue to install one simple callback as before. They will get notified when a preference changes for whatever reason. That could be the user manaually tweaking it, or a sweeping user level change. Again, i tried to keep as much of the original hashing logic intact. It needs cleaning up as well. * nautilus-widgets/nautilus-user-level-manager.c: (nautilus_user_level_manager_set_default_value_if_needed), (nautilus_user_level_manager_compare_preference_between_user_levels ): * nautilus-widgets/nautilus-user-level-manager.h: Add a public function to determine whether a preference is the same between 2 user levels. * nautilus-widgets/test-nautilus-preferences.c: (register_global_preferences): Update to reflect api changes. * src/nautilus-window-menus.c: (nautilus_window_initialize_menus), (user_level_changed_callback), (get_customize_user_level_setttings_menu_string), (update_preferences_dialog_title): Update the preferences dialog whenever the user level changes. This is an easy way to have the dialog reflect reallity. It would be a lot nicer it the contents updated on the fly instead of rebuilding the whole thing. I can do that later.
2000-06-02 16:41:42 +00:00
#define NAUTILUS_PREFERENCES_SHOW_HIDDEN_FILES "preferences/show_hidden_files"
Fixed bug 1563 (Optionally hide ~-suffix files created by emacs) Fixed bug 2274 (Implement Empty Trash confirmation preference) * libnautilus-extensions/nautilus-global-preferences.h: define NAUTILUS_PREFERENCES_CONFIRM_TRASH and NAUTILUS_PREFERENCES_SHOW_BACKUP_FILES. * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_create_dialog): Put these two new preferences on the Directory Views page; rename it Folder Views. (global_preferences_register): Register default values for new preferences. * libnautilus-extensions/nautilus-preferences-dialog.c: Increase initial height of window to account for new preferences. There's an open bug about reorganizing the whole window for later. * libnautilus-extensions/nautilus-file-operations.c: (confirm_empty_trash): Don't confirm if preference says not to. * src/file-manager/fm-directory-view.c: (fm_directory_view_initialize), (fm_directory_view_destroy): Add & remove callbacks to monitor these two new preferences. (queue_pending_files): Take SHOW_BACKUP_FILES preference into account. (file_name_from_uri): New helper routine to save a little code duplication. (fm_directory_view_confirm_deletion): Use yes_no dialog instead of simple dialog to match other usage; improve dialog title. (confirm_delete_from_trash): New function, confirms deleting items from trash unless preference says not to bother. (fm_directory_view_trash_or_delete_files): Call confirm_delete_from_trash before deleting items from trash. (compute_menu_item_info): Do or don't add ellipses to "Empty Trash" and "Delete From Trash" depending on preference setting. (schedule_update_menus_callback): New function, simple wrapper for schedule_update_menus (called when CONFIRM_TRASH preference changes). (filtering_changed_callback): Renamed and slightly generalized from show_hidden_files_changed_callback, called when either the SHOW_HIDDEN_FILES or SHOW_BACKUP_FILES preference changes.
2000-09-15 22:46:21 +00:00
#define NAUTILUS_PREFERENCES_SHOW_BACKUP_FILES "preferences/show_backup_files"
#define NAUTILUS_PREFERENCES_SHOW_SPECIAL_FLAGS "preferences/show_special_flags"
Fix bugs: 7343 - Fonts checks should work even when nautilus has not undergone 'make install' 7703 - index status dialog is mixing gnome dialog font and nautilus custom font 7204 - Need a better way to pick a fallback font 1102 - Embedded text should use preferences to determine the font it uses 7357 - Preferences dialog spews critical in the ja_JP locale 7344 - NautilusScalable should not be doing any preferences peeking 7345 - Default font "helvetica" hard coded and marked for translatation in many places 7834 - Should mark selected style in font picker menu 5239 - Please make the text viewer use a fixed-width font 7401 - Non smooth font family picker should have a "GTK System Font" entry Work in progress for related bugs: 5101 - font sizes hard-coded in icon view 5456 - Sidebar tabs use hard coded font families 7670 - Font size is small in list view. reviewed by: Glynn Foster <glynn.foster@ireland.sun.com> * components/notes/nautilus-notes.c: (make_notes_view): Dont translate the font name. * components/text/nautilus-text-view-ui.xml: Add default and fixed entries. * components/text/nautilus-text-view.c: (nautilus_text_view_initialize_class), (nautilus_text_view_initialize), (nautilus_text_view_destroy), (nautilus_text_view_update_font), (handle_ui_event), (merge_bonobo_menu_items), (nautilus_text_view_zoom_to_level), (zoomable_zoom_to_fit_callback), (font_changed_callback): Dont store the font name and size. Compute these as needed. Use deltas instead of hard coded font sizes to compute the font size for a given zoom level. Store the font changes in preferences. * libnautilus-extensions/nautilus-caption.c: (nautilus_caption_initialize), (nautilus_caption_set_title_label), (nautilus_caption_get_title_label), (nautilus_caption_get_title_label_width), (nautilus_caption_set_child), (nautilus_caption_set_spacing): * libnautilus-extensions/nautilus-caption.h: Add support for nice caption alignments. * libnautilus-extensions/nautilus-directory.c: (add_preferences_callbacks), (remove_preferences_callbacks): A bit of a hack. Keep track of changes in the default smooth font so that embedded icon text previews can be updated as needed. * libnautilus-extensions/nautilus-font-factory.c: (nautilus_font_factory_get_font_by_family), A temporary hack for default system font usage. In a future checkin this will not be needed anymore. (nautilus_font_factory_get_font_from_preferences): Dont translate font names anymore. * libnautilus-extensions/nautilus-font-manager.c: (font_description_new), (font_description_free), (font_description_get_char_set), (font_description_table_for_each), (font_list_find_bold_callback), (get_test_font_dir), (nautilus_self_check_font_manager): * libnautilus-extensions/nautilus-font-manager.h: Merge char_set_registry and char_set_encoding into one string 'char_set.' Make the font checks work even if nautilus has not undergone 'make install' * libnautilus-extensions/nautilus-font-picker.c: (nautilus_font_picker_initialize), (nautilus_font_picker_destroy), (font_picker_populate), (font_make_style_name), (font_style_entry_new), (compare_style), (global_font_list_populate_callback): * libnautilus-extensions/nautilus-font-picker.h: Sublcass the font picker from NautilusCaption so that it will nicely align in the preferences dialog. Mark selected style in font picker menus by using radio buttons. Fix a storage leak on destruction. * libnautilus-extensions/nautilus-glib-extensions.c: (nautilus_compare_integer), (nautilus_self_check_glib_extensions): * libnautilus-extensions/nautilus-glib-extensions.h: New GCompare function for integers. * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_install_defaults), (global_preferences_create_dialog), (global_preferences_create_search_pane), (global_preferences_create_sidebar_panels_pane), (global_preferences_pane_update_callback), (global_preferences_get_dialog), (global_preferences_install_sidebar_panel_defaults), (global_preferences_make_sidebar_panel_key), (global_preferences_is_sidebar_panel_enabled), (global_preferences_install_home_location_defaults), (global_preferences_install_font_defaults), (global_preferences_install_medusa_defaults), (global_preferences_populate_pane), (global_preferences_get_smooth_font), (global_preferences_get_smooth_bold_font), (nautilus_global_preferences_get_icon_view_smooth_font), (nautilus_global_preferences_get_default_smooth_font), (nautilus_global_preferences_get_default_smooth_bold_font), (nautilus_global_preferences_initialize): * libnautilus-extensions/nautilus-global-preferences.h: Simplify the creation of preferences by using structures to describe both preferences and preference fialog entries. * libnautilus-extensions/nautilus-gtk-extensions.c: (nautilus_gtk_get_system_font): * libnautilus-extensions/nautilus-gtk-extensions.h: New function to obtain the "Gtk System Font." * libnautilus-extensions/nautilus-icon-canvas-item.c: (nautilus_icon_canvas_item_initialize_class), (nautilus_icon_canvas_item_set_arg), (nautilus_icon_canvas_item_get_arg), (nautilus_icon_canvas_item_set_smooth_font_size): * libnautilus-extensions/nautilus-icon-canvas-item.h: Use signed integers for the font dimensions. * libnautilus-extensions/nautilus-icon-container.c: (nautilus_icon_container_initialize), (nautilus_icon_container_update_icon), (nautilus_icon_container_theme_changed), (nautilus_icon_container_set_font_size_table): * libnautilus-extensions/nautilus-icon-container.h: * libnautilus-extensions/nautilus-icon-private.h: Dont translate the font names. Rename the font size table to better reflect its purpose. Use signed integers for font sizes. * libnautilus-extensions/nautilus-icon-factory.c: (embedded_text_font_changed_callback), (embedded_text_font_free), (embed_text): Keep track of changes in the smooth font used for embedded text so that the icon text previews will update as needed. * libnautilus-extensions/nautilus-preferences-box.c: (nautilus_preferences_box_find_pane): * libnautilus-extensions/nautilus-preferences-box.h: New function to find a named pane. * libnautilus-extensions/nautilus-preferences-group.c: (preferences_group_align_captions), (nautilus_preferences_group_update), (nautilus_preferences_group_get_title_label): * libnautilus-extensions/nautilus-preferences-group.h: Add support for aligning captions. * libnautilus-extensions/nautilus-preferences-item.c: (nautilus_preferences_item_initialize), (preferences_item_construct), (preferences_item_update_enum), (preferences_item_create_enum), (preferences_item_update_short_enum), (preferences_item_create_short_enum), (preferences_item_update_boolean), (preferences_item_create_boolean), (preferences_item_update_editable_string), (preferences_item_create_editable_string), (preferences_item_update_editable_integer), (preferences_item_create_editable_integer), (preferences_item_update_constrained_integer), (preferences_item_create_constrained_integer), (preferences_item_update_font), (preferences_item_create_font), (preferences_item_update_smooth_font), (preferences_item_create_smooth_font), (nautilus_preferences_item_new), (enum_radio_group_changed_callback), (boolean_button_toggled_callback), (font_item_changed_callback), (editable_string_changed_callback), (editable_integer_changed_callback), (constrained_integer_changed_callback), (nautilus_preferences_item_update_displayed_value), (preferences_item_update_editable_integer_settings_at_idle), (nautilus_preferences_item_get_control_showing), (nautilus_preferences_item_set_constrained_integer_paramaters), (nautilus_preferences_item_child_is_caption), (nautilus_preferences_item_get_caption_title_label_width), (nautilus_preferences_item_set_caption_spacing): * libnautilus-extensions/nautilus-preferences-item.h: Add a new CONSTRAINED INTEGER item type. Add support for aligning captions. Dont translate font names. * libnautilus-extensions/nautilus-preferences-pane.c: (nautilus_preferences_pane_add_group), (nautilus_preferences_pane_add_item_to_nth_group), (nautilus_preferences_pane_get_num_visible_groups), (nautilus_preferences_pane_get_num_groups), (nautilus_preferences_pane_find_group): * libnautilus-extensions/nautilus-preferences-pane.h: Add a function for finding a named group. * libnautilus-extensions/nautilus-scalable-font.c: (nautilus_scalable_font_get_default_font), (nautilus_scalable_font_get_default_bold_font): Dont peek preferences for the default fonts. These are now handled in nautilus-global-preferences. * libnautilus-extensions/nautilus-smooth-text-layout.c: (smooth_text_layout_line_list_new), (smooth_text_layout_line_list_new_wrapped), (nautilus_smooth_text_layout_new), (nautilus_smooth_text_layout_set_font_size): Use signed integers for font sizes. * libnautilus-extensions/nautilus-string-picker.c: (nautilus_string_picker_initialize), (nautilus_string_picker_set_string_list): Update for Caption superclass changes. Dont make singleton choices insensitive. * libnautilus-extensions/nautilus-text-caption.c: (nautilus_text_caption_initialize): * libnautilus-extensions/nautilus-text-caption.h: Update for Caption superclass changes. Fix errors in header comments. * src/file-manager/fm-directory-view.c: (fm_directory_view_initialize), (fm_directory_view_destroy): * src/file-manager/fm-directory-view.h: Remove knowledge of font stuff. The fonts for icon and list view are now handled separately so each subclass will have to do its own preferences listening. * src/file-manager/fm-icon-view.c: (set_sort_criterion_by_id), (font_changed_callback), (smooth_font_changed_callback), (standard_font_size_changed_callback), (fm_icon_view_initialize_class), (fm_icon_view_initialize), (fm_icon_view_update_icon_container_font_size_table), (fm_icon_view_update_icon_container_smooth_font), (create_icon_container): Keep track of icon view font changes. Use deltas to compute the font sizes instead of hard coded point sizes. * src/file-manager/fm-list-view.c: (fm_list_view_initialize_class), (fm_list_view_initialize), (fm_list_view_update_font), (font_or_font_size_changed_callback), (fm_list_view_image_display_policy_changed): Keep track of list view font changes. Use deltas to compute the font sizes instead of hard coded point sizes. * src/file-manager/nautilus-indexing-info.c: (last_index_time_and_reindex_button_dialog_new), (index_progress_dialog_new): Dont use smooth labels mixed in with regular gtk labels. * src/nautilus-sidebar-tabs.c: (nautilus_sidebar_tabs_load_theme_data), (smooth_font_changed_callback), (nautilus_sidebar_tabs_initialize), (nautilus_sidebar_tabs_destroy): Add macros and FIXME for hard coded font size. NULL out the tab_font when its unreffed, otherwise all hell breaks lose when user level changes. Update for default font changes. * src/nautilus-sidebar-title.c: (smooth_font_changed_callback), (nautilus_sidebar_title_initialize), (nautilus_sidebar_title_destroy), (update_font): Keep track of smooth font changes. Update for default font changes. * test/test-nautilus-font-manager.c: (font_iterator_callback): * test/test-nautilus-font-picker.c: (update_font), (print_selected_font_callback), (main): * test/test-nautilus-label-simple.c: (use_system_font_callback), (use_system_font_bold_callback), (main): Update for font picker and font manager changes.
2001-03-28 10:10:29 +00:00
/* Sidebar panels */
Expand margins around expander by 3 pixels on each side to make it easier * libnautilus-extensions/nautilus-ctree.c (ctree_is_hot_spot): Expand margins around expander by 3 pixels on each side to make it easier to click the disclosure triangle (triangle will prelight when within range), to fix bug 4479 Fix bugs 4497 (Add configuration option to show only folders in tree view) and 2419 (Tree view should track "show hidden files" preference): * components/tree/nautilus-tree-view.c: (nautilus_tree_view_should_skip_file, nautilus_tree_view_insert_model_node, nautilus_tree_view_remove_model_node, nautilus_tree_view_update_model_node): Handle possibly filtering out hidden files, backup files or non-directories. (filtering_changed_callback, nautilus_tree_view_initialize): Initialize from and watch filtering preferences, reload whole tree when prefs change. (nautilus_tree_view_destroy): Stop watching filtering prefs. (reload_model_node, reload_whole_tree, expand_node_for_file, nautilus_tree_view_receive_dropped_icons): Update code for reloading the tree on expand/collapse etc. * components/tree/nautilus-tree-model.c (nautilus_tree_model_directory_files_added_callback): Check if we already have a node for each file before trying to create a new one. This was needed because otherwise chaning the preference settins mentioned above would result in crashes. * libnautilus-extensions/nautilus-file.h, libnautilus-extensions/nautilus-file.c: (nautilus_file_is_hidden_file, nautilus_file_is_backup_file, nautilus_file_should_show, filter_hidden_and_backup_partition_callback, nautilus_file_list_filter_hidden_and_backup): Move hidden file and backup file filtering logic here from fm-directory-view.c. * src/file-manager/fm-directory-view.c (queue_pending_files): Use `nautilus_file_list_filter_hidden_and_backup' to do filtering. * libnautilus-extensions/nautilus-global-preferences.h, libnautilus-extensions/nautilus-global-preferences.c (global_preferences_create_dialog, global_preferences_register): Add a new preference for showing only directories in the tree view. * libnautilus-extensions/nautilus-preferences-dialog.c: Make preferences dialog a bit bigger to accomodate the new setting.
2000-11-13 13:18:43 +00:00
#define NAUTILUS_PREFERENCES_TREE_SHOW_ONLY_DIRECTORIES "sidebar-panels/tree/show_only_directories"
/* Navigation */
Task 518. Support for changing preferecens individually within each confgurable user level. * libnautilus-extensions/nautilus-global-preferences.h: Change all preferences strings to not include the "/nautilus" prefix. The prefix is not automatically computed by the prefences api taking into account the user level. Add (nautilus_global_preferences_dialog_update) to rebuild the preferences dialog when the user level changes. * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_get_dialog), (global_preferences_register_sidebar_panels_preferences_for_ui), (global_preferences_register_with_defaults), (global_preferences_register_boolean_with_defaults), (global_preferences_register_string_with_defaults), (global_preferences_register_enum_with_defaults), (global_preferences_register_for_ui), (global_preferences_initialize_if_needed), (nautilus_global_preferences_show_dialog), (nautilus_global_preferences_hide_dialog), (nautilus_global_preferences_set_dialog_title), (nautilus_global_preferences_dialog_update), (nautilus_global_preferences_shutdown): remove the user level tracking hack. We now set default values for each of the user levels. * libnautilus-extensions/nautilus-icon-container.c: (nautilus_icon_container_initialize): Simplified preference callback api by having a single add_callback function. Use it here. * libnautilus-extensions/nautilus-list.c: (nautilus_list_initialize): Simplified preference callback api by having a single add_callback function. Use it here. * src/file-manager/fm-directory-view.c: (fm_directory_view_initialize): Simplified preference callback api by having a single add_callback function. Use it here. * nautilus-widgets/nautilus-preference.c: (preference_initialize_if_needed), (preference_hash_node_alloc), (preference_hash_node_free_func), (preference_hash_node_free), (preference_register), (preference_hash_node_lookup), (preference_hash_node_lookup_with_registration), (nautilus_preference_shutdown), (nautilus_preference_find_by_name), (nautilus_preference_set_info_by_name), (nautilus_preference_enum_add_entry_by_name): * nautilus-widgets/nautilus-preference.h: Move the preference description hash table here from nautilus-preferences. These are preferences that are expected to have nice defaults as well as descriptions and possibly extra data for the preferences widgets to use (like enumeration values) I moved the tabulation and hashing stuff intactly even though it contains many turds. I plan to fix these soon. * nautilus-widgets/nautilus-preferences-group.c: (nautilus_preferences_group_add_item): * nautilus-widgets/nautilus-preferences-item.c: (preferences_item_construct), (enum_radio_group_changed_callback): Update for the above. * nautilus-widgets/nautilus-preferences.c: (preferences_hash_node_alloc), (preferences_hash_node_free), (preferences_hash_node_add_callback), (preferences_hash_node_remove_callback), (preferences_hash_node_check_changes_func), (preferneces_callback_node_invoke_func), (preferences_register), (preferences_hash_node_lookup_with_registration), (preferences_gconf_callback), (user_level_changed_callback), (preferences_initialize_if_needed), (nautilus_preferences_add_callback), (nautilus_preferences_set_boolean), (nautilus_preferences_get_boolean), (nautilus_preferences_set_enum), (nautilus_preferences_get_enum), (nautilus_preferences_set), (nautilus_preferences_get), (nautilus_preferences_shutdown): * nautilus-widgets/nautilus-preferences.h: Move the tabulation of nice preferences to nautilus-preference. Install one gconf notification for each user level. Remove all the extra unused registration parameters. Use generated keys that take into account the current user level to communicato with GConf. Keep track of user level changes so that we can compare preferences between user levels and fire callbacks accordingly. This simplifies the lifes of preferences callers as they can continue to install one simple callback as before. They will get notified when a preference changes for whatever reason. That could be the user manaually tweaking it, or a sweeping user level change. Again, i tried to keep as much of the original hashing logic intact. It needs cleaning up as well. * nautilus-widgets/nautilus-user-level-manager.c: (nautilus_user_level_manager_set_default_value_if_needed), (nautilus_user_level_manager_compare_preference_between_user_levels ): * nautilus-widgets/nautilus-user-level-manager.h: Add a public function to determine whether a preference is the same between 2 user levels. * nautilus-widgets/test-nautilus-preferences.c: (register_global_preferences): Update to reflect api changes. * src/nautilus-window-menus.c: (nautilus_window_initialize_menus), (user_level_changed_callback), (get_customize_user_level_setttings_menu_string), (update_preferences_dialog_title): Update the preferences dialog whenever the user level changes. This is an easy way to have the dialog reflect reallity. It would be a lot nicer it the contents updated on the fly instead of rebuilding the whole thing. I can do that later.
2000-06-02 16:41:42 +00:00
#define NAUTILUS_PREFERENCES_HOME_URI "preferences/home_uri"
#define NAUTILUS_PREFERENCES_HIDE_BUILT_IN_BOOKMARKS "preferences/hide_built_in_bookmarks"
/* Proxy */
#define NAUTILUS_PREFERENCES_HTTP_USE_PROXY "/system/gnome-vfs/use-http-proxy"
#define NAUTILUS_PREFERENCES_HTTP_PROXY_HOST "/system/gnome-vfs/http-proxy-host"
#define NAUTILUS_PREFERENCES_HTTP_PROXY_PORT "/system/gnome-vfs/http-proxy-port"
/* HTTP Proxy Authentication */
#define NAUTILUS_PREFERENCES_HTTP_PROXY_USE_AUTH "/system/gnome-vfs/use-http-proxy-authorization"
#define NAUTILUS_PREFERENCES_HTTP_PROXY_AUTH_USERNAME "/system/gnome-vfs/http-proxy-authorization-user"
#define NAUTILUS_PREFERENCES_HTTP_USE_AUTH_PASSWORD "/system/gnome-vfs/http-proxy-authorization-password"
/* adding/removing from property browser */
Task 518. Support for changing preferecens individually within each confgurable user level. * libnautilus-extensions/nautilus-global-preferences.h: Change all preferences strings to not include the "/nautilus" prefix. The prefix is not automatically computed by the prefences api taking into account the user level. Add (nautilus_global_preferences_dialog_update) to rebuild the preferences dialog when the user level changes. * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_get_dialog), (global_preferences_register_sidebar_panels_preferences_for_ui), (global_preferences_register_with_defaults), (global_preferences_register_boolean_with_defaults), (global_preferences_register_string_with_defaults), (global_preferences_register_enum_with_defaults), (global_preferences_register_for_ui), (global_preferences_initialize_if_needed), (nautilus_global_preferences_show_dialog), (nautilus_global_preferences_hide_dialog), (nautilus_global_preferences_set_dialog_title), (nautilus_global_preferences_dialog_update), (nautilus_global_preferences_shutdown): remove the user level tracking hack. We now set default values for each of the user levels. * libnautilus-extensions/nautilus-icon-container.c: (nautilus_icon_container_initialize): Simplified preference callback api by having a single add_callback function. Use it here. * libnautilus-extensions/nautilus-list.c: (nautilus_list_initialize): Simplified preference callback api by having a single add_callback function. Use it here. * src/file-manager/fm-directory-view.c: (fm_directory_view_initialize): Simplified preference callback api by having a single add_callback function. Use it here. * nautilus-widgets/nautilus-preference.c: (preference_initialize_if_needed), (preference_hash_node_alloc), (preference_hash_node_free_func), (preference_hash_node_free), (preference_register), (preference_hash_node_lookup), (preference_hash_node_lookup_with_registration), (nautilus_preference_shutdown), (nautilus_preference_find_by_name), (nautilus_preference_set_info_by_name), (nautilus_preference_enum_add_entry_by_name): * nautilus-widgets/nautilus-preference.h: Move the preference description hash table here from nautilus-preferences. These are preferences that are expected to have nice defaults as well as descriptions and possibly extra data for the preferences widgets to use (like enumeration values) I moved the tabulation and hashing stuff intactly even though it contains many turds. I plan to fix these soon. * nautilus-widgets/nautilus-preferences-group.c: (nautilus_preferences_group_add_item): * nautilus-widgets/nautilus-preferences-item.c: (preferences_item_construct), (enum_radio_group_changed_callback): Update for the above. * nautilus-widgets/nautilus-preferences.c: (preferences_hash_node_alloc), (preferences_hash_node_free), (preferences_hash_node_add_callback), (preferences_hash_node_remove_callback), (preferences_hash_node_check_changes_func), (preferneces_callback_node_invoke_func), (preferences_register), (preferences_hash_node_lookup_with_registration), (preferences_gconf_callback), (user_level_changed_callback), (preferences_initialize_if_needed), (nautilus_preferences_add_callback), (nautilus_preferences_set_boolean), (nautilus_preferences_get_boolean), (nautilus_preferences_set_enum), (nautilus_preferences_get_enum), (nautilus_preferences_set), (nautilus_preferences_get), (nautilus_preferences_shutdown): * nautilus-widgets/nautilus-preferences.h: Move the tabulation of nice preferences to nautilus-preference. Install one gconf notification for each user level. Remove all the extra unused registration parameters. Use generated keys that take into account the current user level to communicato with GConf. Keep track of user level changes so that we can compare preferences between user levels and fire callbacks accordingly. This simplifies the lifes of preferences callers as they can continue to install one simple callback as before. They will get notified when a preference changes for whatever reason. That could be the user manaually tweaking it, or a sweeping user level change. Again, i tried to keep as much of the original hashing logic intact. It needs cleaning up as well. * nautilus-widgets/nautilus-user-level-manager.c: (nautilus_user_level_manager_set_default_value_if_needed), (nautilus_user_level_manager_compare_preference_between_user_levels ): * nautilus-widgets/nautilus-user-level-manager.h: Add a public function to determine whether a preference is the same between 2 user levels. * nautilus-widgets/test-nautilus-preferences.c: (register_global_preferences): Update to reflect api changes. * src/nautilus-window-menus.c: (nautilus_window_initialize_menus), (user_level_changed_callback), (get_customize_user_level_setttings_menu_string), (update_preferences_dialog_title): Update the preferences dialog whenever the user level changes. This is an easy way to have the dialog reflect reallity. It would be a lot nicer it the contents updated on the fly instead of rebuilding the whole thing. I can do that later.
2000-06-02 16:41:42 +00:00
#define NAUTILUS_PREFERENCES_CAN_ADD_CONTENT "preferences/can_add_content"
Fix bugs: 7343 - Fonts checks should work even when nautilus has not undergone 'make install' 7703 - index status dialog is mixing gnome dialog font and nautilus custom font 7204 - Need a better way to pick a fallback font 1102 - Embedded text should use preferences to determine the font it uses 7357 - Preferences dialog spews critical in the ja_JP locale 7344 - NautilusScalable should not be doing any preferences peeking 7345 - Default font "helvetica" hard coded and marked for translatation in many places 7834 - Should mark selected style in font picker menu 5239 - Please make the text viewer use a fixed-width font 7401 - Non smooth font family picker should have a "GTK System Font" entry Work in progress for related bugs: 5101 - font sizes hard-coded in icon view 5456 - Sidebar tabs use hard coded font families 7670 - Font size is small in list view. reviewed by: Glynn Foster <glynn.foster@ireland.sun.com> * components/notes/nautilus-notes.c: (make_notes_view): Dont translate the font name. * components/text/nautilus-text-view-ui.xml: Add default and fixed entries. * components/text/nautilus-text-view.c: (nautilus_text_view_initialize_class), (nautilus_text_view_initialize), (nautilus_text_view_destroy), (nautilus_text_view_update_font), (handle_ui_event), (merge_bonobo_menu_items), (nautilus_text_view_zoom_to_level), (zoomable_zoom_to_fit_callback), (font_changed_callback): Dont store the font name and size. Compute these as needed. Use deltas instead of hard coded font sizes to compute the font size for a given zoom level. Store the font changes in preferences. * libnautilus-extensions/nautilus-caption.c: (nautilus_caption_initialize), (nautilus_caption_set_title_label), (nautilus_caption_get_title_label), (nautilus_caption_get_title_label_width), (nautilus_caption_set_child), (nautilus_caption_set_spacing): * libnautilus-extensions/nautilus-caption.h: Add support for nice caption alignments. * libnautilus-extensions/nautilus-directory.c: (add_preferences_callbacks), (remove_preferences_callbacks): A bit of a hack. Keep track of changes in the default smooth font so that embedded icon text previews can be updated as needed. * libnautilus-extensions/nautilus-font-factory.c: (nautilus_font_factory_get_font_by_family), A temporary hack for default system font usage. In a future checkin this will not be needed anymore. (nautilus_font_factory_get_font_from_preferences): Dont translate font names anymore. * libnautilus-extensions/nautilus-font-manager.c: (font_description_new), (font_description_free), (font_description_get_char_set), (font_description_table_for_each), (font_list_find_bold_callback), (get_test_font_dir), (nautilus_self_check_font_manager): * libnautilus-extensions/nautilus-font-manager.h: Merge char_set_registry and char_set_encoding into one string 'char_set.' Make the font checks work even if nautilus has not undergone 'make install' * libnautilus-extensions/nautilus-font-picker.c: (nautilus_font_picker_initialize), (nautilus_font_picker_destroy), (font_picker_populate), (font_make_style_name), (font_style_entry_new), (compare_style), (global_font_list_populate_callback): * libnautilus-extensions/nautilus-font-picker.h: Sublcass the font picker from NautilusCaption so that it will nicely align in the preferences dialog. Mark selected style in font picker menus by using radio buttons. Fix a storage leak on destruction. * libnautilus-extensions/nautilus-glib-extensions.c: (nautilus_compare_integer), (nautilus_self_check_glib_extensions): * libnautilus-extensions/nautilus-glib-extensions.h: New GCompare function for integers. * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_install_defaults), (global_preferences_create_dialog), (global_preferences_create_search_pane), (global_preferences_create_sidebar_panels_pane), (global_preferences_pane_update_callback), (global_preferences_get_dialog), (global_preferences_install_sidebar_panel_defaults), (global_preferences_make_sidebar_panel_key), (global_preferences_is_sidebar_panel_enabled), (global_preferences_install_home_location_defaults), (global_preferences_install_font_defaults), (global_preferences_install_medusa_defaults), (global_preferences_populate_pane), (global_preferences_get_smooth_font), (global_preferences_get_smooth_bold_font), (nautilus_global_preferences_get_icon_view_smooth_font), (nautilus_global_preferences_get_default_smooth_font), (nautilus_global_preferences_get_default_smooth_bold_font), (nautilus_global_preferences_initialize): * libnautilus-extensions/nautilus-global-preferences.h: Simplify the creation of preferences by using structures to describe both preferences and preference fialog entries. * libnautilus-extensions/nautilus-gtk-extensions.c: (nautilus_gtk_get_system_font): * libnautilus-extensions/nautilus-gtk-extensions.h: New function to obtain the "Gtk System Font." * libnautilus-extensions/nautilus-icon-canvas-item.c: (nautilus_icon_canvas_item_initialize_class), (nautilus_icon_canvas_item_set_arg), (nautilus_icon_canvas_item_get_arg), (nautilus_icon_canvas_item_set_smooth_font_size): * libnautilus-extensions/nautilus-icon-canvas-item.h: Use signed integers for the font dimensions. * libnautilus-extensions/nautilus-icon-container.c: (nautilus_icon_container_initialize), (nautilus_icon_container_update_icon), (nautilus_icon_container_theme_changed), (nautilus_icon_container_set_font_size_table): * libnautilus-extensions/nautilus-icon-container.h: * libnautilus-extensions/nautilus-icon-private.h: Dont translate the font names. Rename the font size table to better reflect its purpose. Use signed integers for font sizes. * libnautilus-extensions/nautilus-icon-factory.c: (embedded_text_font_changed_callback), (embedded_text_font_free), (embed_text): Keep track of changes in the smooth font used for embedded text so that the icon text previews will update as needed. * libnautilus-extensions/nautilus-preferences-box.c: (nautilus_preferences_box_find_pane): * libnautilus-extensions/nautilus-preferences-box.h: New function to find a named pane. * libnautilus-extensions/nautilus-preferences-group.c: (preferences_group_align_captions), (nautilus_preferences_group_update), (nautilus_preferences_group_get_title_label): * libnautilus-extensions/nautilus-preferences-group.h: Add support for aligning captions. * libnautilus-extensions/nautilus-preferences-item.c: (nautilus_preferences_item_initialize), (preferences_item_construct), (preferences_item_update_enum), (preferences_item_create_enum), (preferences_item_update_short_enum), (preferences_item_create_short_enum), (preferences_item_update_boolean), (preferences_item_create_boolean), (preferences_item_update_editable_string), (preferences_item_create_editable_string), (preferences_item_update_editable_integer), (preferences_item_create_editable_integer), (preferences_item_update_constrained_integer), (preferences_item_create_constrained_integer), (preferences_item_update_font), (preferences_item_create_font), (preferences_item_update_smooth_font), (preferences_item_create_smooth_font), (nautilus_preferences_item_new), (enum_radio_group_changed_callback), (boolean_button_toggled_callback), (font_item_changed_callback), (editable_string_changed_callback), (editable_integer_changed_callback), (constrained_integer_changed_callback), (nautilus_preferences_item_update_displayed_value), (preferences_item_update_editable_integer_settings_at_idle), (nautilus_preferences_item_get_control_showing), (nautilus_preferences_item_set_constrained_integer_paramaters), (nautilus_preferences_item_child_is_caption), (nautilus_preferences_item_get_caption_title_label_width), (nautilus_preferences_item_set_caption_spacing): * libnautilus-extensions/nautilus-preferences-item.h: Add a new CONSTRAINED INTEGER item type. Add support for aligning captions. Dont translate font names. * libnautilus-extensions/nautilus-preferences-pane.c: (nautilus_preferences_pane_add_group), (nautilus_preferences_pane_add_item_to_nth_group), (nautilus_preferences_pane_get_num_visible_groups), (nautilus_preferences_pane_get_num_groups), (nautilus_preferences_pane_find_group): * libnautilus-extensions/nautilus-preferences-pane.h: Add a function for finding a named group. * libnautilus-extensions/nautilus-scalable-font.c: (nautilus_scalable_font_get_default_font), (nautilus_scalable_font_get_default_bold_font): Dont peek preferences for the default fonts. These are now handled in nautilus-global-preferences. * libnautilus-extensions/nautilus-smooth-text-layout.c: (smooth_text_layout_line_list_new), (smooth_text_layout_line_list_new_wrapped), (nautilus_smooth_text_layout_new), (nautilus_smooth_text_layout_set_font_size): Use signed integers for font sizes. * libnautilus-extensions/nautilus-string-picker.c: (nautilus_string_picker_initialize), (nautilus_string_picker_set_string_list): Update for Caption superclass changes. Dont make singleton choices insensitive. * libnautilus-extensions/nautilus-text-caption.c: (nautilus_text_caption_initialize): * libnautilus-extensions/nautilus-text-caption.h: Update for Caption superclass changes. Fix errors in header comments. * src/file-manager/fm-directory-view.c: (fm_directory_view_initialize), (fm_directory_view_destroy): * src/file-manager/fm-directory-view.h: Remove knowledge of font stuff. The fonts for icon and list view are now handled separately so each subclass will have to do its own preferences listening. * src/file-manager/fm-icon-view.c: (set_sort_criterion_by_id), (font_changed_callback), (smooth_font_changed_callback), (standard_font_size_changed_callback), (fm_icon_view_initialize_class), (fm_icon_view_initialize), (fm_icon_view_update_icon_container_font_size_table), (fm_icon_view_update_icon_container_smooth_font), (create_icon_container): Keep track of icon view font changes. Use deltas to compute the font sizes instead of hard coded point sizes. * src/file-manager/fm-list-view.c: (fm_list_view_initialize_class), (fm_list_view_initialize), (fm_list_view_update_font), (font_or_font_size_changed_callback), (fm_list_view_image_display_policy_changed): Keep track of list view font changes. Use deltas to compute the font sizes instead of hard coded point sizes. * src/file-manager/nautilus-indexing-info.c: (last_index_time_and_reindex_button_dialog_new), (index_progress_dialog_new): Dont use smooth labels mixed in with regular gtk labels. * src/nautilus-sidebar-tabs.c: (nautilus_sidebar_tabs_load_theme_data), (smooth_font_changed_callback), (nautilus_sidebar_tabs_initialize), (nautilus_sidebar_tabs_destroy): Add macros and FIXME for hard coded font size. NULL out the tab_font when its unreffed, otherwise all hell breaks lose when user level changes. Update for default font changes. * src/nautilus-sidebar-title.c: (smooth_font_changed_callback), (nautilus_sidebar_title_initialize), (nautilus_sidebar_title_destroy), (update_font): Keep track of smooth font changes. Update for default font changes. * test/test-nautilus-font-manager.c: (font_iterator_callback): * test/test-nautilus-font-picker.c: (update_font), (print_selected_font_callback), (main): * test/test-nautilus-label-simple.c: (use_system_font_callback), (use_system_font_bold_callback), (main): Update for font picker and font manager changes.
2001-03-28 10:10:29 +00:00
/* Content fonts */
#define NAUTILUS_PREFERENCES_DEFAULT_FONT "preferences/default_font"
#define NAUTILUS_PREFERENCES_DEFAULT_SMOOTH_FONT "preferences/default_smooth_font"
#define NAUTILUS_PREFERENCES_DEFAULT_FONT_SIZE "preferences/default_font_size"
/* Single/Double click preference */
Task 518. Support for changing preferecens individually within each confgurable user level. * libnautilus-extensions/nautilus-global-preferences.h: Change all preferences strings to not include the "/nautilus" prefix. The prefix is not automatically computed by the prefences api taking into account the user level. Add (nautilus_global_preferences_dialog_update) to rebuild the preferences dialog when the user level changes. * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_get_dialog), (global_preferences_register_sidebar_panels_preferences_for_ui), (global_preferences_register_with_defaults), (global_preferences_register_boolean_with_defaults), (global_preferences_register_string_with_defaults), (global_preferences_register_enum_with_defaults), (global_preferences_register_for_ui), (global_preferences_initialize_if_needed), (nautilus_global_preferences_show_dialog), (nautilus_global_preferences_hide_dialog), (nautilus_global_preferences_set_dialog_title), (nautilus_global_preferences_dialog_update), (nautilus_global_preferences_shutdown): remove the user level tracking hack. We now set default values for each of the user levels. * libnautilus-extensions/nautilus-icon-container.c: (nautilus_icon_container_initialize): Simplified preference callback api by having a single add_callback function. Use it here. * libnautilus-extensions/nautilus-list.c: (nautilus_list_initialize): Simplified preference callback api by having a single add_callback function. Use it here. * src/file-manager/fm-directory-view.c: (fm_directory_view_initialize): Simplified preference callback api by having a single add_callback function. Use it here. * nautilus-widgets/nautilus-preference.c: (preference_initialize_if_needed), (preference_hash_node_alloc), (preference_hash_node_free_func), (preference_hash_node_free), (preference_register), (preference_hash_node_lookup), (preference_hash_node_lookup_with_registration), (nautilus_preference_shutdown), (nautilus_preference_find_by_name), (nautilus_preference_set_info_by_name), (nautilus_preference_enum_add_entry_by_name): * nautilus-widgets/nautilus-preference.h: Move the preference description hash table here from nautilus-preferences. These are preferences that are expected to have nice defaults as well as descriptions and possibly extra data for the preferences widgets to use (like enumeration values) I moved the tabulation and hashing stuff intactly even though it contains many turds. I plan to fix these soon. * nautilus-widgets/nautilus-preferences-group.c: (nautilus_preferences_group_add_item): * nautilus-widgets/nautilus-preferences-item.c: (preferences_item_construct), (enum_radio_group_changed_callback): Update for the above. * nautilus-widgets/nautilus-preferences.c: (preferences_hash_node_alloc), (preferences_hash_node_free), (preferences_hash_node_add_callback), (preferences_hash_node_remove_callback), (preferences_hash_node_check_changes_func), (preferneces_callback_node_invoke_func), (preferences_register), (preferences_hash_node_lookup_with_registration), (preferences_gconf_callback), (user_level_changed_callback), (preferences_initialize_if_needed), (nautilus_preferences_add_callback), (nautilus_preferences_set_boolean), (nautilus_preferences_get_boolean), (nautilus_preferences_set_enum), (nautilus_preferences_get_enum), (nautilus_preferences_set), (nautilus_preferences_get), (nautilus_preferences_shutdown): * nautilus-widgets/nautilus-preferences.h: Move the tabulation of nice preferences to nautilus-preference. Install one gconf notification for each user level. Remove all the extra unused registration parameters. Use generated keys that take into account the current user level to communicato with GConf. Keep track of user level changes so that we can compare preferences between user levels and fire callbacks accordingly. This simplifies the lifes of preferences callers as they can continue to install one simple callback as before. They will get notified when a preference changes for whatever reason. That could be the user manaually tweaking it, or a sweeping user level change. Again, i tried to keep as much of the original hashing logic intact. It needs cleaning up as well. * nautilus-widgets/nautilus-user-level-manager.c: (nautilus_user_level_manager_set_default_value_if_needed), (nautilus_user_level_manager_compare_preference_between_user_levels ): * nautilus-widgets/nautilus-user-level-manager.h: Add a public function to determine whether a preference is the same between 2 user levels. * nautilus-widgets/test-nautilus-preferences.c: (register_global_preferences): Update to reflect api changes. * src/nautilus-window-menus.c: (nautilus_window_initialize_menus), (user_level_changed_callback), (get_customize_user_level_setttings_menu_string), (update_preferences_dialog_title): Update the preferences dialog whenever the user level changes. This is an easy way to have the dialog reflect reallity. It would be a lot nicer it the contents updated on the fly instead of rebuilding the whole thing. I can do that later.
2000-06-02 16:41:42 +00:00
#define NAUTILUS_PREFERENCES_CLICK_POLICY "preferences/click_policy"
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.
2001-01-29 19:29:56 +00:00
/* Activating executable text files */
#define NAUTILUS_PREFERENCES_EXECUTABLE_TEXT_ACTIVATION "preferences/executable_text_activation"
/* Smooth graphics mode (smoother but slower) */
#define NAUTILUS_PREFERENCES_SMOOTH_GRAPHICS_MODE "preferences/smooth_graphics_mode"
Fixed bug 1653 (new menu layout). View menu now contains Show/Hide items for tool bar, location bar, sidebar, and status bar. The preference now controls only what you get for new windows. Any future "menus aren't quite right" issues should be filed as new bugs. * libnautilus-extensions/nautilus-global-preferences.h: * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_create_dialog), (global_preferences_register): Renamed NAUTILUS_PREFERENCES_DISPLAY_SIDEBAR and its ilk to NAUTILUS_PREFERENCES_START_WITH_SIDEBAR since these preferences now only affect the initial appearance of new windows. Also, clarified the text that appears in the preferences window for these. * src/nautilus-window-menus.c: Removed a bunch of code #ifdeffed WINDOW_ITEMS_TEST since the functionality it partly implemented is now implemented for real. (view_menu_show_hide_sidebar_callback), (view_menu_show_hide_tool_bar_callback), (view_menu_show_hide_location_bar_callback), (view_menu_show_hide_status_bar_callback): New menu callback functions that toggle the visibility of the various views. (nautilus_window_update_show_hide_menu_items): New function, sets the text in the show/hide menu items based on current visibility. (nautilus_window_initialize_menus): Put the Show/Hide menu items in the menu. * src/nautilus-window-private.h: Add prototype for nautilus_window_update_show_hide_menu_items. * src/nautilus-window.h: Renamed statusbar_ctx -> status_bar_context_id and statusbar_clear_id -> status_bar_clear_id; renamed show/hide locationbar/toolbar/statusbar to use location_bar, tool_bar, and status_bar (GTK bad English usage notwithstanding); added prototypes for nautilus_window_sidebar_showing and its ilk. * src/nautilus-window.c: (nautilus_window_initialize), (nautilus_window_destroy): Removed monitoring & unmonitoring of DISPLAY_SIDEBAR-type preferences since changing these preferences now has no dynamic effect. (nautilus_window_clear_status), (nautilus_window_set_status), (nautilus_window_constructed): Fixed wordgroupingification of status_bar et al. (show_dock_item), (hide_dock_item): New functions to share code of show/hide location bar & tool bar functions; these call nautilus_window_update_show_hide_menu_items now also. (dock_item_showing): New function, tests visibility of named dock item. (nautilus_window_hide_location_bar), (nautilus_window_show_location_bar), (nautilus_window_hide_tool_bar), (nautilus_window_show_tool_bar): Use new code-sharing functions. (nautilus_window_location_bar_showing), (nautilus_window_tool_bar_showing), (nautilus_window_sidebar_showing), (nautilus_window_status_bar_showing): New functions to test visibility (nautilus_window_hide_sidebar), (nautilus_window_show_sidebar), (nautilus_window_hide_status_bar), (nautilus_window_show_status_bar): These call nautilus_window_update_show_hide_menu_items now. (nautilus_window_show): Updated for naming changes. * RENAMING: Noted that the evil one-word "toolbar" phrase is still rampant in Nautilus.
2000-08-24 18:45:29 +00:00
/* Which views should be displayed for new windows */
reviewed by: Darin Adler <darin@eazel.com> Fixed bug 3321 (Finalize contents of Help menu for 1.0). Actually there's still an open issue about the Customer Service item, which I've left in for now. * src/nautilus-shell-ui.xml: Added Quick Reference, removed License, put About last after a separator. * src/nautilus-window-menus.c: (help_menu_nautilus_quick_reference_callback): New callback. (help_menu_nautilus_license_callback): Removed this. (nautilus_window_initialize_menus): Install callback for Quick Reference, remove for License. Also removed the space from "tool bar" everywhere, per the final decision of Vera & Rhoda. I grepped and replaced everywhere for "tool bar", "Tool Bar", "TOOL_BAR", and "tool_bar". * components/loser/content/nautilus-content-loser-ui.xml: * components/loser/sidebar/nautilus-sidebar-loser-ui.xml: * components/mozilla/bonobo-extensions.c: * components/sample/nautilus-sample-content-view-ui.xml: * libnautilus-extensions/nautilus-bonobo-extensions.c: * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_install_descriptions), (global_preferences_install_defaults), (global_preferences_install_visibility), (global_preferences_create_dialog): * libnautilus-extensions/nautilus-global-preferences.h: * src/nautilus-service-ui.xml: * src/nautilus-shell-ui.xml: * src/nautilus-window-menus.c: (view_menu_show_hide_toolbar_callback), (nautilus_window_update_show_hide_menu_items), (help_menu_nautilus_quick_reference_callback), (nautilus_window_initialize_menus): * src/nautilus-window-toolbars.c: (set_up_special_bonobo_button), (set_up_toolbar_images), (theme_changed_callback), (set_up_back_or_forward_toolbar_item), (nautilus_window_initialize_toolbars): * src/nautilus-window.c: (nautilus_window_constructed), (nautilus_window_hide_toolbar), (nautilus_window_show_toolbar), (nautilus_window_toolbar_showing), (nautilus_window_show): * src/nautilus-window.h: Made toolbar one word.
2001-02-22 17:56:40 +00:00
#define NAUTILUS_PREFERENCES_START_WITH_TOOLBAR "preferences/start_with_toolbar"
Fixed bug 1653 (new menu layout). View menu now contains Show/Hide items for tool bar, location bar, sidebar, and status bar. The preference now controls only what you get for new windows. Any future "menus aren't quite right" issues should be filed as new bugs. * libnautilus-extensions/nautilus-global-preferences.h: * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_create_dialog), (global_preferences_register): Renamed NAUTILUS_PREFERENCES_DISPLAY_SIDEBAR and its ilk to NAUTILUS_PREFERENCES_START_WITH_SIDEBAR since these preferences now only affect the initial appearance of new windows. Also, clarified the text that appears in the preferences window for these. * src/nautilus-window-menus.c: Removed a bunch of code #ifdeffed WINDOW_ITEMS_TEST since the functionality it partly implemented is now implemented for real. (view_menu_show_hide_sidebar_callback), (view_menu_show_hide_tool_bar_callback), (view_menu_show_hide_location_bar_callback), (view_menu_show_hide_status_bar_callback): New menu callback functions that toggle the visibility of the various views. (nautilus_window_update_show_hide_menu_items): New function, sets the text in the show/hide menu items based on current visibility. (nautilus_window_initialize_menus): Put the Show/Hide menu items in the menu. * src/nautilus-window-private.h: Add prototype for nautilus_window_update_show_hide_menu_items. * src/nautilus-window.h: Renamed statusbar_ctx -> status_bar_context_id and statusbar_clear_id -> status_bar_clear_id; renamed show/hide locationbar/toolbar/statusbar to use location_bar, tool_bar, and status_bar (GTK bad English usage notwithstanding); added prototypes for nautilus_window_sidebar_showing and its ilk. * src/nautilus-window.c: (nautilus_window_initialize), (nautilus_window_destroy): Removed monitoring & unmonitoring of DISPLAY_SIDEBAR-type preferences since changing these preferences now has no dynamic effect. (nautilus_window_clear_status), (nautilus_window_set_status), (nautilus_window_constructed): Fixed wordgroupingification of status_bar et al. (show_dock_item), (hide_dock_item): New functions to share code of show/hide location bar & tool bar functions; these call nautilus_window_update_show_hide_menu_items now also. (dock_item_showing): New function, tests visibility of named dock item. (nautilus_window_hide_location_bar), (nautilus_window_show_location_bar), (nautilus_window_hide_tool_bar), (nautilus_window_show_tool_bar): Use new code-sharing functions. (nautilus_window_location_bar_showing), (nautilus_window_tool_bar_showing), (nautilus_window_sidebar_showing), (nautilus_window_status_bar_showing): New functions to test visibility (nautilus_window_hide_sidebar), (nautilus_window_show_sidebar), (nautilus_window_hide_status_bar), (nautilus_window_show_status_bar): These call nautilus_window_update_show_hide_menu_items now. (nautilus_window_show): Updated for naming changes. * RENAMING: Noted that the evil one-word "toolbar" phrase is still rampant in Nautilus.
2000-08-24 18:45:29 +00:00
#define NAUTILUS_PREFERENCES_START_WITH_LOCATION_BAR "preferences/start_with_location_bar"
#define NAUTILUS_PREFERENCES_START_WITH_STATUS_BAR "preferences/start_with_status_bar"
#define NAUTILUS_PREFERENCES_START_WITH_SIDEBAR "preferences/start_with_sidebar"
reviewed by: Darin Adler <darin@eazel.com> Fixed bug 1853 (Want preference for always sorting folders first) For now, this is a global preference. Making it per-window later is a possibility. Arlo is working on a design for directory view defaults that may incorporate this. * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-file.c: (nautilus_file_compare_for_sort_reversed): Eliminated this in favor of a parameter to nautilus_file_compare_for_sort. (nautilus_file_compare_for_sort): Add a parameter for reversed, and another for directories_first. (nautilus_file_compare_for_sort_internal): Former guts of nautilus_file_compare_for_sort moved here. (nautilus_self_check_file): Update compare_for_sort self-checks. * 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): Install an "Always list folders before files" preference in the Icon and List Views section. * src/file-manager/fm-directory-view.h: (sort_directories_first_changed): New function pointer for subclasses to override. * src/file-manager/fm-directory-view.c: (fm_directory_view_should_sort_directories_first): New function for subclasses to call. (sort_directories_first_changed_callback): Call virtual function when preference changes. (fm_directory_view_initialize): Store initial value of preference; install preference callback. (fm_directory_view_destroy): Remove preference callback. * src/file-manager/fm-desktop-icon-view.c: (desktop_icons_compare_callback): Respect preference setting. * src/file-manager/fm-icon-view.c: (icon_container_compare_icons_callback): Update to respect directories_first setting. (icon_container_compare_icons_by_name_callback): Update for API change only. (fm_icon_view_sort_directories_first_changed): Override virtual function; re-sort icon container if in auto-layout mode. (fm_icon_view_initialize_class): Install virtual function override. * src/file-manager/fm-list-view.c: (fm_list_view_initialize_class): Install virtual function override. (list_view_compare_files_for_sort): New function, broken out of fm_list_view_compare_rows, and changed to respect directories_first setting. (fm_list_view_compare_rows): Break out list_view_compare_files_for_sort. (compare_rows_by_name): Update for API change only. (real_sort_directories_first_changed): Override virtual function; re-sort list. (fm_list_view_display_pending_files): Update code that sorts pending items before adding them to list. (fm_list_view_sort_items): Add comment.
2001-03-22 18:08:33 +00:00
/* Sorting order */
#define NAUTILUS_PREFERENCES_SORT_DIRECTORIES_FIRST "preferences/sort_directories_first"
Make the way we deal with enumerations simpler. Add "View Preferences" * libnautilus-extensions/nautilus-global-preferences.h: * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_register_enumerations), (global_preferences_create_dialog), (global_preferences_populate_sidebar_panels_callback), (global_preferences_install_font_defaults), (global_preferences_populate_pane): Make the way we deal with enumerations simpler. Add "View Preferences" pane and all the related defines. * libnautilus-extensions/nautilus-preferences-group.h: * libnautilus-extensions/nautilus-preferences-group.c: (nautilus_preferences_group_initialize_class), (nautilus_preferences_group_initialize), (nautilus_preferences_group_destroy), (nautilus_preferences_group_new), (nautilus_preferences_group_add_item), (nautilus_preferences_group_update), (nautilus_preferences_group_get_num_visible_items), (nautilus_preferences_group_get_title_label), (nautilus_preferences_group_get_max_caption_width), (nautilus_preferences_group_align_captions): Add support for 2 columns. Add better support for caption alignment. Some minor style tweaking. * libnautilus-extensions/nautilus-preferences-item.h: * libnautilus-extensions/nautilus-preferences-item.c: (preferences_item_destroy), (preferences_item_update_enumeration_radio), (preferences_item_create_enumeration_radio), (preferences_item_create_boolean), (preferences_item_create_editable_string), (preferences_item_create_editable_integer), (preferences_item_update_enumeration_menu), (preferences_item_create_enumeration_menu), (preferences_item_create_font), (preferences_item_create_padding), (smooth_font_changed_callback), (preferences_item_create_smooth_font), (nautilus_preferences_item_new), (enumeration_radio_changed_callback), (font_changed_callback), (enumeration_menu_changed_callback), (preferences_item_update_displayed_value), (nautilus_preferences_item_get_child_width), (nautilus_preferences_item_update_showing): Add support for padding items. Rename the enumeration items to better describe their look and function. No longer need to store the whole enumeration. We just need the enumeration id to make enumeration queries. Remove the constrained integer stuff which is replaced by the use of an enumeration id. * libnautilus-extensions/nautilus-preferences-pane.h: * libnautilus-extensions/nautilus-preferences-pane.c: (nautilus_preferences_pane_add_item_to_nth_group), (preferences_pane_get_max_caption_width), (nautilus_preferences_pane_update), (nautilus_preferences_pane_get_num_visible_groups): Better caption alignment. * libnautilus-extensions/nautilus-preferences.h: * libnautilus-extensions/nautilus-preferences.c: (preferences_entry_free), (nautilus_preferences_get_description), (nautilus_preferences_set_enumeration_id), (nautilus_preferences_get_enumeration_id): No longer store the whole enumeration, just an enumeration id. * src/file-manager/fm-icon-view.c: (fm_icon_view_initialize), (fm_icon_view_update_icon_container_font_size_table): * src/file-manager/fm-list-view.c: (fm_list_view_initialize), (fm_list_view_update_font): Update for new "View Preferences" preferences. Not hooked up for real yet.
2001-04-08 10:28:57 +00:00
/* The default folder viewer - one of the two enums below */
#define NAUTILUS_PREFERENCES_DEFAULT_FOLDER_VIEWER "preferences/default_folder_viewer"
enum
{
NAUTILUS_DEFAULT_FOLDER_VIEWER_ICON_VIEW,
reviewed by: Darin Adler <darin@eazel.com> Fixed bug 8024 (Default folder viewer chosen from "View As..." window is not reflected in Preferences dialog) * libnautilus-extensions/nautilus-global-preferences.h: Put iids for Icon and List view here since they must be accessed from multiple places now. Add NAUTILUS_DEFAULT_FOLDER_VIEWER_OTHER enum case. Add prototype for nautilus_global_preferences_set_default_folder_viewer. * libnautilus-extensions/nautilus-global-preferences.c: (get_default_folder_viewer_preference_from_iid): New helper function, returns appropriate NAUTILUS_DEFAULT_FOLDER_VIEWER preference value based on folder-viewing iid. (default_default_folder_viewer_callback): New function to determine default value of NAUTILUS_DEFAULT_FOLDER_VIEWER preference; uses gnome_vfs_mime (name is not a typo). (set_default_folder_viewer_in_gnome_vfs): New function, updates gnome-vfs mime database properly for new folder-viewing iid. (default_folder_viewer_changed_callback): New function, reacts to change in NAUTILUS_DEFAULT_FOLDER_VIEWER preference by updating gnome-vfs mime database (moved here from nautilus-application.c). (nautilus_global_preferences_set_default_folder_viewer): New public function to set the default folder viewer with an iid; handles setting both gnome-vfs and gconf's values. (nautilus_global_preferences_initialize): Add callback for when default folder viewer changes (moved here from nautilus-application.c). * libnautilus-extensions/nautilus-program-chooser.c: (set_default_for_type): Special-case folder viewer to call nautilus_global_preferences_set_default_folder_viewer. * src/file-manager/nautilus-directory-view-ui.xml: Changed "Reset to View Preferences" to "Reset View to Match Preferences". It's really long, but the former was very unclear. Improvements to wording are hereby solicited. * src/nautilus-application.c: (manufactures), (create_object), (default_folder_viewer_changed_callback): Updated for #define name changes. (nautilus_application_startup): Moved code that reacted to default folder viewer preference to nautilus-global-preferences.c.
2001-04-23 23:03:32 +00:00
NAUTILUS_DEFAULT_FOLDER_VIEWER_LIST_VIEW,
NAUTILUS_DEFAULT_FOLDER_VIEWER_OTHER
Make the way we deal with enumerations simpler. Add "View Preferences" * libnautilus-extensions/nautilus-global-preferences.h: * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_register_enumerations), (global_preferences_create_dialog), (global_preferences_populate_sidebar_panels_callback), (global_preferences_install_font_defaults), (global_preferences_populate_pane): Make the way we deal with enumerations simpler. Add "View Preferences" pane and all the related defines. * libnautilus-extensions/nautilus-preferences-group.h: * libnautilus-extensions/nautilus-preferences-group.c: (nautilus_preferences_group_initialize_class), (nautilus_preferences_group_initialize), (nautilus_preferences_group_destroy), (nautilus_preferences_group_new), (nautilus_preferences_group_add_item), (nautilus_preferences_group_update), (nautilus_preferences_group_get_num_visible_items), (nautilus_preferences_group_get_title_label), (nautilus_preferences_group_get_max_caption_width), (nautilus_preferences_group_align_captions): Add support for 2 columns. Add better support for caption alignment. Some minor style tweaking. * libnautilus-extensions/nautilus-preferences-item.h: * libnautilus-extensions/nautilus-preferences-item.c: (preferences_item_destroy), (preferences_item_update_enumeration_radio), (preferences_item_create_enumeration_radio), (preferences_item_create_boolean), (preferences_item_create_editable_string), (preferences_item_create_editable_integer), (preferences_item_update_enumeration_menu), (preferences_item_create_enumeration_menu), (preferences_item_create_font), (preferences_item_create_padding), (smooth_font_changed_callback), (preferences_item_create_smooth_font), (nautilus_preferences_item_new), (enumeration_radio_changed_callback), (font_changed_callback), (enumeration_menu_changed_callback), (preferences_item_update_displayed_value), (nautilus_preferences_item_get_child_width), (nautilus_preferences_item_update_showing): Add support for padding items. Rename the enumeration items to better describe their look and function. No longer need to store the whole enumeration. We just need the enumeration id to make enumeration queries. Remove the constrained integer stuff which is replaced by the use of an enumeration id. * libnautilus-extensions/nautilus-preferences-pane.h: * libnautilus-extensions/nautilus-preferences-pane.c: (nautilus_preferences_pane_add_item_to_nth_group), (preferences_pane_get_max_caption_width), (nautilus_preferences_pane_update), (nautilus_preferences_pane_get_num_visible_groups): Better caption alignment. * libnautilus-extensions/nautilus-preferences.h: * libnautilus-extensions/nautilus-preferences.c: (preferences_entry_free), (nautilus_preferences_get_description), (nautilus_preferences_set_enumeration_id), (nautilus_preferences_get_enumeration_id): No longer store the whole enumeration, just an enumeration id. * src/file-manager/fm-icon-view.c: (fm_icon_view_initialize), (fm_icon_view_update_icon_container_font_size_table): * src/file-manager/fm-list-view.c: (fm_list_view_initialize), (fm_list_view_update_font): Update for new "View Preferences" preferences. Not hooked up for real yet.
2001-04-08 10:28:57 +00:00
};
reviewed by: Darin Adler <darin@eazel.com> Fixed bug 8024 (Default folder viewer chosen from "View As..." window is not reflected in Preferences dialog) * libnautilus-extensions/nautilus-global-preferences.h: Put iids for Icon and List view here since they must be accessed from multiple places now. Add NAUTILUS_DEFAULT_FOLDER_VIEWER_OTHER enum case. Add prototype for nautilus_global_preferences_set_default_folder_viewer. * libnautilus-extensions/nautilus-global-preferences.c: (get_default_folder_viewer_preference_from_iid): New helper function, returns appropriate NAUTILUS_DEFAULT_FOLDER_VIEWER preference value based on folder-viewing iid. (default_default_folder_viewer_callback): New function to determine default value of NAUTILUS_DEFAULT_FOLDER_VIEWER preference; uses gnome_vfs_mime (name is not a typo). (set_default_folder_viewer_in_gnome_vfs): New function, updates gnome-vfs mime database properly for new folder-viewing iid. (default_folder_viewer_changed_callback): New function, reacts to change in NAUTILUS_DEFAULT_FOLDER_VIEWER preference by updating gnome-vfs mime database (moved here from nautilus-application.c). (nautilus_global_preferences_set_default_folder_viewer): New public function to set the default folder viewer with an iid; handles setting both gnome-vfs and gconf's values. (nautilus_global_preferences_initialize): Add callback for when default folder viewer changes (moved here from nautilus-application.c). * libnautilus-extensions/nautilus-program-chooser.c: (set_default_for_type): Special-case folder viewer to call nautilus_global_preferences_set_default_folder_viewer. * src/file-manager/nautilus-directory-view-ui.xml: Changed "Reset to View Preferences" to "Reset View to Match Preferences". It's really long, but the former was very unclear. Improvements to wording are hereby solicited. * src/nautilus-application.c: (manufactures), (create_object), (default_folder_viewer_changed_callback): Updated for #define name changes. (nautilus_application_startup): Moved code that reacted to default folder viewer preference to nautilus-global-preferences.c.
2001-04-23 23:03:32 +00:00
/* These IIDs are used by the preferences code and in nautilus-application.c */
#define NAUTILUS_ICON_VIEW_IID "OAFIID:nautilus_file_manager_icon_view:42681b21-d5ca-4837-87d2-394d88ecc058"
#define NAUTILUS_LIST_VIEW_IID "OAFIID:nautilus_file_manager_list_view:521e489d-0662-4ad7-ac3a-832deabe111c"
Fix bugs: 7343 - Fonts checks should work even when nautilus has not undergone 'make install' 7703 - index status dialog is mixing gnome dialog font and nautilus custom font 7204 - Need a better way to pick a fallback font 1102 - Embedded text should use preferences to determine the font it uses 7357 - Preferences dialog spews critical in the ja_JP locale 7344 - NautilusScalable should not be doing any preferences peeking 7345 - Default font "helvetica" hard coded and marked for translatation in many places 7834 - Should mark selected style in font picker menu 5239 - Please make the text viewer use a fixed-width font 7401 - Non smooth font family picker should have a "GTK System Font" entry Work in progress for related bugs: 5101 - font sizes hard-coded in icon view 5456 - Sidebar tabs use hard coded font families 7670 - Font size is small in list view. reviewed by: Glynn Foster <glynn.foster@ireland.sun.com> * components/notes/nautilus-notes.c: (make_notes_view): Dont translate the font name. * components/text/nautilus-text-view-ui.xml: Add default and fixed entries. * components/text/nautilus-text-view.c: (nautilus_text_view_initialize_class), (nautilus_text_view_initialize), (nautilus_text_view_destroy), (nautilus_text_view_update_font), (handle_ui_event), (merge_bonobo_menu_items), (nautilus_text_view_zoom_to_level), (zoomable_zoom_to_fit_callback), (font_changed_callback): Dont store the font name and size. Compute these as needed. Use deltas instead of hard coded font sizes to compute the font size for a given zoom level. Store the font changes in preferences. * libnautilus-extensions/nautilus-caption.c: (nautilus_caption_initialize), (nautilus_caption_set_title_label), (nautilus_caption_get_title_label), (nautilus_caption_get_title_label_width), (nautilus_caption_set_child), (nautilus_caption_set_spacing): * libnautilus-extensions/nautilus-caption.h: Add support for nice caption alignments. * libnautilus-extensions/nautilus-directory.c: (add_preferences_callbacks), (remove_preferences_callbacks): A bit of a hack. Keep track of changes in the default smooth font so that embedded icon text previews can be updated as needed. * libnautilus-extensions/nautilus-font-factory.c: (nautilus_font_factory_get_font_by_family), A temporary hack for default system font usage. In a future checkin this will not be needed anymore. (nautilus_font_factory_get_font_from_preferences): Dont translate font names anymore. * libnautilus-extensions/nautilus-font-manager.c: (font_description_new), (font_description_free), (font_description_get_char_set), (font_description_table_for_each), (font_list_find_bold_callback), (get_test_font_dir), (nautilus_self_check_font_manager): * libnautilus-extensions/nautilus-font-manager.h: Merge char_set_registry and char_set_encoding into one string 'char_set.' Make the font checks work even if nautilus has not undergone 'make install' * libnautilus-extensions/nautilus-font-picker.c: (nautilus_font_picker_initialize), (nautilus_font_picker_destroy), (font_picker_populate), (font_make_style_name), (font_style_entry_new), (compare_style), (global_font_list_populate_callback): * libnautilus-extensions/nautilus-font-picker.h: Sublcass the font picker from NautilusCaption so that it will nicely align in the preferences dialog. Mark selected style in font picker menus by using radio buttons. Fix a storage leak on destruction. * libnautilus-extensions/nautilus-glib-extensions.c: (nautilus_compare_integer), (nautilus_self_check_glib_extensions): * libnautilus-extensions/nautilus-glib-extensions.h: New GCompare function for integers. * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_install_defaults), (global_preferences_create_dialog), (global_preferences_create_search_pane), (global_preferences_create_sidebar_panels_pane), (global_preferences_pane_update_callback), (global_preferences_get_dialog), (global_preferences_install_sidebar_panel_defaults), (global_preferences_make_sidebar_panel_key), (global_preferences_is_sidebar_panel_enabled), (global_preferences_install_home_location_defaults), (global_preferences_install_font_defaults), (global_preferences_install_medusa_defaults), (global_preferences_populate_pane), (global_preferences_get_smooth_font), (global_preferences_get_smooth_bold_font), (nautilus_global_preferences_get_icon_view_smooth_font), (nautilus_global_preferences_get_default_smooth_font), (nautilus_global_preferences_get_default_smooth_bold_font), (nautilus_global_preferences_initialize): * libnautilus-extensions/nautilus-global-preferences.h: Simplify the creation of preferences by using structures to describe both preferences and preference fialog entries. * libnautilus-extensions/nautilus-gtk-extensions.c: (nautilus_gtk_get_system_font): * libnautilus-extensions/nautilus-gtk-extensions.h: New function to obtain the "Gtk System Font." * libnautilus-extensions/nautilus-icon-canvas-item.c: (nautilus_icon_canvas_item_initialize_class), (nautilus_icon_canvas_item_set_arg), (nautilus_icon_canvas_item_get_arg), (nautilus_icon_canvas_item_set_smooth_font_size): * libnautilus-extensions/nautilus-icon-canvas-item.h: Use signed integers for the font dimensions. * libnautilus-extensions/nautilus-icon-container.c: (nautilus_icon_container_initialize), (nautilus_icon_container_update_icon), (nautilus_icon_container_theme_changed), (nautilus_icon_container_set_font_size_table): * libnautilus-extensions/nautilus-icon-container.h: * libnautilus-extensions/nautilus-icon-private.h: Dont translate the font names. Rename the font size table to better reflect its purpose. Use signed integers for font sizes. * libnautilus-extensions/nautilus-icon-factory.c: (embedded_text_font_changed_callback), (embedded_text_font_free), (embed_text): Keep track of changes in the smooth font used for embedded text so that the icon text previews will update as needed. * libnautilus-extensions/nautilus-preferences-box.c: (nautilus_preferences_box_find_pane): * libnautilus-extensions/nautilus-preferences-box.h: New function to find a named pane. * libnautilus-extensions/nautilus-preferences-group.c: (preferences_group_align_captions), (nautilus_preferences_group_update), (nautilus_preferences_group_get_title_label): * libnautilus-extensions/nautilus-preferences-group.h: Add support for aligning captions. * libnautilus-extensions/nautilus-preferences-item.c: (nautilus_preferences_item_initialize), (preferences_item_construct), (preferences_item_update_enum), (preferences_item_create_enum), (preferences_item_update_short_enum), (preferences_item_create_short_enum), (preferences_item_update_boolean), (preferences_item_create_boolean), (preferences_item_update_editable_string), (preferences_item_create_editable_string), (preferences_item_update_editable_integer), (preferences_item_create_editable_integer), (preferences_item_update_constrained_integer), (preferences_item_create_constrained_integer), (preferences_item_update_font), (preferences_item_create_font), (preferences_item_update_smooth_font), (preferences_item_create_smooth_font), (nautilus_preferences_item_new), (enum_radio_group_changed_callback), (boolean_button_toggled_callback), (font_item_changed_callback), (editable_string_changed_callback), (editable_integer_changed_callback), (constrained_integer_changed_callback), (nautilus_preferences_item_update_displayed_value), (preferences_item_update_editable_integer_settings_at_idle), (nautilus_preferences_item_get_control_showing), (nautilus_preferences_item_set_constrained_integer_paramaters), (nautilus_preferences_item_child_is_caption), (nautilus_preferences_item_get_caption_title_label_width), (nautilus_preferences_item_set_caption_spacing): * libnautilus-extensions/nautilus-preferences-item.h: Add a new CONSTRAINED INTEGER item type. Add support for aligning captions. Dont translate font names. * libnautilus-extensions/nautilus-preferences-pane.c: (nautilus_preferences_pane_add_group), (nautilus_preferences_pane_add_item_to_nth_group), (nautilus_preferences_pane_get_num_visible_groups), (nautilus_preferences_pane_get_num_groups), (nautilus_preferences_pane_find_group): * libnautilus-extensions/nautilus-preferences-pane.h: Add a function for finding a named group. * libnautilus-extensions/nautilus-scalable-font.c: (nautilus_scalable_font_get_default_font), (nautilus_scalable_font_get_default_bold_font): Dont peek preferences for the default fonts. These are now handled in nautilus-global-preferences. * libnautilus-extensions/nautilus-smooth-text-layout.c: (smooth_text_layout_line_list_new), (smooth_text_layout_line_list_new_wrapped), (nautilus_smooth_text_layout_new), (nautilus_smooth_text_layout_set_font_size): Use signed integers for font sizes. * libnautilus-extensions/nautilus-string-picker.c: (nautilus_string_picker_initialize), (nautilus_string_picker_set_string_list): Update for Caption superclass changes. Dont make singleton choices insensitive. * libnautilus-extensions/nautilus-text-caption.c: (nautilus_text_caption_initialize): * libnautilus-extensions/nautilus-text-caption.h: Update for Caption superclass changes. Fix errors in header comments. * src/file-manager/fm-directory-view.c: (fm_directory_view_initialize), (fm_directory_view_destroy): * src/file-manager/fm-directory-view.h: Remove knowledge of font stuff. The fonts for icon and list view are now handled separately so each subclass will have to do its own preferences listening. * src/file-manager/fm-icon-view.c: (set_sort_criterion_by_id), (font_changed_callback), (smooth_font_changed_callback), (standard_font_size_changed_callback), (fm_icon_view_initialize_class), (fm_icon_view_initialize), (fm_icon_view_update_icon_container_font_size_table), (fm_icon_view_update_icon_container_smooth_font), (create_icon_container): Keep track of icon view font changes. Use deltas to compute the font sizes instead of hard coded point sizes. * src/file-manager/fm-list-view.c: (fm_list_view_initialize_class), (fm_list_view_initialize), (fm_list_view_update_font), (font_or_font_size_changed_callback), (fm_list_view_image_display_policy_changed): Keep track of list view font changes. Use deltas to compute the font sizes instead of hard coded point sizes. * src/file-manager/nautilus-indexing-info.c: (last_index_time_and_reindex_button_dialog_new), (index_progress_dialog_new): Dont use smooth labels mixed in with regular gtk labels. * src/nautilus-sidebar-tabs.c: (nautilus_sidebar_tabs_load_theme_data), (smooth_font_changed_callback), (nautilus_sidebar_tabs_initialize), (nautilus_sidebar_tabs_destroy): Add macros and FIXME for hard coded font size. NULL out the tab_font when its unreffed, otherwise all hell breaks lose when user level changes. Update for default font changes. * src/nautilus-sidebar-title.c: (smooth_font_changed_callback), (nautilus_sidebar_title_initialize), (nautilus_sidebar_title_destroy), (update_font): Keep track of smooth font changes. Update for default font changes. * test/test-nautilus-font-manager.c: (font_iterator_callback): * test/test-nautilus-font-picker.c: (update_font), (print_selected_font_callback), (main): * test/test-nautilus-label-simple.c: (use_system_font_callback), (use_system_font_bold_callback), (main): Update for font picker and font manager changes.
2001-03-28 10:10:29 +00:00
/* Icon View */
Make the way we deal with enumerations simpler. Add "View Preferences" * libnautilus-extensions/nautilus-global-preferences.h: * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_register_enumerations), (global_preferences_create_dialog), (global_preferences_populate_sidebar_panels_callback), (global_preferences_install_font_defaults), (global_preferences_populate_pane): Make the way we deal with enumerations simpler. Add "View Preferences" pane and all the related defines. * libnautilus-extensions/nautilus-preferences-group.h: * libnautilus-extensions/nautilus-preferences-group.c: (nautilus_preferences_group_initialize_class), (nautilus_preferences_group_initialize), (nautilus_preferences_group_destroy), (nautilus_preferences_group_new), (nautilus_preferences_group_add_item), (nautilus_preferences_group_update), (nautilus_preferences_group_get_num_visible_items), (nautilus_preferences_group_get_title_label), (nautilus_preferences_group_get_max_caption_width), (nautilus_preferences_group_align_captions): Add support for 2 columns. Add better support for caption alignment. Some minor style tweaking. * libnautilus-extensions/nautilus-preferences-item.h: * libnautilus-extensions/nautilus-preferences-item.c: (preferences_item_destroy), (preferences_item_update_enumeration_radio), (preferences_item_create_enumeration_radio), (preferences_item_create_boolean), (preferences_item_create_editable_string), (preferences_item_create_editable_integer), (preferences_item_update_enumeration_menu), (preferences_item_create_enumeration_menu), (preferences_item_create_font), (preferences_item_create_padding), (smooth_font_changed_callback), (preferences_item_create_smooth_font), (nautilus_preferences_item_new), (enumeration_radio_changed_callback), (font_changed_callback), (enumeration_menu_changed_callback), (preferences_item_update_displayed_value), (nautilus_preferences_item_get_child_width), (nautilus_preferences_item_update_showing): Add support for padding items. Rename the enumeration items to better describe their look and function. No longer need to store the whole enumeration. We just need the enumeration id to make enumeration queries. Remove the constrained integer stuff which is replaced by the use of an enumeration id. * libnautilus-extensions/nautilus-preferences-pane.h: * libnautilus-extensions/nautilus-preferences-pane.c: (nautilus_preferences_pane_add_item_to_nth_group), (preferences_pane_get_max_caption_width), (nautilus_preferences_pane_update), (nautilus_preferences_pane_get_num_visible_groups): Better caption alignment. * libnautilus-extensions/nautilus-preferences.h: * libnautilus-extensions/nautilus-preferences.c: (preferences_entry_free), (nautilus_preferences_get_description), (nautilus_preferences_set_enumeration_id), (nautilus_preferences_get_enumeration_id): No longer store the whole enumeration, just an enumeration id. * src/file-manager/fm-icon-view.c: (fm_icon_view_initialize), (fm_icon_view_update_icon_container_font_size_table): * src/file-manager/fm-list-view.c: (fm_list_view_initialize), (fm_list_view_update_font): Update for new "View Preferences" preferences. Not hooked up for real yet.
2001-04-08 10:28:57 +00:00
#define NAUTILUS_PREFERENCES_ICON_VIEW_DEFAULT_SORT_IN_REVERSE_ORDER "icon-view/default_sort_in_reverse_order"
#define NAUTILUS_PREFERENCES_ICON_VIEW_DEFAULT_SORT_ORDER "icon-view/default_sort_order"
#define NAUTILUS_PREFERENCES_ICON_VIEW_DEFAULT_USE_TIGHTER_LAYOUT "icon-view/default_use_tighter_layout"
#define NAUTILUS_PREFERENCES_ICON_VIEW_DEFAULT_ZOOM_LEVEL "icon-view/default_zoom_level"
#define NAUTILUS_PREFERENCES_ICON_VIEW_DEFAULT_ZOOM_LEVEL_FONT_SIZE "icon-view/default_zoom_level_font_size"
#define NAUTILUS_PREFERENCES_ICON_VIEW_DEFAULT_USE_MANUAL_LAYOUT "icon-view/default_use_manual_layout"
Make the way we deal with enumerations simpler. Add "View Preferences" * libnautilus-extensions/nautilus-global-preferences.h: * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_register_enumerations), (global_preferences_create_dialog), (global_preferences_populate_sidebar_panels_callback), (global_preferences_install_font_defaults), (global_preferences_populate_pane): Make the way we deal with enumerations simpler. Add "View Preferences" pane and all the related defines. * libnautilus-extensions/nautilus-preferences-group.h: * libnautilus-extensions/nautilus-preferences-group.c: (nautilus_preferences_group_initialize_class), (nautilus_preferences_group_initialize), (nautilus_preferences_group_destroy), (nautilus_preferences_group_new), (nautilus_preferences_group_add_item), (nautilus_preferences_group_update), (nautilus_preferences_group_get_num_visible_items), (nautilus_preferences_group_get_title_label), (nautilus_preferences_group_get_max_caption_width), (nautilus_preferences_group_align_captions): Add support for 2 columns. Add better support for caption alignment. Some minor style tweaking. * libnautilus-extensions/nautilus-preferences-item.h: * libnautilus-extensions/nautilus-preferences-item.c: (preferences_item_destroy), (preferences_item_update_enumeration_radio), (preferences_item_create_enumeration_radio), (preferences_item_create_boolean), (preferences_item_create_editable_string), (preferences_item_create_editable_integer), (preferences_item_update_enumeration_menu), (preferences_item_create_enumeration_menu), (preferences_item_create_font), (preferences_item_create_padding), (smooth_font_changed_callback), (preferences_item_create_smooth_font), (nautilus_preferences_item_new), (enumeration_radio_changed_callback), (font_changed_callback), (enumeration_menu_changed_callback), (preferences_item_update_displayed_value), (nautilus_preferences_item_get_child_width), (nautilus_preferences_item_update_showing): Add support for padding items. Rename the enumeration items to better describe their look and function. No longer need to store the whole enumeration. We just need the enumeration id to make enumeration queries. Remove the constrained integer stuff which is replaced by the use of an enumeration id. * libnautilus-extensions/nautilus-preferences-pane.h: * libnautilus-extensions/nautilus-preferences-pane.c: (nautilus_preferences_pane_add_item_to_nth_group), (preferences_pane_get_max_caption_width), (nautilus_preferences_pane_update), (nautilus_preferences_pane_get_num_visible_groups): Better caption alignment. * libnautilus-extensions/nautilus-preferences.h: * libnautilus-extensions/nautilus-preferences.c: (preferences_entry_free), (nautilus_preferences_get_description), (nautilus_preferences_set_enumeration_id), (nautilus_preferences_get_enumeration_id): No longer store the whole enumeration, just an enumeration id. * src/file-manager/fm-icon-view.c: (fm_icon_view_initialize), (fm_icon_view_update_icon_container_font_size_table): * src/file-manager/fm-list-view.c: (fm_list_view_initialize), (fm_list_view_update_font): Update for new "View Preferences" preferences. Not hooked up for real yet.
2001-04-08 10:28:57 +00:00
#define NAUTILUS_PREFERENCES_ICON_VIEW_FONT "icon-view/font"
#define NAUTILUS_PREFERENCES_ICON_VIEW_SMOOTH_FONT "icon-view/smooth_font"
Fix bugs: 7343 - Fonts checks should work even when nautilus has not undergone 'make install' 7703 - index status dialog is mixing gnome dialog font and nautilus custom font 7204 - Need a better way to pick a fallback font 1102 - Embedded text should use preferences to determine the font it uses 7357 - Preferences dialog spews critical in the ja_JP locale 7344 - NautilusScalable should not be doing any preferences peeking 7345 - Default font "helvetica" hard coded and marked for translatation in many places 7834 - Should mark selected style in font picker menu 5239 - Please make the text viewer use a fixed-width font 7401 - Non smooth font family picker should have a "GTK System Font" entry Work in progress for related bugs: 5101 - font sizes hard-coded in icon view 5456 - Sidebar tabs use hard coded font families 7670 - Font size is small in list view. reviewed by: Glynn Foster <glynn.foster@ireland.sun.com> * components/notes/nautilus-notes.c: (make_notes_view): Dont translate the font name. * components/text/nautilus-text-view-ui.xml: Add default and fixed entries. * components/text/nautilus-text-view.c: (nautilus_text_view_initialize_class), (nautilus_text_view_initialize), (nautilus_text_view_destroy), (nautilus_text_view_update_font), (handle_ui_event), (merge_bonobo_menu_items), (nautilus_text_view_zoom_to_level), (zoomable_zoom_to_fit_callback), (font_changed_callback): Dont store the font name and size. Compute these as needed. Use deltas instead of hard coded font sizes to compute the font size for a given zoom level. Store the font changes in preferences. * libnautilus-extensions/nautilus-caption.c: (nautilus_caption_initialize), (nautilus_caption_set_title_label), (nautilus_caption_get_title_label), (nautilus_caption_get_title_label_width), (nautilus_caption_set_child), (nautilus_caption_set_spacing): * libnautilus-extensions/nautilus-caption.h: Add support for nice caption alignments. * libnautilus-extensions/nautilus-directory.c: (add_preferences_callbacks), (remove_preferences_callbacks): A bit of a hack. Keep track of changes in the default smooth font so that embedded icon text previews can be updated as needed. * libnautilus-extensions/nautilus-font-factory.c: (nautilus_font_factory_get_font_by_family), A temporary hack for default system font usage. In a future checkin this will not be needed anymore. (nautilus_font_factory_get_font_from_preferences): Dont translate font names anymore. * libnautilus-extensions/nautilus-font-manager.c: (font_description_new), (font_description_free), (font_description_get_char_set), (font_description_table_for_each), (font_list_find_bold_callback), (get_test_font_dir), (nautilus_self_check_font_manager): * libnautilus-extensions/nautilus-font-manager.h: Merge char_set_registry and char_set_encoding into one string 'char_set.' Make the font checks work even if nautilus has not undergone 'make install' * libnautilus-extensions/nautilus-font-picker.c: (nautilus_font_picker_initialize), (nautilus_font_picker_destroy), (font_picker_populate), (font_make_style_name), (font_style_entry_new), (compare_style), (global_font_list_populate_callback): * libnautilus-extensions/nautilus-font-picker.h: Sublcass the font picker from NautilusCaption so that it will nicely align in the preferences dialog. Mark selected style in font picker menus by using radio buttons. Fix a storage leak on destruction. * libnautilus-extensions/nautilus-glib-extensions.c: (nautilus_compare_integer), (nautilus_self_check_glib_extensions): * libnautilus-extensions/nautilus-glib-extensions.h: New GCompare function for integers. * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_install_defaults), (global_preferences_create_dialog), (global_preferences_create_search_pane), (global_preferences_create_sidebar_panels_pane), (global_preferences_pane_update_callback), (global_preferences_get_dialog), (global_preferences_install_sidebar_panel_defaults), (global_preferences_make_sidebar_panel_key), (global_preferences_is_sidebar_panel_enabled), (global_preferences_install_home_location_defaults), (global_preferences_install_font_defaults), (global_preferences_install_medusa_defaults), (global_preferences_populate_pane), (global_preferences_get_smooth_font), (global_preferences_get_smooth_bold_font), (nautilus_global_preferences_get_icon_view_smooth_font), (nautilus_global_preferences_get_default_smooth_font), (nautilus_global_preferences_get_default_smooth_bold_font), (nautilus_global_preferences_initialize): * libnautilus-extensions/nautilus-global-preferences.h: Simplify the creation of preferences by using structures to describe both preferences and preference fialog entries. * libnautilus-extensions/nautilus-gtk-extensions.c: (nautilus_gtk_get_system_font): * libnautilus-extensions/nautilus-gtk-extensions.h: New function to obtain the "Gtk System Font." * libnautilus-extensions/nautilus-icon-canvas-item.c: (nautilus_icon_canvas_item_initialize_class), (nautilus_icon_canvas_item_set_arg), (nautilus_icon_canvas_item_get_arg), (nautilus_icon_canvas_item_set_smooth_font_size): * libnautilus-extensions/nautilus-icon-canvas-item.h: Use signed integers for the font dimensions. * libnautilus-extensions/nautilus-icon-container.c: (nautilus_icon_container_initialize), (nautilus_icon_container_update_icon), (nautilus_icon_container_theme_changed), (nautilus_icon_container_set_font_size_table): * libnautilus-extensions/nautilus-icon-container.h: * libnautilus-extensions/nautilus-icon-private.h: Dont translate the font names. Rename the font size table to better reflect its purpose. Use signed integers for font sizes. * libnautilus-extensions/nautilus-icon-factory.c: (embedded_text_font_changed_callback), (embedded_text_font_free), (embed_text): Keep track of changes in the smooth font used for embedded text so that the icon text previews will update as needed. * libnautilus-extensions/nautilus-preferences-box.c: (nautilus_preferences_box_find_pane): * libnautilus-extensions/nautilus-preferences-box.h: New function to find a named pane. * libnautilus-extensions/nautilus-preferences-group.c: (preferences_group_align_captions), (nautilus_preferences_group_update), (nautilus_preferences_group_get_title_label): * libnautilus-extensions/nautilus-preferences-group.h: Add support for aligning captions. * libnautilus-extensions/nautilus-preferences-item.c: (nautilus_preferences_item_initialize), (preferences_item_construct), (preferences_item_update_enum), (preferences_item_create_enum), (preferences_item_update_short_enum), (preferences_item_create_short_enum), (preferences_item_update_boolean), (preferences_item_create_boolean), (preferences_item_update_editable_string), (preferences_item_create_editable_string), (preferences_item_update_editable_integer), (preferences_item_create_editable_integer), (preferences_item_update_constrained_integer), (preferences_item_create_constrained_integer), (preferences_item_update_font), (preferences_item_create_font), (preferences_item_update_smooth_font), (preferences_item_create_smooth_font), (nautilus_preferences_item_new), (enum_radio_group_changed_callback), (boolean_button_toggled_callback), (font_item_changed_callback), (editable_string_changed_callback), (editable_integer_changed_callback), (constrained_integer_changed_callback), (nautilus_preferences_item_update_displayed_value), (preferences_item_update_editable_integer_settings_at_idle), (nautilus_preferences_item_get_control_showing), (nautilus_preferences_item_set_constrained_integer_paramaters), (nautilus_preferences_item_child_is_caption), (nautilus_preferences_item_get_caption_title_label_width), (nautilus_preferences_item_set_caption_spacing): * libnautilus-extensions/nautilus-preferences-item.h: Add a new CONSTRAINED INTEGER item type. Add support for aligning captions. Dont translate font names. * libnautilus-extensions/nautilus-preferences-pane.c: (nautilus_preferences_pane_add_group), (nautilus_preferences_pane_add_item_to_nth_group), (nautilus_preferences_pane_get_num_visible_groups), (nautilus_preferences_pane_get_num_groups), (nautilus_preferences_pane_find_group): * libnautilus-extensions/nautilus-preferences-pane.h: Add a function for finding a named group. * libnautilus-extensions/nautilus-scalable-font.c: (nautilus_scalable_font_get_default_font), (nautilus_scalable_font_get_default_bold_font): Dont peek preferences for the default fonts. These are now handled in nautilus-global-preferences. * libnautilus-extensions/nautilus-smooth-text-layout.c: (smooth_text_layout_line_list_new), (smooth_text_layout_line_list_new_wrapped), (nautilus_smooth_text_layout_new), (nautilus_smooth_text_layout_set_font_size): Use signed integers for font sizes. * libnautilus-extensions/nautilus-string-picker.c: (nautilus_string_picker_initialize), (nautilus_string_picker_set_string_list): Update for Caption superclass changes. Dont make singleton choices insensitive. * libnautilus-extensions/nautilus-text-caption.c: (nautilus_text_caption_initialize): * libnautilus-extensions/nautilus-text-caption.h: Update for Caption superclass changes. Fix errors in header comments. * src/file-manager/fm-directory-view.c: (fm_directory_view_initialize), (fm_directory_view_destroy): * src/file-manager/fm-directory-view.h: Remove knowledge of font stuff. The fonts for icon and list view are now handled separately so each subclass will have to do its own preferences listening. * src/file-manager/fm-icon-view.c: (set_sort_criterion_by_id), (font_changed_callback), (smooth_font_changed_callback), (standard_font_size_changed_callback), (fm_icon_view_initialize_class), (fm_icon_view_initialize), (fm_icon_view_update_icon_container_font_size_table), (fm_icon_view_update_icon_container_smooth_font), (create_icon_container): Keep track of icon view font changes. Use deltas to compute the font sizes instead of hard coded point sizes. * src/file-manager/fm-list-view.c: (fm_list_view_initialize_class), (fm_list_view_initialize), (fm_list_view_update_font), (font_or_font_size_changed_callback), (fm_list_view_image_display_policy_changed): Keep track of list view font changes. Use deltas to compute the font sizes instead of hard coded point sizes. * src/file-manager/nautilus-indexing-info.c: (last_index_time_and_reindex_button_dialog_new), (index_progress_dialog_new): Dont use smooth labels mixed in with regular gtk labels. * src/nautilus-sidebar-tabs.c: (nautilus_sidebar_tabs_load_theme_data), (smooth_font_changed_callback), (nautilus_sidebar_tabs_initialize), (nautilus_sidebar_tabs_destroy): Add macros and FIXME for hard coded font size. NULL out the tab_font when its unreffed, otherwise all hell breaks lose when user level changes. Update for default font changes. * src/nautilus-sidebar-title.c: (smooth_font_changed_callback), (nautilus_sidebar_title_initialize), (nautilus_sidebar_title_destroy), (update_font): Keep track of smooth font changes. Update for default font changes. * test/test-nautilus-font-manager.c: (font_iterator_callback): * test/test-nautilus-font-picker.c: (update_font), (print_selected_font_callback), (main): * test/test-nautilus-label-simple.c: (use_system_font_callback), (use_system_font_bold_callback), (main): Update for font picker and font manager changes.
2001-03-28 10:10:29 +00:00
/* The icon view uses 2 variables to store the sort order and
* whether to use manual layout. However, the UI for these
* preferences presensts them as single option menu. So we
* use the following preference as a proxy for the other two.
* In nautilus-global-preferences.c we install callbacks for
* the proxy preference and update the other 2 when it changes
*/
#define NAUTILUS_PREFERENCES_ICON_VIEW_DEFAULT_SORT_ORDER_OR_MANUAL_LAYOUT "icon-view/default_sort_order_or_manual_layout"
Implement the missing GconfValue comparison for lists. * libnautilus-extensions/nautilus-gconf-extensions.c: (simple_value_is_equal), (nautilus_gconf_value_is_equal): Implement the missing GconfValue comparison for lists. * libnautilus-extensions/nautilus-global-preferences.h: More consistent name for the icon captions preference. * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_register_enumerations): Allow enumeration ids to be installed for string lists. A bit of a hack to let enumeration lists work in the NautilusPreferencesItem object. (global_preferences_install_one_default): Add support for string lists. (global_preferences_create_dialog): Move the icon captions widgetry from its own lonesome dialog into the preferences dialog. * libnautilus-extensions/nautilus-preferences-box.h: * libnautilus-extensions/nautilus-preferences-box.c: (nautilus_preferences_box_new): Remove unused parameter from constructor. Remove some crufty unused code. Match the Nautilus style more. * libnautilus-extensions/nautilus-preferences-dialog.h: * libnautilus-extensions/nautilus-preferences-dialog.c: (nautilus_preferences_dialog_construct): Remove some crufty unused signals, defines and code. Match the Nautilus style more. Dont hard code the default size. Let Gtk do that work for us. Remove unused dialog_destroy callback. * libnautilus-extensions/nautilus-preferences-item.h: * libnautilus-extensions/nautilus-preferences-item.c: (preferences_item_destroy), (preferences_item_update_enumeration_list), (preferences_item_set_main_child), (preferences_item_add_connection_child), (preferences_item_create_enumeration_radio), (preferences_item_create_enumeration_list), (preferences_item_create_boolean), (preferences_item_update_editable_string), (preferences_item_create_editable_string), (preferences_item_create_editable_integer), (preferences_item_create_enumeration_menu), (preferences_item_create_font), (preferences_item_create_padding), (preferences_item_create_smooth_font), (nautilus_preferences_item_new), (enumeration_list_changed_callback), (preferences_item_update_displayed_value): Add support for enumerations lists. Cleanup the way children are added to the main box. Allow for more than one child (for enum list support). Keep a list of widgets and their respective changed signal ids, so they can all be blocked and unblocked when needed. * libnautilus-extensions/nautilus-preferences.h: * libnautilus-extensions/nautilus-preferences.c: (update_auto_string_list), (preferences_entry_update_auto_storage), (preferences_entry_remove_auto_storage), (nautilus_preferences_add_auto_string_list), (nautilus_preferences_remove_auto_string), (nautilus_preferences_remove_auto_string_list): Add support for auto storage of string lists. * src/nautilus-application.c: (check_required_directories): Update for EelStringList _as_string changes.
2001-04-17 20:07:20 +00:00
/* Which text attributes appear beneath icon names */
#define NAUTILUS_PREFERENCES_ICON_VIEW_CAPTIONS "icon-view/captions"
Fix bugs: 7343 - Fonts checks should work even when nautilus has not undergone 'make install' 7703 - index status dialog is mixing gnome dialog font and nautilus custom font 7204 - Need a better way to pick a fallback font 1102 - Embedded text should use preferences to determine the font it uses 7357 - Preferences dialog spews critical in the ja_JP locale 7344 - NautilusScalable should not be doing any preferences peeking 7345 - Default font "helvetica" hard coded and marked for translatation in many places 7834 - Should mark selected style in font picker menu 5239 - Please make the text viewer use a fixed-width font 7401 - Non smooth font family picker should have a "GTK System Font" entry Work in progress for related bugs: 5101 - font sizes hard-coded in icon view 5456 - Sidebar tabs use hard coded font families 7670 - Font size is small in list view. reviewed by: Glynn Foster <glynn.foster@ireland.sun.com> * components/notes/nautilus-notes.c: (make_notes_view): Dont translate the font name. * components/text/nautilus-text-view-ui.xml: Add default and fixed entries. * components/text/nautilus-text-view.c: (nautilus_text_view_initialize_class), (nautilus_text_view_initialize), (nautilus_text_view_destroy), (nautilus_text_view_update_font), (handle_ui_event), (merge_bonobo_menu_items), (nautilus_text_view_zoom_to_level), (zoomable_zoom_to_fit_callback), (font_changed_callback): Dont store the font name and size. Compute these as needed. Use deltas instead of hard coded font sizes to compute the font size for a given zoom level. Store the font changes in preferences. * libnautilus-extensions/nautilus-caption.c: (nautilus_caption_initialize), (nautilus_caption_set_title_label), (nautilus_caption_get_title_label), (nautilus_caption_get_title_label_width), (nautilus_caption_set_child), (nautilus_caption_set_spacing): * libnautilus-extensions/nautilus-caption.h: Add support for nice caption alignments. * libnautilus-extensions/nautilus-directory.c: (add_preferences_callbacks), (remove_preferences_callbacks): A bit of a hack. Keep track of changes in the default smooth font so that embedded icon text previews can be updated as needed. * libnautilus-extensions/nautilus-font-factory.c: (nautilus_font_factory_get_font_by_family), A temporary hack for default system font usage. In a future checkin this will not be needed anymore. (nautilus_font_factory_get_font_from_preferences): Dont translate font names anymore. * libnautilus-extensions/nautilus-font-manager.c: (font_description_new), (font_description_free), (font_description_get_char_set), (font_description_table_for_each), (font_list_find_bold_callback), (get_test_font_dir), (nautilus_self_check_font_manager): * libnautilus-extensions/nautilus-font-manager.h: Merge char_set_registry and char_set_encoding into one string 'char_set.' Make the font checks work even if nautilus has not undergone 'make install' * libnautilus-extensions/nautilus-font-picker.c: (nautilus_font_picker_initialize), (nautilus_font_picker_destroy), (font_picker_populate), (font_make_style_name), (font_style_entry_new), (compare_style), (global_font_list_populate_callback): * libnautilus-extensions/nautilus-font-picker.h: Sublcass the font picker from NautilusCaption so that it will nicely align in the preferences dialog. Mark selected style in font picker menus by using radio buttons. Fix a storage leak on destruction. * libnautilus-extensions/nautilus-glib-extensions.c: (nautilus_compare_integer), (nautilus_self_check_glib_extensions): * libnautilus-extensions/nautilus-glib-extensions.h: New GCompare function for integers. * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_install_defaults), (global_preferences_create_dialog), (global_preferences_create_search_pane), (global_preferences_create_sidebar_panels_pane), (global_preferences_pane_update_callback), (global_preferences_get_dialog), (global_preferences_install_sidebar_panel_defaults), (global_preferences_make_sidebar_panel_key), (global_preferences_is_sidebar_panel_enabled), (global_preferences_install_home_location_defaults), (global_preferences_install_font_defaults), (global_preferences_install_medusa_defaults), (global_preferences_populate_pane), (global_preferences_get_smooth_font), (global_preferences_get_smooth_bold_font), (nautilus_global_preferences_get_icon_view_smooth_font), (nautilus_global_preferences_get_default_smooth_font), (nautilus_global_preferences_get_default_smooth_bold_font), (nautilus_global_preferences_initialize): * libnautilus-extensions/nautilus-global-preferences.h: Simplify the creation of preferences by using structures to describe both preferences and preference fialog entries. * libnautilus-extensions/nautilus-gtk-extensions.c: (nautilus_gtk_get_system_font): * libnautilus-extensions/nautilus-gtk-extensions.h: New function to obtain the "Gtk System Font." * libnautilus-extensions/nautilus-icon-canvas-item.c: (nautilus_icon_canvas_item_initialize_class), (nautilus_icon_canvas_item_set_arg), (nautilus_icon_canvas_item_get_arg), (nautilus_icon_canvas_item_set_smooth_font_size): * libnautilus-extensions/nautilus-icon-canvas-item.h: Use signed integers for the font dimensions. * libnautilus-extensions/nautilus-icon-container.c: (nautilus_icon_container_initialize), (nautilus_icon_container_update_icon), (nautilus_icon_container_theme_changed), (nautilus_icon_container_set_font_size_table): * libnautilus-extensions/nautilus-icon-container.h: * libnautilus-extensions/nautilus-icon-private.h: Dont translate the font names. Rename the font size table to better reflect its purpose. Use signed integers for font sizes. * libnautilus-extensions/nautilus-icon-factory.c: (embedded_text_font_changed_callback), (embedded_text_font_free), (embed_text): Keep track of changes in the smooth font used for embedded text so that the icon text previews will update as needed. * libnautilus-extensions/nautilus-preferences-box.c: (nautilus_preferences_box_find_pane): * libnautilus-extensions/nautilus-preferences-box.h: New function to find a named pane. * libnautilus-extensions/nautilus-preferences-group.c: (preferences_group_align_captions), (nautilus_preferences_group_update), (nautilus_preferences_group_get_title_label): * libnautilus-extensions/nautilus-preferences-group.h: Add support for aligning captions. * libnautilus-extensions/nautilus-preferences-item.c: (nautilus_preferences_item_initialize), (preferences_item_construct), (preferences_item_update_enum), (preferences_item_create_enum), (preferences_item_update_short_enum), (preferences_item_create_short_enum), (preferences_item_update_boolean), (preferences_item_create_boolean), (preferences_item_update_editable_string), (preferences_item_create_editable_string), (preferences_item_update_editable_integer), (preferences_item_create_editable_integer), (preferences_item_update_constrained_integer), (preferences_item_create_constrained_integer), (preferences_item_update_font), (preferences_item_create_font), (preferences_item_update_smooth_font), (preferences_item_create_smooth_font), (nautilus_preferences_item_new), (enum_radio_group_changed_callback), (boolean_button_toggled_callback), (font_item_changed_callback), (editable_string_changed_callback), (editable_integer_changed_callback), (constrained_integer_changed_callback), (nautilus_preferences_item_update_displayed_value), (preferences_item_update_editable_integer_settings_at_idle), (nautilus_preferences_item_get_control_showing), (nautilus_preferences_item_set_constrained_integer_paramaters), (nautilus_preferences_item_child_is_caption), (nautilus_preferences_item_get_caption_title_label_width), (nautilus_preferences_item_set_caption_spacing): * libnautilus-extensions/nautilus-preferences-item.h: Add a new CONSTRAINED INTEGER item type. Add support for aligning captions. Dont translate font names. * libnautilus-extensions/nautilus-preferences-pane.c: (nautilus_preferences_pane_add_group), (nautilus_preferences_pane_add_item_to_nth_group), (nautilus_preferences_pane_get_num_visible_groups), (nautilus_preferences_pane_get_num_groups), (nautilus_preferences_pane_find_group): * libnautilus-extensions/nautilus-preferences-pane.h: Add a function for finding a named group. * libnautilus-extensions/nautilus-scalable-font.c: (nautilus_scalable_font_get_default_font), (nautilus_scalable_font_get_default_bold_font): Dont peek preferences for the default fonts. These are now handled in nautilus-global-preferences. * libnautilus-extensions/nautilus-smooth-text-layout.c: (smooth_text_layout_line_list_new), (smooth_text_layout_line_list_new_wrapped), (nautilus_smooth_text_layout_new), (nautilus_smooth_text_layout_set_font_size): Use signed integers for font sizes. * libnautilus-extensions/nautilus-string-picker.c: (nautilus_string_picker_initialize), (nautilus_string_picker_set_string_list): Update for Caption superclass changes. Dont make singleton choices insensitive. * libnautilus-extensions/nautilus-text-caption.c: (nautilus_text_caption_initialize): * libnautilus-extensions/nautilus-text-caption.h: Update for Caption superclass changes. Fix errors in header comments. * src/file-manager/fm-directory-view.c: (fm_directory_view_initialize), (fm_directory_view_destroy): * src/file-manager/fm-directory-view.h: Remove knowledge of font stuff. The fonts for icon and list view are now handled separately so each subclass will have to do its own preferences listening. * src/file-manager/fm-icon-view.c: (set_sort_criterion_by_id), (font_changed_callback), (smooth_font_changed_callback), (standard_font_size_changed_callback), (fm_icon_view_initialize_class), (fm_icon_view_initialize), (fm_icon_view_update_icon_container_font_size_table), (fm_icon_view_update_icon_container_smooth_font), (create_icon_container): Keep track of icon view font changes. Use deltas to compute the font sizes instead of hard coded point sizes. * src/file-manager/fm-list-view.c: (fm_list_view_initialize_class), (fm_list_view_initialize), (fm_list_view_update_font), (font_or_font_size_changed_callback), (fm_list_view_image_display_policy_changed): Keep track of list view font changes. Use deltas to compute the font sizes instead of hard coded point sizes. * src/file-manager/nautilus-indexing-info.c: (last_index_time_and_reindex_button_dialog_new), (index_progress_dialog_new): Dont use smooth labels mixed in with regular gtk labels. * src/nautilus-sidebar-tabs.c: (nautilus_sidebar_tabs_load_theme_data), (smooth_font_changed_callback), (nautilus_sidebar_tabs_initialize), (nautilus_sidebar_tabs_destroy): Add macros and FIXME for hard coded font size. NULL out the tab_font when its unreffed, otherwise all hell breaks lose when user level changes. Update for default font changes. * src/nautilus-sidebar-title.c: (smooth_font_changed_callback), (nautilus_sidebar_title_initialize), (nautilus_sidebar_title_destroy), (update_font): Keep track of smooth font changes. Update for default font changes. * test/test-nautilus-font-manager.c: (font_iterator_callback): * test/test-nautilus-font-picker.c: (update_font), (print_selected_font_callback), (main): * test/test-nautilus-label-simple.c: (use_system_font_callback), (use_system_font_bold_callback), (main): Update for font picker and font manager changes.
2001-03-28 10:10:29 +00:00
/* List View */
Make the way we deal with enumerations simpler. Add "View Preferences" * libnautilus-extensions/nautilus-global-preferences.h: * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_register_enumerations), (global_preferences_create_dialog), (global_preferences_populate_sidebar_panels_callback), (global_preferences_install_font_defaults), (global_preferences_populate_pane): Make the way we deal with enumerations simpler. Add "View Preferences" pane and all the related defines. * libnautilus-extensions/nautilus-preferences-group.h: * libnautilus-extensions/nautilus-preferences-group.c: (nautilus_preferences_group_initialize_class), (nautilus_preferences_group_initialize), (nautilus_preferences_group_destroy), (nautilus_preferences_group_new), (nautilus_preferences_group_add_item), (nautilus_preferences_group_update), (nautilus_preferences_group_get_num_visible_items), (nautilus_preferences_group_get_title_label), (nautilus_preferences_group_get_max_caption_width), (nautilus_preferences_group_align_captions): Add support for 2 columns. Add better support for caption alignment. Some minor style tweaking. * libnautilus-extensions/nautilus-preferences-item.h: * libnautilus-extensions/nautilus-preferences-item.c: (preferences_item_destroy), (preferences_item_update_enumeration_radio), (preferences_item_create_enumeration_radio), (preferences_item_create_boolean), (preferences_item_create_editable_string), (preferences_item_create_editable_integer), (preferences_item_update_enumeration_menu), (preferences_item_create_enumeration_menu), (preferences_item_create_font), (preferences_item_create_padding), (smooth_font_changed_callback), (preferences_item_create_smooth_font), (nautilus_preferences_item_new), (enumeration_radio_changed_callback), (font_changed_callback), (enumeration_menu_changed_callback), (preferences_item_update_displayed_value), (nautilus_preferences_item_get_child_width), (nautilus_preferences_item_update_showing): Add support for padding items. Rename the enumeration items to better describe their look and function. No longer need to store the whole enumeration. We just need the enumeration id to make enumeration queries. Remove the constrained integer stuff which is replaced by the use of an enumeration id. * libnautilus-extensions/nautilus-preferences-pane.h: * libnautilus-extensions/nautilus-preferences-pane.c: (nautilus_preferences_pane_add_item_to_nth_group), (preferences_pane_get_max_caption_width), (nautilus_preferences_pane_update), (nautilus_preferences_pane_get_num_visible_groups): Better caption alignment. * libnautilus-extensions/nautilus-preferences.h: * libnautilus-extensions/nautilus-preferences.c: (preferences_entry_free), (nautilus_preferences_get_description), (nautilus_preferences_set_enumeration_id), (nautilus_preferences_get_enumeration_id): No longer store the whole enumeration, just an enumeration id. * src/file-manager/fm-icon-view.c: (fm_icon_view_initialize), (fm_icon_view_update_icon_container_font_size_table): * src/file-manager/fm-list-view.c: (fm_list_view_initialize), (fm_list_view_update_font): Update for new "View Preferences" preferences. Not hooked up for real yet.
2001-04-08 10:28:57 +00:00
#define NAUTILUS_PREFERENCES_LIST_VIEW_DEFAULT_SORT_IN_REVERSE_ORDER "list-view/default_sort_in_reverse_order"
#define NAUTILUS_PREFERENCES_LIST_VIEW_DEFAULT_SORT_ORDER "list-view/default_sort_order"
#define NAUTILUS_PREFERENCES_LIST_VIEW_DEFAULT_ZOOM_LEVEL "list-view/default_zoom_level"
#define NAUTILUS_PREFERENCES_LIST_VIEW_DEFAULT_ZOOM_LEVEL_FONT_SIZE "list-view/default_zoom_level_font_size"
#define NAUTILUS_PREFERENCES_LIST_VIEW_FONT "list-view/font"
/* News panel */
#define NAUTILUS_PREFERENCES_NEWS_MAX_ITEMS "news/max_items"
#define NAUTILUS_PREFERENCES_NEWS_UPDATE_INTERVAL "news/update_interval"
/* File Indexing */
#define NAUTILUS_PREFERENCES_SEARCH_BAR_TYPE "preferences/search_bar_type"
/* searching */
#define NAUTILUS_PREFERENCES_SEARCH_WEB_URI "preferences/search_web_uri"
enum
{
NAUTILUS_CLICK_POLICY_SINGLE,
NAUTILUS_CLICK_POLICY_DOUBLE
};
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.
2001-01-29 19:29:56 +00:00
enum
{
NAUTILUS_EXECUTABLE_TEXT_LAUNCH,
NAUTILUS_EXECUTABLE_TEXT_DISPLAY,
NAUTILUS_EXECUTABLE_TEXT_ASK
};
Finished task 1552 (Need "never" option for display-embedded-text preference) Finished task 1553 (Need always/local-only/never preference for creating image thumbnails) * libnautilus-extensions/nautilus-radio-button-group.h: * libnautilus-extensions/nautilus-radio-button-group.c: Added "horizontal" field in Details struct. (nautilus_radio_button_group_initialize): Initialize "horizontal" to FALSE (the default; what you get when calling plain "nautilus_radio_button_group_new"). (nautilus_radio_button_group_new_horizontal): New function, used when radio buttons should be laid out in one row; sets details->horizontal to TRUE. (nautilus_radio_button_group_insert): Lay out the items differently depending on value of details->horizontal. (nautilus_radio_button_group_set_entry_pixbuf), (nautilus_radio_button_group_set_entry_description_text): Added g_return_if_fails if details->horizontal is true (because the horizontal layout doesn't have a place to put an icon or longer description; we could change that later if we needed to) * libnautilus-extensions/nautilus-preferences-item.h: Added new NAUTILUS_PREFERENCE_ITEM_SHORT_ENUM type for preferences dialog, to be used when the choices are small enough to fit in one row. * libnautilus-extensions/nautilus-preferences-item.c: (preferences_item_create_short_enum): New function, just like preferences_item_create_enum but uses horizontal radio button group. (preferences_item_construct): Call create_short_enum when type is NAUTILUS_PREFERENCE_ITEM_SHORT_ENUM * libnautilus-extensions/nautilus-global-preferences.h: Took the "REMOTE" out of the name of NAUTILUS_PREFERENCES_SHOW_TEXT_IN_REMOTE_ICONS; added NAUTILUS_PREFERENCES_SHOW_IMAGE_FILE_THUMBNAILS; added NautilusSpeedTradeoffValue enum. * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_create_dialog): Added thumbnails preference to Speed Tradeoffs pane. (global_preferences_register_speed_tradeoff_with_defaults): New convenience function for registering always/local-only/never preferences. (global_preferences_register_for_ui): Register the embedded text and thumbnail-creation speed-tradeoff preferences. * libnautilus-extensions/nautilus-file.c: (nautilus_file_should_get_top_left_text): Respect all three states of the embedded-text preference. * libnautilus-extensions/nautilus-icon-factory.c: (should_display_image_file_as_itself): New function, respects the three states of the create-thumbnails preference. (nautilus_icon_factory_get_icon_for_file): Check preference before creating thumbnails (including image-as-itself case). * src/file-manager/fm-directory-view.h: New handlers for subclasses to fill in for when embedded-text and thumbnail preferences change. * src/file-manager/fm-directory-view.c: (fm_directory_view_initialize): Start monitoring embedded-text and thumbnail preferences. (fm_directory_view_destroy): Stop monitoring preferences. (embedded_text_policy_changed_callback), (image_display_policy_changed_callback): React when preferences change by executing subclass's handler, if any. I also put a hideous hack in here for kick-starting the embedded-text-reading code that otherwise wasn't working in some cases (will fix with Darin). * src/file-manager/fm-icon-view.c: (fm_icon_view_initialize_class): Install handlers for embedded-text and thumbnail preference changes. (fm_icon_view_embedded_text_policy_changed), (fm_icon_view_image_display_policy_changed): New functions; these are said handlers. * src/file-manager/fm-list-view.c: (fm_list_view_initialize_class): Install handlers for embedded-text and thumbnail preference changes. (fm_list_view_embedded_text_policy_changed), (fm_list_view_image_display_policy_changed): New functions; these are said handlers.
2000-08-01 21:21:00 +00:00
typedef enum
{
NAUTILUS_SPEED_TRADEOFF_ALWAYS,
NAUTILUS_SPEED_TRADEOFF_LOCAL_ONLY,
NAUTILUS_SPEED_TRADEOFF_NEVER
} NautilusSpeedTradeoffValue;
#define NAUTILUS_PREFERENCES_SHOW_TEXT_IN_ICONS "preferences/show_icon_text"
#define NAUTILUS_PREFERENCES_SHOW_DIRECTORY_ITEM_COUNTS "preferences/show_directory_item_counts"
Finished task 1552 (Need "never" option for display-embedded-text preference) Finished task 1553 (Need always/local-only/never preference for creating image thumbnails) * libnautilus-extensions/nautilus-radio-button-group.h: * libnautilus-extensions/nautilus-radio-button-group.c: Added "horizontal" field in Details struct. (nautilus_radio_button_group_initialize): Initialize "horizontal" to FALSE (the default; what you get when calling plain "nautilus_radio_button_group_new"). (nautilus_radio_button_group_new_horizontal): New function, used when radio buttons should be laid out in one row; sets details->horizontal to TRUE. (nautilus_radio_button_group_insert): Lay out the items differently depending on value of details->horizontal. (nautilus_radio_button_group_set_entry_pixbuf), (nautilus_radio_button_group_set_entry_description_text): Added g_return_if_fails if details->horizontal is true (because the horizontal layout doesn't have a place to put an icon or longer description; we could change that later if we needed to) * libnautilus-extensions/nautilus-preferences-item.h: Added new NAUTILUS_PREFERENCE_ITEM_SHORT_ENUM type for preferences dialog, to be used when the choices are small enough to fit in one row. * libnautilus-extensions/nautilus-preferences-item.c: (preferences_item_create_short_enum): New function, just like preferences_item_create_enum but uses horizontal radio button group. (preferences_item_construct): Call create_short_enum when type is NAUTILUS_PREFERENCE_ITEM_SHORT_ENUM * libnautilus-extensions/nautilus-global-preferences.h: Took the "REMOTE" out of the name of NAUTILUS_PREFERENCES_SHOW_TEXT_IN_REMOTE_ICONS; added NAUTILUS_PREFERENCES_SHOW_IMAGE_FILE_THUMBNAILS; added NautilusSpeedTradeoffValue enum. * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_create_dialog): Added thumbnails preference to Speed Tradeoffs pane. (global_preferences_register_speed_tradeoff_with_defaults): New convenience function for registering always/local-only/never preferences. (global_preferences_register_for_ui): Register the embedded text and thumbnail-creation speed-tradeoff preferences. * libnautilus-extensions/nautilus-file.c: (nautilus_file_should_get_top_left_text): Respect all three states of the embedded-text preference. * libnautilus-extensions/nautilus-icon-factory.c: (should_display_image_file_as_itself): New function, respects the three states of the create-thumbnails preference. (nautilus_icon_factory_get_icon_for_file): Check preference before creating thumbnails (including image-as-itself case). * src/file-manager/fm-directory-view.h: New handlers for subclasses to fill in for when embedded-text and thumbnail preferences change. * src/file-manager/fm-directory-view.c: (fm_directory_view_initialize): Start monitoring embedded-text and thumbnail preferences. (fm_directory_view_destroy): Stop monitoring preferences. (embedded_text_policy_changed_callback), (image_display_policy_changed_callback): React when preferences change by executing subclass's handler, if any. I also put a hideous hack in here for kick-starting the embedded-text-reading code that otherwise wasn't working in some cases (will fix with Darin). * src/file-manager/fm-icon-view.c: (fm_icon_view_initialize_class): Install handlers for embedded-text and thumbnail preference changes. (fm_icon_view_embedded_text_policy_changed), (fm_icon_view_image_display_policy_changed): New functions; these are said handlers. * src/file-manager/fm-list-view.c: (fm_list_view_initialize_class): Install handlers for embedded-text and thumbnail preference changes. (fm_list_view_embedded_text_policy_changed), (fm_list_view_image_display_policy_changed): New functions; these are said handlers.
2000-08-01 21:21:00 +00:00
#define NAUTILUS_PREFERENCES_SHOW_IMAGE_FILE_THUMBNAILS "preferences/show_image_thumbnails"
#define NAUTILUS_PREFERENCES_IMAGE_FILE_THUMBNAIL_LIMIT "preferences/thumbnail_limit"
#define NAUTILUS_PREFERENCES_USE_PUBLIC_METADATA "preferences/use_public_metadata"
#define NAUTILUS_PREFERENCES_PREVIEW_SOUND "preferences/preview_sound"
Finished task 1552 (Need "never" option for display-embedded-text preference) Finished task 1553 (Need always/local-only/never preference for creating image thumbnails) * libnautilus-extensions/nautilus-radio-button-group.h: * libnautilus-extensions/nautilus-radio-button-group.c: Added "horizontal" field in Details struct. (nautilus_radio_button_group_initialize): Initialize "horizontal" to FALSE (the default; what you get when calling plain "nautilus_radio_button_group_new"). (nautilus_radio_button_group_new_horizontal): New function, used when radio buttons should be laid out in one row; sets details->horizontal to TRUE. (nautilus_radio_button_group_insert): Lay out the items differently depending on value of details->horizontal. (nautilus_radio_button_group_set_entry_pixbuf), (nautilus_radio_button_group_set_entry_description_text): Added g_return_if_fails if details->horizontal is true (because the horizontal layout doesn't have a place to put an icon or longer description; we could change that later if we needed to) * libnautilus-extensions/nautilus-preferences-item.h: Added new NAUTILUS_PREFERENCE_ITEM_SHORT_ENUM type for preferences dialog, to be used when the choices are small enough to fit in one row. * libnautilus-extensions/nautilus-preferences-item.c: (preferences_item_create_short_enum): New function, just like preferences_item_create_enum but uses horizontal radio button group. (preferences_item_construct): Call create_short_enum when type is NAUTILUS_PREFERENCE_ITEM_SHORT_ENUM * libnautilus-extensions/nautilus-global-preferences.h: Took the "REMOTE" out of the name of NAUTILUS_PREFERENCES_SHOW_TEXT_IN_REMOTE_ICONS; added NAUTILUS_PREFERENCES_SHOW_IMAGE_FILE_THUMBNAILS; added NautilusSpeedTradeoffValue enum. * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_create_dialog): Added thumbnails preference to Speed Tradeoffs pane. (global_preferences_register_speed_tradeoff_with_defaults): New convenience function for registering always/local-only/never preferences. (global_preferences_register_for_ui): Register the embedded text and thumbnail-creation speed-tradeoff preferences. * libnautilus-extensions/nautilus-file.c: (nautilus_file_should_get_top_left_text): Respect all three states of the embedded-text preference. * libnautilus-extensions/nautilus-icon-factory.c: (should_display_image_file_as_itself): New function, respects the three states of the create-thumbnails preference. (nautilus_icon_factory_get_icon_for_file): Check preference before creating thumbnails (including image-as-itself case). * src/file-manager/fm-directory-view.h: New handlers for subclasses to fill in for when embedded-text and thumbnail preferences change. * src/file-manager/fm-directory-view.c: (fm_directory_view_initialize): Start monitoring embedded-text and thumbnail preferences. (fm_directory_view_destroy): Stop monitoring preferences. (embedded_text_policy_changed_callback), (image_display_policy_changed_callback): React when preferences change by executing subclass's handler, if any. I also put a hideous hack in here for kick-starting the embedded-text-reading code that otherwise wasn't working in some cases (will fix with Darin). * src/file-manager/fm-icon-view.c: (fm_icon_view_initialize_class): Install handlers for embedded-text and thumbnail preference changes. (fm_icon_view_embedded_text_policy_changed), (fm_icon_view_image_display_policy_changed): New functions; these are said handlers. * src/file-manager/fm-list-view.c: (fm_list_view_initialize_class): Install handlers for embedded-text and thumbnail preference changes. (fm_list_view_embedded_text_policy_changed), (fm_list_view_image_display_policy_changed): New functions; these are said handlers.
2000-08-01 21:21:00 +00:00
set up search-bar as a virtual class that switches between the available 2000-06-20 Rebecca Schulman <rebecka@eazel.com> * src/Makefile.am: * src/nautilus-search-bar.c: * src/nautilus-search-bar.h: (nautilus_search_bar_initialize_class), (nautilus_search_bar_initialize), (nautilus_search_bar_set_location), (nautilus_search_bar_set_search_controls): * src/nautilus-switchable-search-bar.c: * src/nautilus-switchable-search-bar.h: * src/nautilus-search-bar-criterion.c: * src/nautilus-search-bar-criterion.h: set up search-bar as a virtual class that switches between the available search bars, similar to nautilus-navigation-bar. * src/nautilus-complex-search-bar.c: * src/nautilus-complex-search-bar.h: * src/nautilus-simple-search-bar.c: * src/nautilus-simple-search-bar.h: Added simple and complex search bar skeletons. these need to get filled out a lot more * src/nautilus-switchable-navigation-bar.c: (nautilus_switchable_navigation_bar_initialize): switchable navigation bar uses a switchable search bar instead of a normal search bar, since that class is now virtual * src/nautilus-navigation-bar.c: fixed comment typos * libnautilus-extensions/nautilus-directory.h: Exported nautilus_uri_is_search_uri function * libnautilus-extensions/Makefile.am: Added nautilus-search-uri.c and .h files The functions aren't filled out yet, though * libnautilus-extensions/nautilus-search-uri.c: (nautilus_search_uri_to_simple_search_criteria): * libnautilus-extensions/nautilus-search-uri.h: * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_register_for_ui): * libnautilus-extensions/nautilus-global-preferences.h: Changed search bar preference names from NAUTILUS_SEARCH_BAR_ONE_BOX and NAUTILUS_SEARCH_BAR_MULTI_BOX to NAUTILUS_SIMPLE_SEARCH_BAR and NAUTILUS_COMPLEX_SEARCH_BAR to match respective object names
2000-06-21 02:25:54 +00:00
typedef enum
{
set up search-bar as a virtual class that switches between the available 2000-06-20 Rebecca Schulman <rebecka@eazel.com> * src/Makefile.am: * src/nautilus-search-bar.c: * src/nautilus-search-bar.h: (nautilus_search_bar_initialize_class), (nautilus_search_bar_initialize), (nautilus_search_bar_set_location), (nautilus_search_bar_set_search_controls): * src/nautilus-switchable-search-bar.c: * src/nautilus-switchable-search-bar.h: * src/nautilus-search-bar-criterion.c: * src/nautilus-search-bar-criterion.h: set up search-bar as a virtual class that switches between the available search bars, similar to nautilus-navigation-bar. * src/nautilus-complex-search-bar.c: * src/nautilus-complex-search-bar.h: * src/nautilus-simple-search-bar.c: * src/nautilus-simple-search-bar.h: Added simple and complex search bar skeletons. these need to get filled out a lot more * src/nautilus-switchable-navigation-bar.c: (nautilus_switchable_navigation_bar_initialize): switchable navigation bar uses a switchable search bar instead of a normal search bar, since that class is now virtual * src/nautilus-navigation-bar.c: fixed comment typos * libnautilus-extensions/nautilus-directory.h: Exported nautilus_uri_is_search_uri function * libnautilus-extensions/Makefile.am: Added nautilus-search-uri.c and .h files The functions aren't filled out yet, though * libnautilus-extensions/nautilus-search-uri.c: (nautilus_search_uri_to_simple_search_criteria): * libnautilus-extensions/nautilus-search-uri.h: * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_register_for_ui): * libnautilus-extensions/nautilus-global-preferences.h: Changed search bar preference names from NAUTILUS_SEARCH_BAR_ONE_BOX and NAUTILUS_SEARCH_BAR_MULTI_BOX to NAUTILUS_SIMPLE_SEARCH_BAR and NAUTILUS_COMPLEX_SEARCH_BAR to match respective object names
2000-06-21 02:25:54 +00:00
NAUTILUS_COMPLEX_SEARCH_BAR,
NAUTILUS_SIMPLE_SEARCH_BAR
} NautilusSearchBarMode;
/* Gnome session management */
#define NAUTILUS_PREFERENCES_ADD_TO_SESSION "preferences/add_to_session"
Make the way we deal with enumerations simpler. Add "View Preferences" * libnautilus-extensions/nautilus-global-preferences.h: * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_register_enumerations), (global_preferences_create_dialog), (global_preferences_populate_sidebar_panels_callback), (global_preferences_install_font_defaults), (global_preferences_populate_pane): Make the way we deal with enumerations simpler. Add "View Preferences" pane and all the related defines. * libnautilus-extensions/nautilus-preferences-group.h: * libnautilus-extensions/nautilus-preferences-group.c: (nautilus_preferences_group_initialize_class), (nautilus_preferences_group_initialize), (nautilus_preferences_group_destroy), (nautilus_preferences_group_new), (nautilus_preferences_group_add_item), (nautilus_preferences_group_update), (nautilus_preferences_group_get_num_visible_items), (nautilus_preferences_group_get_title_label), (nautilus_preferences_group_get_max_caption_width), (nautilus_preferences_group_align_captions): Add support for 2 columns. Add better support for caption alignment. Some minor style tweaking. * libnautilus-extensions/nautilus-preferences-item.h: * libnautilus-extensions/nautilus-preferences-item.c: (preferences_item_destroy), (preferences_item_update_enumeration_radio), (preferences_item_create_enumeration_radio), (preferences_item_create_boolean), (preferences_item_create_editable_string), (preferences_item_create_editable_integer), (preferences_item_update_enumeration_menu), (preferences_item_create_enumeration_menu), (preferences_item_create_font), (preferences_item_create_padding), (smooth_font_changed_callback), (preferences_item_create_smooth_font), (nautilus_preferences_item_new), (enumeration_radio_changed_callback), (font_changed_callback), (enumeration_menu_changed_callback), (preferences_item_update_displayed_value), (nautilus_preferences_item_get_child_width), (nautilus_preferences_item_update_showing): Add support for padding items. Rename the enumeration items to better describe their look and function. No longer need to store the whole enumeration. We just need the enumeration id to make enumeration queries. Remove the constrained integer stuff which is replaced by the use of an enumeration id. * libnautilus-extensions/nautilus-preferences-pane.h: * libnautilus-extensions/nautilus-preferences-pane.c: (nautilus_preferences_pane_add_item_to_nth_group), (preferences_pane_get_max_caption_width), (nautilus_preferences_pane_update), (nautilus_preferences_pane_get_num_visible_groups): Better caption alignment. * libnautilus-extensions/nautilus-preferences.h: * libnautilus-extensions/nautilus-preferences.c: (preferences_entry_free), (nautilus_preferences_get_description), (nautilus_preferences_set_enumeration_id), (nautilus_preferences_get_enumeration_id): No longer store the whole enumeration, just an enumeration id. * src/file-manager/fm-icon-view.c: (fm_icon_view_initialize), (fm_icon_view_update_icon_container_font_size_table): * src/file-manager/fm-list-view.c: (fm_list_view_initialize), (fm_list_view_update_font): Update for new "View Preferences" preferences. Not hooked up for real yet.
2001-04-08 10:28:57 +00:00
void nautilus_global_preferences_initialize (void);
/* Sidebar */
Make the way we deal with enumerations simpler. Add "View Preferences" * libnautilus-extensions/nautilus-global-preferences.h: * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_register_enumerations), (global_preferences_create_dialog), (global_preferences_populate_sidebar_panels_callback), (global_preferences_install_font_defaults), (global_preferences_populate_pane): Make the way we deal with enumerations simpler. Add "View Preferences" pane and all the related defines. * libnautilus-extensions/nautilus-preferences-group.h: * libnautilus-extensions/nautilus-preferences-group.c: (nautilus_preferences_group_initialize_class), (nautilus_preferences_group_initialize), (nautilus_preferences_group_destroy), (nautilus_preferences_group_new), (nautilus_preferences_group_add_item), (nautilus_preferences_group_update), (nautilus_preferences_group_get_num_visible_items), (nautilus_preferences_group_get_title_label), (nautilus_preferences_group_get_max_caption_width), (nautilus_preferences_group_align_captions): Add support for 2 columns. Add better support for caption alignment. Some minor style tweaking. * libnautilus-extensions/nautilus-preferences-item.h: * libnautilus-extensions/nautilus-preferences-item.c: (preferences_item_destroy), (preferences_item_update_enumeration_radio), (preferences_item_create_enumeration_radio), (preferences_item_create_boolean), (preferences_item_create_editable_string), (preferences_item_create_editable_integer), (preferences_item_update_enumeration_menu), (preferences_item_create_enumeration_menu), (preferences_item_create_font), (preferences_item_create_padding), (smooth_font_changed_callback), (preferences_item_create_smooth_font), (nautilus_preferences_item_new), (enumeration_radio_changed_callback), (font_changed_callback), (enumeration_menu_changed_callback), (preferences_item_update_displayed_value), (nautilus_preferences_item_get_child_width), (nautilus_preferences_item_update_showing): Add support for padding items. Rename the enumeration items to better describe their look and function. No longer need to store the whole enumeration. We just need the enumeration id to make enumeration queries. Remove the constrained integer stuff which is replaced by the use of an enumeration id. * libnautilus-extensions/nautilus-preferences-pane.h: * libnautilus-extensions/nautilus-preferences-pane.c: (nautilus_preferences_pane_add_item_to_nth_group), (preferences_pane_get_max_caption_width), (nautilus_preferences_pane_update), (nautilus_preferences_pane_get_num_visible_groups): Better caption alignment. * libnautilus-extensions/nautilus-preferences.h: * libnautilus-extensions/nautilus-preferences.c: (preferences_entry_free), (nautilus_preferences_get_description), (nautilus_preferences_set_enumeration_id), (nautilus_preferences_get_enumeration_id): No longer store the whole enumeration, just an enumeration id. * src/file-manager/fm-icon-view.c: (fm_icon_view_initialize), (fm_icon_view_update_icon_container_font_size_table): * src/file-manager/fm-list-view.c: (fm_list_view_initialize), (fm_list_view_update_font): Update for new "View Preferences" preferences. Not hooked up for real yet.
2001-04-08 10:28:57 +00:00
struct EelScalableFont *nautilus_global_preferences_get_icon_view_smooth_font (void);
struct EelScalableFont *nautilus_global_preferences_get_default_smooth_font (void);
struct EelScalableFont *nautilus_global_preferences_get_default_smooth_bold_font (void);
reviewed by: Darin Adler <darin@eazel.com> Fixed bug 8024 (Default folder viewer chosen from "View As..." window is not reflected in Preferences dialog) * libnautilus-extensions/nautilus-global-preferences.h: Put iids for Icon and List view here since they must be accessed from multiple places now. Add NAUTILUS_DEFAULT_FOLDER_VIEWER_OTHER enum case. Add prototype for nautilus_global_preferences_set_default_folder_viewer. * libnautilus-extensions/nautilus-global-preferences.c: (get_default_folder_viewer_preference_from_iid): New helper function, returns appropriate NAUTILUS_DEFAULT_FOLDER_VIEWER preference value based on folder-viewing iid. (default_default_folder_viewer_callback): New function to determine default value of NAUTILUS_DEFAULT_FOLDER_VIEWER preference; uses gnome_vfs_mime (name is not a typo). (set_default_folder_viewer_in_gnome_vfs): New function, updates gnome-vfs mime database properly for new folder-viewing iid. (default_folder_viewer_changed_callback): New function, reacts to change in NAUTILUS_DEFAULT_FOLDER_VIEWER preference by updating gnome-vfs mime database (moved here from nautilus-application.c). (nautilus_global_preferences_set_default_folder_viewer): New public function to set the default folder viewer with an iid; handles setting both gnome-vfs and gconf's values. (nautilus_global_preferences_initialize): Add callback for when default folder viewer changes (moved here from nautilus-application.c). * libnautilus-extensions/nautilus-program-chooser.c: (set_default_for_type): Special-case folder viewer to call nautilus_global_preferences_set_default_folder_viewer. * src/file-manager/nautilus-directory-view-ui.xml: Changed "Reset to View Preferences" to "Reset View to Match Preferences". It's really long, but the former was very unclear. Improvements to wording are hereby solicited. * src/nautilus-application.c: (manufactures), (create_object), (default_folder_viewer_changed_callback): Updated for #define name changes. (nautilus_application_startup): Moved code that reacted to default folder viewer preference to nautilus-global-preferences.c.
2001-04-23 23:03:32 +00:00
void nautilus_global_preferences_set_default_folder_viewer (const char *iid);
Fixed bug 1247 ("Edit Novice Settings" menu item needs to be handled better) Now this menu item is enabled, and choosing it explains that you can't edited the Novice settings but offers to switch to Intermediate and let you edit those settings. * libnautilus-extensions/nautilus-user-level-manager.c, * libnautilus-extensions/nautilus-user-level-manager.h: Made the #defines for the user level ints public, so code elsewhere could use them rather than hardwiring a bunch of 0s, 1s, and 2s. * libnautilus-extensions/nautilus-caption-table.h: * libnautilus-extensions/nautilus-caption.h: * libnautilus-extensions/nautilus-font-picker.h: * libnautilus-extensions/nautilus-global-preferences.h: * libnautilus-extensions/nautilus-password-dialog.h: * libnautilus-extensions/nautilus-preference.h: * libnautilus-extensions/nautilus-preferences-box.h: * libnautilus-extensions/nautilus-preferences-dialog.h: * libnautilus-extensions/nautilus-preferences-group.h: * libnautilus-extensions/nautilus-preferences-item.h: * libnautilus-extensions/nautilus-preferences-pane.h: * libnautilus-extensions/nautilus-preferences-private.h: * libnautilus-extensions/nautilus-preferences.h: * libnautilus-extensions/nautilus-radio-button-group.h: * libnautilus-extensions/nautilus-string-picker.h: * libnautilus-extensions/nautilus-text-caption.h: Changed the closing BEGIN_GNOME_DECLS in these header files to END_GNOME_DECLS. * src/nautilus-window-menus.c: (get_user_level_string_for_display): New function, extracted from get_customize_user_level_string. Returns the user level string to be put into user messages or menu item names. (get_customize_user_level_string): Now calls get_user_level_string_for_display (switch_and_show_intermediate_settings_callback): New function, switches to intermediate level and displays the user level settings dialog. (user_level_customize_callback): If the current user level is NAUTILUS_USER_LEVEL_NOVICE, puts up a dialog telling the user that the Novice settings can't be changed, and asking them if they want to switch to Intermediate and edit those settings. (get_user_level_image), (user_level_changed_callback), (nautilus_window_initialize_menus), (convert_menu_path_to_user_level), (convert_user_level_to_menu_path): Use #defines for user levels instead of hardwiring integers. (switch_to_user_level): New function, extracted from user_level_menu_item_callback. Switches to a specified user level and updates menu items & title image appropriately. (user_level_menu_item_callback): Now calls switch_to_user_level. (update_user_level_menu_items): Don't desensitize the Edit Settings item at Novice user level anymore.
2000-09-05 19:39:30 +00:00
END_GNOME_DECLS
#endif /* NAUTILUS_PREFS_GLOBAL_H */