* data/linksets/desktop.xml:
* icons/Makefile.am:
* icons/trash.png: [removed]
Changed to use the new trash icon Arlo checked in and removed
the old one.
* libnautilus-extensions/nautilus-mime-actions.c:
(nautilus_mime_add_application_to_short_list_for_uri),
(nautilus_mime_remove_application_from_short_list_for_uri),
(nautilus_mime_add_component_to_short_list_for_uri),
(nautilus_mime_remove_component_from_short_list_for_uri):
Provided implementations for these functions (formerly empty).
Unfortunately bad things happen when I invoke them. Will
debug now.
(id_list_from_application_list), (id_list_from_component_list),
(gnome_vfs_mime_application_matches_id),
(gnome_vfs_mime_component_matches_id), (component_has_id_in_list),
(gnome_vfs_mime_id_in_application_list),
(gnome_vfs_mime_id_in_component_list): New helper functions all
used to implement the add/remove functions.
* libnautilus-extensions/nautilus-global-preferences.c:
(global_preferences_create_dialog):
Add a boolean preference for toggling the display of hidden files.
In order to make space for this one, i moved the remote views one
to a new tradeoffs pane, which was commandeered by sullivan.
* libnautilus-extensions/nautilus-directory.c: (uri_get_basename):
Need to unencode the name here because it's used to compare with
file names that come from get_file_info.
* src/file-manager/dfos-xfer.c: (get_parent_make_name_list):
Unescape the result of get_basename to convert it to a plain old
file name, since that's why gnome_vfs_xfer wants in its file name
lists (for now, see bug 1107).
* libnautilus-extensions/Makefile.am:
* libnautilus-extensions/nautilus-file-changes-queue-private.h:
Removed the private header since it's so private it can be in the
.c file :-)
* libnautilus-extensions/nautilus-file-changes-queue.h:
* libnautilus-extensions/nautilus-file-changes-queue.c:
(nautilus_file_changes_queue_new),
(nautilus_file_changes_queue_get), (nautilus_file_change_free),
(nautilus_file_changes_queue_free),
(nautilus_file_changes_queue_add_common),
(nautilus_file_changes_queue_get_change):
A little simplification and reformatting. Got rid of the details
indirection since the entire data structure is private.
* libnautilus-extensions/nautilus-mime-actions.h,
* libnautilus-extensions/nautilus-mime-actions.c:
(nautilus_mime_add_application_to_short_list_for_uri),
(nautilus_mime_remove_application_from_short_list_for_uri),
(nautilus_mime_add_component_to_short_list_for_uri),
(nautilus_mime_remove_component_from_short_list_for_uri):
New prototypes and empty function bodies, convenience
covers for modifying the short lists. Not yet implemented,
but callable.
* libnautilus-extensions/nautilus-program-chooser.c:
(add_to_short_list_for_file), (remove_from_short_list_for_file),
(add_to_short_list_for_type), (remove_from_short_list_for_type),
(run_program_configurator_callback): Wired up things so if
the user switches radio buttons in the "Modify details" dialog,
the right code is called when they hit OK. But this right code
doesn't yet do anything.
2000-06-02 Anders Carlsson <andersca@gnu.org>
* libnautilus-extensions/nautilus-icon-container.c (realize):
Reduce flicker by setting the back pixmap to NULL on realize.
menu temporarily)
* libnautilus-extensions/nautilus-view-identifier.h,
* libnautilus-extensions/nautilus-view-identifier.c:
(nautilus_view_identifier_copy): New function, does the obvious.
* src/nautilus-applicable-views.h: Made NautilusNavigationInfo
store a NautilusViewIdentifier instead of just the iid part
in initial_content_iid (now initial_content_id).
* src/nautilus-applicable-views.c: (set_initial_content_id),
(got_file_info_callback), (nautilus_navigation_info_free):
Reworked code to handle change from char *iid to NautilusViewIdentifier.
* src/nautilus-window.h: New field for content_view_id,
a NautilusViewIdentifier for the current view.
* src/nautilus-window-private.h,
* src/nautilus-window-manage-views.c:
(nautilus_window_load_content_view): Now takes a
NautilusViewIdentifier * instead of just a char *,
and resets content_view_id field.
(nautilus_window_update_state): Reworked code to handle
initial_content_iid change.
* src/nautilus-window.c:
(nautilus_window_destroy): Destroy content_view_id.
(nautilus_window_switch_views), (view_menu_switch_views_callback):
Reworked to take NautilusViewIdentifier * instead of just char *.
(create_content_view_menu_item): New helper function, extracted
from nautilus_window_load_content_view_menu.
(replace_special_current_view_in_content_view_menu): New
function, does the work of putting the current content view
as the initial item in the menu, followed by a separator.
(nautilus_window_synch_content_view_menu): Calls
replace_special_current_view_in_content_menu if the current view
is not found in the menu.
(chose_component_callback): Took out fixed FIXMEs.
(nautilus_window_load_content_view_menu): Now calls function
that was extracted from it.
* libnautilus-extensions/nautilus-font-factory.c:
(nautilus_get_current_font_factory), (nautilus_font_factory_get),
(nautilus_font_factory_new), (nautilus_font_factory_initialize),
(nautilus_font_factory_initialize_class), (font_hash_node_alloc),
(font_hash_node_free), (font_hash_node_lookup),
(font_hash_node_lookup_with_insertion),
(nautilus_font_factory_get_font_by_family),
(nautilus_font_factory_get_font_from_preferences),
(nautilus_font_factory_get_fallback_font), (make_font_name_string):
* libnautilus-extensions/nautilus-font-factory.h:
New class to obtain fonts either by family or from preferences. A
specific size can be requested.
Right now its a pretty dumb class, but it can be enhanced to do
smart things like looking at gtkstyles and/or smarted choosing of
fonts if the specifically requested size is not avialable.
* components/hardware/nautilus-hardware-view.c: (setup_form_title):
* components/music/nautilus-music-view.c:
(nautilus_music_view_initialize):
* components/rpmview/nautilus-rpm-view.c:
(nautilus_rpm_view_initialize):
* components/services/startup/nautilus-view/nautilus-service-startup-view.c:
(setup_form_title):
* libnautilus-extensions/Makefile.am:
* libnautilus-extensions/nautilus-icon-container.c:
(nautilus_icon_container_initialize):
* src/nautilus-property-browser.c:
(nautilus_property_browser_initialize):
* src/nautilus-sidebar-title.c: (nautilus_index_title_update_info):
Unhardcode xlfd font strings in all of these and use the font
factory instead.
2000-06-02 Pavel Cisler <pavel@eazel.com>
* src/file-manager/fm-list-view.c: (fm_list_handle_dropped_icons):
Fix a bug that caused a crash when dropping dragged items back
in their original location.
* libnautilus-extensions/nautilus-drag.c:
(nautilus_drag_drag_data_get):
Tweak whitespace.
* libnautilus-extensions/nautilus-drag.c:
(nautilus_drag_finalize): Fix typo that caused us to unref a NULL
GdkBitmap.
* libnautilus-extensions/nautilus-icon-dnd.c:
(nautilus_icon_dnd_fini): Fix double-free that caused everything
to go haywire.
* src/file-manager/fm-directory-view.c:
(add_component_to_gtk_menu), (add_component_to_bonobo_menu):
Marked a couple of strings for localization that were missed.
* components/services/install/idl/.cvsignore:
* components/services/time/idl/.cvsignore:
Ignore some Makefile and Makefile.in files.
* data/linksets/Makefile.am:
* data/linksets/desktop.xml:
Added a link set for the trash on the desktop.
* icons/Makefile.am:
Added a trash icon (actually a copy of the Nautilus icon right
now :-).
* libnautilus-extensions/nautilus-link-set.h:
* libnautilus-extensions/nautilus-link-set.c: (create_new_link),
(nautilus_link_set_install), (nautilus_link_set_remove):
Fixed some URI-related issues and added a special case for the ~
character so we can have link sets that are for the home directory.
* libnautilus-extensions/nautilus-string.c:
(nautilus_str_capitalize): Got rid of the unneeded call to strlen.
strlen == 0 is the slowest way I know to check for an empty string.
Also check islower before calling toupper for paranoia like the
calls in glib do (internally).
* src/nautilus-desktop-window.c: (nautilus_desktop_window_new):
Install the desktop link set when we are created. For now this
installs the trash (in a fairly lame way).
* src/nautilus-property-browser.c: (remove_color),
(add_color_to_file), (make_properties_from_xml_node),
(nautilus_property_browser_update_contents):
Changed code to not reference "childs" directly so it's easy to
switch to a new version of gnome-xml.
* test/.cvsignore: Ignore test-nautilus-mime-actions-set.
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 Pavel Cisler <pavel@eazel.com>
* libnautilus-extensions/nautilus-list.c:
(nautilus_list_button_press), (nautilus_list_button_release),
(nautilus_list_motion):
Fixed a problem where gtk_drag_begin was being called repetitively.
Made it so that more than one item can be grabbed and dragged in
list view.
* libnautilus-extensions/nautilus-directory.c:
(nautilus_directory_notify_files_moved):
Removed a forgotten g_message.
2000-06-02 Pavel Cisler <pavel@eazel.com>
* libnautilus-extensions/nautilus-drag.c:
* libnautilus-extensions/nautilus-drag.h:
(add_one_gnome_icon_list), (add_one_uri_list),
(nautilus_drag_drag_data_get):
Move more code from nautilus-icon-dnd.c to the common
nautilus-drag.c. Add a common nautilus_drag_drag_data_get
function that gets passed iterators and assembles selection
data.
* libnautilus-extensions/nautilus-gtk-extensions.c:
* libnautilus-extensions/nautilus-gtk-extensions.h:
(nautilus_gtk_marshal_NONE__POINTER_INT_INT_INT):
Added more marshalling glue. One day there will be enough
for everyone.
* libnautilus-extensions/nautilus-icon-dnd.c:
(nautilus_icon_container_each_selected_icon):
(icon_get_data_binder), (each_icon_get_data_binder),
(drag_data_get_callback):
Iterators and binders to support the NautilusIconContainer
flavor of nautilus_drag_drag_data_get.
* libnautilus-extensions/nautilus-list.c:
* libnautilus-extensions/nautilus-list.h:
* src/file-manager/fm-list-view.c:
(nautilus_list_initialize_class), (nautilus_list_initialize),
(nautilus_list_drag_begin), (nautilus_list_drag_end),
(nautilus_list_drag_leave), (nautilus_list_drag_motion),
(nautilus_list_drag_data_received), (nautilus_list_set_selection),
(nautilus_list_each_selected_row),
(row_get_data_binder), (each_icon_get_data_binder),
(fm_list_drag_data_get), (create_list):
Hookup fm_list_drag_data_get to support drags originating from the
list view. Connect the drag_data_get to fm_list_view and
handle it there.
* libnautilus-extensions/nautilus-list.c:
* src/file-manager/fm-list-view.c:
(nautilus_list_initialize_class), (fm_list_handle_dropped_icons):
Fix an improperly marshalled signal.
* nautilus-widgets/nautilus-user-level-manager.c:
(nautilus_user_level_manager_get_user_level),
(nautilus_user_level_manager_make_gconf_key),
(nautilus_user_level_manager_make_current_gconf_key),
(nautilus_user_level_manager_get_user_level_as_string):
* nautilus-widgets/nautilus-user-level-manager.h:
* src/nautilus-window-menus.c: (get_customize_user_level_string):
Some dumb fixes. Use proper guint type for user_level arguments.
Fix some cut-n-pasted code. Rename "get_user_level_string" to
"get_user_level_as_string"
* components/services/install/lib/eazel-install-rpm-glue.c:
(do_rpm_install):
* components/services/install/lib/eazel-install-types.c:
(packagedata_new_from_rpm_header):
* nautilus-installer/src/Makefile:
* nautilus-installer/src/prescript:
Ensured that the current stuff in cvs builds a working installer.
(closing bug#969)
* nautilus-widgets/nautilus-preferences.c:
(nautilus_preferences_initialize):
* nautilus-widgets/nautilus-user-level-manager.c:
* nautilus-widgets/nautilus-user-level-manager.h:
No longer need to retrieve the gconf_client from the user level
manager. The bug preventing multiple clients has been fixed in gconf.
* libnautilus-extensions/nautilus-global-preferences.c:
(global_preferences_create_dialog),
(global_preferences_close_dialog_callback),
(nautilus_global_preferences_show_dialog),
(nautilus_global_preferences_hide_dialog),
(nautilus_global_preferences_set_dialog_title):
* libnautilus-extensions/nautilus-global-preferences.h:
Add functions for hiding the preferences dialog and changing its
title. Also, connect a "closed" signal to prevent the dialog from
killing itself since its singleton and lives for the entire life
of the application.
* nautilus-widgets/nautilus-user-level-manager.c:
(nautilus_user_level_manager_get_user_level),
(nautilus_user_level_manager_make_current_gconf_key),
(nautilus_user_level_manager_get_user_level_string):
* nautilus-widgets/nautilus-user-level-manager.h:
Make nautilus_user_level_manager_get_user_level_string () public.
* src/nautilus-window-menus.c: (settings_menu_customize_callback),
(nautilus_window_initialize_menus), (user_level_changed_callback),
(update_user_level_menu_items), (get_customize_user_level_string),
(get_customize_user_level_setttings_menu_string):
Change the customize menu item's label based on the user level.
Make it insensitive for the novice user level. Close the
preferences dialog when the user level changes to novice.
* libnautilus-extensions/nautilus-string.c:
(nautilus_str_capitalize), (nautilus_self_check_string):
* libnautilus-extensions/nautilus-string.h:
Add a function to capitalize strings along with check tests.
* components/mozilla/nautilus-mozilla-content-view.c:
(mozilla_open_uri_callback), (mozilla_is_uri_handled_by_nautilus):
Add hook to check which uris are passed back to nautilus.
* components/services/docs/installer-dep-check:
Docs with my scetches on how to redo the rpm-glue to make
eazel-install-lib autofetch deps.
* components/services/install/command-line/eazel-alt-install.c:
(eazel_download_progress):
Borked, but compiles again. Will update when libinstall stabilizes.
* components/services/install/lib/eazel-install-object.c:
(gtk_marshal_NONE__POINTER_ENUM_POINTER),
(eazel_install_class_initialize),
(eazel_install_emit_download_failed),
(eazel_install_emit_install_failed),
(eazel_install_emit_uninstall_failed):
Revamped the install_failed signal to take a PackageData object
instead of char * name.
* components/services/install/lib/eazel-install-protocols.c:
(http_fetch_remote_file):
* components/services/install/lib/eazel-install-public.h:
* components/services/install/lib/eazel-install-rpm-glue.c:
(install_new_packages), (download_a_package),
(download_all_packages), (install_all_packages),
(uninstall_packages), (uninstall_a_package),
(build_packagedata_list_from_deps), (do_rpm_install),
(do_rpm_uninstall), (ensure_deps_are_fetched):
* components/services/install/lib/eazel-install-types.c:
(categorydata_destroy_foreach), (categorydata_destroy),
(packagedata_new_from_rpm_header), (packagedata_destroy_foreach),
(packagedata_destroy):
* components/services/install/lib/eazel-install-types.h:
Doing a lot of hacking to prepare for the autofetch stuff.
* nautilus-installer/src/prescript:
* nautilus-installer/src/HACKING:
* nautilus-installer/src/Makefile:
* nautilus-installer/src/Makefile.am:
* nautilus-installer/src/callbacks.c: (druid_cancel),
(begin_install), (druid_finish), (prep_install), (set_images):
* nautilus-installer/src/installer.c:
(append_string_to_window_list), (download_failed),
(install_failed_foreach), (requeue), (install_failed),
(gen_report), (installer):
* nautilus-installer/src/link.sh:
* nautilus-installer/src/main.c:
Hacking in the installer. This one is borked sine I'm trying to
figure out the right scheme of reported dep fails. Actually, I
want the lib to autofetch deps by option, instead of failing them
Also added stuff to link.sh, so it builds static from scratch,
strips gzips and adds prescript to the gzexe file. So if you build
using link.sh, you get a 644 binary which when executed using
sh ./nautilus-installer prompts for root password and does the
magic. Easier for newbies.
* components/services/time/idl/Makefile.am:
* components/services/install/idl//Makefile.am:
* components/services/time/Makefile.am:
* components/services/install/Makefile.am:
* components/services/install/lib/Makefile.am:
* components/services/time/service/Makefile.am:
* components/services/trilobite/idl/Makefile.am:
* components/services/trilobite/libtrilobite/Makefile.am:
* components/services/trilobite/sample/service/Makefile.am:
* configure.in:
* nautilus.spec.in:
* po/POTFILES.in:
* src/Makefile.am:
Loads of makefile fixing to make make dist and rpm -ta work.
made linksets actually work.
fixed audio previewing for filename with special characters
made links work for filenames with special characters
added some icons for the default link set
2000-06-01 Gene Z. Ragan <gzr@eazel.com>
* libnautilus/nautilus-undo-manager.c:
* libnautilus/nautilus-undo-manager.h:
(nautilus_undo_manager_get_current_undo_transaction):
New call to be used internally to get the current undo transaction.
An example of this call being used is in the menu code that displays
the current undo operation name.
* libnautilus/nautilus-undo-transaction.c:
(impl_Nautilus_Undo_Transaction__get_undo_description),
(impl_Nautilus_Undo_Transaction__get_redo_description),
(impl_Nautilus_Undo_Transaction__get_operation_name),
(impl_Nautilus_Undo_Transaction__undo),
Added actual functionlality to these calls. They now
work as advertised.
(nautilus_undo_transaction_new),
Made changed needed to actually use the operation
name and description that is passed in.
(nautilus_undo_transaction_destroy),
Clean up stored operation name and description strings.
* src/nautilus-window-menus.c:
(update_undo_menu_item):
The undo operation name is now displayed in the menu item.
2000-06-01 Pavel Cisler <pavel@eazel.com>
* src/file-manager/fm-icon-view.c: (play_file):
Fix call to gnome_vfs_unescape_string to match new prototype.
fixed problem where sounds with special characters in their filename
wouldn't preview properly; also, replace the computer link icon with
a more generic, vector-based one and upgraded the open folder to
one with gradients
* components/services/startup/nautilus-view/nautilus-service-startup-view.c:
(gather_config_button_cb), (register_button_cb):
Fixed callers that were using the escape and unescape calls from
gnome-vfs. My guess is that these callers don't want exactly what
they are getting, but at least this makes it compile.
* src/nautilus-window-manage-views.c:
(nautilus_window_request_location_change):
There was code here to just unescape. This is not a good idea,
since it will turn good URIs into bad URIs. On the other hand, we
may need to do something for basic characters like %20 for better
readability.
* nautilus-widgets/nautilus-user-level-manager.c:
(user_level_manager_new),
(nautilus_user_level_manager_get_user_level):
Added some FIXMEs.
* libnautilus-extensions/nautilus-program-chooser.c:
(nautilus_program_chooser_get_type), (compare_mime_applications),
(compare_component_with_view), (is_component_in_short_list),
(is_component_in_short_list_for_uri),
(is_application_in_short_list),
(is_application_in_short_list_for_uri),
(is_in_short_list_for_file_type), (is_in_short_list_for_file),
(update_selected_item_details),
(run_program_configurator_callback),
(nautilus_program_chooser_new),
(nautilus_program_chooser_get_application),
(nautilus_program_chooser_get_component): Provided real
implementation for checking whether a program is in the
file-specific list, just short list, or just full list,
as used in "View as Other" dialog. These values were
formerly all hardwired. Still need to add code to
react to user's changes. Also renamed "Change" button to
"Modify" when Josh rightly pointed out that "Change" is
a little ambiguous.
available components
* src/nautilus-applicable-views.c (got_file_info_callback):
Changed to use the mime APIs to determine the preferred list and
default for view components.
(view_identifier_has_iid, view_identifier_iids_compare): Some
utility functions.
Also removed many of the other functions in here that are no
longer necessary and have effectively moved to
nautilus-mime-actions.c
dialog from "View as" menu wouldn't update the menu
title.
* src/nautilus-window.c: (nautilus_window_synch_content_view_menu),
(view_menu_choose_view_callback),
(nautilus_window_load_content_view_menu): Renamed
"synch_view_as_menu" to "nautilus_window_synch_content_view_menu".
* src/nautilus-window-private.h: Put this function here so it
can be used in -manage-views.c.
* src/nautilus-window-manage-views.c:
(nautilus_window_has_really_changed): Call this function to
fix "View as" menu title when the view but not the location changes.
* src/file-manager/fm-directory-view.c:
(add_component_to_gtk_menu),
(add_component_to_bonobo_menu): Call viewers "xxx Viewer"
in "Open With" submenu.
(add_open_with_bonobo_menu_item): Use the double-underscore
trick to avoid getting underlined characters in program names.
* src/nautilus-window.c: (chose_component_callback):
Don't destroy identifier here; caller handles that. Now the
View as Other choice in the option menu works, with one bug:
the option menu label isn't updated properly.
* libnautilus-extensions/nautilus-directory-metafile.c:
(nautilus_directory_set_metadata_list): Added this function.
The guts was already there.
* test/.cvsignore: Ignore some newly generated files.
* libnautilus-extensions/nautilus-directory.h,
libnautilus-extensions/nautilus-directory.c:
(nautilus_directory_wait_until_ready): Non-asynchronous equivalent
of `nautilus_directory_call_when_ready'. However, it doesn't block
the UI while waiting.
(nautilus_directory_wait_until_ready_callback): Helper function
for implementing the above.
* libnautilus-extensions/nautilus-mime-actions.c:
(nautilus_mime_get_default_action_type_for_uri,
nautilus_mime_get_default_action_for_uri,
nautilus_mime_get_default_application_for_uri,
nautilus_mime_get_default_component_for_uri): Implemented with
fully with proper metadata checking and interface querying, etc.
(nautilus_mime_get_short_list_applications_for_uri,
nautilus_mime_get_short_list_components_for_uri,
nautilus_mime_get_all_applications_for_uri,
nautilus_mime_get_all_components_for_uri): Adjusted to deal with
the mime type checking function changing names.
(OAF_ServerInfo__copy, extract_prefix_add_suffix,
mime_type_get_supertype, uri_string_get_scheme),
get_explicit_content_view_iids_from_metafile,
make_oaf_query_for_explicit_content_view_iids,
make_oaf_query_with_known_mime_type,
make_oaf_query_with_uri_scheme_only,
file_list_to_mime_type_hash_table, free_key,
mime_type_hash_table_destroy, server_matches_content_requirements,
nautilus_do_component_query): Oodles of helper functions, many cut
& pasted from elswhere and only slightly modified.
get_mime_type_from_uri: Removed `_hack' from the name.
* libnautilus-extensions/nautilus-mime-actions.h: Added prototype
for nautilus_mime_get_default_action_type_for_uri.
* test/test-nautilus-mime-actions.c (main): Call gnome_init.
* src/nautilus-applicable-views.c: Removed a stray comment that no
longer applies.
* libnautilus-extensions/nautilus-program-choosing.h,
libnautilus-extensions/nautilus-program-choosing.c:
(nautilus_launch_application): Take a GnomeVFSMimeApplication *
instead of a command string; add gnome-terminal -x
(nautilus_launch_application_from_command): Old version that takes
a command string renamed. Also, uses `system' instead of `execlp',
so command-line arguments in the command string work.
* libnautilus-extensions/nautilus-program-chooser.c
(launch_mime_capplet): Adjusted to conform.
* src/file-manager/fm-directory-view.c
(fm_directory_view_launch_application): Likewise.
* src/nautilus-sidebar.c: (command_button_callback,
nautilus_sidebar_chose_application_callback, add_command_buttons):
Likewise.
* test/test-nautilus-mime-actions.c (print_application): Show the
requires_terminal field for applications.
* libnautilus-extensions/nautilus-directory.h,
libnautilus-extensions/nautilus-directory.c:
(nautilus_directory_wait_until_ready): Non-asynchronous equivalent
of `nautilus_directory_call_when_ready'. However, it doesn't block
the UI while waiting.
(nautilus_directory_wait_until_ready_callback): Helper function
for implementing the above.
* libnautilus-extensions/nautilus-mime-actions.c:
(nautilus_mime_get_default_action_type_for_uri,
nautilus_mime_get_default_action_for_uri,
nautilus_mime_get_default_application_for_uri,
nautilus_mime_get_default_component_for_uri): Implemented with
fully with proper metadata checking and interface querying, etc.
(nautilus_mime_get_short_list_applications_for_uri,
nautilus_mime_get_short_list_components_for_uri,
nautilus_mime_get_all_applications_for_uri,
nautilus_mime_get_all_components_for_uri): Adjusted to deal with
the mime type checking function changing names.
(OAF_ServerInfo__copy, extract_prefix_add_suffix,
mime_type_get_supertype, uri_string_get_scheme),
get_explicit_content_view_iids_from_metafile,
make_oaf_query_for_explicit_content_view_iids,
make_oaf_query_with_known_mime_type,
make_oaf_query_with_uri_scheme_only,
file_list_to_mime_type_hash_table, free_key,
mime_type_hash_table_destroy, server_matches_content_requirements,
nautilus_do_component_query): Oodles of helper functions, many cut
& pasted from elswhere and only slightly modified.
get_mime_type_from_uri: Removed `_hack' from the name.
* libnautilus-extensions/nautilus-mime-actions.h: Added prototype
for nautilus_mime_get_default_action_type_for_uri.
* test/test-nautilus-mime-actions.c (main): Call gnome_init.
* src/nautilus-applicable-views.c: Removed a stray comment that no
longer applies.
* test/test-nautilus-mime-actions.c: Simple test program to check
_for_uri nautilus metadata calls in nautilus.
* test/Makefile.am: Build test-nautilus-mime-actions
* Makefile.am, configure.in: add test directory to the build.
* libnautilus-extensions/nautilus-mime-actions.c
(nautilus_mime_get_default_action_for_uri,
nautilus_mime_get_default_application_for_uri,
nautilus_mime_get_default_component_for_uri): Implemented in the
same temporary stub way as the other calls.
* libnautilus-extensions/nautilus-mime-actions.c
(nautilus_mime_get_default_action_for_uri,
nautilus_mime_get_default_application_for_uri,
nautilus_mime_get_default_component_for_uri): Implemented in the
same temporary stub way as the other calls.
fixed bug 991, image files that are less than 16K are displayed
full-size, even if they're huge. Fixed by using a reasonable
max size based on the scale factor.