Fri May 30 23:33:17 2008 Søren Sandmann <sandmann@redhat.com>
* Revert last commit as we do still need to deal with uris.
svn path=/trunk/; revision=14213
Fri May 30 22:16:51 2008 Søren Sandmann <sandmann@redhat.com>
* libnautilus-private/nautilus-directory-background.c
(initialize_background_from_settings):
* src/nautilus-information-panel.c
(nautilus_information_panel_update_appearance): Update for new eel
API
* configure.in: Require SVN version of eel
svn path=/trunk/; revision=14212
2006-10-19 Federico Mena Quintero <federico@novell.com>
* test/file-torture.py: New file with a little torture test. It
does a bunch of file operations on a directory. Nautilus
sometimes crashes when viewing that directory, so this should help
us find bugs.
2004-01-11 James Henstridge <james@jamesh.id.au>
* test/Makefile.am: don't define GNOMELOCALEDIR in INCLUDES.
* src/Makefile.am: remove desktop and server files on clean.
Don't include GNOMELOCALEDIR in INCLUDES, since it is now defined
in config.h.
* Makefile.am: remove desktop files on clean, and intltool files
on distclean.
* acconfig.h: remove, since it isn't needed anymore.
* configure.in: remove some macro calls not needed with newer
automakes, and use newer versions of some macros.
* autogen.sh: require Automake >= 1.7.
2004-01-03 Anders Carlsson <andersca@gnome.org>
* components/adapter/nautilus-adapter.c: (nautilus_adapter_new):
* src/nautilus-navigation-bar.c:
* src/nautilus-navigation-bar.h:
* src/nautilus-navigation-window.c:
* src/nautilus-spatial-window.c:
(nautilus_spatial_window_instance_init):
* src/nautilus-view-frame.c:
* src/nautilus-view-frame.h:
* src/nautilus-window.c:
Remove use of EelGenerousBin, we can use a GtkBox with only one
child for that instead.
* test/Makefile.am:
Don't use Eel stuff that no-one else uses.
* Tons of files:
Because lots of recent bugs were due to "signal handler called after
object gone" problems, switched many calls of g_signal_connect and
g_signal_connect_swapped to use g_signal_connect_object instead.
Also did other signal-related cleanup and changed some destroys to
finalizes.
* libnautilus/nautilus-view-standard-main.h:
We no longer need to include nautilus-view.h in here. So include it
in the files that use this instead.
Did merges from stable branch:
2001-10-25 Darin Adler <darin@bentspoon.com>
* libnautilus-private/nautilus-directory.c:
(call_files_changed_common), (call_files_changed_free_list),
(call_files_changed_unref_free_list),
(nautilus_directory_notify_files_changed): Move call to
nautilus_directory_add_file_to_work_queue into a better
bottleneck; now it catches all the notify cases, not just changed.
Also tell it to re-get top-left text and link info too when we get
a changed notice.
* src/file-manager/fm-directory-view.c: (queue_pending_files):
Don't use the timeout (and the hysteresis) when queuing files once
the initial directory load is complete. Doing this was causing
delays processing changes that came in later, which we don't want.
* src/nautilus-sidebar-title.c: (item_count_ready), (monitor_add),
(update_all), (nautilus_sidebar_title_set_file): Monitor the
directory count once we get it the first time. This makes sure
that changes in the directory count get reflected in the sidebar
without creating a race with the main view to see who calculates
it first.
2001-10-25 Alex Larsson <alexl@redhat.com>
* libnautilus-private/nautilus-directory.c
(nautilus_directory_notify_files_changed): Call
nautilus_directory_add_file_to_work_queue() when file_info is
invalidated. Otherwise it will not be read again.
* libnautilus-private/nautilus-directory-metafile.c:
(free_factory): Just release, don't unref.
(get_metafile): Don't keep a ref. Also fix CORBA objref leak.
* libnautilus-private/nautilus-icon-factory.c:
(get_icon_from_cache):
* libnautilus-private/nautilus-metafile-factory.c:
(nautilus_metafile_factory_get_instance): Return the same
instance each time, don't ref, since lifetime is not managed
by ref counting.
* libnautilus/nautilus-clipboard.c:
(initialize_clipboard_component_with_callback_data):
Get rid of BonoboUIComponent leak.
* src/nautilus-application.c: Formatting tweaks.
* libnautilus-private/nautilus-bookmark.c: Minor cleanup.
* test/Makefile.am:
* test/test-nautilus-async-activation.c: Remove.
* check-signals.pl: Remove.
* components/adapter/bonobo-stream-vfs.c: Remove.
* components/adapter/bonobo-stream-vfs.h: Remove.
* components/adapter/nautilus-adapter-progressive-load-strategy.c: Remove.
* components/adapter/nautilus-adapter-progressive-load-strategy.h: Remove.
* components/adapter/Makefile.am:
* components/hardware/Makefile.am:
* components/history/Makefile.am:
* components/image-viewer/Makefile.am:
* components/music/Makefile.am:
* components/news/Makefile.am:
* components/notes/Makefile.am:
* components/text/Makefile.am:
* components/throbber/Makefile.am:
* components/tree/Makefile.am:
* libnautilus-private/Makefile.am:
* test/Makefile.am:
General cleanups, mostly formatting.
* configure.in: Remove libiconv stuff, since we don't use it
any more. Do esound stuff in the main call to pkg-config, not
a separate set of variables.
* components/image-viewer/nautilus-image-view.c: Remove unused
libart includes.
* cut-n-paste-code/widgets/gimphwrapbox/gtkwrapbox.h: Remove
the use of "decrement" as a synonym for "remove".
* test/test.c: Remove unused libart include.
* Makefile.am: Remove nautilus-launch-icon.png.
* components/hardware/nautilus-hardware-view.c: (setup_form_title),
(setup_overview_form): Port from EelImage to GtkImage.
* components/music/nautilus-music-view.c: Remove unused include.
* src/nautilus-theme-selector.c: Remove unused includes.
* libnautilus-private/nautilus-bonobo-extensions.c:
(bonobo_activation_activation_callback): Add warning message so we
get to see the error from bonobo-activation.
* libnautilus-private/nautilus-directory-metafile.c: (get_factory):
* libnautilus-private/nautilus-icon-factory.c: (get_icon_factory),
(load_icon_for_scaling), (embed_text):
* libnautilus-private/nautilus-metafile-factory.c:
(nautilus_metafile_factory_get_instance):
* libnautilus-private/nautilus-theme.c:
(nautilus_theme_get_theme_data_from_theme):
* libnautilus-private/nautilus-trash-monitor.c:
(nautilus_trash_monitor_get):
* libnautilus-private/nautilus-volume-monitor.c:
(nautilus_volume_monitor_get):
* src/file-manager/nautilus-indexing-info.c:
(show_indexing_info_dialog):
* src/nautilus-preferences-dialog.c:
(global_preferences_get_dialog):
* src/nautilus-window.c: (nautilus_window_class_init),
(add_to_history_list):
Use eel_debug_call_at_shutdown instead of g_atexit.
* libnautilus-private/nautilus-file.c:
(nautilus_file_get_display_name): Add G_BROKEN_FILENAMES support.
* libnautilus-private/nautilus-global-preferences.c:
(nautilus_global_preferences_init): Remove eel_smooth_widget code.
* libnautilus/Makefile.am: Add missing ORBIT_IDL dependency.
* libnautilus/nautilus-view-standard-main.c:
(nautilus_view_standard_main_multi): Remove
bonobo_ui_debug_shutdown for now. It does us no good unless we
also do eel_debug_shut_down, but libnautilus can't depend on eel.
* nautilus-launch-icon.png: Remove.
* src/file-manager/fm-properties-window.c:
(update_properties_window_icon),
(fm_properties_window_drag_data_received),
(create_image_widget_for_file): Port from EelImage to GtkImage.
* src/nautilus-component-adapter-factory.c:
(nautilus_component_adapter_factory_get): Use
eel_debug_call_at_shutdown instead of g_atexit.
(nautilus_component_adapter_factory_create_adapter): Look at
exceptions before looking at return values from CORBA calls.
* src/nautilus-main.c: (main): Add a call to eel_debug_shut_down.
* src/nautilus-property-browser.c:
(nautilus_property_browser_init), (element_clicked_callback),
(nautilus_property_browser_update_contents): Port from EelViewport
to GtkViewport.
* src/nautilus-search-bar-criterion.c:
(nautilus_search_bar_criterion_destroy),
(nautilus_search_bar_criterion_new_from_values): Fix for change
that made NautilusSignaller no longer a GtkObject.
* src/nautilus-sidebar-title.c: (nautilus_sidebar_title_init),
(update_icon), (add_emblem): Port from EelImage to GtkImage.
* src/nautilus-signaller.h:
* src/nautilus-signaller.c: (nautilus_signaller_get_current): Use
eel_debug_call_at_shutdown instead of g_atexit.
(nautilus_signaller_instance_init),
(nautilus_signaller_class_init): Change to GObject, not GtkObject.
* src/nautilus-window-menus.c: (get_bookmark_list): Use
eel_debug_call_at_shutdown instead of g_atexit.
(nautilus_window_initialize_go_menu): Fix for change that made
NautilusSignaller no longer a GtkObject.
* test/test-nautilus-preferences-change.c: Remove unused include.
* test/test-nautilus-preferences-display.c: Remove unused includes.
* test/test-nautilus-wrap-table.c: Remove unused includes.
* test/test.c: Remove unused function.
* test/test.h: Remove unused function.
2002-01-04 Havoc Pennington <hp@pobox.com>
* libnautilus-private/nautilus-global-preferences.c
(nautilus_global_preferences_init): add preload of the gconf
cache, to hopefully avoid a zillion round trips to gconfd on
startup.
* test/test.c (test_window_new): remove weird gtk_window_set_policy
* test/test-nautilus-preferences-display.c: remove user level
stuff
* test/test-nautilus-preferences-change.c: remove user level stuff
* libnautilus-private/nautilus-global-preferences.c: the default
click policy was SPEED_TRADEOFF_LOCAL_ONLY, fix
* libnautilus-private/nautilus.schemas: add schemas file,
incomplete, needs to be finished and installed
* libnautilus-private/nautilus-global-preferences.c: strip out
user levels
* src/nautilus-shell-ui.xml: strip out user level menu
* src/nautilus-window-menus.c: strip out user level menu
* acconfig.h:
* configure.in:
Switch to glib's gettext.
* components/help/converters/*:
Remove, since these were moved to libgnome.
* Many files:
Get rid of incorrect uses of many locale-specific functions like
g_strcasecmp and isspace.
* Lots of files:
More GNOME 2 work. We now compile up to libnautilus-private and
I'm working my way through the files in there. Also changed all
the initialize_class and initialize to class_init and init.
* components/help/converters/gnome-info2html2/html.c:
(write_menu_entry_html):
* components/help/converters/gnome-man2html2/gnome-man2html.c:
(add_links), (scan_escape), (scan_format), (scan_table),
(scan_expression), (scan_request), (scan_troff),
(scan_troff_mandoc), (main):
* src/nautilus-first-time-druid.c: (load_netscape_proxy_settings):
* src/nautilus-property-browser.c: (emblem_keyword_valid):
Fix code that was using <ctype.h> functions and passing char's
rather than int's (using the standard "cast to unsigned char"
trick).
* libnautilus-private/nautilus-file.c:
(nautilus_file_denies_access_permission),
(nautilus_file_can_set_permissions), (nautilus_file_set_owner),
(nautilus_file_get_group_name), (nautilus_file_can_set_group),
(nautilus_file_get_settable_group_names),
(nautilus_file_set_group):
Get rid of the assumption that GnomeVFSFileInfo field types match
the platform-specific uid_t and gid_t. This involves doing a few
more type casts.
(nautilus_extract_top_left_text): Fix a use of isprint on a char
rather than an int.
* libnautilus-private/nautilus-volume-monitor.c: Added ifdefs so
this file can compile for Solaris without warnings.
* test/test.c: (test_window_set_title_with_pid): Don't assume that
getpid() returns an int. Instead cast it to unsigned long for
printing.
* components/news/nautilus-news.c:
* libnautilus-extensions/nautilus-icon-canvas-item.c:
* libnautilus-extensions/nautilus-icon-canvas-item.h:
* libnautilus-extensions/nautilus-icon-container.c:
* libnautilus-extensions/nautilus-icon-dnd.c:
* libnautilus-extensions/nautilus-icon-factory.c:
* src/file-manager/fm-list-view.c:
* src/nautilus-about.c:
* test/test.c:
Change parameters for functions that accept and return ArtIRect,
EelArtIPoint, ArtDRect, EelDimensions to pass by value instead of
by pointer.
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.
Fix a bunch of font bugs that dropped of the 1.0 plate.
7371 - Fonts in font pickers are in no particular order
7387 - Font selection defaults to bold for some fonts
7421 - Font option menu in "Appearances" too long for screen
7473 - Switching off "smooth graphics" leaves font family grouping
7486 - Font style menu disabled when it shouldn't be
7487 - Would be nice if font styles were submenus
7718 - 'cursor' font doesn't display
* libnautilus-extensions/nautilus-art-gtk-extensions.h:
* libnautilus-extensions/nautilus-art-gtk-extensions.c:
(nautilus_screen_get_dimensions): Fix a really silly typo.
(nautilus_gtk_widget_get_dimensions): Make the documentation a
little better.
(nautilus_gtk_widget_get_preferred_dimensions): New function to
get a widget's preferred dimensions.
* libnautilus-extensions/nautilus-font-manager.c:
(font_description_new): Use consistent variable names. Set a
'is_ignored' flag if the font is ignored.
(font_description_free): Use consistent variable names.
(font_description_table_find): Ignore black listed fonts.
(font_description_table_for_each): Ignore black listed fonts.
(font_directory_is_ignored): Put constants on top of file.
(font_foundry_is_ignored), (font_family_is_ignored): New functions
to check for specific black listed font foundries and/or families.
(ensure_local_font_table): Rename to 'local' from 'global' - this
is something i need for a future change where the font manager
will be able to handle both 'local' and 'server' fonts.
Move the font ignoring code from nautilus-font-picker.c here so
that it is in one place.
* libnautilus-extensions/nautilus-font-picker.h:
Subclass it from GtkHBox instead of GtkVBox now that it is not as
wide.
* libnautilus-extensions/nautilus-font-picker.c:
(option_menu_button_press_event), (menu_deactivate),
(nautilus_font_picker_initialize), (nautilus_font_picker_destroy),
(style_menu_item_activate_callback),
(style_menu_item_button_release_event), (font_picker_add_item),
(font_picker_populate), (font_make_name), (font_make_style_name),
(font_slant_string_to_enum), (font_set_width_string_to_enum),
(font_style_entry_new), (font_style_entry_free),
(compare_font_entry), (global_font_list_get), (compare_int),
(compare_style), (global_font_list_populate_callback),
(nautilus_gtk_menu_shell_get_num_items),
(font_picker_get_selected_style_entry),
(font_picker_find_entries_for_font),
(font_picker_get_index_for_entry), (nautilus_font_picker_new),
(nautilus_font_picker_get_selected_font),
(nautilus_font_picker_set_selected_font):
Move the black listed font code into the font manager. Use option
menus directly instead of NautilusStringPickers. Put the style
choices in cascading submenus. Deal with the case when too many
choices dont fit on the screen.
* test/test-nautilus-font-manager.c:
* test/test-nautilus-font-picker.c:
Update for font picker changes.
Maciej Stachowiak <mjs@eazel.com>
Bugs:
6368 - Multibyte font handling in non smooth mode.
2673 - Need to hook up the new font picker to nautilus
1274 - Add support for picking a custom font
* components/history/Makefile.am:
* components/history/nautilus-history-view.c: (main):
Initialize gettext for the history component so it can display
localized strings.
* components/notes/nautilus-notes.c: (make_notes_view):
Set the notes widget font from preferences so it can be properly
localized.
* components/text/nautilus-text-view.c:
(nautilus_text_view_set_font):
Use the localized font name to make this work in locales other
than the default.
* libnautilus-extensions/Makefile.am:
Add a macro for finding data on the source tree for the situation
when 'make install' has not be run.
* libnautilus-extensions/nautilus-font-factory.c:
(nautilus_font_factory_get_font_by_family): Workaround the problem
that fully qualified localized fonts were being processed
incorrectly. We simply leave them alone now.
(nautilus_font_factory_get_font_from_preferences): Use the
localized font string to make this work on more locales.
* libnautilus-extensions/nautilus-font-manager.h:
* libnautilus-extensions/nautilus-font-manager.c:
(font_description_table_find): New function to find a description
in a table.
(font_description_table_for_each): Change the return value to a
boolean to indicate whether to stop the iteration or not. Switch
the order of an assert and assigned.
(collect_fonts_from_directory): Use macros for the mime type
strings.
(font_ignore_directory): Add more directories to ignore.
(font_manager_collect_font_tables): Change prepend to append to
get fonts in a better order (fallback and user fonts first)
, (font_table_list_find),
(free_font_tables), (ensure_global_font_table),
(nautilus_font_manager_for_each_font): Use just one global table
for all fonts instead of 3.
(nautilus_font_manager_get_default_font): Compute the default
dynamically to take user choices into account. Make it work on
non installed nautilus builds.
(nautilus_font_manager_get_default_bold_font): Same as above for a
bold font.
(nautilus_font_manager_file_is_scalable_font): New function to
check that a file is really a scalable font:
(font_list_find_bold_callback), (nautilus_font_manager_get_bold),
(nautilus_font_manager_weight_is_bold): New functions to find a
bold font in the global tables.
(nautilus_self_check_font_manager): Make it work on not installed
nautilus builds and remove the hack where checks would on run for
the "ramiro" user.
* libnautilus-extensions/nautilus-font-picker.c:
(nautilus_font_picker_initialize), (font_list_find),
(font_picker_update_styles), (font_picker_populate),
(font_picker_font_changed_callback),
(font_picker_style_changed_callback), (font_find_style),
(ignore_font), (font_make_name), (font_make_style),
(global_font_list_free), (font_list_count_families),
(global_font_list_get), (global_font_list_populate_callback),
(nautilus_font_picker_get_selected_font),
(nautilus_font_picker_set_selected_font):
Make the font list global and not per widget instance. Use better
labels for the font styles. Use better labels for font names
(foundry and family vs just family depending on how many families
of the same font are found)
* libnautilus-extensions/nautilus-global-preferences.h:
* libnautilus-extensions/nautilus-global-preferences.c:
(global_preferences_install_font_defaults): Add new smooth font
preference for the icon container.
(nautilus_global_preferences_get_smooth_font): New function to
safely get a smooth font out of preferences.
* libnautilus-extensions/nautilus-icon-container.c:
(nautilus_icon_container_initialize): Use the localized version of
the font strings and add a FIXME for the problem of checking these
in many disparate places in nautilus.
* libnautilus-extensions/nautilus-program-chooser.c:
(program_file_pair_get_program_name_for_display): Use the
localized version of the application name strings.
* libnautilus-extensions/nautilus-scalable-font.h:
* libnautilus-extensions/nautilus-scalable-font.c:
(nautilus_scalable_font_initialize_class),
(nautilus_scalable_font_initialize),
(nautilus_scalable_font_destroy), (nautilus_scalable_font_new),
(nautilus_scalable_font_make_bold),
(nautilus_scalable_font_get_default_font),
(nautilus_scalable_font_get_default_bold_font),
(free_global_font_handle_table),
(initialize_global_stuff_if_needed),
(nautilus_scalable_font_get_rsvg_handle):
Simplify this class a lot by using the font manager. No longer
need to manage font lookup and queries.
* libnautilus-extensions/nautilus-smooth-text-layout-cache.c:
(nautilus_self_check_smooth_text_layout_cache): Fix a comment.
Dont hardcode the font family. Use the default font. Remove the
#ifdef hacker for "before make install fonts broken" problem which
is now fixed.
* src/file-manager/fm-directory-view.h:
* src/file-manager/fm-directory-view.c:
(directory_view_smooth_font_changed_callback),
(fm_directory_view_initialize), (fm_directory_view_destroy):
Add method for responding to changes in the smooth font for AA
mode of the icon container.
* src/file-manager/fm-icon-view.c:
(fm_icon_view_smooth_font_changed),
(fm_icon_view_initialize_class),
(fm_icon_view_update_icon_container_smooth_font),
(create_icon_container):
Add support for responding to change in the smooth font. Update
the icon container's smooth font on such changes.
* src/nautilus-about.c: (nautilus_about_draw_info):
Change the offset of the "Nautilus" title which broken when jsh
make glyphs render properly taking the baseline into account.
* src/nautilus-sidebar-title.c: (update_font):
Use the localized font name.
* src/nautilus-sidebar.c: (nautilus_sidebar_add_panel),
(nautilus_sidebar_remove_panel):
Use the localized sidebar tabs descriptions.
* src/nautilus-window.c: (create_view_as_menu_item):
Use the localized "View as" labels.
* test/test-nautilus-font-manager.c: (font_iterator_callback):
* test/test-nautilus-font-picker.c: (update_font),
(font_changed_update_label_callback),
(font_changed_update_file_name_callback),
(use_defalt_font_callback), (use_defalt_bold_font_callback),
(use_defalt_font_update_picker_callback),
(use_defalt_bold_font_update_picker_callback), (main):
* test/test.c: (test_quit):
Updates for changes in font manager and font picker.
2001-03-02 Ramiro Estrugo <ramiro@eazel.com>
reviewed by: <delete if not using a buddy>
Bug 2673 - Need to hook up the new font picker to nautilus .
* configure.in:
Remove an old font setup hack that never really worked.
* data/fonts/urw/fonts.dir:
Rename the fonts to "Helvetica Default" in order not to clash with
system fonts.
* libnautilus-extensions/nautilus-font-manager.h:
* libnautilus-extensions/nautilus-font-manager.c:
(font_description_new): Add a font type parameter.
(font_lists_total_num_fonts): New function to count the total
number of scalable fonts detetected.
(font_description_table_add): Pass in the detected font lists to
do reality checks.
(font_get_font_type): New function.
(font_description_table_get_length),
(font_description_table_peek_nth),
(font_description_table_get_nth_file_name): Name the parameters
more consistently.
(font_description_table_for_each): Add font type parameter
(font_description_table_new): Rework to not require storing the
detected font list. We now use that only for the duration of the
constructor. Lost the install_font_lists dumbness.
(font_server_for_each_font_directory_internal): Use g_warning
instead of g_print.
(font_ignore_directory): New function to determine whether we
should ignore a directory - makes things much faster.
(font_manager_collect_font_tables): New function to handle all the
work of collecting font directories into tables.
(font_server_for_each_callback), (font_table_list_free),
(font_table_list_for_each), (free_font_tables),
(ensure_at_exit_handler), (ensure_fallback_font_table),
(ensure_user_font_table), (ensure_system_font_tables): Add 3
tables for fallback, system and users fonts. These are populated
as needed.
(nautilus_font_manager_for_each_font): Iterate the 3 font talbles.
(nautilus_font_manager_get_fallback_font) : New function to obtain
a fallback font quickly without having to check the system.
(call_chop_off_comments), (nautilus_self_check_font_manager):
Rework the checks to not create a temp directory. Unfortunately
they now only run for me.
* libnautilus-extensions/nautilus-font-picker.h:
* libnautilus-extensions/nautilus-font-picker.c:
(nautilus_font_picker_initialize_class),
(nautilus_font_picker_initialize), (nautilus_font_picker_destroy),
(font_entry_list_find), (font_picker_update),
(font_name_picker_changed_callback),
(style_picker_changed_callback), (ignore_font),
(font_manager_callback), (style_list_for_each_callback),
(font_entry_list_for_each_callback),
(nautilus_font_picker_get_selected_font),
(nautilus_font_picker_set_selected_font),
(nautilus_font_picker_set_title_label):
Use the new font manager.
* libnautilus-extensions/nautilus-global-preferences.h:
* libnautilus-extensions/nautilus-global-preferences.c:
(global_preferences_install_descriptions),
(global_preferences_install_defaults),
(global_preferences_create_dialog), (appearnace_pane_update),
(global_preferences_create_font_group),
(global_preferences_install_home_location_defaults),
(global_preferences_install_font_defaults):
Add a new preference for the smooth font.
Factor our the default font code to its own function. Setup the
font pickers items to be mutually exclusive according to the
smooth graphics mode preference value.
* libnautilus-extensions/nautilus-gtk-extensions.h:
* libnautilus-extensions/nautilus-gtk-extensions.c:
(nautilus_gtk_widget_set_shown):
New function to show or hide a widget in one go.
* libnautilus-extensions/nautilus-preferences-group.c:
(nautilus_preferences_group_update):
Dont show the widget if a controlling preference prevents it.
* libnautilus-extensions/nautilus-preferences-item.h:
* libnautilus-extensions/nautilus-preferences-item.c:
(preferences_item_update_smooth_font),
(preferences_smooth_font_changed_callback),
(preferences_item_create_smooth_font): Add support for a smooth
font picker.
(preferences_item_destroy), (preferences_item_construct),
(nautilus_preferences_item_set_control_preference),
(nautilus_preferences_item_set_control_action),
(nautilus_preferences_item_get_control_showing): Add support for
using a controlling preference which can force the widget to be
shown or hidden depending on its value.
* libnautilus-extensions/nautilus-preferences-pane.c:
(nautilus_preferences_pane_update):
Use new gtk extension to show or hide the widget in one go.
* libnautilus-extensions/nautilus-scalable-font.h:
* libnautilus-extensions/nautilus-scalable-font.c:
(font_family_string_map_new): Update fallback font name.
(nautilus_scalable_font_new_from_file_name): New function to
create a font directly from a font file name.
(nautilus_scalable_font_get_default_font): Update fallback font name.
(nautilus_scalable_font_get_default_bold_font): New function to
get a fallback bold font.
Remove some unsed functions. Remove the font setup hack, the font
manager takes care of that now.
* libnautilus-extensions/nautilus-string-picker.h:
* libnautilus-extensions/nautilus-string-picker.c:
(nautilus_string_picker_clear):
New function to clear the string picker.
* libnautilus-extensions/nautilus-tabs.c:
(nautilus_tabs_initialize):
Fix the hard coded font name.
* src/nautilus-first-time-druid.c: (new_title_label):
Fix the hard coded font name.
* src/nautilus-sidebar-tabs.c:
(nautilus_sidebar_tabs_load_theme_data):
Fix the hard coded font name.
* test/Makefile.am:
* test/test-nautilus-font-manager.c: (font_type_to_string),
(font_iterator_callback), (font_table_for_each_callback), (main):
* test/test-nautilus-font-picker.c: (font_picker_changed_callback),
(main):
* test/test-nautilus-glyph-simple.c: (main):
* test/test-nautilus-label.c: (main):
Update for new font picker and font manager changes.
* libnautilus-extensions/nautilus-string-list.h:
* libnautilus-extensions/nautilus-string-list.c:
(nautilus_string_list_nth_as_integer),
(nautilus_self_check_string_list):
New function to get the nth string as an integer - and checks.
* libnautilus-extensions/Makefile.am:
* libnautilus-extensions/nautilus-font-manager.h:
* libnautilus-extensions/nautilus-font-manager.c:
* libnautilus-extensions/nautilus-lib-self-check-functions.h:
New files. Support for collecting information about the scalable
fonts installed on the system. Parts written by Pavel Cisler.
* components/text/nautilus-text-view.c:
(nautilus_text_view_initialize):
Mark a string for translation.
* libnautilus-extensions/nautilus-font-factory.c:
(nautilus_font_factory_get_font_by_family):
Take fontsets into account. Patch submitted by
eungkyu@sparcs.kaist.ac.kr.
* libnautilus-extensions/nautilus-preferences-item.h:
* libnautilus-extensions/nautilus-preferences-item.c:
(nautilus_preferences_item_initialize_class),
(nautilus_preferences_item_initialize), (preferences_item_destroy),
(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_integer),
(preferences_item_create_integer),
(preferences_item_update_font_family),
(preferences_item_create_font_family),
(nautilus_preferences_item_new),
(enum_radio_group_changed_callback),
(nautilus_preferences_item_update_displayed_value),
(update_text_settings_at_idle):
Clean this up a bit. Follow nautilus coding conventions more.
Remove long unused theme picker.
Remove unused GtkArg stuff.
* libnautilus-extensions/nautilus-preferences-pane.c:
(nautilus_preferences_pane_new):
* libnautilus-extensions/nautilus-preferences-pane.h:
Remove unused pane description.
* libnautilus-extensions/nautilus-preferences-box.c:
(nautilus_preferences_box_add_pane):
* libnautilus-extensions/nautilus-preferences-box.h:
Remove unused pane description.
* libnautilus-extensions/nautilus-global-preferences.c:
(global_preferences_install_defaults): Mark font name for
translation.
(global_preferences_create_dialog),
(global_preferences_create_search_pane): Remove unused pane
description.
* test/.cvsignore:
* test/Makefile.am:
* test/test-nautilus-glyph-simple.c: (main):
* test/test-nautilus-glyph.c: (main):
* test/test-nautilus-labeled-image.c: (main):
* test/test-nautilus-smooth-text-layout.c: (main):
* test/test-nautilus-font-manager.c: (main):
* test/test.c: (test_quit):
* test/test.h:
Some minor changes. New test for font manager.
* test/test-nautilus-label-flavorful.c:
(increasing_label_window_new), (decreasing_label_window_new):
Fix this so I can debug a font problem somewhere else.