summaryrefslogtreecommitdiff
path: root/src/nautilus-view-frame.h
Commit message (Collapse)AuthorAgeFilesLines
* Based on patch by Jamie McCracken <jamiemcc@blueyonder.co.uk>Alexander Larsson2004-06-211-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-06-21 Alexander Larsson <alexl@redhat.com> Based on patch by Jamie McCracken <jamiemcc@blueyonder.co.uk> * libnautilus-private/nautilus-metadata.h: Add show hidden files metadata name * libnautilus/nautilus-view-component.idl: * libnautilus/nautilus-view.[ch]: * src/file-manager/fm-directory-view.c: * src/file-manager/fm-tree-view.c: * src/file-manager/nautilus-directory-view-ui.xml: * src/nautilus-spatial-window.[ch]: * src/nautilus-view-frame-corba.c: * src/nautilus-view-frame.[ch]: * src/nautilus-window-manage-views.c: * src/nautilus-window-private.h: * src/nautilus-window.[ch]: Add per-window show hidden files setting, saved per folder in spatial mode. 2004-06-21 Alexander Larsson <alexl@redhat.com> * libnautilus-private/nautilus-file-utilities.c (nautilus_get_vfs_method_display_name): Handle dns-sd name
* Remove use of EelGenerousBin, we can use a GtkBox with only one child forAnders Carlsson2004-01-031-3/+3
| | | | | | | | | | | | | | | | | | | 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.
* Scroll to ICON_PAD_TOP above the icon.Dave Camp2003-10-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-10-07 Dave Camp <dave@ximian.com> * libnautilus-private/nautilus-icon-container.c: (nautilus_icon_container_scroll_to_icon): Scroll to ICON_PAD_TOP above the icon. * src/nautilus-navigation-window.c: (nautilus_navigation_window_set_sidebar_panels), (nautilus_navigation_window_class_init): * src/nautilus-spatial-window.c: (nautilus_spatial_window_class_init): * src/nautilus-view-frame.c: (nautilus_view_frame_new), (nautilus_view_frame_get_prop), (create_ambient_properties): * src/nautilus-view-frame.h: * src/nautilus-window-manage-views.c: (load_content_view): * src/nautilus-window.h: * libnautilus/nautilus-view-component.idl: * libnautilus/nautilus-view.c: (nautilus_view_set_listener_mask), (nautilus_view_get_window_type): * libnautilus/nautilus-view.h: Added a window type property to the view frame. * src/file-manager/fm-directory-view.c: (can_use_component_for_file), (reset_bonobo_open_with_menu), (showing_trash_directory), (should_show_empty_trash), (file_list_all_can_use_components), (real_update_menus), (activate_callback), (fm_directory_view_accepts_dragged_files): * src/file-manager/nautilus-directory-view-ui.xml: Don't use file views in spatial windows. Use Browse Folder in spatial windows and Open in New Window in navigation windows. Don't show "Empty Trash" in non-trash spatial windows.
* Merge the nautilus-spatial-playground branch to HEAD.Dave Camp2003-09-301-5/+6
| | | | | | 2003-09-30 Dave Camp <dave@ximian.com> * Merge the nautilus-spatial-playground branch to HEAD.
* Make 50% the default list view zoom.Alexander Larsson2003-03-101-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-03-10 Alexander Larsson <alexl@redhat.com> * libnautilus-private/nautilus-global-preferences.c: * libnautilus-private/apps_nautilus_preferences.schemas: Make 50% the default list view zoom. * libnautilus-private/nautilus-bookmark.h: * libnautilus-private/nautilus-bookmark.c: (nautilus_bookmark_finalize), (nautilus_bookmark_uri_known_not_to_exist), (nautilus_bookmark_set_scroll_pos), (nautilus_bookmark_get_scroll_pos): Add scroll positions to bookmarks. Used for the window back/forward history. * libnautilus-private/nautilus-icon-container.h: * libnautilus-private/nautilus-icon-container.c: (nautilus_icon_container_get_first_visible_icon), (nautilus_icon_container_scroll_to_icon): Add new functions. * libnautilus/nautilus-view-component.idl: Add Nautilus::ScollPositionable interface. * libnautilus/Makefile.am: * libnautilus/nautilus-scroll-positionable.h: * libnautilus/nautilus-scroll-positionable.c: Standard implementation of Nautilus::ScollPositionable. * src/file-manager/fm-icon-view.c: (icon_view_get_first_visible_file_callback), (icon_view_scroll_to_file_callback), (fm_icon_view_instance_init): Implement Nautilus::ScollPositionable for icon view. * src/file-manager/fm-list-view.c: (list_view_get_first_visible_file_callback), (list_view_scroll_to_file_callback), (fm_list_view_instance_init): Implement Nautilus::ScollPositionable for list view. * src/nautilus-view-frame.h: * src/nautilus-view-frame.c: (destroy_view), (create_corba_objects), (nautilus_view_frame_get_first_visible_file), (nautilus_view_frame_scroll_to_file): Add support for Nautilus::ScollPositionable. * src/nautilus-window-private.h: * src/nautilus-window-manage-views.c: (open_location), (free_location_change), (end_location_change), (begin_location_change), (nautilus_window_set_content_view), (load_complete_callback), (nautilus_window_back_or_forward), (nautilus_window_reload): Save scroll position when changing location and switching components. Scroll to the right place on back/forward.
* s/GtkType/GType/Alexander Larsson2003-02-041-1/+1
|
* Replace doubles in the zoom interfaces with floats to match the bonoboDave Camp2002-04-261-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-04-24 Dave Camp <dave@ximian.com> * src/nautilus-view-frame.c: (nautilus_view_frame_set_zoom_level): * src/nautilus-view-frame.h: * src/nautilus-window-manage-views.c: (zoom_parameters_changed_callback): * src/nautilus-window-private.h: * src/nautilus-window.c: (nautilus_window_zoom_to_level): Replace doubles in the zoom interfaces with floats to match the bonobo zoomable interface. * src/nautilus-zoom-control.c: (nautilus_zoom_control_expose): Draw the focus rectangle if the zoom control is focused. (nautilus_zoom_control_button_press_event): Grab focus. (zoom_menu_callback), (create_zoom_menu_item), (nautilus_zoom_control_change_value), (nautilus_zoom_control_set_zoom_level), (nautilus_zoom_control_set_parameters): Replace double with float. (nautilus_zoom_control_class_init): Initialize keybindings. (nautilus_zoom_control_get_accessible), (nautilus_zoom_control_accessible_do_action), (nautilus_zoom_control_accessible_get_n_actions), (nautilus_zoom_control_accessible_action_get_description), (nautilus_zoom_control_accessible_action_get_name), (nautilus_zoom_control_accessible_action_interface_init), (nautilus_zoom_control_accessible_get_current_value), (nautilus_zoom_control_accessible_get_maximum_value), (nautilus_zoom_control_accessible_get_minimum_value), (nearest_preferred), (nautilus_zoom_control_accessible_set_current_value), (nautilus_zoom_control_accessible_value_interface_init), (nautilus_zoom_control_accessible_get_name), (nautilus_zoom_control_accessible_get_description), (nautilus_zoom_control_accessible_class_init), (nautilus_zoom_control_accessible_get_type): Implement the zoom accessible. * src/nautilus-zoom-control.h: Added the change_value signal.
* Implement nautilus_view_close_window ().Anders Carlsson2002-01-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | 2002-01-08 Anders Carlsson <andersca@gnu.org> * libnautilus-private/nautilus-icon-container.c: (nautilus_icon_container_update_icon): * libnautilus/nautilus-view-component.idl: * libnautilus/nautilus-view.c: (call_close_window), (nautilus_view_close_window): * libnautilus/nautilus-view.h: * src/nautilus-profiler.c: (nautilus_profiler_bonobo_ui_report_callback): * src/nautilus-view-frame-corba.c: (close_window), (impl_Nautilus_ViewFrame_close_window), (nautilus_view_frame_corba_part_class_init): * src/nautilus-view-frame-private.h: * src/nautilus-view-frame.c: (nautilus_view_frame_close_window), (nautilus_view_frame_class_init): * src/nautilus-view-frame.h: * src/nautilus-window-manage-views.c: (close_window_callback): Implement nautilus_view_close_window ().
* More GNOME 2 work. We now compile up to libnautilus-private and I'mDarin Adler2001-10-281-1/+0
| | | | | | | * 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.
* Updated bugzilla.eazel.com references to refer to theDarin Adler2001-09-151-1/+1
| | | | | corresponding bugzilla.gnome.org bug. Also updated my email address.
* Update for latest round of stuff moving into Eel.Ramiro Estrugo2001-05-041-3/+3
|
* nautilus-extensions -> nautilus-private renaming.Ramiro Estrugo2001-05-041-2/+2
|
* added a way for sidebar views to specify small images that are displayedAndy Hertzfeld2001-04-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | added a way for sidebar views to specify small images that are displayed in their tab for notification purposes. Used that to make the notes component indicate if a note is present or not. * components/notes/nautilus-notes.c: (get_bonobo_properties), (set_bonobo_properties), (load_note_text_from_metadata), (done_with_file), (notes_load_metainfo), (notify_listeners_if_changed), (notes_save_metainfo), (do_destroy), (notes_get_indicator_image), (make_notes_view): added a property bag to the notes component to provide a tab_image property, and made it notify the listeners when the note text changes. * icons/Makefile.am: * icons/note-indicator.png: new notes indicator image from Arlo. * src/nautilus-sidebar-tabs.c: (tab_item_destroy), (pixbuf_composite), (draw_one_tab_plain), (draw_one_tab_themed), (get_tab_width), (draw_or_layout_all_tabs), (nautilus_sidebar_tabs_expose), (nautilus_sidebar_tabs_update_tab_item), (get_tab_item_from_view), (nautilus_sidebar_tabs_update_all_indicators), (nautilus_sidebar_tabs_update_indicator), (tab_indicator_changed_callback), (nautilus_sidebar_tabs_connect_view): * src/nautilus-sidebar-tabs.h: made the sidebar tabs hook up to the nautilus_view's tab_image property and use it to display a notification image in the tab if necessary. * src/nautilus-sidebar.c: (view_loaded_callback), (nautilus_sidebar_add_panel): connect the sidebar tabs to a newly added view, once the view is loaded. * src/nautilus-view-frame.c: (nautilus_view_frame_get_control): * src/nautilus-view-frame.h: added nautilus_view_frame_get_control so view properties can be accessed by the sidebar.
* reviewed by: John Sullivan <sullivan@eazel.com>Darin Adler2001-02-271-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Did most of the work for bug 5779, separating out the Eazel logos so they won't be used by non-Eazel folks making changes to Nautilus if they choose to do "non-approved" changes (allowed by GPL of course). * nautilus.spec.in: Add new logos. * configure.in: Add eazel-logos and eazel-logos/throbber. * Makefile.am: Add the eazel-logos subdirectory. * eazel-logos/Makefile.am: Created. * eazel-logos/throbber/Makefile.am: Created. * components/services/nautilus-dependent-shared/icons/eazel-logo-right-side-logo.png: * icons/About_Image.png: * icons/about_background.png: * icons/default.xml: * icons/druid_header.png: * icons/throbber/001.png: * icons/throbber/002.png: * icons/throbber/003.png: * icons/throbber/004.png: * icons/throbber/005.png: * icons/throbber/006.png: * icons/throbber/007.png: * icons/throbber/008.png: * icons/throbber/009.png: * icons/throbber/010.png: * icons/throbber/011.png: * icons/throbber/012.png: * icons/throbber/013.png: * icons/throbber/014.png: * icons/throbber/015.png: * icons/throbber/016.png: * icons/throbber/017.png: * icons/throbber/018.png: * icons/throbber/019.png: * icons/throbber/020.png: * icons/throbber/021.png: * icons/throbber/022.png: * icons/throbber/023.png: * icons/throbber/024.png: * icons/throbber/025.png: * icons/throbber/026.png: * icons/throbber/027.png: * icons/throbber/028.png: * icons/throbber/029.png: * icons/throbber/030.png: * icons/throbber/Makefile.am: * icons/throbber/rest.png: Updated with non-logo versions. Did 90% of the work for bug 6950 (need new report_redirect call in addition to report_location_change). While working on that, I also moved the deferral of outgoing calls that is done in the Mozilla component so that it is done by the NautilusView class instead. * libnautilus/nautilus-view-component.idl: Added report_redirect. * libnautilus/nautilus-view.h: Added report_redirect. * libnautilus/nautilus-view.c: (queue_outgoing_call): Added queing for the outgoing side. (nautilus_view_initialize): Allocate queue. (nautilus_view_destroy): Deallocate queue. (str_list_copy): Utility needed here because we can't use libnautilus-extensions. (list_free_deep_callback): New. Used in queuing code. (free_location_plus_callback): New. Used in queueing code. (call_open_location_in_this_window), (call_open_location_prefer_existing_window), (call_open_location_force_new_window), (call_report_location_change), (call_report_redirect), (call_report_selection_change), (call_report_status), (call_report_load_underway), (call_report_load_progress), (call_report_load_complete), (call_report_load_failed), (call_set_title), (call_go_back): Functions that get queued. These have the bulk of the code to do work. (nautilus_view_open_location_in_this_window), (nautilus_view_open_location_prefer_existing_window), (nautilus_view_open_location_force_new_window), (nautilus_view_report_location_change), (nautilus_view_report_redirect), (nautilus_view_report_selection_change), (nautilus_view_report_status), (nautilus_view_report_load_underway), (nautilus_view_report_load_progress), (nautilus_view_report_load_complete), (nautilus_view_report_load_failed), (nautilus_view_set_title), (nautilus_view_go_back): These functions now simply queue the work that needs to be done. * src/nautilus-view-frame-corba.c: (free_location_plus_callback): Add a new field for the "from_location" needed for redirect. (report_redirect): The actual function to do the work. (impl_Nautilus_ViewFrame_report_redirect): Queue function. * src/nautilus-view-frame.h: * src/nautilus-view-frame-private.h: * src/nautilus-view-frame.c: (nautilus_view_frame_initialize_class): Create report_redirect signal. (nautilus_view_frame_report_redirect): Emit the signal. * src/nautilus-window-manage-views.c: (report_redirect_callback): Code to implement the redirect. For now this does the exact same thing as report_location_change. This is where all the remaining work to fix the bug goes. * components/mozilla/nautilus-mozilla-content-view.c: (view_load_location_callback), (mozilla_title_changed_callback), (mozilla_net_start_callback), (mozilla_net_stop_callback), (mozilla_link_message_callback), (mozilla_progress_callback), (mozilla_dom_mouse_click_callback), (navigate_mozilla_to_nautilus_uri), (update_nautilus_uri), (eazel_services_scheme_from_http): Remove the "async" calls that defer calls until timeout time now that NautilusView itself does that for all components. * libnautilus-extensions/nautilus-gtk-extensions.h: * libnautilus-extensions/nautilus-gtk-extensions.c: (nautilus_gtk_marshal_NONE__POINTER_POINTER_POINTER_POINTER): Added new marshal function needed for report_redirect. Other changes. * THANKS: Add some more contributors, after running the script to detect new ChangeLog entries.
* reviewed by: John Sullivan <sullivan@eazel.com>Darin Adler2001-02-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | Fixed bug 6477 (no way for intall view to send user "back where they came from") by adding a "go back" command for views. * libnautilus/nautilus-view-component.idl: Add "go back". * libnautilus/nautilus-view.h: * libnautilus/nautilus-view.c: (nautilus_view_go_back): Add "go back". * src/nautilus-view-frame-private.h: * src/nautilus-view-frame-corba.c: (go_back), (impl_Nautilus_ViewFrame_go_back): Add "go back". * src/nautilus-view-frame.h: * src/nautilus-view-frame.c: (nautilus_view_frame_initialize_class), (nautilus_view_frame_go_back): Add "go back". * src/nautilus-window-manage-views.c: (go_back_callback): Add code to either go back or go home. * src/nautilus-window-toolbars.c: (back_or_forward_button_pressed_callback): Formatting tweak.
* reviewed by: John Sullivan <sullivan@eazel.com>Darin Adler2001-02-031-23/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed bug 6163 (Need NautilusViewFrame :: report_location_changed). This is re-adding a feature we also had long ago, where a view reports a location change, but does not want the location change to come back to it in the form of a load_location call. * src/nautilus-applicable-views.h: * src/nautilus-applicable-views.c: (get_view_result_from_gnome_vfs_result), (got_file_info_callback), (got_minimum_file_info_callback), (nautilus_determine_initial_view), (nautilus_determine_initial_view_cancel): Changed this entire file to have a much easier-to-understand API. * src/nautilus-view-frame-private.h: * src/nautilus-view-frame-corba.c: (free_location_plus_callback): Change existing structure so it can be used for the location-change case, which includes a title too. (open_force_new_window): Use new structure. (report_location_change): Implement new call. (impl_Nautilus_ViewFrame_open_location_force_new_window): Use new structure. (impl_Nautilus_ViewFrame_report_location_change): Implement new call. * libnautilus/nautilus-view-component.idl: Add the new call. * libnautilus/nautilus-view.h: * libnautilus/nautilus-view.c: (nautilus_view_report_location_change): Add the new call. * src/nautilus-view-frame.h: * src/nautilus-view-frame.c: (nautilus_view_frame_initialize_class): Add new signal. (nautilus_view_frame_report_location_change): Implement new call. * src/nautilus-window-private.h: * src/nautilus-window-manage-views.h: * src/nautilus-window-manage-views.c: (update_for_new_location): Got rid of obsolete assert. Also, no longer clear the selection. The selection is set properly earlier, and clearing it at this point serves no purpose. (location_has_really_changed): Call free_location_change to share more code. Also no reason to free "pending_ni" any more, because we don't keep it around in the success case. (load_new_location_in_one_view): New name. (load_new_location_in_sidebar_panels): New name. Also take a parameter of a view to skip. (load_new_location_in_all_views): New function. (set_to_pending_location_and_selection): New name, and removed code to handle the case where there is no pending location, since that doesn't happen. Also take a parameter of a view to skip. Also broke out the guts into load_new_location_in_all_views. (free_location_change): Free things by their new names. There's also less to free now. (cancel_location_change): Key off pending_location instead of pending_ni. Also save code by using new function that skips a view. (determined_initial_view_callback): Changed name, and use new interface. No longer need "end_reached" trick, because the new interface handles that. (begin_location_change): Made a static after moving all the functions that use it in here. Also moved some of the reload code out into nautilus_window_reload. (report_location_change_callback): New function. Does all the steps neede for a location change in place. (nautilus_window_back_or_forward), (nautilus_window_reload): Moved these two functions in here from nautilus-window.c so we could make begin_location_change more private. * src/nautilus-window.h: * src/nautilus-window.c: (nautilus_window_go_to): Changed the name. (nautilus_window_get_location): New function for callers that used to get the location field directly. (go_to_callback): Changed name. * src/nautilus-desktop-window.c: (nautilus_desktop_window_new): * src/nautilus-location-bar.c: (drag_data_received_callback): * src/nautilus-shell.c: (open_window), (save_window_states), (restore_window_states): * src/nautilus-window-menus.c: (services_button_callback), (help_menu_nautilus_manual_callback), (help_menu_nautilus_license_callback), (help_menu_nautilus_feedback_callback), (activate_bookmark_in_menu_item): * src/nautilus-window-service-ui.c: (goto_services_summary), (goto_online_storage), (goto_software_catalog), (goto_services_support): * src/nautilus-window.c: (location_change_at_idle_callback), (nautilus_window_constructed), (view_as_menu_vfs_method_callback), (nautilus_window_go_web_search), (nautilus_window_go_home): Use nautilus_go_to under its new name. * src/nautilus-shell.c: (restore_window_states): Use nautilus_istr_has_prefix instead of g_strncasecmp. Also did other code cleanup. * libnautilus-extensions/nautilus-gtk-extensions.h: Added a new marshal function that I needed. * libnautilus-extensions/nautilus-thumbnails.c: Added a FIXME. * libnautilus-extensions/nautilus-view-identifier.h: * libnautilus-extensions/nautilus-view-identifier.c: (nautilus_view_identifier_copy), (nautilus_view_identifier_compare): Use const. * src/nautilus-application.c: (nautilus_application_startup): Only check for root if we are actually running nautilus, not if we are just killing off an existing copy. (confirm_ok_to_run_as_root): Changed name of the function and improved the wording of the message and button. Also added an environment variable you can set to get rid of this. (Probably should have been a preference instead, but I am officially being lazy about this.) Fixed bug that was revealed by the change in the loading sequence I made. John didn't review this part: * libnautilus-extensions/nautilus-directory-private.h: * libnautilus-extensions/nautilus-directory-async.c: (load_directory_state_destroy), (load_directory_done): Separate out code to free the partly-done state so it can be used in the cancel case. (dequeue_pending_idle_callback): Ref the directory object so that we won't get messed up if the callback destroys it. (directory_load_cancel): Separated out the old part of file_list_cancel so that we can cancel the idle part too when we want to. (file_list_cancel): Use the new calls to cancel the idle part of directory loading. (directory_load_done): Use directory_load_cancel instead of file_list_cancel. (nautilus_directory_stop_monitoring_file_list): Use directory_load_cancel instead of file_list_cancel. (nautilus_directory_async_state_changed): Added state variables to protect cases where we re-enter this function.
* reviewed by: Maciej Stachowiak <mjs@eazel.com>Darin Adler2001-01-301-50/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed bug 2131 (Change Nautilus to use OAF asynchronous activation interface). In making view activation work right, I also eliminated the state machine that was almost gone from NautilusWindow. There's still some additional simplification we can do, but it's simpler than it was. At the same time, made sure all incoming CORBA calls are deferred until idle time. This is most of what the old state machine was accomplishing, believe it or not, although it didn't do it 100%. Also fixes bug 2457 (Silent error loading content view), bug 2461 (progress from old and new content view sometimes confused), and bug 6109 (Assertion hit on clicking the refresh button many times very quickly). Perhaps others too, we need to test some old bugs to see if they have changed behavior. * libnautilus-extensions/nautilus-bonobo-extensions.c: (activation_handle_done), (activation_idle_callback), (activation_cancel), (oaf_activation_callback), (nautilus_bonobo_activate_cancel): Change implementation so that the actual callback happens at idle time, since CORBA callbacks can happen at almost any time. * libnautilus/Makefile.am: * libnautilus/nautilus-idle-queue.h: * libnautilus/nautilus-idle-queue.c: (execute_queued_functions), (nautilus_idle_queue_new), (nautilus_idle_queue_add), (nautilus_idle_queue_destroy): Factored out the idle queueing that I added to NautilusView so we can use it on the NautilusViewFrame side too. * libnautilus/nautilus-view.c: (queue_incoming_call), (nautilus_view_initialize), (nautilus_view_destroy): Change to use the new NautilusIdleQueue so we can share code. * src/nautilus-view-frame-private.h: * src/nautilus-view-frame-corba.c: (list_free_deep_callback), (free_location_and_selection_callback), (open_in_this_window), (open_prefer_existing_window), (open_force_new_window), (report_selection_change), (report_status), (report_load_underway), (report_load_progress), (report_load_complete), (report_load_failed), (set_title), (impl_Nautilus_ViewFrame_open_location_in_this_window), (impl_Nautilus_ViewFrame_open_location_prefer_existing_window), (impl_Nautilus_ViewFrame_open_location_force_new_window), (impl_Nautilus_ViewFrame_report_selection_change), (impl_Nautilus_ViewFrame_report_status), (impl_Nautilus_ViewFrame_report_load_underway), (impl_Nautilus_ViewFrame_report_load_progress), (impl_Nautilus_ViewFrame_report_load_complete), (impl_Nautilus_ViewFrame_report_load_failed), (impl_Nautilus_ViewFrame_set_title): Deal with all incoming CORBA calls through the idle queue. * src/nautilus-view-frame.h: Moved all the fields into details. Renamed client_loaded to view_loaded. Renamed load_client to load_view. Eliminated load_client_sync. Renamed get_iid to get_view_iid. Eliminated get_is_underway. Added get_is_view_loaded. * src/nautilus-view-frame.c: (nautilus_view_frame_queue_incoming_call): Simple cover for putting an incoming CORBA call on the idle queue. (nautilus_view_frame_initialize_class): Change client_loaded signal name to view_loaded. (nautilus_view_frame_initialize): Allocate the idle queue. (stop_activation): New function that stops a load_view that is underway. (destroy_view): Use the "view" field to tell if a view was loaded. The old code used the "iid" field, but now we set that even before the load is completed. (nautilus_view_frame_destroy): Destroy the idle queue. Also put the view into "failed" state once it's destroyed so additional calls are harmless. (nautilus_view_frame_finalize): Check that we're in the failed state. (emit_zoom_parameters_changed): New function so we can share more code. (view_frame_activated): Emit the zoom_parameters_changed signal here since a new view should always should get this signal. (view_frame_underway): Make this do nothing in the failed case instead of complaining. (view_frame_loaded): Make this do nothing in the failed case instead of complaining. (view_frame_failed): Stop whatever's in progress when the view fails. Also, allow calling this on a view that's already failed. (check_if_view_is_gone): Consolidate the calls to deregister_dead_components so we don't need an explicit call here. (emit_zoom_parameters_changed_callback), (zoom_parameters_changed_callback), (emit_zoom_level_changed_callback), (zoom_level_changed_callback): Redo these so they queue onto the idle queue, since they are triggered by incoming CORBA calls that can happen at any time. (create_corba_objects): Factor out the part of the code that makes the CORBA objects. Make error handling more complete and keep around pointers to the Bonobo objects for various parts of the aggregate so we can connect the appropriate signal handlers. (attach_view): Change code so it no longer connects signals to the BonoboObjectClient, since the signals won't go out on that GtkObject. Connect to the exception signals for all objects in the aggregate (any failure means "view failed"). Also connect to the "destroy" signal for one object (doesn't matter which since the entire aggregate goes away at once) and to the zoom-related signals. Report errors with signals rather than returning a boolean. (activation_callback): Add code to handle failure case. (nautilus_view_frame_load_view): Renamed. Got rid of "sync." version. (nautilus_view_frame_stop): Stop OAF activation of the view if it's in progress. (nautilus_view_frame_selection_changed): Make it a quiet no-op to send a selection change notice if no view is loaded. This helps keep the code simple for sidebars. Later we may make the view frame responsible for sending the selection on once the view is loaded. (nautilus_view_frame_title_changed): Same change as for selection, same idea. (nautilus_view_frame_get_is_zoomable), (nautilus_view_frame_get_zoom_level), (nautilus_view_frame_set_zoom_level), (nautilus_view_frame_get_min_zoom_level), (nautilus_view_frame_get_max_zoom_level), (nautilus_view_frame_get_has_min_zoom_level), (nautilus_view_frame_get_has_max_zoom_level), (nautilus_view_frame_get_is_continuous), (nautilus_view_frame_get_preferred_zoom_levels), (nautilus_view_frame_zoom_in), (nautilus_view_frame_zoom_out), (nautilus_view_frame_zoom_to_fit): Since a failed view has a zoomable_frame field set to NULL, got rid of all the explicit failure-case code for these functions. (nautilus_view_frame_get_view_iid): Renamed from get_iid. (nautilus_view_frame_report_load_underway), (nautilus_view_frame_report_load_complete), (nautilus_view_frame_report_load_failed): Moved the "quiet" handling of failed views down into the underlying functions, so these no longer need explicit failure-case code. (nautilus_view_frame_set_label): It's OK to allow this even for a failed view. (nautilus_view_frame_map): Use a kept-around reference to the control frame instead of relying on query_local_interface. (nautilus_view_frame_get_is_view_loaded): Add this so callers can tell when a sidebar view is not yet loaded. Might not need this when we clean things up more, but it's no big deal either way. * src/nautilus-window-manage-views.c: (update_title): No need to send the title change to the new content view -- it gets a title change once it comes up "for real". (set_displayed_location): Handle location of NULL here so we don't need to worry about it elsewhere. (check_bookmark_location_matches): Remove "uri" from name. (location_has_really_changed): Now that the state machine is gone, it's easy to see that this is never called with pending_ni equal to cancel_tag, so remove the code for that and add an assert. (set_view_location_and_selection): New name for what was called update_view. (set_sidebar_panels_location_and_selection): Cover since this loop occurs in two places. (update_for_new_location_and_selection): New name for what was called set_view_location_and_selection. Since it's now clear this can't be called with new_content_view equal to NULL, remove the code to handle that (fixes bug 2457). (load_content_view): Use async. view loading here. Get rid of "Avoid being fooled by extra done notifications from the last view. This is a HACK because the state machine SUCKS." by eliminating the "cv_progress_done" and "cv_progress_error" flags altogether. In the case where we reuse the same view, just call update_for_new_location_and_selection -- the old code set "view_activation_complete", but I eliminated that flag. (handle_view_failure): Remove the old view using nautilus_window_set_content_view_widget instead of having duplicate code here. Use a call to cancel_location_change instead of setting the "reset_to_idle" and "cv_progress_error" flags (both gone now). (free_location_change): No need to clean up "error_views" any more, because that field is gone. (end_location_change): New helper to stop the throbber from throbbing and then free the location change state. (cancel_location_change): Get rid of special case for NULL location now that set_displayed_location can handle it. (nautilus_window_end_location_change_callback): Remove "superstitiously" added call to update_state and call load_content_view_for_new_location directly. (nautilus_window_begin_location_change): Use a call to cancel_location_change to deal with the possibility that we may have a change already in progress. (nautilus_window_stop_loading): Use cancel_location_change to stop the loading. (nautilus_window_set_content_view): Remove calls to update_state -- there's no state to update any more. (nautilus_window_set_sidebar_panels): Do an async. load here and finish the setup in the view_loaded callback. (failed_callback): Do a handle_view_failed right here, now that we have no state machine to satisfy. (load_underway_callback): Change code to handle the two interesting cases separately without a state machine. When the new content view says "underway", it's time for location_has_really_changed. When an existing content view says "underway", we restart the throbber (fixes 1/2 of bug 2461). (load_complete_callback): Since view frames now ensure we get an underway call before a complete call, we can simplify the logic. If the main content view says "complete", it's time to stop the throbber (fixes other 1/2 of bug 2461). (view_loaded_callback): Renamed the client_loaded callback. Also made it update location and selection for sidebar panels when they are loaded. Also made it update the title for any view when it's loaded. * src/nautilus-window.h: * src/nautilus-window.c: (nautilus_window_synch_view_as_menu): Handle case of NULL content view. (nautilus_window_set_content_view_widget): Destroy the view when it's going away instead of removing it from the parent. Also make this function handle the NULL case so we can use it to remove the old view, not just to add the new one. * libnautilus-extensions/nautilus-bonobo-extensions.h: Whitespace tweak. * src/nautilus-sidebar.c: (nautilus_sidebar_active_panel_matches_id): Update for nautilus_view_frame_get_view_iid name change.
* reviewed by: John Sullivan <sullivan@eazel.com>Darin Adler2001-01-261-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some preparation work for doing async. activation. This amounts to another pass cleaning up the legendary "state machine" as well as some other cleanups in the async. activation code. * libnautilus-extensions/nautilus-bonobo-extensions.h: * libnautilus-extensions/nautilus-bonobo-extensions.c: (oaf_activation_callback), (nautilus_bonobo_activate_from_id), (nautilus_bonobo_activate_cancel): Fix interface of activation to be cleaner. Also handle case where callback is called right away. Add queuing to NautilusView so that all incoming CORBA calls are dispatched at idle time. This can fix some otherwise-difficult re-entrancy problems. The widget destroy call can still come in at any time though. Also this same fix may be needed for the NautilusViewFrame side. * libnautilus/nautilus-view.h: * libnautilus/nautilus-view.c: (execute_queued_calls): Function to dequeue and execute calls. (dequeue_calls_at_idle): Cover to call it at idle time. (discard_queued_calls): Discard calls without executing them, for use at destroy time. (queue_incoming_call): Simple cover to queue and schedule an idle-time dequeue pass. (nautilus_g_list_from_uri_list): Need to make a full copy, not a shallow copy, now that we are queuing things for a hile. (call_load_location), (call_stop_loading), (call_selection_changed), (call_title_changed), (call_history_changed): Simple functions that get queued. (list_deep_free_cover): GDestroyNotify-compatible function for one destroy case. (history_dup): Function to copy the history list, since that is now queued instead of used right away. (impl_Nautilus_View_load_location), (impl_Nautilus_View_stop_loading), (impl_Nautilus_View_selection_changed), (impl_Nautilus_View_title_changed), (impl_Nautilus_View_history_changed): Change these all to queue the incoming call instead of doing work right away. (nautilus_view_destroy): Discard the queue. * src/nautilus-view-frame-corba.c: (impl_Nautilus_ViewFrame_open_location_force_new_window), (impl_Nautilus_ViewFrame_report_selection_change): These calls now use the deep copy, since the shallow one is no longer available. This is good since we probably will be doing queuing here later, so we'll need the deep copy. * src/nautilus-view-frame.h: * src/nautilus-view-frame.c: (nautilus_view_frame_initialize_class): Set up a map default signal handler to activate the control. This is better than the old way, where we had an explicit call to do it. (nautilus_view_frame_destroy_client): Remove unused CORBA_Environment. (view_frame_activated): Remove unneeded ACTIVATING state. Also send the client_loaded signal in here, so you can't "forget". (view_frame_wait), (view_frame_underway), (view_frame_wait_is_over), (view_frame_loaded), (view_frame_failed): Remove unneeded ACTIVATING state. (check_if_view_is_gone): Simplify logic and make sure to check the value of the exception and not just the function result. (attach_client): Fix CORBA_Exception that was allocated twice and that could also be allocated and not freed in some cases. (activation_callback), (nautilus_view_frame_load_client_async): Better names, use new API, still not tested. (nautilus_view_frame_load_client): Get rid of function result and use unified interface for telling about success and failure so that sync. and async. interfaces will be the same. (nautilus_view_frame_stop): Renamed this single function, which will soon stop either activation that's in process or loading that's in process with a single call. For now it's just the same as the old stop_loading call. (nautilus_view_frame_map): New override to activate the control. This replaces the old explicit activate call. (send_history), (nautilus_view_frame_get_is_underway): Remove unneeded ACTIVATING state. * src/nautilus-window.h: * src/nautilus-window-manage-views.c: (location_has_really_changed): Assume that new_content_view is not NULL. The old code was trying to be inappropriately "general". (disconnect_destroy_unref_view): Remove now-unused function. (load_content_view): Don't use a return value any more, since it's important to set up new_content_view before any signals happen. Get rid of code that handles failure right at the start, since we now get all failures through the signal handler. (handle_view_failure): Add FIXME comments. Minor refactoring. (cancel_location_change): Eliminated now-uneeded views_shown and view_bombed_out booleans. (load_view_for_new_location): New load_content_view doesn't return a value any more. (update_state): Changed this to be a loop instead of returning a boolean and always being called in a loop. Also simplified logic so that views_shown and view_bombed_out aren't needed any more. (nautilus_window_end_location_change_callback): Use update_state directly instead of calling the old clunky change_state cover. (nautilus_window_begin_location_change): Use update_state directly instead of calling the old clunky change_state cover. (stop_loading): Call the new simple nautilus_view_frame_stop instead of nautilus_view_frame_stop_loading. (natuilus_window_stop_loading): Use update_state directly instead of calling the old clunky change_state cover. (nautilus_window_set_content_view): Use update_state directly instead of calling the old clunky change_state cover. (nautilus_window_set_sidebar_panels): Handle failures with callback instead of looking at return value (which no longer exists). (client_loaded_callback): Add this new callback that's done when the view is activated and ready to go. (failed_callback): Use update_state directly instead of calling the old clunky change_state cover. (load_underway_callback): Use update_state directly instead of calling the old clunky change_state cover. (load_complete_callback): Use update_state directly instead of calling the old clunky change_state cover. * src/nautilus-window.c: (nautilus_window_set_content_view_widget): Get rid of explicit activation, no longer needed now that NautilusViewFrame handles it directly. * test/test-nautilus-async-activation.c: (activation_callback), (main): Change to use new async. API. * user-guide/gnufdl/.cvsignore: Add to ignore some missing files.
* reviewed by: Pavel Cisler <pavel@eazel.com>Darin Adler2001-01-041-25/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix bug 5235 ("Forget History" eliminates history from Go menu, not History sidebar panel). * components/history/nautilus-history-view.c: (install_icons): Fix leak of pixmap and bitmap. (update_history): Replaced dual lock system with a single one. (button_press_callback): Only respect button 1, ignore others. (button_release_callback): Only respect button 1, ignore others, (history_changed_callback): A new single callback for when the history list changes to replace the multiple callbacks before. (nautilus_history_view_initialize_class), (nautilus_history_view_initialize), (nautilus_history_view_destroy), (main): Change the history view to use nautilus_view_standard_main which requires a subclass. This gets rid of a lot of boilerplate code. * libnautilus/nautilus-view-component.idl: Make every NautilusView get an explicit history_changed call instead of requiring them to guess when to get history. Removed the old get_history_list call and also renamed the HistoryList sequence to History. * libnautilus/nautilus-view.h: * libnautilus/nautilus-view.c: (impl_Nautilus_View_history_changed), (nautilus_view_initialize_class): Added the necessary stuff to cover the new history_changed call. * src/nautilus-view-frame.h: * src/nautilus-view-frame.c: (nautilus_view_frame_initialize): Connect handlers so we can send history_changed calls to the NautilusView when either the history or the icons change. (nautilus_view_frame_destroy): Change state to EMPTY so the history signal won't be sent once the frame is destroyed. (view_frame_activated): Send a history_changed to every newly-activated view. (get_CORBA_object): Helper function to make code that makes CORBA calls simpler. (check_if_view_is_gone): Use get_CORBA_object. (attach_client): Gave a nicer name, removed the code that makes the Nautilus_HistoryFrame interface. (nautilus_view_frame_load_client): Do the attach_client (formerly nautilus_view_frame_set_to_component) before calling view_frame_activated. This is needed since view_frame_activated now sends a history_changed to the view. (nautilus_view_frame_load_location), (nautilus_view_frame_stop_loading), (nautilus_view_frame_selection_changed), (nautilus_view_frame_title_changed): Use get_CORBA_object. (get_history_list): Made this private. (send_history): Helper function that sends history to the view if it's in the appropriate state. * src/Makefile.am: * src/nautilus-history-frame.c: * src/nautilus-history-frame.h: Removed the old NautilusHistoryFrame, which is no longer needed since we put the history call right in the NautilusView class. * src/nautilus-window-manage-views.c: (get_history_list_callback): Updated for Nautilus_HistoryList -> Nautilus_History change. Fix bug 5391 ("Esc" Canceling of an icon stretch doesn't restore icon position.). * libnautilus-extensions/nautilus-icon-private.h: * libnautilus-extensions/nautilus-icon-container.c: (clear_drag_state): Add a single bottleneck function to make sure the context menu timeout always gets canceled. (continue_stretching): Remove the unused "update_position" parameter. (undo_stretching): Consolidate the cancel_stretching function and restore the icon's position as well as its size. Also use the new bottleneck to clear the drag state. (button_release_event): Use the new bottleneck to clear the drag state. (show_context_menu_callback): Use the new bottleneck to clear the drag state. (nautilus_icon_container_set_selection), (nautilus_icon_container_select_list_unselect_others): Take advantage of the defaults in g_hash_table_new and use NULL, NULL instead of g_direct_hash, g_direct_equal. (nautilus_icon_container_show_stretch_handles): Save the position as well as the size. (compute_stretch): Add a FIXME with a bug number. Fix bug 5407 (Make "Hardware Overview" title translatable). * components/hardware/nautilus-hardware-view.c: (nautilus_hardware_view_destroy): Remove unused uri field. (extract_info): Fix storage leak. (get_RAM_description): Get rid of code that non-portably relies on long long. Mark strings for translation. (get_IDE_description): Get rid of code that non-portably relies on long long. Mark strings for translation. (setup_overview_form): Marked string for translation. (setup_CPU_form), (setup_RAM_form), (setup_IDE_form), (is_location), (nautilus_hardware_view_load_uri): Disable the views other than the overview for now since they are not ready to be seen. (nautilus_hardware_view_drag_data_received): Get rid of the code that makes the hardware view accept a URI list drag. Fix bug 5405 (nautilus --check fails when using LC_ALL=sv_SE due to missing entry in POTFILES.in). * po/POTFILES.in: Added nautilus-glib-extensions.c. Other changes. * src/nautilus-signaller.h: * src/nautilus-signaller.c: (nautilus_signaller_initialize_class), (nautilus_signaller_get_current): Change the NautilusSignaller class so that the interface calls the object a GtkObject * and the details of the class are hidden. * src/nautilus-property-browser.c: (emit_emblems_changed_signal): * src/nautilus-search-bar-criterion.c: (nautilus_search_bar_criterion_destroy), (nautilus_search_bar_criterion_new_from_values): * src/nautilus-window-menus.c: (nautilus_window_initialize_go_menu): * src/nautilus-window.c: (nautilus_send_history_list_changed): Now that nautilus_signaller_get_current returns a GtkObject, remove some unnecessary casts. * components/html/glibwww-callbacks.c: (get_sock_info), (glibwww_timer_register): * components/tree/nautilus-tree-model.c: (nautilus_tree_model_initialize): * components/tree/nautilus-tree-view.c: (nautilus_tree_view_initialize): * libnautilus-extensions/nautilus-directory-async.c: (async_job_start): * libnautilus-extensions/nautilus-directory.c: (nautilus_directory_notify_files_added), (nautilus_directory_notify_files_removed), (nautilus_directory_notify_files_moved): * libnautilus-extensions/nautilus-icon-factory.c: (nautilus_icon_factory_initialize): * libnautilus-extensions/nautilus-list.c: (nautilus_list_set_selection): * libnautilus-extensions/nautilus-merged-directory.c: (nautilus_merged_directory_initialize): * libnautilus-extensions/nautilus-trash-directory.c: (nautilus_trash_directory_initialize): * src/file-manager/fm-properties-window.c: (fm_properties_window_present): Take advantage of the defaults in g_hash_table_new and use NULL, NULL instead of g_direct_hash, g_direct_equal.
* reviewed by: John Sullivan <sullivan@eazel.com>Darin Adler2000-12-131-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed bug 1948 ("Open in New Window" menu item reuses existing window if it exists) by separating the explicit "open in new window" feature (always gives a new window) from the "open all items in new windows" preference (reuses window if one with the right location already exists). * libnautilus/nautilus-view-component.idl: Added new open_location_prefer_existing_window call. Renamed open_location to open_location_in_this_window and open_location_in_new_window to open_location_force_new_window for clarity. * libnautilus/nautilus-view.h: * libnautilus/nautilus-view.c: (nautilus_view_open_location_in_this_window), (nautilus_view_open_location_prefer_existing_window), (nautilus_view_open_location_force_new_window): * src/nautilus-view-frame-corba.c: (impl_Nautilus_ViewFrame_open_location_in_this_window), (impl_Nautilus_ViewFrame_open_location_prefer_existing_window), (impl_Nautilus_ViewFrame_open_location_force_new_window): * src/nautilus-view-frame-private.h: * src/nautilus-view-frame.c: (nautilus_view_frame_initialize_class), (nautilus_view_frame_open_location_in_this_window), (nautilus_view_frame_open_location_prefer_existing_window), (nautilus_view_frame_open_location_force_new_window): * src/nautilus-view-frame.h: Add new call, rename old ones. * src/file-manager/fm-directory-view.c: (open_callback): Pass parameter to tell the open code to respect the "use new windows" preference. (open_location): Take new WindowChoice parameter to respect preference as appropriate. (switch_location_and_view): Tell the code to respect the preference in this case (opening from Open With). (show_trash_callback): Use code that respects the preference instead of always opening in this case. (open_one_in_new_window): Always force a new window (used by Open in New Window command). (activate_callback): Pass through new WindowChoice instead of boolean. (fm_directory_view_activate_file): Pass through new WindowChoice instead of boolean., (fm_directory_view_activate_files): Respect the user preference if opening only one file, do the "use existing window or make new one" mode if opening more than one. * src/nautilus-window-manage-views.c: (handle_unreadable_location): Move check for empty location string in here. (open_location): Moved the code for reusing existing windows out of here. Also changed code structure to avoid redoing the handle_unreadable_location check. (open_location_in_this_window_callback): Renamed. (open_location_prefer_existing_window_callback): Here's where the code for reusing existing windows went. New callback for the new call/signal. (open_location_force_new_window_callback): Renamed. * src/file-manager/fm-search-list-view.c: (reveal_selected_items_callback): Change to use nautilus_view_open_location_force_new_window by its new name. * src/nautilus-window-manage-views.h: Got rid of nautilus_window_open_location_in_new_window, which was public and unused. * components/adapter/nautilus-adapter.c: (nautilus_adapter_open_location_callback): * components/help/hyperbola-nav-index.c: (hyperbola_navigation_index_select_row): * components/help/hyperbola-nav-search.c: (hyperbola_navigation_search_select_row): * components/help/hyperbola-nav-tree.c: (hyperbola_navigation_tree_select_row): * components/history/nautilus-history-view.c: (history_button_release): * components/mozilla/nautilus-mozilla-content-view.c: (mozilla_open_uri_callback), (mozilla_dom_mouse_click_callback): * components/rpmview/nautilus-rpm-view.c: (go_to_button_callback): * components/services/login/nautilus-view/nautilus-change-password-view.c: (run_away_timer), (authn_failed), (maintenance_button_cb): * components/services/summary/nautilus-view/nautilus-summary-callbacks.c: (logged_in_callback), (logged_out_callback), (preferences_button_cb), (forgot_password_button_cb), (register_button_cb): * components/services/summary/nautilus-view/nautilus-summary-dialogs.c: (error_dialog_cancel_cb): * components/services/summary/nautilus-view/nautilus-summary-footer.c: (footer_item_clicked_callback): * components/services/summary/nautilus-view/nautilus-summary-view.c: (goto_service_cb), (goto_update_cb): * components/text/nautilus-text-view.c: (handle_service_menu_item): * components/tree/nautilus-tree-view.c: (tree_select_row_callback): Change to use new nautilus_view_open_location_in_this_window name. It's better because it's more explicit, but also, it's the new name! * libnautilus-extensions/nautilus-gdk-extensions.c: (nautilus_gdk_window_bring_to_front): Fixed indentation. * libnautilus-extensions/nautilus-gtk-extensions.c: (nautilus_gtk_window_present): Put in a new implementation that uses nautilus_gdk_window_bring_to_front instead of the old one that did a hide followed by a show. Corrected an assert that should have been a return_if_fail.
* reviewed by: Darin Adler <darin@eazel.com> reviewed by: Maciej StachowiakMartin Baulig2000-11-161-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-22 Martin Baulig <baulig@suse.de> reviewed by: Darin Adler <darin@eazel.com> reviewed by: Maciej Stachowiak <mjs@eazel.com> Use the new Bonobo::Zoomable interface instead of Nautilus::Zoomable. * libnautilus/nautilus-zoomable.[ch]: Removed. * src/nautilus-zoomable-frame-corba.c: Removed. * libnautilus/nautilus-view-component.idl (ZoomLevels, ZoomLevelList, Zoomable, ZoomableFrame): Removed. * src/nautilus-view-frame-private.h (impl_Nautilus_ZoomableFrame_vepv, impl_Nautilus_ZoomableFrame__create): Removed external declarations. * src/nautilus-view-frame.h: include <bonobo/bonobo-zoomable-frame.h>. (NautilusViewFrame): Removed the `zoomable' field and changed the type of the `zoomable_frame' field from BonoboObject into BonoboZoomableFrame. (NautilusViewFrameClass): Added `zoom_parameters_changed' signal. * src/nautilus-view-frame.c (nautilus_view_frame_destroy_client): Don't release `view->zoomable' and set `view->history_frame' and `view->zoomable_frame' to NULL, not to CORBA_OBJECT_NIL. (nautilus_view_frame_initialize_class): Added ZOOM_PARAMETERS_CHANGED signal. (zoom_level_changed_callback): New static callback function; this emits the ZOOM_LEVEL_CHANGED signal on the NautilusViewFrame. (zoom_parameters_changed_callback): New static callback function; this emits the ZOOM_PARAMETERS_CHANGED signal on the NautilusViewFrame. (nautilus_view_frame_set_to_component): QI the adapted component for "IDL:Bonobo/Zoomable:1.0" and - if it was found - create the BonoboZoomableFrame, bind it to the BonoboZoomable and connect the "zoom_level_changed" and the "zoom_parameters_changed" signals. (nautilus_view_frame_is_zoomable): Return `view->zoomable_frame != NULL'. (nautilus_view_frame_get_zoom_level): Check whether view->zoomable_frame is not NULL and call bonobo_zoomable_frame_get_zoom_level(). (nautilus_view_frame_set_zoom_level): Check whether view->zoomable_frame is not NULL and call bonobo_zoomable_frame_set_zoom_level(). (nautilus_view_frame_get_min_zoom_level): Check whether view->zoomable_frame is not NULL and call bonobo_zoomable_frame_get_min_zoom_level(). (nautilus_view_frame_get_max_zoom_level): Check whether view->zoomable_frame is not NULL and call bonobo_zoomable_frame_get_max_zoom_level(). (nautilus_view_frame_get_has_min_zoom_level): New function. Check whether view->zoomable_frame is not NULL and call bonobo_zoomable_frame_has_min_zoom_level(). (nautilus_view_frame_get_has_max_zoom_level): New function. Check whether view->zoomable_frame is not NULL and call bonobo_zoomable_frame_has_max_zoom_level(). (nautilus_view_frame_get_is_continuous): New function. Check whether view->zoomable_frame is not NULL and call bonobo_zoomable_frame_is_continuous(). (nautilus_view_frame_get_preferred_zoom_levels): If view->zoomable_frame is NULL, return NULL. Otherwise bonobo_zoomable_frame_get_preferred_zoom_levels() returns GList * of floats which we can just return. (nautilus_view_frame_zoom_in): If view->zoomable_frame is not NULL, call bonobo_zoomable_frame_zoom_in(). (nautilus_view_frame_zoom_out): If view->zoomable_frame is not NULL, call bonobo_zoomable_frame_zoom_out(). (nautilus_view_frame_zoom_to_fit): If view->zoomable_frame is not NULL, call bonobo_zoomable_frame_zoom_out(). (nautilus_view_frame_zoom_level_changed): Removed. * src/nautilus-zoom-control.c (NautilusZoomControlDetails): Added `has_min_zoom_level' and `has_max_zoom_level'. (draw_zoom_control_image): Call nautilus_zoom_control_can_zoom_in/out() to find out whether we can zoom. (zoom_menu_callback): Likewise. (nautilus_zoom_control_button_press_event): Likewise. (create_zoom_menu_item): Changed the type of the `zoom_level' argument from double to float. (nautilus_zoom_control_set_min_zoom_level): Removed. (nautilus_zoom_control_set_max_zoom_level): Removed. (nautilus_zoom_control_set_preferred_zoom_levels): Removed. (nautilus_zoom_control_set_parameters): New function. (nautilus_zoom_control_has_min_zoom_level): New function. (nautilus_zoom_control_has_max_zoom_level): New function. (nautilus_zoom_control_can_zoom_in): New function. (nautilus_zoom_control_can_zoom_out): New function. * src/file-manager/fm-directory-view.c: #include <bonobo/bonobo-zoomable.h> instead of <libnautilus/libnautilus-zoomable.h>. (FMDirectoryViewDetails): Changed the type of `zoomable' to BonoboZoomable. (fm_directory_view_preferred_zoom_levels): Made this an array of float, not double. (fm_directory_view_initialize): Create a new BonoboZoomable object here. (zoomable_zoom_in_callback): The first argument is now a BonoboZoomable. (zoomable_zoom_out_callback): The first argument is now a BonoboZoomable. (nautilus_zoom_level_from_double): Renamed into nautilus_zoom_level_from_float(). (zoomable_set_zoom_level_callback): The first argument is now a BonoboZoomable and the second one a float. (zoomable_zoom_to_fit_callback): The first argument is now a BonoboZoomable. (fm_directory_view_set_zoom_level): Call bonobo_zoomable_report_zoom_level_changed() instead of using nautilus_zoomable_set_zoom_level(). * src/nautilus-window-manage-views.c: (zoom_level_changed_callback): Don't call nautilus_zoom_control_set_min_zoom_level(), nautilus_zoom_control_set_max_zoom_level() and nautilus_zoom_control_set_preferred_zoom_levels() here. Use nautilus_zoom_control_can_zoom_in/out() to find out whether we can zoom in the calls to nautilus_bonobo_set_sensitive(). , (zoom_parameters_changed_callback): New callback function. Call nautilus_zoom_control_set_parameters() and - if the zoom_level is not 0.0 - zoom_level_changed_callback(). * components/adapter/nautilus-zoomable-proxy.[ch]: New files. * components/adapter/Makefile.am (nautilus_adapter_SOURCES): Added nautilus-zoomable-proxy.c and nautilus-zoomable-proxy.h. * components/adapter/nautilus-adapter-embed-strategy.c (NautilusAdapterEmbedStrategyClass): Added new virtual signal `get_zoomable' which must be overridden. (nautilus_adapter_embed_strategy_initialize_class): Assign it here. (nautilus_adapter_embed_strategy_get_zoomable): New static function; call the virtual `get_zoomable' in the derived class. * components/adapter/nautilus-adapter-control-embed-strategy.c: (nautilus_adapter_control_embed_strategy_initialize_class): Assign nautilus_adapter_control_embed_strategy_get_zoomable() as handler of the `get_zoomable' signal. (nautilus_adapter_control_embed_strategy_new): QI the Control for "IDL:Bonobo/Zoomable:1.0" and pass it to nautilus_zoomable_proxy_get() if found and store the return value in strategy->details->zoomable. (nautilus_adapter_control_embed_strategy_get_zoomable): New static function; return strategy->details->zoomable which is set in nautilus_adapter_control_embed_strategy_new(). * components/adapter/nautilus-adapter-embeddable-embed-strategy.c: (nautilus_adapter_embeddable_embed_strategy_initialize_class): Assign nautilus_adapter_embeddable_embed_strategy_get_zoomable() as handler of the `get_zoomable' signal. (nautilus_adapter_embeddable_embed_strategy_new): QI the View for "IDL:Bonobo/Zoomable:1.0" and pass it to nautilus_zoomable_proxy_get() if found and store the return value in strategy->details->zoomable. (nautilus_adapter_embeddable_embed_strategy_get_zoomable): New static function; return strategy->details->zoomable which is set in nautilus_adapter_embeddable_embed_strategy_new(). * components/adapter/nautilus-adapter.c: (nautilus_adapter_new): Call nautilus_adapter_embed_strategy_get_zoomable(embed_strategy) and bonobo_add_interface() it to the control if found. * components/image-viewer/nautilus-image-view.c: Rewrote the Nautilus image viewer to be a BonoboControl, to add zoomable support to it and to merge back everything from bonobo-image-generic into it.
* Fix extra dependency that was causing the xml.h files to be generated tooDarin Adler2000-10-231-46/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.shared: Fix extra dependency that was causing the xml.h files to be generated too often. * configure.in: Fix code that detects the gcc options to work even with -O on. * src/nautilus-view-frame.h: * src/nautilus-view-frame.c: (nautilus_view_frame_initialize_class), (view_frame_loaded), (view_frame_failed), (nautilus_view_frame_handle_client_destroy), (nautilus_view_frame_handle_client_gone), (nautilus_view_frame_new), (check_if_view_is_gone), (nautilus_view_frame_set_to_component), (nautilus_view_frame_get_is_underway): Revamp set of signals to be easier to understand. Handle all failures uniformly, * src/nautilus-window-manage-views.h: * src/nautilus-window-manage-views.c: (change_selection), (nautilus_window_update_for_new_location), (nautilus_window_has_really_changed), (nautilus_window_set_state_info), (nautilus_window_set_sidebar_panels), (zoom_level_changed_callback), (get_history_list_callback), (change_selection_callback), (change_status_callback), (failed_callback), (load_underway_callback), (load_complete_callback), (open_location_callback), (open_location_in_new_window_callback), (title_changed_callback), (nautilus_window_connect_view), (nautilus_window_disconnect_view): Make more of the view management private to this file. Use the signals by their new names. Disconnect all the signals, not just the error-related ones. * src/nautilus-window.c: (nautilus_window_set_content_view_widget): Updated the debugging check to do it with the new Bonobo UI calls.
* new design for the state machine taking into account the new async states.Mathieu Lacage2000-10-131-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-13 Mathieu Lacage <mathieu@eazel.com> * docs/state-machines.txt: new design for the state machine taking into account the new async states. * libnautilus-extensions/nautilus-bonobo-extensions.c: (nautilus_bonobo_set_icon), (oaf_activation_callback), (nautilus_bonobo_activate_from_id), (nautilus_bonobo_activate_stop), (nautilus_bonobo_activate_free): add async activation call. * libnautilus-extensions/nautilus-bonobo-extensions.h: add prototypes. * src/nautilus-view-frame.c: (nautilus_view_frame_initialize_class), (view_frame_activating), (view_frame_not_activated), (view_frame_activated), (view_frame_stop_activation), (view_frame_wait), (view_frame_underway), (view_frame_wait_is_over), (view_frame_loaded), (view_frame_failed), (nautilus_view_frame_set_to_component), (activation_callback), (nautilus_view_frame_load_client_async), (nautilus_view_frame_load_client), (nautilus_view_frame_stop_activation), (nautilus_view_frame_load_location): implement new state machine. add comments to explain by which stimulus the state-chaging functions are triggered. * src/nautilus-view-frame.h: add prototype for new async activation function of ViewFrames.
* Cut over to HEAD of Bonobo. This check-in includes all the changesDarin Adler2000-10-051-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | needed to compile and run, but there are many things wrong visually that may take a while to get fixed. * src/nautilus-window-menus.c: (file_menu_new_window_callback), (file_menu_close_window_callback), (file_menu_close_all_windows_callback), (file_menu_toggle_find_mode_callback), (file_menu_web_search_callback), (edit_menu_undo_callback), (edit_menu_cut_callback), (edit_menu_copy_callback), (edit_menu_paste_callback), (edit_menu_clear_callback), (go_menu_back_callback), (go_menu_forward_callback), (go_menu_up_callback), (go_menu_home_callback), (go_menu_forget_history_callback), (view_menu_reload_callback), (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), (nautilus_window_update_show_hide_menu_items), (view_menu_zoom_in_callback), (view_menu_zoom_out_callback), (view_menu_zoom_normal_callback), (bookmarks_menu_add_bookmark_callback), (bookmarks_menu_edit_bookmarks_callback), (user_level_customize_callback), (customize_callback), (change_appearance_callback), (help_menu_about_nautilus_callback), (help_menu_nautilus_feedback_callback), (switch_to_user_level), (user_level_menu_item_callback), (append_placeholder), (append_separator), (append_bookmark_to_menu), (create_menu_item_from_node), (remove_bookmarks_after), (remove_underline_accelerator_from_menu_title), (new_top_level_menu), (add_user_level_menu_item), (nautilus_window_initialize_menus), (nautilus_window_update_find_menu_item), (update_user_level_menu_items), (convert_verb_to_user_level), (convert_user_level_to_verb), (update_preferences_dialog_title): * src/nautilus-window.c: (nautilus_window_clear_status), (nautilus_window_set_status), (install_status_bar), (nautilus_window_constructed), (nautilus_window_set_arg), (nautilus_window_get_arg), (nautilus_window_destroy), (nautilus_window_allow_back), (nautilus_window_allow_forward), (nautilus_window_allow_up), (nautilus_window_allow_reload), (nautilus_window_zoom_level_changed_callback), (nautilus_window_set_content_view_widget), (show_dock_item), (hide_dock_item), (dock_item_showing), (nautilus_window_hide_tool_bar), (nautilus_window_show_tool_bar), (nautilus_window_tool_bar_showing), (nautilus_window_hide_status_bar), (nautilus_window_show_status_bar), (nautilus_window_status_bar_showing): Convert to new API. Some is disabled with #ifdef UIH. * Makefile.am: * configure.in: Turned off build of the idl directory, build components after src. * components/adapter/main.c: * components/notes/nautilus-notes.c: * components/sample/main.c: * libnautilus-extensions/nautilus-font-picker.c: * libnautilus-extensions/nautilus-global-preferences.c: * libnautilus-extensions/nautilus-password-dialog.c: * libnautilus-extensions/nautilus-preferences-item.c: * libnautilus/nautilus-undo-transaction.c: * libnautilus/nautilus-undo.c: * src/nautilus-application.c: * src/nautilus-history-frame.c: * src/nautilus-link-set-window.c: * src/nautilus-main.c: * src/nautilus-shell.c: * src/nautilus-sidebar.c: * src/nautilus-view-frame-corba.c: * src/nautilus-zoomable-frame-corba.c: * test/test-nautilus-font-picker.c: * test/test-nautilus-image.c: (create_font_picker_frame): * test/test-nautilus-label.c: (create_font_picker_frame): * test/test-nautilus-preferences.c: * test/test-nautilus-widgets.c: (radio_group_load_it_up): Fixed includes. * test/test-nautilus-image.c: (create_font_picker_frame): * test/test-nautilus-label.c: (create_font_picker_frame): * test/test-nautilus-widgets.c: (radio_group_load_it_up): Turned off localization of some strings in tests. * components/adapter/nautilus-adapter-control-embed-strategy.c: (nautilus_adapter_control_embed_strategy_new): * components/adapter/nautilus-adapter-control-embed-strategy.h: * components/adapter/nautilus-adapter-embed-strategy.c: (nautilus_adapter_embed_strategy_get): * components/adapter/nautilus-adapter-embed-strategy.h: * components/adapter/nautilus-adapter-embeddable-embed-strategy.c: (nautilus_adapter_embeddable_embed_strategy_new): * components/adapter/nautilus-adapter-embeddable-embed-strategy.h: Embedding code now deals with Bonobo_UIContainer, not Bonobo_UIHandler. * components/adapter/nautilus-adapter.c: (nautilus_adapter_new): This code not only had to be changed to deal with the Bonobo_UIContainer instead of Bonobo_UIHandler, but it also needed to deal with the containing item (was remote_ui_handler), not the local component. * components/adapter/nautilus-adapter-embeddable-embed-strategy.c: (nautilus_adapter_embeddable_embed_strategy_new): * components/adapter/nautilus-adapter.c: BonoboContainer was renamed BonoboItemContainer. * components/history/nautilus-history-view.c: Remove unused BonoboUIHandler * field. * components/loser/content/Makefile.am: * components/loser/sidebar/Makefile.am: * components/mozilla/Makefile.am: * components/sample/Makefile.am: * src/Makefile.am: * src/file-manager/Makefile.am: Added the necessary defines and build rules to install ui.xml files and locate them from the C code. * src/file-manager/nautilus-directory-view-ui.xml: * src/file-manager/nautilus-icon-view-ui.xml: * src/file-manager/nautilus-search-list-view-ui.xml: * src/nautilus-shell-ui.xml: Added definitions of user interface. * components/loser/content/nautilus-content-loser-ui.xml: * components/loser/sidebar/nautilus-sidebar-loser-ui.xml: * components/mozilla/nautilus-mozilla-ui.xml: * components/sample/nautilus-sample-content-view-ui.xml: Added empty placeholders for user interface. * components/loser/content/nautilus-content-loser.c: (loser_merge_bonobo_items_callback): * components/loser/sidebar/nautilus-sidebar-loser.c: (loser_merge_bonobo_items_callback): * components/mozilla/nautilus-mozilla-content-view.c: (mozilla_merge_bonobo_items_callback): * components/sample/nautilus-sample-content-view.c: (sample_merge_bonobo_items_callback): Use nautilus_view_set_up_ui to get the user interface from a ui.xml file. Put #ifdef UIH around old code to make the items work that still needs to be visited. * libnautilus-extensions/nautilus-bonobo-extensions.c: * libnautilus-extensions/nautilus-bonobo-extensions.h: * libnautilus-extensions/nautilus-undo-manager.c: * libnautilus-extensions/nautilus-undo-manager.h: * libnautilus/nautilus-clipboard.c: (add_menu_items_callback), (remove_menu_items_callback), (nautilus_clipboard_set_up_editable_from_bonobo_control): * libnautilus/nautilus-clipboard.h: Wrapped code in ifdef UIH to disable it until it can be converted to the new Bonobo. * libnautilus-extensions/nautilus-caption-table.h: * libnautilus-extensions/nautilus-caption.h: * libnautilus-extensions/nautilus-font-picker.h: * libnautilus-extensions/nautilus-preferences-group.h: * libnautilus-extensions/nautilus-preferences-item.h: * libnautilus-extensions/nautilus-radio-button-group.h: * src/nautilus-about.h: Got rid of any cases where headers include the omnibus header <gnome.h>. These made the conversion process harder, which is why we fixed them. * libnautilus/libnautilus.h: Got rid of cases where headers include the omnibus header <bonobo.h>. * libnautilus/nautilus-view.h: * libnautilus/nautilus-view.c: (nautilus_view_set_up_ui): Added a helper function to make it easy for Nautilus components to load their UI and get it attached to the Nautilus:View object. * nautilus.spec.in: Install the nautilus-*-ui.xml files too. * src/file-manager/fm-directory-view.h: * src/file-manager/fm-directory-view.c: (bonobo_menu_select_all_callback), (bonobo_menu_empty_trash_callback), (bonobo_control_activate_callback): Convert to new API. (fm_directory_view_get_bonobo_ui_container): Name and purpose changed slightly for new API. (fm_directory_view_real_merge_menus): Merge with new API. (fm_directory_view_real_update_menus): Disabled this code for now. * src/file-manager/fm-icon-view.c: (fm_icon_view_destroy): Destroy icon view's own component at destroy time. (context_menu_layout_radio_item_callback), (append_one_context_menu_layout_item), (fm_icon_view_create_background_context_menu_items), (update_layout_menus): Convert to new API, disable some with #ifdef UIH. (get_sort_criterion_by_verb), (set_sort_criterion_by_verb), (sort_callback): Convert to new API. (fm_icon_view_merge_menus): Merge with new API, creating our own UI component separate from the directory view's. (fm_icon_view_update_menus): Disable with #ifdef UIH. * src/file-manager/fm-search-list-view.h: * src/file-manager/fm-search-list-view.c: (fm_search_list_view_initialize_class), (fm_search_list_view_initialize), (real_destroy), (indexing_info_callback), (real_merge_menus), (real_update_menus): Add code necessary to use a separate UI component, and disabled the actual menu set-up code with #ifdef UIH. This required adding a details struct. * src/nautilus-desktop-window.c: (realize): Turned off the code that hides the desktop elements. * src/nautilus-window-private.h: * src/nautilus-view-frame.h: * src/nautilus-view-frame.c: (nautilus_view_frame_destroy), (nautilus_view_frame_new), (nautilus_view_frame_load_client): * src/nautilus-window-manage-views.c: (load_content_view), (nautilus_window_set_sidebar_panels): Change to use Bonobo_UIContainer instead of Bonobo_UIHandler. * src/nautilus-window-toolbars.c: (remember_buttons), (nautilus_window_initialize_toolbars): Leave this code around and change it enough to compile and run, even though it's creating a second, invisible toolbar. * src/nautilus-window.h: Change to be a BonoboWin subclass instead of a GnomeApp subclass.
* More work on whittling the state machine down to size.Darin Adler2000-10-031-20/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * README: libunicode, libglade, and eog are no longer required. * components/history/nautilus-history-view.c: (history_title_changed): * libnautilus/nautilus-view-component.idl: * libnautilus/nautilus-view.c: (impl_Nautilus_View_title_changed), (nautilus_view_initialize_class): * libnautilus/nautilus-view.h: * src/nautilus-view-frame.c: (nautilus_view_frame_title_changed): * src/nautilus-view-frame.h: Added title parameter for the title_changed function. * src/nautilus-view-frame.c: (nautilus_view_frame_report_load_complete): Got rid of extra emission of report_load_complete, which is handled by view_frame_loaded now. * libnautilus-extensions/nautilus-background.c: (nautilus_background_initialize_class): * libnautilus-extensions/nautilus-entry.c: (nautilus_entry_initialize_class): * libnautilus-extensions/nautilus-icon-text-item.c: (iti_class_init): * libnautilus-extensions/nautilus-list.c: (nautilus_list_initialize_class): * src/nautilus-bookmark-list.c: (nautilus_bookmark_list_initialize_class): * src/nautilus-navigation-bar.c: (nautilus_navigation_bar_initialize_class): * src/nautilus-search-bar-criterion.c: (nautilus_search_bar_criterion_initialize_class): * src/nautilus-sidebar.c: (nautilus_sidebar_initialize_class): * src/nautilus-switchable-navigation-bar.c: (nautilus_switchable_navigation_bar_initialize_class): Use GTK_RUN_LAST instead of GTK_RUN_FIRST. * libnautilus-extensions/nautilus-directory-background.c: * libnautilus-extensions/nautilus-link-set.c: * libnautilus-extensions/nautilus-link.c: * src/file-manager/fm-icon-text-window.c: * src/file-manager/fm-icon-view.c: * src/file-manager/fm-properties-window.c: * src/nautilus-complex-search-bar.c: * src/nautilus-link-set-window.c: * src/nautilus-simple-search-bar.c: * src/nautilus-switchable-search-bar.c: Add includes needed now that the #include <gnome.h> was removed from nautilus-global-preferences.h. * libnautilus-extensions/nautilus-string.h: * libnautilus-extensions/nautilus-string.c: (nautilus_strcmp_case_breaks_ties): Added function, like g_strcasecmp, but falls back on strcmp for strings that match case-insensitive-wise. (nautilus_istr_compare): Use nautilus_strcmp_case_breaks_ties instead of nautilus_strcasecmp. * libnautilus-extensions/nautilus-file.c: (nautilus_file_compare_by_name): Use nautilus_strcmp_case_breaks_ties instead of g_strcasecmp. (nautilus_file_compare_by_directory_name): Use nautilus_strcmp_case_breaks_ties instead of g_strcasecmp. (get_automatic_emblems_as_integer): Convert automatic emblems to integer form for simple sorting. (prepend_automatic_emblem_names): Separate out the code that puts on automatic emblem names, and make it put them first, before any keyword-based emblems. (nautilus_file_compare_by_emblems): Compare the automatic emblems first, using the integer form. (nautilus_file_compare_by_type): Use nautilus_strcmp_case_breaks_ties instead of nautilus_strcmp. (nautilus_file_compare_for_sort): Use nautilus_strcmp_case_breaks_ties instead of g_strcasecmp. (nautilus_file_compare_name): Use nautilus_strcmp_case_breaks_ties instead of g_strcasecmp. (nautilus_file_is_mime_type): Use nautilus_strcasecmp instead of nautilus_strcmp. (nautilus_file_get_emblem_names): Use prepend_automatic_emblem_names. (sort_keyword_list_and_remove_duplicates): Sort with nautilus_strcmp_case_breaks_ties instead of compare_emblem_names. Automatic emblem names are now dealt with elsewhere. * libnautilus-extensions/nautilus-icon-container.c: (compare_icons_by_name): Use nautilus_strcmp_case_breaks_ties instead of nautilus_strcasecmp. * libnautilus-extensions/nautilus-glib-extensions.c: (nautilus_g_str_list_sort): Use nautilus_str_compare. (nautilus_g_str_list_sort_case_insensitive): Use nautilus_istr_compare. * components/services/vault/command-line/main.c: (main): * test/test-nautilus-mime-actions-set.c: (str_to_action_type): Use g_strcasecmp, not strcasecmp, for portability. * libnautilus-extensions/nautilus-global-preferences.h: * libnautilus-extensions/nautilus-global-preferences.c: Removed _get_disabled_sidebar_panel_view_identifiers since the logic now removes any not in the enabled list instead. * libnautilus-extensions/nautilus-view-identifier.h: * libnautilus-extensions/nautilus-view-identifier.c: (nautilus_view_identifier_list_copy): New function. (nautilus_view_identifier_compare): Now sorts properly instead of returning 1 for any two identifiers that are !=. * nautilus-clean.sh: Removed unadorned gconfd now that it's ancient history and because it makes the script seem to fail all the time. * src/nautilus-window-manage-views.h: * src/nautilus-window-manage-views.c: (compute_title): Renamed to a shorter name since it's a local function. (update_title): Renamed to a shorter name since it's a local function and made it do nothing if the title is already correct. (nautilus_window_update_internals): Simplified code by using the new cached title. (nautilus_window_has_really_changed): Removed sidebar panel logic that is no longer needed. (nautilus_window_free_load_info): Remove some unused fields. (nautilus_window_open_location): Removed unused parameter. (nautilus_window_open_location_in_new_window): Removed unused parameter. (load_content_view): Renamed to shorter name since it's a local function. (handle_view_failure), (cancel_location_change), (load_view_for_new_location), (set_view_location_and_selection): Broke out big pieces of code used by the state machine. Soon we won't have a state machine at all, but we'll still need functions like these. (nautilus_window_update_state): Removed a lot of the code and broke the remaining bits into the above functions. (nautilus_window_set_state_info): Removed sidebar management code and some now-unused state variables. (nautilus_window_stop_loading): Moved this function in here and renamed it so the whole state machine is in one place. (nautilus_window_set_content_view): Moved this function in here and renamed it so the whole state machine is in one place. (compare_view_identifier_with_iid), (nautilus_window_set_sidebar_panels): Wrote new code to set up the sidebar panels based on a list of view identifiers, based on the code that was used before when preferences change. Moved here so the whole state machine is in one place. * src/nautilus-window-toolbars.c: (toolbar_stop_callback): Call the new function nautilus_window_stop_loading. * src/nautilus-window-private.h: * src/nautilus-window.h: * src/nautilus-window.c: (nautilus_window_initialize_class): Removed the "content_view" argument. (nautilus_window_goto_uri): Removed the view frame parameter from the open_location call. (nautilus_window_constructed): Set up sidebars based on preferences when the window is created. (nautilus_window_set_arg): Removed the "content_view" argument. (nautilus_window_get_arg): Removed the "content_view" argument. (view_menu_switch_views_callback): Call the new function nautilus_window_set_content_view. (chose_component_callback), Call the new function nautilus_window_set_content_view. (nautilus_window_open_location_callback): Removed the view frame parameter from the open_location call. (nautilus_window_open_location_in_new_window_callback): Removed the view frame parameter from the open_location_in_new_window call. (nautilus_window_connect_view): Don't connect to report_load_progress any more. The view frame now handles this for us. (nautilus_window_set_content_view_widget): Renamed this to avoid confusion with the new nautilus_window_set_content_view which is used to change content views, given a new view identifier. (update_sidebar_panels_from_preferences): Renamed and changed to use the new nautilus_window_set_sidebar_panels call.
* Removed unused "self_owned" field.Darin Adler2000-09-291-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libnautilus-extensions/nautilus-file-private.h: Removed unused "self_owned" field. * libnautilus/nautilus-view-component.idl: * libnautilus/nautilus-view.h: * libnautilus/nautilus-view.c: (nautilus_view_open_location_in_new_window): * src/file-manager/fm-directory-view.c: (fm_directory_view_switch_location): * src/file-manager/fm-search-list-view.c: (reveal_selected_items_callback): * src/nautilus-view-frame-corba.c: (impl_Nautilus_ViewFrame_open_location), (impl_Nautilus_ViewFrame_open_location_in_new_window), (impl_Nautilus_ViewFrame_report_selection_change): * src/nautilus-view-frame-private.h: * src/nautilus-view-frame.h: * src/nautilus-view-frame.c: (nautilus_view_frame_initialize_class), (nautilus_view_frame_open_location_in_new_window): Removed report_location_change and open_in_new_window_and_select. The open_location_in_new_window call now always does a selection operation. * src/nautilus-window-manage-views.h: * src/nautilus-window-manage-views.c: (update_view), (nautilus_window_load_sidebar_panel), (open_location), (nautilus_window_open_location), (nautilus_window_open_location_in_new_window), (nautilus_window_load_content_view), (nautilus_window_update_state), (nautilus_window_begin_location_change): * src/nautilus-window-private.h: * src/nautilus-window.h: * src/nautilus-window.c: (nautilus_window_switch_views), (nautilus_window_back_or_forward), (nautilus_window_open_location_in_new_window_callback), (nautilus_window_connect_view), (nautilus_window_reload): Made some simplifications that are possible because we don't have the old report_location_change to support.
* Removed some of the remains of the component_class machinery.Darin Adler2000-09-211-11/+10
| | | | | | | | | | | | | | | | | | | | | | | * src/Makefile.am: * src/nautilus-view-frame-nautilus-view.c: * src/nautilus-view-frame-private.h: * src/nautilus-view-frame.h: * src/nautilus-view-frame.c: (nautilus_view_frame_destroy_client), (nautilus_view_frame_load_client), (nautilus_view_frame_load_location), (nautilus_view_frame_stop_loading), (nautilus_view_frame_selection_changed), (nautilus_view_frame_title_changed): Removed some of the remains of the component_class machinery. NautilusViewFrame now is the frame for a NautilusView only. * src/file-manager/nautilus-indexing-info.c: (nautilus_indexing_info_show_dialog): Fixed a misplaced statement that results in bad code and an uninitialized variable warning. * tools/leak-checker/nautilus-leak-symbol-lookup.c: (nautilus_leak_find_symbol_in_map): Fixed handling of symbols for libraries where the bfd library doesn't find the information.
* Fixed bugs in Nautilus link management, some other minor problemsDarin Adler2000-09-131-51/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I encountered along the way, and did the first cut at a state machine for NautilusViewFrame based on Maciej's design that can mostly replace the super-complicated one for NautilusWindow. * README: We no longer can use the ORBit that comes with HC1.2 with cvs HEAD, since warnings have been fixed in the code generated by the newer ORBit, so fix that line in the README. * libnautilus-extensions/nautilus-directory.c: (nautilus_directory_new): Use the new nautilus_uri_is_trash function to avoid hard-coding incorrect checks for "trash:". (nautilus_directory_copy_move_metadata_key): Make simple fix for empty metadata. This code gets replaced soon anyway. * libnautilus-extensions/nautilus-drag.c: (nautilus_drag_can_accept_item): Simplify code to get rid of illegal sync. I/O. It's OK to assume all NautilusLink objects point to directories for now, and if we make a change to do something fancier later, we have to do it with async. (nautilus_drag_default_drop_action_for_icons): Use the new nautilus_uri_is_trash function to avoid hard-coding incorrect checks for "trash:". * libnautilus-extensions/nautilus-drag.h: Fixed a typo. * libnautilus-extensions/nautilus-file-operations.c: (get_link_name): Fix unintialized variable warning in a simple way that avoids adding too much code. (get_duplicate_name): Fix unintialized variable warning in a simple way that avoids adding too much code. (nautilus_file_operations_copy_move): Use the new nautilus_uri_is_trash function to avoid hard-coding incorrect checks for "trash:". * libnautilus-extensions/nautilus-file-utilities.h: * libnautilus-extensions/nautilus-file-utilities.c: (nautilus_uri_is_trash): Add new function to avoid hard-coding incorrect checks for "trash:". (nautilus_make_uri_canonical), Use nautilus_uri_is_trash. * libnautilus-extensions/nautilus-icon-container.h: * libnautilus-extensions/nautilus-icon-container.c: Remove nautilus_icon_container_trash_link_is_in_selection for 3 reasons. It doesn't belong in NautilusIconContainer, the use of it in drag code was incorrectly looking at the destination directory's selection, and it used sync. I/O. * libnautilus-extensions/nautilus-icon-dnd.c: (selection_includes_trash), (nautilus_icon_container_receive_dropped_icons): Changed code to actually check selection -- the old code would check the selection in the target window. Unfortunately this still uses sync. I/O, but that's now covered by bug 3020. * libnautilus-extensions/nautilus-icon-factory.c: (nautilus_icon_factory_get_icon_for_file): Change to use new "local" API for links to make it clear that it uses sync. I/O and only works on local files. * libnautilus-extensions/nautilus-link.h: * libnautilus-extensions/nautilus-link.c: (get_tag), (get_link_type): Added functions to handle tags internally as part of getting rid of tag string values from the API. (nautilus_link_local_create): Changed name to local to emphasize this takes a path not a URI and uses sync. I/O. (local_set_root_property): Share code among the set functions. Before there were a lot of copies of the same code. Also made sure that it does no rewrite of the file if called to set a property to the same value it already has. (nautilus_link_local_set_icon), (nautilus_link_local_set_link_uri), (nautilus_link_local_set_type): Changed name to local to emphasize these take a path not a URI and use sync. I/O. Reimplement by calling local_set_root_property. (nautilus_link_local_get_additional_text): Change name to local and make it take a path instead of a URI to make it clear it uses sync. I/O and doesn't work on remote URIs. (nautilus_link_local_get_image_uri): Change name to local and make it take a path instead of a URI to make it clear it uses sync. I/O and doesn't work on remote URIs. (nautilus_link_local_get_link_uri): Change name to local and make it take a path instead of a URI to make it clear it uses sync. I/O and doesn't work on remote URIs. (nautilus_link_local_get_link_type): Change return value to be the NautilusLinkType enum instead of the type tag string to make the interface cleaner. Also changed name to local to make it clear that it takes a path instead of a URI and uses sync. I/O. (nautilus_link_local_is_volume_link), (nautilus_link_local_is_home_link), (nautilus_link_local_is_trash_link): Changed all three of these to take advantage of the new simpler get_link_type, and changed name to local to make it clear that they take a path instead of a URI and use sync. I/O. * src/file-manager/fm-desktop-icon-view.c: (create_mount_link): Use call by new "local" name. (trash_link_is_selection): Call new "local" function, which now requires a path rather than a URI. (fm_desktop_icon_view_trash_state_changed_callback): Use call by new "local" name. (volume_unmounted_callback): Fix bug where the unmounted callback was using a path as a URI without converting. (find_and_update_home_link): Use call by new "local" name. (place_home_directory): Use call by new "local" name. (find_and_rename_trash_link): Use call by new "local" name. (create_or_rename_trash): Use call by new "local" name. (remove_old_mount_links): Use call by new "local" name. (get_sort_category): Use new get_link_type call and a case statement instead of the old one and a list of string compares. * src/file-manager/fm-directory-view.c: (fm_directory_trash_link_in_selection): Wrote a new version of this function. This is similar to what was in NautilusIconContainer, but the one in there didn't belong there, and didn't really work for other callers. Also, the one in there didn't work at all for the list view case. This new function works for either icon or list view. It still has the limitation that it won't recognize a trash link if it's not local. * src/file-manager/fm-icon-view.c: (get_icon_drop_target_uri_callback): Fix to use new local calls, but still does sync. I/O. Bug 3020 reported about that. (get_icon_text_callback): Changed to use new local calls. Still a problem that it works only locally and uses sync. I/O. Bug 2531 was already reported about that. * src/file-manager/fm-properties-window.c: (get_and_ref_file_to_display): Changed to use new local calls and the simpler link type interface. * src/nautilus-view-frame-private.h: Moved some private declarations here since they are for objects used in one file and declared in another. * src/nautilus-view-frame.h: * src/nautilus-view-frame.c: (nautilus_view_frame_destroy_client): Destroy the "check if view is gone" timeout here; makes more sense than the way it was managed before. (nautilus_view_frame_destroy): Don't destroy the timeout here any more. Also, label was moved into details. (nautilus_view_frame_handle_client_gone): Renamed from handle_client_destroy_2. (view_frame_wait), (view_frame_underway), (view_frame_wait_is_over), (view_frame_loaded), (view_frame_failed): Added functions to implement view frame state machine transitions. (check_if_view_is_gone): Moved code to check if view is gone here; it's now activated automatically without requiring an explicit call to turn it on, since all callers were turning it on at load_client time. (nautilus_view_frame_load_client): Add state management. Moved the code to turn on the object check timeout here. (nautilus_view_frame_load_location): Add state management. (nautilus_view_frame_open_location): Add state management. (nautilus_view_frame_open_location_in_new_window): Add state management. (nautilus_view_frame_open_in_new_window_and_select): Add state management. (nautilus_view_frame_report_location_change): Add state management. (nautilus_view_frame_report_selection_change): Add state management. (nautilus_view_frame_report_status): Add state management. (nautilus_view_frame_report_load_underway): Add state management. (nautilus_view_frame_report_load_progress): Add state management. (nautilus_view_frame_report_load_complete): Add state management. (nautilus_view_frame_report_load_failed): Add state management. (nautilus_view_frame_set_title): Add state management. (nautilus_view_frame_zoom_level_changed): Add state management., (nautilus_view_frame_get_label), (nautilus_view_frame_set_label): Moved label into details structure. * src/nautilus-window-manage-views.c: (nautilus_window_load_sidebar_panel): Fixed code structure a bit (fixes bug 2463) and got rid of call to old nautilus_view_frame_set_active_errors function, which is no longer needed. (nautilus_window_load_content_view): Got rid of call to old nautilus_view_frame_set_active_errors function, which is no longer needed. * src/nautilus-window.c: (window_update_sidebar_panels_from_preferences): Got rid of call to old nautilus_view_frame_set_active_errors function, which is no longer needed.
* completes task 1567. it shows a bug in the way the history view displaysMathieu Lacage2000-08-191-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-08-19 Mathieu Lacage <mathieu@eazel.com> completes task 1567. it shows a bug in the way the history view displays the current location given the history. to be fixed soon. * components/history/nautilus-history-view.c: (history_load_location), (history_title_changed), (make_obj): add title_changed_callback, connect it to changed_title signal. make it call load_location. Hack evil stuff in load_location: a hand-made lock because the function calls some gtk calls which seem to make the main loop run at least once. This allowed the main loop to use the events in the event queue and it happened that the title_changed signal is usually emited more than once so it called again the non-reentrant signal callback... BAD THINGS HAPPENED. * libnautilus/nautilus-view-component.idl: add changed_title method to Nautilus::View. * libnautilus/nautilus-view.c: (impl_Nautilus_View_title_changed), (nautilus_view_initialize_class): implement the new idl function and add a signal for it. * libnautilus/nautilus-view.h: add the new signal class method. * src/nautilus-view-frame-bonobo-control.c: add the title_changed field to the vtable. * src/nautilus-view-frame-nautilus-view.c: (title_changed): idem. * src/nautilus-view-frame-private.h: idem. * src/nautilus-view-frame.c: (nautilus_view_frame_title_changed): add api function to emit the signal and make the actual corba call. * src/nautilus-view-frame.h: add function prototype. * src/nautilus-window-manage-views.c: add calls to (nautilus_window_update_title): to notify view frames of changed titles.
* More work on bug 1750 ("Reveal in New Window" feature forJohn Sullivan2000-08-191-15/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | search results). Now it opens a new window with the right item selected. The only remaining work is to make the new window scroll as necessary to reveal the item. Along the way, fixed an unreported bug where the selection wasn't being maintained on view switches. * libnautilus-extensions/nautilus-gtk-extensions.h: added #define for nautilus_gtk_marshal_NONE__STRING_POINTER. * libnautilus/nautilus-view-component.idl: Added open_in_new_window_and_select call. * libnautilus/nautilus-view.h, * libnautilus/nautilus-view.c: (nautilus_view_open_in_new_window_and_select): * src/nautilus-view-frame-corba.c: (impl_Nautilus_ViewFrame_open_location_in_new_window), (impl_Nautilus_ViewFrame_open_in_new_window_and_select): * src/nautilus-view-frame-private.h: * src/nautilus-view-frame.c: (nautilus_view_frame_initialize_class), (nautilus_view_frame_open_in_new_window_and_select): * src/nautilus-view-frame.h: Wired together the various pieces to get open_in_new_window_and_select across CORBA and into the view frame. * src/nautilus-window.h: added pending_selection field * src/nautilus-window-manage-views.h: added nautilus_window_open_in_new_window_and_select * src/nautilus-window.c: (nautilus_window_open_in_new_window_and_select_callback), (nautilus_window_connect_view): Wiring to connect view frame signals to window. (nautilus_window_destroy): free pending_selection * src/nautilus-window-manage-views.c: (nautilus_window_update_view): Changed call from nautilus_window_report_selection_changed to nautilus_view_frame_selection_changed. This was the source of the selection-not-preserved-across-view-changes bug. Darin came up with this fix. (open_location): Added a new_selection parameter to this bottleneck function. It is set as the pending_selection in the window. (nautilus_window_open_location), (nautilus_window_open_location_in_new_window), (nautilus_window_report_location_change): Update existing callers of open_location to pass NULL for new_selection parameter. (nautilus_window_open_in_new_window_and_select): New function, calls open_location with a selection (among other parameters). (nautilus_window_update_state): When loading a new location, set the location to pending_selection rather than NULL (and clear pending_selection later so it doesn't unnecessarily hang around). * src/file-manager/fm-search-list-view.c: (reveal_selected_items_callback): Call open_in_new_window_and_select instead of just open_location_in_new_window
* Cleans up the HistoryFrame : remove the History object and replaces itMathieu Lacage2000-08-181-2/+2
| | | | | | | | | | | | | | | | | 2000-08-18 Mathieu Lacage <mathieu@eazel.com> Cleans up the HistoryFrame : remove the History object and replaces it with HistoryList. * components/history/nautilus-history-view.c: (get_history_list), (history_load_location): * libnautilus/nautilus-view-component.idl: * src/nautilus-history-frame.c: * src/nautilus-view-frame.c: (nautilus_view_frame_get_history_list): * src/nautilus-view-frame.h: * src/nautilus-window.c: (nautilus_window_get_history_list_callback):
* Fixed bug 1891 (calling set_title before report_load_underway hasDarin Adler2000-08-111-12/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | no effect). * libnautilus-extensions/nautilus-file.c: (destroy): Fix a leak in the symbolic link target hash table. * src/nautilus-application.c: (nautilus_application_startup), (nautilus_application_create_desktop_window), (nautilus_application_open_desktop), (nautilus_application_close_desktop), (nautilus_application_destroyed_window), (nautilus_application_create_window): Simplified the logic for creating and destroying the desktop window a little bit and made it actually unref the desktop window instead of just destroying it. * src/nautilus-switchable-navigation-bar.c: (nautilus_switchable_navigation_bar_initialize), (nautilus_switchable_navigation_bar_set_mode), (nautilus_switchable_navigation_bar_set_location): Added missing code to send out the mode_changed signal and took out a gratuitous FIXME. * src/nautilus-view-frame.h: * src/nautilus-view-frame.c: (nautilus_view_frame_initialize_class), (nautilus_view_frame_initialize), (nautilus_view_frame_destroy), (set_up_for_new_location), (nautilus_view_frame_load_location), (nautilus_view_frame_report_location_change), (nautilus_view_frame_set_title), (nautilus_view_frame_get_title): Changed it so the view frame keeps around the title as passed by the view. It now emits a "title_changed" signal instead of a "set_title" signal and you can get the title with a call to nautilus_view_frame_get_title. * src/nautilus-window.h: * src/nautilus-window.c: (nautilus_window_title_changed_callback), (nautilus_window_connect_view): * src/nautilus-window-manage-views.h: * src/nautilus-window-manage-views.c: (nautilus_window_get_current_location_title), (nautilus_window_update_title), (nautilus_window_set_displayed_location), (nautilus_window_title_changed), (handle_go_elsewhere), (nautilus_window_has_really_changed), (nautilus_window_update_state): Manage the title in a simpler way now that the view frame keeps the title around. * src/nautilus-window-toolbars.c: (set_up_button): Fixed error that would result in a call to gnome_stock_set_icon with NULL. * RPMs-README: Fixed a typo.
* Made copyright headers consistent in style; also made sure to refer toMaciej Stachowiak2000-08-111-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/nautilus-applicable-views.c, src/nautilus-applicable-views.h, src/nautilus-application.c, src/nautilus-application.h, src/nautilus-bookmark-list.c, src/nautilus-bookmark-list.h, src/nautilus-bookmark-parsing.c, src/nautilus-bookmark-parsing.h, src/nautilus-bookmarks-window.c, src/nautilus-bookmarks-window.h, src/nautilus-complex-search-bar.c, src/nautilus-complex-search-bar.h, src/nautilus-desktop-window.c, src/nautilus-desktop-window.h, src/nautilus-first-time-druid.c, src/nautilus-first-time-druid.h, src/nautilus-history-frame.c, src/nautilus-history-frame.h, src/nautilus-link-set-window.c, src/nautilus-link-set-window.h, src/nautilus-location-bar.c, src/nautilus-location-bar.h, src/nautilus-main.c, src/nautilus-navigation-bar.c, src/nautilus-navigation-bar.h, src/nautilus-property-browser.c, src/nautilus-property-browser.h, src/nautilus-search-bar-private.h, src/nautilus-search-bar.c, src/nautilus-search-bar.h, src/nautilus-self-check-functions.c, src/nautilus-self-check-functions.h, src/nautilus-shell.c, src/nautilus-shell.h, src/nautilus-sidebar-tabs.c, src/nautilus-sidebar-tabs.h, src/nautilus-sidebar-title.c, src/nautilus-sidebar-title.h, src/nautilus-sidebar.c, src/nautilus-sidebar.h, src/nautilus-signaller.c, src/nautilus-signaller.h, src/nautilus-simple-search-bar.c, src/nautilus-simple-search-bar.h, src/nautilus-switchable-navigation-bar.c, src/nautilus-switchable-navigation-bar.h, src/nautilus-switchable-search-bar.c, src/nautilus-switchable-search-bar.h, src/nautilus-toolbar.c, src/nautilus-toolbar.h, src/nautilus-view-frame-bonobo-control.c, src/nautilus-view-frame-bonobo-embeddable.c, src/nautilus-view-frame-corba.c, src/nautilus-view-frame-nautilus-view.c, src/nautilus-view-frame-private.h, src/nautilus-view-frame.c,src/nautilus-view-frame.h, src/nautilus-window-manage-views.c, src/nautilus-window-manage-views.h, src/nautilus-window-menus.c, src/nautilus-window-private.h, src/nautilus-window-toolbars.c, src/nautilus-window.c, src/nautilus-window.h, src/nautilus-zoom-control.c, src/nautilus-zoom-control.h, src/nautilus-zoomable-frame-corba.c: Made copyright headers consistent in style; also made sure to refer to Nautilus as Nautilus, not "this library" or "The GNOME Library".
* Changed desktop menu to offer close desktop instead of quit nautilus.Mike Engber2000-07-131-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libnautilus/nautilus-view-component.idl: * libnautilus/nautilus-view.c: * libnautilus/nautilus-view.h: * src/file-manager/fm-desktop-icon-view.c: (fm_desktop_icon_view_close_desktop_menu_item_callback), (fm_desktop_icon_view_create_background_context_menu_items): * src/file-manager/fm-directory-view.c: (fm_directory_view_close_desktop): * src/file-manager/fm-directory-view.h: * src/nautilus-application.c: (nautilus_application_windows), (nautilus_application_startup), (nautilus_application_destroy_desktop_window), (nautilus_application_create_desktop_window), (nautilus_application_open_desktop), (nautilus_application_close_desktop), (nautilus_application_destroy_window), (nautilus_application_create_window): * src/nautilus-application.h: * src/nautilus-desktop-window.c: (nautilus_desktop_window_new): * src/nautilus-shell.c: (corba_manage_desktop): * src/nautilus-view-frame-corba.c: (impl_Nautilus_ViewFrame_set_title): * src/nautilus-view-frame-private.h: * src/nautilus-view-frame.c: (nautilus_view_frame_initialize_class), (nautilus_view_frame_set_title): * src/nautilus-view-frame.h: * src/nautilus-window-manage-views.c: (open_location): * src/nautilus-window.c: (nautilus_window_connect_view): Changed desktop menu to offer close desktop instead of quit nautilus. Also, changed the menu item's action to use a direct fn call instead of CORBA.
* My apologies to all who read the cvs commits list that haveDarin Adler2000-07-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | suffered from my "spam" in the past (due to my use of emacs cvs mode to commit). I will never use emacs cvs mode again so you will see each of my commits only once! * src/file-manager/fm-error-reporting.c: (rename_callback_data_free), (rename_callback), (cancel_rename_callback), (fm_rename_file): Finished the 1/2 done code for renaming. * src/nautilus-main.c: (main): Removed the call to bonobo_shutdown since Michael decided he won't do it this way any more. * src/nautilus-window.c: (nautilus_window_destroy): Added code to unref the UI handler to fix a leak. * components/hardware/nautilus-hardware-view.h: * components/loser/content/nautilus-content-loser.h: * components/loser/sidebar/nautilus-sidebar-loser.h: * components/mozilla/nautilus-mozilla-content-view.h: * components/music/nautilus-music-view.h: * components/rpmview/nautilus-rpm-view.h: * components/services/install/lib/eazel-install-corba-callback.h: * components/services/install/lib/eazel-install-public.h: * components/services/install/nautilus-view/nautilus-service-install-view.h: * components/services/inventory/nautilus-view/nautilus-inventory-view.h: * components/services/login/nautilus-view/nautilus-login-view.h: * components/services/startup/nautilus-view/nautilus-service-startup-view.h: * components/services/summary/nautilus-view/nautilus-summary-view.h: * components/services/time/nautilus-view/trilobite-eazel-time-view.h: * components/services/time/service/trilobite-eazel-time-service-public.h: * components/services/trilobite/libtrilobite/trilobite-root-helper.h: * components/services/trilobite/libtrilobite/trilobite-service-passwordquery-public.h: * components/services/trilobite/libtrilobite/trilobite-service-public.h: * components/services/trilobite/sample/lib/sample-service-public.h: * components/tree/nautilus-tree-view.h: * libnautilus/nautilus-view.h: * libnautilus/nautilus-zoomable.h: * src/file-manager/fm-desktop-icon-view.h: * src/file-manager/fm-directory-view.h: * src/file-manager/fm-icon-view.h: * src/file-manager/fm-list-view.h: * src/nautilus-application.h: * src/nautilus-shell.h: * src/nautilus-view-frame.h: Fixed a copied and pasted typo.
* Hooked up the quit menu in the desktop context menu to quit Nautilus. Now,Mike Engber2000-07-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libnautilus/nautilus-view-component.idl: * libnautilus/nautilus-view.c: (nautilus_view_quit_nautilus): * libnautilus/nautilus-view.h: * src/file-manager/fm-desktop-icon-view.c: (fm_desktop_icon_view_quit_menu_item_callback), (fm_desktop_icon_view_create_background_context_menu_items): * src/file-manager/fm-directory-view.c: (fm_directory_view_quit_nautilus): * src/file-manager/fm-directory-view.h: * src/nautilus-application.c: (nautilus_application_startup), (nautilus_application_destroy_window): * src/nautilus-application.h: * src/nautilus-desktop-window.c: (nautilus_desktop_window_new): * src/nautilus-view-frame-corba.c: (impl_Nautilus_ViewFrame_set_title), (impl_Nautilus_ViewFrame_quit_nautilus): * src/nautilus-view-frame-private.h: * src/nautilus-view-frame.c: (nautilus_view_frame_initialize_class), (nautilus_view_frame_set_title), (nautilus_view_frame_quit_nautilus): * src/nautilus-view-frame.h: * src/nautilus-window-manage-views.c: (nautilus_window_load_content_view): * src/nautilus-window.c: (nautilus_window_quit_nautilus_callback), (nautilus_window_connect_view): Hooked up the quit menu in the desktop context menu to quit Nautilus. Now, if Nautilus is managing the desktop no default window is created and Nautilus does not quit when the last window is closed - i.e. use the quit menu item instead. Bugs 1050 and 1051.
* Changed history list to include a separate position field instead ofDarin Adler2000-07-111-36/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * components/history/nautilus-history-view.c: (history_view_update_icons), (get_history_list), (hyperbola_navigation_history_load_location): * libnautilus/nautilus-view-component.idl: * src/nautilus-history-frame.c: (impl_Nautilus_HistoryFrame_get_history_list): * src/nautilus-view-frame.h: * src/nautilus-view-frame.c: (nautilus_view_frame_get_history_list): * src/nautilus-window.c: (nautilus_window_get_history_list_callback), (nautilus_window_connect_view): Changed history list to include a separate position field instead of having a position in each entry. * components/notes/nautilus-notes.c: (done_with_file): Name changed from nautilus_file_cancel_callback to nautilus_file_cancel_call_when_ready to reduce confusion with nautilus_file_cancel. * libnautilus-extensions/nautilus-directory.c: (nautilus_directory_get): Made NULL for URI be legal (and result in NULL for the directory object). * libnautilus-extensions/nautilus-mime-actions.c: (get_mime_type_from_uri): Made NULL for URI be legal (and result in NULL for MIME type). * libnautilus-extensions/nautilus-entry.c: (nautilus_entry_set_text): Minor tweak. * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-file-private.h: * libnautilus-extensions/nautilus-file.c: (operation_new), (operation_free), (operation_complete), (operation_cancel), (rename_update_info_and_metafile), (rename_callback), (nautilus_file_rename), (nautilus_file_cancel), (nautilus_file_set_owner), (nautilus_file_cancel_call_when_ready): Added cancelling to rename as a prelude to doing the same for set_file_info-based calls. * libnautilus-extensions/nautilus-graphic.c: Fixed a formatting mistake and a typo. * libnautilus-extensions/nautilus-stock-dialogs.h: * libnautilus-extensions/nautilus-stock-dialogs.c: (timed_wait_hash), (timed_wait_hash_equal), (nautilus_timed_wait_start), (nautilus_timed_wait_free), (nautilus_timed_wait_stop): Re-did timed wait API now that we are really using it. Still unimplemented. * src/Makefile.am: Since IDL dependencies are not understood by automake, added an explicit one so we pick up the change to the libnautilus view component IDL. * src/file-manager/fm-error-reporting.h: * src/file-manager/fm-error-reporting.c: (rename_callback), (cancel_rename_callback), (fm_rename_file): Moved code for renaming into here so it can be shared between the icon view and the properties dialog. Perhaps it needs to be renamed. * src/file-manager/fm-icon-view.c: (fm_icon_view_icon_text_changed_callback): Use the shared code instead of having the rename code here. * src/nautilus-application.c: (create_object): Make a new shell object each time instead of trying to share one. (nautilus_application_startup): Activate the shell object using OAF. This makes it work across processes and adds the feature. * src/nautilus-main.c: (main): Call bonobo_activate explicitly so CORBA calls work before the main loop. * src/nautilus-shell.c: (display_caveat_first_time), (corba_manage_desktop): Got rid of all state in NautilusShell so we can use multiple shell objects if we want. * src/nautilus-sidebar.c: (nautilus_sidebar_update_info): Got rid of code that checks for NULL.
* Fixed bug 1571, Need titles in history list instead of just URIs.Gene Z. Ragan2000-07-071-33/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-07-06 Gene Z. Ragan <gzr@eazel.com> Fixed bug 1571, Need titles in history list instead of just URIs. This was a result of sharing the NautilusWindow history list information over CORBA. * libnautilus/nautilus-view-component.idl: Create new interface, Nautilus::HistoryFrame Interface has method to get a sequence of history information. This sequence contains structs that contain uri and name history information. * src/Makefile.am: Added new file, NautilusHistoryFrame.c, to makefile. * src/nautilus-history-frame.c: * src/nautilus-history-frame.h: (impl_Nautilus_HistoryFrame__destroy), (impl_Nautilus_HistoryFrame__create), (impl_Nautilus_HistoryFrame_get_history_list): New files that imliments the functionality of the Nautilus::HistoryFrame. * components/history/nautilus-history-view.c: (get_bookmark_from_row), (get_uri_from_row), (history_view_frame_call_begin), (history_view_frame_call_end), (history_view_update_icons), (get_history_list), (hyperbola_navigation_history_load_location), (hyperbola_navigation_history_select_row), (do_destroy), (make_obj), (main): Changes in the way that the history list is maintained. We now use the info that is received by asking the view frame for history information. * src/nautilus-view-frame.c: * src/nautilus-view-frame.h: (nautilus_view_frame_initialize_class), (nautilus_view_frame_load_client), (nautilus_view_frame_get_history_list): Added new signal GET_HISTORY_LIST and new function that emits the signal when called. * src/nautilus-window.c: (nautilus_window_connect_view): Create and add history interface to connected view. (nautilus_window_get_history_list_callback): New signal handler that connects to the get_history_list signal of NautilusViewFrame. Returns a Nautilus_HistoryList created from the history list data.
* Added get_preferred_zoom_levels. Fixed zoom-control to use this info toMike Engber2000-06-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libnautilus/nautilus-view-component.idl: * libnautilus/nautilus-zoomable.c: (nautilus_g_list_from_ZoomLevelList), (nautilus_ZoomLevelList_from_zoom_levels), (impl_Nautilus_Zoomable__get_is_continuous), (impl_Nautilus_Zoomable__get_preferred_zoom_level_list), (nautilus_zoomable_initialize_class), (nautilus_zoomable_set_arg), (nautilus_zoomable_get_arg), (nautilus_zoomable_new), (nautilus_zoomable_new_from_bonobo_control), (nautilus_zoomable_destroy): * libnautilus/nautilus-zoomable.h: * src/file-manager/fm-directory-view.c: (fm_directory_view_initialize): * src/nautilus-view-frame.c: (nautilus_view_frame_get_max_zoom_level), (nautilus_view_frame_get_preferred_zoom_levels): * src/nautilus-view-frame.h: * src/nautilus-window.c: (nautilus_window_zoom_level_changed_callback): * src/nautilus-zoom-control.c: (nautilus_zoom_control_initialize), (create_zoom_menu_item), (create_zoom_menu), (nautilus_zoom_control_set_max_zoom_level), (nautilus_zoom_control_set_preferred_zoom_levels): * src/nautilus-zoom-control.h: Added get_preferred_zoom_levels. Fixed zoom-control to use this info to generate it's right click menu.
* Removed zoom_to_default and zoom_parameters_changed. The nautilus-windowMike Engber2000-06-271-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libnautilus/nautilus-view-component.idl: * libnautilus/nautilus-zoomable.c: (impl_Nautilus_Zoomable__get_is_continuous), (nautilus_zoomable_initialize_class), (nautilus_zoomable_get_arg), (nautilus_zoomable_ensure_zoomable_frame): * src/file-manager/fm-directory-view.c: (fm_directory_view_initialize), (zoomable_zoom_to_fit_callback), (fm_directory_view_set_zoom_level): * src/file-manager/fm-directory-view.h: * src/file-manager/fm-icon-view.c: (fm_icon_view_begin_loading), (fm_icon_view_set_zoom_level), (fm_icon_view_bump_zoom_level), (fm_icon_view_zoom_to_level), (fm_icon_view_restore_default_zoom_level): * src/file-manager/fm-list-view.c: (fm_list_view_bump_zoom_level), (fm_list_view_zoom_to_level), (fm_list_view_restore_default_zoom_level), (fm_list_view_begin_loading), (fm_list_view_set_zoom_level): * src/nautilus-view-frame.c: (nautilus_view_frame_initialize_class), (nautilus_view_frame_zoom_level_changed): * src/nautilus-view-frame.h: * src/nautilus-window.c: (zoom_to_fit_callback), (nautilus_window_constructed), (nautilus_window_zoom_level_changed_callback), (nautilus_window_connect_view): * src/nautilus-zoom-control.c: (nautilus_zoom_control_class_initialize), (nautilus_zoom_control_initialize), (nautilus_zoom_control_button_press_event): * src/nautilus-zoom-control.h: * src/nautilus-zoomable-frame-corba.c: (impl_Nautilus_ZoomableFrame_report_zoom_level_changed): Removed zoom_to_default and zoom_parameters_changed. The nautilus-window now queries the zoomable for max and min before showing the zoom control.
* Added report_zoom_parameters_changed to the zoomable interface. ThisMike Engber2000-06-271-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libnautilus-extensions/nautilus-gtk-extensions.c: (nautilus_gtk_marshal_NONE__DOUBLE_DOUBLE_DOUBLE): * libnautilus-extensions/nautilus-gtk-extensions.h: * libnautilus/nautilus-view-component.idl: * libnautilus/nautilus-zoomable.c: (nautilus_zoomable_set_parameters), (nautilus_zoomable_set_zoom_level): * libnautilus/nautilus-zoomable.h: * src/file-manager/fm-directory-view.c: (fm_directory_view_set_zoom_level), (fm_directory_view_set_zoom_parameters): * src/file-manager/fm-directory-view.h: * src/file-manager/fm-icon-view.c: (fm_icon_view_begin_loading), (fm_icon_view_set_zoom_level), (fm_icon_view_init_zoom_params), (fm_icon_view_bump_zoom_level), (fm_icon_view_zoom_to_level), (fm_icon_view_restore_default_zoom_level): * src/file-manager/fm-list-view.c: (fm_list_view_bump_zoom_level), (fm_list_view_zoom_to_level), (fm_list_view_restore_default_zoom_level), (fm_list_view_begin_loading), (fm_list_view_set_zoom_level), (fm_list_view_init_zoom_params): * src/nautilus-view-frame-private.h: * src/nautilus-view-frame.c: (nautilus_view_frame_initialize_class), (nautilus_view_frame_zoom_parameters_changed): * src/nautilus-view-frame.h: * src/nautilus-window.c: (nautilus_window_zoom_level_changed_callback), (nautilus_window_zoom_parameters_changed_callback), (nautilus_window_connect_view): * src/nautilus-zoom-control.c: (nautilus_zoom_control_initialize), (draw_number_and_disable_arrows), (zoom_menu_callback), (create_zoom_menu_item), (nautilus_zoom_control_button_press_event), (nautilus_zoom_control_set_zoom_level), (nautilus_zoom_control_set_min_zoom_level), (nautilus_zoom_control_set_max_zoom_level), (nautilus_zoom_control_get_zoom_level), (nautilus_zoom_control_get_min_zoom_level), (nautilus_zoom_control_get_max_zoom_level): * src/nautilus-zoom-control.h: * src/nautilus-zoomable-frame-corba.c: (impl_Nautilus_ZoomableFrame_report_zoom_level_changed), (impl_Nautilus_ZoomableFrame_report_zoom_parameters_changed): Added report_zoom_parameters_changed to the zoomable interface. This allows the zoom control to get min/max from the zoomable (as opposed to hard coding in values) Also fixed the zoom control to now use just doubles. Renamed the zoom_level_changed message to be report_zoom_level_changed in accordance with convention.
* Removed zoom_to_level from the zoomable interface - starting on theMichael Engber2000-06-231-2/+0
| | | | | | | | | | | | | | | | | | | | | 2000-06-22 Michael Engber <engber@eazel.com> * libnautilus/nautilus-view-component.idl: * libnautilus/nautilus-zoomable.c: (nautilus_zoomable_initialize_class): * src/file-manager/fm-directory-view.c: (fm_directory_view_initialize), (nautilus_zoom_level_from_double), (zoomable_set_zoom_level_callback): * src/nautilus-view-frame.c: * src/nautilus-view-frame.h: * src/nautilus-window.c: (zoom_to_level_callback): * src/nautilus-zoom-control.c: (nautilus_zoom_control_class_initialize), (zoom_menu_callback), (zoom_menu_item_free_zoom_level), (create_zoom_menu_item), (create_zoom_menu): Removed zoom_to_level from the zoomable interface - starting on the process of removing the zoom control being tied to 7 discrete icon sizes. Bug #1425
* Fixed bug #306, right click menu in zoom control doesn't work. The menuGene Z. Ragan2000-06-131-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-13 Gene Z. Ragan <gzr@eazel.com> Fixed bug #306, right click menu in zoom control doesn't work. The menu now works. * libnautilus/nautilus-view-component.idl: Added zoom_to_level interface. * libnautilus/nautilus-zoomable.c: (impl_Nautilus_Zoomable_zoom_to_level): (nautilus_zoomable_initialize_class): Implimentation of zoom_to_level interface * src/file-manager/fm-directory-view.c: * src/file-manager/fm-directory-view.h: (fm_directory_view_initialize_class), (fm_directory_view_initialize), (zoomable_zoom_to_level_callback), (fm_directory_view_zoom_to_level): Added signal handling and callback for new ZOOM_TO_LEVEL signal. * src/file-manager/fm-icon-view.c: (fm_icon_view_zoom_to_level), (fm_icon_view_initialize_class): ZOOM_TO_LEVEL handling. * src/file-manager/fm-list-view.c: (fm_list_view_initialize_class), (fm_list_view_zoom_to_level), (fm_list_view_restore_default_zoom_level): ZOOM_TO_LEVEL handling. * src/nautilus-view-frame.c: * src/nautilus-view-frame.h: (nautilus_view_frame_zoom_to_level): New public function for zoom to level. * src/nautilus-window.c: (zoom_to_level_callback): Yes, a zoom to level callback. * src/nautilus-zoom-control.c: * src/nautilus-zoom-control.h: (nautilus_zoom_control_class_initialize), (zoom_menu_callback), (create_zoom_menu), (set_zoom_level): Enabled context zoom menu functionality.
* Fixed bug #305. CLicking in center of zoom control does not change zoomGene Z. Ragan2000-06-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-13 Gene Z. Ragan <gzr@eazel.com> Fixed bug #305. CLicking in center of zoom control does not change zoom level. Clicking in the center of the zoom control emits a ZOOM_DEFAULT signal. It is up to each view that connects to this signal to determine what is the default zoom setting. Right now, all views are using NAUTILUS_ZOOM_LEVEL_STANDARD. This could be changed to a zoom level better suited for the view. * libnautilus/nautilus-view-component.idl: Added zoom_default interface. * libnautilus/nautilus-zoomable.c: * libnautilus/nautilus-zoomable.h: (impl_Nautilus_Zoomable_zoom_default) Implimetation function of zoom_default interface (nautilus_zoomable_initialize_class): Set up new ZOOM_DEFAULT signal. * src/file-manager/fm-directory-view.c: * src/file-manager/fm-directory-view.h: (fm_directory_view_initialize_class), (fm_directory_view_initialize), (zoom_out_callback), (zoom_default_callback), (zoomable_zoom_default_callback), (fm_directory_view_restore_default_zoom_level): New functions to enable zoom to default. * src/file-manager/fm-icon-view.c: (fm_icon_view_initialize_class): Override zoom_default method. (fm_icon_view_restore_default_zoom_level), New function to enable zoom to default. * src/file-manager/fm-list-view.c: (fm_list_view_initialize_class): Override zoom_default method. (fm_list_view_restore_default_zoom_level): New function to enable zoom to default. * src/file-manager/fm-properties-window.c: (create_basic_page): * src/nautilus-view-frame.c: * src/nautilus-view-frame.h: (nautilus_view_frame_zoom_default): New signal handling callback * src/nautilus-window.c: (zoom_default_callback): New signal handling callback * src/nautilus-zoom-control.c: * src/nautilus-zoom-control.h: (nautilus_zoom_control_class_initialize), (nautilus_zoom_control_button_press_event): Work in progress on bug #971 * src/file-manager/fm-directory-view.c: (open_one_properties_window), * libnautilus-extensions/nautilus-undo-signal-handlers.c: (nautilus_entry_user_changed_callback), (editable_register_edit_undo), (restore_editable_from_undo_snapshot_callback):
* Renamed and changed around parameters for the basic operations onDarin Adler2000-06-131-60/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | views to simplify and clarify Nautilus. Later we will be able to clean up the state machine. Some "theoretical" stuff may be lost in this process, but we can easily re-add what we really need. The old stuff had many unimplemented placeholders and half-baked ideas. * libnautilus/nautilus-view-component.idl: * libnautilus/nautilus-view.h: * libnautilus/nautilus-view.c: * libnautilus/nautilus-zoomable.c: (nautilus_zoomable_ensure_zoomable_frame), (nautilus_zoomable_set_zoom_level): * src/nautilus-applicable-views.c: (got_file_info_callback), (got_metadata_callback), (nautilus_navigation_info_new), (nautilus_navigation_info_free): * src/nautilus-applicable-views.h: * src/nautilus-view-frame-bonobo-control.c: (nautilus_view_frame_activate_uri), (bonobo_control_try_load_client), (bonobo_control_load_location): * src/nautilus-view-frame-bonobo-embeddable.c: (bonobo_subdoc_notify_location_change), (bonobo_subdoc_try_load_client): * src/nautilus-view-frame-corba.c: (impl_Nautilus_ViewFrame__destroy), (impl_Nautilus_ViewFrame__create), (impl_Nautilus_ViewFrame_open_location), (impl_Nautilus_ViewFrame_open_location_in_new_window), (impl_Nautilus_ViewFrame_report_location_change), (impl_Nautilus_ViewFrame_report_selection_change), (impl_Nautilus_ViewFrame_report_status), (impl_Nautilus_ViewFrame_report_load_underway), (impl_Nautilus_ViewFrame_report_load_progress), (impl_Nautilus_ViewFrame_report_load_complete), (impl_Nautilus_ViewFrame_report_load_failed), (impl_Nautilus_ViewFrame_set_title): * src/nautilus-view-frame-nautilus-view.c: (nautilus_view_try_load_client), (load_location), (stop_loading), (selection_changed): * src/nautilus-view-frame-private.h: * src/nautilus-view-frame.c: (nautilus_view_frame_initialize_class), (nautilus_view_frame_destroy_client), (nautilus_view_frame_handle_client_destroy_2), (nautilus_view_frame_new), (nautilus_view_frame_load_client), (nautilus_view_frame_load_location), (nautilus_view_frame_stop_loading), (nautilus_view_frame_selection_changed), (nautilus_view_frame_is_zoomable), (nautilus_view_frame_open_location), (nautilus_view_frame_open_location_in_new_window), (nautilus_view_frame_report_location_change), (nautilus_view_frame_report_selection_change), (nautilus_view_frame_report_status), (nautilus_view_frame_report_load_underway), (nautilus_view_frame_report_load_progress), (nautilus_view_frame_report_load_complete), (nautilus_view_frame_report_load_failed), (nautilus_view_frame_set_title), (nautilus_view_frame_zoom_level_changed): * src/nautilus-view-frame.h: * src/nautilus-zoomable-frame-corba.c: (impl_Nautilus_ZoomableFrame__destroy), (impl_Nautilus_ZoomableFrame__create), (impl_Nautilus_ZoomableFrame_zoom_level_changed): Changed the API and added a ton of comments. * components/hardware/nautilus-hardware-view.c: (nautilus_hardware_view_initialize), (hardware_view_load_location_callback): * components/help/hyperbola-nav-index.c: (hyperbola_navigation_index_select_row): * components/help/hyperbola-nav-search.c: (hyperbola_navigation_search_select_row): * components/help/hyperbola-nav-tree.c: (hyperbola_navigation_tree_new), (hyperbola_navigation_tree_load_location), (hyperbola_navigation_tree_select_row): * components/history/nautilus-history-view.c: (hyperbola_navigation_history_load_location), (hyperbola_navigation_history_select_row), (make_obj): * components/html/ntl-web-browser.c: (browser_url_load_done), (browser_vfs_callback), (browser_goto_url_real), (browser_goto_url), (browser_select_url), (browser_title_changed), (browser_notify_location_change): * components/loser/content/nautilus-content-loser.c: (nautilus_content_loser_initialize), (loser_load_location_callback): * components/loser/sidebar/nautilus-sidebar-loser.c: (nautilus_sidebar_loser_initialize), (loser_load_location_callback): * components/music/nautilus-music-view.c: (nautilus_music_view_initialize), (music_view_load_location_callback): * components/notes/nautilus-notes.c: (notes_load_location), (make_notes_view): * components/rpmview/nautilus-rpm-view.c: (nautilus_rpm_view_initialize), (go_to_button_callback), (rpm_view_load_location_callback): * components/sample/nautilus-sample-content-view.c: (nautilus_sample_content_view_initialize), (sample_load_location_callback): * components/services/startup/nautilus-view/nautilus-service-startup-view.c: (go_to_uri), (nautilus_service_startup_view_initialize), (service_load_location_callback): * components/services/time/nautilus-view/trilobite-eazel-time-view.c: (trilobite_eazel_time_view_initialize), (load_location_callback): * components/websearch/ntl-web-search.c: (do_search), (make_obj): * src/file-manager/fm-directory-view.c: (fm_directory_view_switch_location), (fm_directory_view_initialize), (display_selection_info), (fm_directory_view_send_selection_change), (load_location_callback), (selection_changed_callback), (stop_loading_callback), (done_loading), (finish_loading_uri): Switch components to use the new API. * libnautilus-extensions/nautilus-gtk-extensions.h: Added a placeholder for a new operation to get the first child of a container. This will be way more efficient than all the code that gets a list of all the children and then looks at the first one. * src/nautilus-application.c: (manufactures), (create_object), (create_factory), (nautilus_application_initialize_class), (nautilus_application_initialize), (nautilus_application_new), (nautilus_application_destroy), (nautilus_application_check_user_directories), (nautilus_application_startup), (nautilus_application_destroy_window), (nautilus_application_quit), (nautilus_application_create_window): * src/nautilus-application.h: * src/nautilus-desktop-window.c: (nautilus_desktop_window_new): * src/nautilus-desktop-window.h: * src/nautilus-main.c: (main): Renamed NautilusApp -> NautilusApplication while changing it around. * libnautilus-extensions/nautilus-undo-manager.h: Add a blank line. * src/nautilus-window-manage-views.h: * src/nautilus-window-manage-views.c: (compare_strings), (nautilus_window_report_selection_change): Changed code so that it won't report the same selection change twice. (nautilus_window_report_status), (nautilus_window_report_load_underway), (nautilus_window_report_load_progress), (nautilus_window_report_load_complete), (nautilus_window_report_load_failed), (compute_default_title), (nautilus_window_set_title), (handle_go_back), (handle_go_forward), (handle_go_elsewhere), (update_up_button), (nautilus_window_update_internals), (nautilus_window_update_view), (nautilus_window_view_destroyed), (nautilus_window_has_really_changed), (nautilus_window_load_sidebar_panel), (open_location), (nautilus_window_open_location), (nautilus_window_open_location_in_new_window), (nautilus_window_report_location_change), (nautilus_window_load_content_view), (nautilus_window_update_state), (nautilus_window_end_location_change_callback), (nautilus_window_begin_location_change): Updated everything for the new API. * src/nautilus-window-menus.c: (file_menu_new_window_callback), (edit_menu_undo_callback), (edit_menu_cut_callback), (edit_menu_copy_callback), (edit_menu_paste_callback), (edit_menu_clear_callback), (append_bookmark_to_menu), (clear_appended_bookmark_items), (nautilus_window_add_bookmark_for_current_location), (append_separator), (new_top_level_menu), (nautilus_window_initialize_menus), (update_user_level_menu_items): * src/nautilus-window-private.h: * src/nautilus-window-toolbars.c: (setup_button), (nautilus_window_initialize_toolbars), (nautilus_window_toolbar_remove_theme_callback): * src/nautilus-window.c: (nautilus_window_class_init), (nautilus_window_goto_uri), (nautilus_window_constructed), (nautilus_window_set_arg), (nautilus_window_get_arg), (nautilus_window_destroy), (nautilus_window_switch_views), (view_menu_choose_view_callback), (nautilus_window_load_content_view_menu), (nautilus_window_back_or_forward), (nautilus_window_go_up), (nautilus_window_allow_back), (nautilus_window_allow_forward), (nautilus_window_allow_up), (nautilus_window_open_location_callback), (nautilus_window_open_location_in_new_window_callback), (nautilus_window_report_location_change_callback), (nautilus_window_report_selection_change_callback), (nautilus_window_report_status_callback), (nautilus_window_report_load_underway_callback), (nautilus_window_report_load_progress_callback), (nautilus_window_report_load_complete_callback), (nautilus_window_report_load_failed_callback), (nautilus_window_set_title_callback), (nautilus_window_connect_view), (nautilus_window_connect_content_view), (nautilus_window_reload), (window_update_sidebar_panels_from_preferences): * src/nautilus-window.h: Other changes related to the API switchover. * src/nautilus.oafinfo: Changed the ntl-xx iids to use the work nautilus instead.
* Another cut on the desktop. Way closer.Darin Adler2000-05-311-35/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-generous-bin.h: * libnautilus-extensions/nautilus-generous-bin.c: Added a new class NautilusGenerousBin. This is a GtkBin subclass that gives its entire allocation to its child. Used both in the widgetry for desktop windows and as a base class for NautilusViewFrame for now. * libnautilus-extensions/nautilus-gnome-extensions.c: (turn_on_line_wrap_flag), (turn_on_line_wrap_flag_callback): Changed to use gtk_container_foreach instead of the old gtk_container_children, since I now understand that the latter is just a convenience cover for the former. * src/Makefile.am: * src/nautilus-window-state.c: [removed] * src/nautilus-window-state.h: [removed] The only function in here was a wonky one that did goto_uri of go_home depending on the parameter. Changed the callers and things got clearer anyway. * src/nautilus-application.h: * src/nautilus-application.c: (display_caveat), (nautilus_app_startup): * src/nautilus-main.c: (main): Changed rules about which windows are created on startup. This puts us into a slightly bad state because it's now easy to create a desktop window with no way to get rid of it. * src/nautilus-desktop-window.h: * src/nautilus-desktop-window.c: (nautilus_desktop_window_initialize_class), (nautilus_desktop_window_initialize), (destroy), (realize): A better cut at the desktop window creation that now mostly works. * src/nautilus-main.c: (main): Changed the "--desktop" option's name to "--manage-desktop". * src/nautilus-view-frame.h: * src/nautilus-view-frame.c: (nautilus_view_frame_initialize_class), (nautilus_view_frame_initialize), (nautilus_view_frame_destroy_client), (nautilus_view_frame_destroy), (nautilus_view_frame_construct_arg_set): Changed to use NautilusGenerousBin as base class. Also use the Nautilus boilerplate macros. * src/nautilus-window-manage-views.c: (nautilus_window_request_location_change): Use goto_uri instead of set_initial_state. * src/nautilus-window-private.h: * src/nautilus-window.h: * src/nautilus-window.c: (nautilus_window_go_home): Make go_home public and move the actual code needed to go to the home package into the function. * src/nautilus-window.c: (nautilus_window_constructed): Reduced the amount of hackery on behalf of the desktop window and used the NautilusGenerousBin class.
* components/history/ntl-history-view.c ->Maciej Stachowiak2000-05-271-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Renamed files as follows, as per RENAMING: components/history/ntl-history-view.c -> components/history/nautilus-history-view.c components/history/ntl-history-view.oafinfo -> components/history/nautilus-history-view.oafinfo components/notes/ntl-notes.c -> components/notes/nautilus-notes.c components/notes/ntl-notes.oafinfo -> components/notes/nautilus-notes.oafinfo libnautilus-extensions/gtkscrollframe.c -> libnautilus-extensions/nautilus-scroll-frame.c libnautilus-extensions/gtkscrollframe.h -> libnautilus-extensions/nautilus-scroll-frame.h libnautilus/nautilus-view-frame.c -> libnautilus/nautilus-view.c libnautilus/nautilus-view-frame.h -> libnautilus/nautilus-view.h src/nautilus-index-tabs.c -> src/nautilus-sidebar-tabs.c src/nautilus-index-tabs.h -> src/nautilus-sidebar-tabs.h src/nautilus-index-title.c -> src/nautilus-sidebar-title.c src/nautilus-index-title.h -> src/nautilus-sidebar-title.h src/nautilus-zoomable-frame-svr.c -> src/nautilus-zoomable-frame-corba.c src/ntl-app.c -> src/nautilus-application.c src/ntl-app.h -> src/nautilus-application.h src/ntl-index-panel.c -> src/nautilus-sidebar.c src/ntl-index-panel.h -> src/nautilus-sidebar.h src/ntl-main.c -> src/nautilus-main.c src/ntl-miniicon.c -> libnautilus-extensions/nautilus-mini-icon.c src/ntl-miniicon.h -> libnautilus-extensions/nautilus-mini-icon.h src/ntl-uri-map.c -> src/nautilus-applicable-views.c src/ntl-uri-map.h -> src/nautilus-applicable-views.h src/ntl-view-bonobo-control.c -> src/nautilus-view-frame-bonobo-control.c src/ntl-view-bonobo-subdoc.c -> src/nautilus-view-frame-bonobo-embeddable.c src/ntl-view-frame-svr.c -> src/nautilus-view-frame-corba.c src/ntl-view-nautilus.c -> src/nautilus-view-frame-nautilus-view.c src/ntl-view-private.h -> src/nautilus-view-frame-private.h src/ntl-view.c -> src/nautilus-view-frame.c src/ntl-view.h -> src/nautilus-view-frame.h src/ntl-window-msgs.c -> src/nautilus-window-manage-views.c src/ntl-window-msgs.h -> src/nautilus-window-manage-views.h src/ntl-window-private.h -> src/nautilus-window-private.h src/ntl-window-state.c -> src/nautilus-window-state.c src/ntl-window-state.h -> src/nautilus-window-state.h src/ntl-window.c -> src/nautilus-window.c src/ntl-window.h -> src/nautilus-window.h * components/history/Makefile.am, components/notes/Makefile.am, libnautilus-extensions/Makefile.am, libnautilus/Makefile.am, po/POTFILES.in, src/Makefile.am, components/hardware/nautilus-hardware-view.h, components/loser/content/nautilus-content-loser.h, components/loser/sidebar/nautilus-sidebar-loser.h, components/mozilla/nautilus-mozilla-content-view.h, components/music/nautilus-music-view.h, components/rpmview/nautilus-rpm-view.h, components/sample/nautilus-sample-content-view.h, components/services/startup/nautilus-view/nautilus-service-startup-view.h, libnautilus/libnautilus.h, src/nautilus-desktop-window.h, src/nautilus-window-menus.c, src/nautilus-window-toolbars.c, src/file-manager/fm-directory-view.h : Updated for renamings. * RENAMING: removed old renamings
* [removed] [removed]Darin Adler2000-05-251-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * components/hardware/nautilus-hardware-view.c: (nautilus_hardware_view_initialize), (hardware_view_notify_location_change_callback): * components/hardware/nautilus-hardware-view.h: * components/help/hyperbola-nav-index.c: (hyperbola_navigation_index_select_row): * components/help/hyperbola-nav-search.c: (hyperbola_navigation_search_select_row), (hyperbola_navigation_search_new): * components/html/ntl-web-browser.c: (browser_url_load_done), (browser_vfs_callback), (browser_goto_url_real), (browser_goto_url), (browser_select_url), (browser_title_changed), (browser_notify_location_change), (make_obj): * components/loser/content/main.c: (loser_make_object): * components/loser/content/nautilus-content-loser.c: (nautilus_content_loser_initialize), (loser_notify_location_change_callback): * components/loser/content/nautilus-content-loser.h: * components/loser/sidebar/main.c: (loser_make_object): * components/loser/sidebar/nautilus-sidebar-loser.c: (nautilus_sidebar_loser_initialize), (loser_notify_location_change_callback): * components/mozilla/main.c: (mozilla_make_object): * components/mozilla/nautilus-mozilla-content-view.c: (nautilus_mozilla_content_view_initialize), (mozilla_content_view_request_progress_change), (mozilla_content_view_request_location_change), (mozilla_notify_location_change_callback), (mozilla_title_changed_callback), (mozilla_link_message_callback): * components/mozilla/nautilus-mozilla-content-view.h: * components/music/main.c: (music_view_make_object): * components/music/nautilus-music-view.c: (nautilus_music_view_initialize), (click_column_callback), (music_view_notify_location_change_callback), (nautilus_music_view_drag_data_received): * components/music/nautilus-music-view.h: * components/rpmview/main.c: (rpm_view_make_object): * components/rpmview/nautilus-rpm-view.c: (nautilus_rpm_view_initialize), (rpm_view_notify_location_change_callback): * components/rpmview/nautilus-rpm-view.h: * components/sample/main.c: (sample_make_object): * components/sample/nautilus-sample-content-view.c: (nautilus_sample_content_view_initialize), (sample_notify_location_change_callback): * components/sample/nautilus-sample-content-view.h: * components/services/startup/nautilus-view/main.c: (services_make_object): * components/services/startup/nautilus-view/nautilus-service-startup-view.c: (go_to_uri), (nautilus_service_startup_view_initialize), (service_main_notify_location_change_cb): * components/services/startup/nautilus-view/nautilus-service-startup-view.h: * libnautilus/Makefile.am: * libnautilus/libnautilus.h: * libnautilus/nautilus-content-view-frame.c: [removed] * libnautilus/nautilus-content-view-frame.h: [removed] * libnautilus/nautilus-view-component.idl: * libnautilus/nautilus-view-frame-private.h: * libnautilus/nautilus-view-frame.c: (impl_Nautilus_View_save_state), (impl_Nautilus_View_load_state), (impl_Nautilus_View_notify_location_change), (impl_Nautilus_View_show_properties), (impl_Nautilus_View_notify_selection_change), (impl_Nautilus_View_stop_location_change), (impl_Nautilus_View__destroy), (impl_Nautilus_View__create), (nautilus_view_initialize_class), (nautilus_view_initialize), (nautilus_view_new), (nautilus_view_new_from_bonobo_control), (get_view_frame), (nautilus_view_request_location_change), (nautilus_view_request_selection_change), (nautilus_view_request_status_change), (nautilus_view_request_progress_change), (nautilus_view_request_title_change), (nautilus_view_get_bonobo_control), (nautilus_view_get_main_window): * libnautilus/nautilus-view-frame.h: * src/Makefile.am: * src/file-manager/fm-directory-view.c: (get_bonobo_control), (fm_directory_view_initialize), (display_selection_info), (fm_directory_view_send_selection_change), (notify_location_change_callback), (stop_location_change_callback), (done_loading), (fm_directory_view_activate_file_internal), (finish_loading_uri): * src/file-manager/fm-directory-view.h: * src/ntl-app.c: (impl_Nautilus_Application_create_object): * src/ntl-content-view.c: [removed] * src/ntl-content-view.h: [removed] * src/ntl-uri-map.c: (make_oaf_query_with_known_mime_type), (make_oaf_query_with_uri_scheme_only): * src/ntl-view-frame-svr.c: (impl_Nautilus_ViewFrame__destroy), (impl_Nautilus_ViewFrame__create), (impl_Nautilus_ViewFrame__get_main_window), (impl_Nautilus_ViewFrame_request_location_change), (impl_Nautilus_ViewFrame_request_selection_change), (impl_Nautilus_ViewFrame_request_status_change), (impl_Nautilus_ViewFrame_request_progress_change), (impl_Nautilus_ViewFrame_request_title_change): * src/ntl-view-private.h: * src/ntl-view.c: (nautilus_view_frame_class_init), (nautilus_view_frame_set_arg), (nautilus_view_frame_get_arg), (nautilus_view_frame_request_location_change), (nautilus_view_frame_request_selection_change), (nautilus_view_frame_request_status_change), (nautilus_view_frame_request_progress_change), (nautilus_view_frame_request_title_change), (nautilus_view_frame_set_label), (nautilus_view_frame_activate): * src/ntl-view.h: * src/ntl-window-msgs.c: (nautilus_window_request_title_change), (nautilus_window_load_meta_view), (nautilus_window_request_location_change), (nautilus_window_load_content_view): * src/ntl-window-msgs.h: * src/ntl-window-private.h: * src/ntl-window.c: (nautilus_window_request_title_change_callback), (nautilus_window_connect_content_view), (nautilus_window_real_set_content_view): Got rid of ContentView and ContentViewFrame.
* [deleted] [deleted]Darin Adler2000-05-241-0/+5
| | | | | | | | | | | | | | | | * libnautilus/nautilus-view-component.idl: * src/Makefile.am: * src/ntl-index-panel.c: (nautilus_index_panel_add_meta_view): * src/ntl-meta-view.c: [deleted] * src/ntl-meta-view.h: [deleted] * src/ntl-view.c: (nautilus_view_frame_handle_client_destroy_2), (nautilus_view_frame_set_active_errors), (nautilus_view_frame_get_label), (nautilus_view_frame_set_label): * src/ntl-view.h: * src/ntl-window-msgs.c: (nautilus_window_load_meta_view), (nautilus_window_update_state): * src/ntl-window.c: Removed Nautilus::MetaViewFrame and all the related classes.
* [deleted] [deleted]Darin Adler2000-05-241-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libnautilus/Makefile.am: * libnautilus/libnautilus.h: * libnautilus/nautilus-meta-view-frame.c: [deleted] * libnautilus/nautilus-meta-view-frame.h: [deleted] * libnautilus/nautilus-view-component.idl: * po/POTFILES.in: * src/ntl-index-panel.c: (nautilus_index_panel_add_meta_view): * src/ntl-window.c: (nautilus_window_add_meta_view): Removed Nautilus::MetaView and all the related classes. We still have Nautilus::MetaViewFrame (will go soon). * components/help/hyperbola-nav-index.c: (hyperbola_navigation_index_new): * components/help/hyperbola-nav-search.c: (hyperbola_navigation_search_new): * components/help/hyperbola-nav-tree.c: (hyperbola_navigation_tree_new): * components/history/ntl-history-view.c: (make_obj): * components/loser/sidebar/nautilus-sidebar-loser.c: (nautilus_sidebar_loser_initialize), (loser_notify_location_change_callback): * components/loser/sidebar/nautilus-sidebar-loser.h: * components/notes/ntl-notes.c: (make_notes_view): * components/websearch/ntl-web-search.c: (make_obj): Changed to use just plain view insetad of meta_view. * libnautilus-extensions/nautilus-global-preferences.h: * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_create_dialog), (nautilus_global_preferences_get_sidebar_panel_view_identifiers), (nautilus_global_preferences_get_sidebar_view_iids), (nautilus_preferences_register_sidebar_view_preferences_for_ui), (global_preferences_register_for_ui): Changed naming to call them sidebar views instead of meta views, and got rid of code that depends on MetaView interface. We now use the sidebar_panel_name to determine if a view should show up in the sidebar. * src/ntl-view.h: Fixed a comment to reflect the future instead of the past.