summaryrefslogtreecommitdiff
path: root/src/nautilus-spatial-window.h
Commit message (Collapse)AuthorAgeFilesLines
* Merge the nautilus-spatial-playground branch to HEAD.Dave Camp2003-09-301-129/+28
| | | | | | 2003-09-30 Dave Camp <dave@ximian.com> * Merge the nautilus-spatial-playground branch to HEAD.
* Add the nautilus-cd-burner integration patch from RH.Alexander Larsson2003-04-161-0/+2
| | | | | | | | | | | | | | | | | | 2003-04-16 Alexander Larsson <alexl@redhat.com> * src/nautilus-information-panel.c: (burn_cd_callback), (nautilus_information_panel_update_buttons): * src/nautilus-shell-ui.xml: * src/nautilus-window-manage-views.c: (update_burn_cd_items), (update_for_new_location): * src/nautilus-window-menus.c: (file_menu_burn_cd_callback), (go_menu_go_to_burn_cd_callback), (nautilus_window_initialize_menus_part_1): * src/nautilus-window-private.h: * src/nautilus-window.c: (nautilus_window_constructed), (nautilus_window_allow_reload), (nautilus_window_allow_burn_cd): * src/nautilus-window.h: Add the nautilus-cd-burner integration patch from RH.
* Don't save the location bar enabled prefs when showing it temporarily.Alexander Larsson2003-03-271-2/+4
| | | | | | | | | | 2003-03-27 Alexander Larsson <alexl@redhat.com> * src/nautilus-window.h: * src/nautilus-window.c: * src/nautilus-window-menus.c: Don't save the location bar enabled prefs when showing it temporarily.
* s/GtkType/GType/Alexander Larsson2003-02-041-1/+1
|
* Removed statusbar timeoutAlex Duggan2003-01-071-2/+1
| | | | | | | | | | | | 2003-01-06 Alex Duggan <aldug@gnome.org> * src/nautilus-window.c: * src/nautilus-window.h: Removed statusbar timeout * libnautilus-private/nautilus-global-preferences.c: Removed unnecessary include. Patch from Dave Bordoley <bordoley@msu.edu>
* New files, container for the side panels.Dave Camp2002-09-211-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | 2002-09-21 Dave Camp <dave@ximian.com> * src/nautilus-side-pane.c: * src/nautilus-side-pane.h: New files, container for the side panels. * src/nautilus-information-panel.c: * src/nautilus-information-panel.h: Moved nautilus-sidebar.[ch] here, converted it into just another panel, instead of a container. * src/Makefile.am: Build nautilus-information-panel.[ch] and nautilus-side-pane.[ch]. * src/nautilus-window-manage-views.c: (update_title), (update_for_new_location), (handle_view_failure), (nautilus_window_set_sidebar_panels): * src/nautilus-window-private.h: * src/nautilus-window.h: * src/nautilus-window.c: (side_pane_close_requested_callback), (side_pane_size_allocate_callback), (setup_side_pane_width), (nautilus_window_set_up_sidebar), (nautilus_window_add_sidebar_panel), (nautilus_window_remove_sidebar_panel): Use the new information panel and side pane.
* improve saving of geometry. only save it if we really resize a window, notFrank Worsley2002-07-181-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 2002-07-17 Frank Worsley <fworsley@shaw.ca> * src/nautilus-application.c: (save_window_geometry_timeout), (nautilus_window_configure_event_callback), (nautilus_window_unrealize_event_callback): improve saving of geometry. only save it if we really resize a window, not when a window is first shown or viewport change * src/nautilus-shell.c: (open_window): * src/nautilus-bookmarks-window.c: (nautilus_bookmarks_window_restore_geometry): update for changed eel function * src/nautilus-window-manage-views.c: (pending_location_already_showing): added new (position_and_show_window_callback): ignore saved window position if same window already showing * src/nautilus-window.c: (nautilus_window_instance_init), (nautilus_window_save_geometry): * src/nautilus-window.h: updated for new eel function and changes described above
* Fix indentation.Alexander Larsson2002-06-111-1/+1
| | | | | | | | | | | | | | | 2002-06-11 Alexander Larsson <alla@lysator.liu.se> * src/nautilus-window.h (nautilus_window_save_geometry): * src/nautilus-window-manage-views.c (determined_initial_view_callback): * src/nautilus-application.c (nautilus_application_create_window): Fix indentation. * NEWS: Update version * configure.in: Bump requirements to latest versions.
* always load the saved window geometry and save the geometry whenever aFrank Worsley2002-06-111-1/+3
| | | | | | | | | | | 2002-06-10 Frank Worsley <fworsley@shaw.ca> * src/nautilus-application.c: * src/nautilus-window-manage-views.c: * src/nautilus-window.c: * src/nautilus-window.h: always load the saved window geometry and save the geometry whenever a window is resized
* Only display toplevel window when it's fully constructed.Alexander Larsson2002-04-211-0/+9
| | | | | | | | | | | | | | | | | 2002-04-21 Alexander Larsson <alla@lysator.liu.se> * src/nautilus-window.h: * src/nautilus-window-manage-views.c: Only display toplevel window when it's fully constructed. * src/nautilus-desktop-window.c (nautilus_desktop_window_new): * src/nautilus-application.c (nautilus_application_create_desktop_window): Don't show desktop window here. It's shown later when the view is loaded. * libnautilus-private/nautilus-horizontal-splitter.c (nautilus_horizontal_splitter_pack2): Remove old code that is not neccesary when we display the window fully constructed.
* Remove the web search preference and the remnants of the "go to webDarin Adler2002-03-041-1/+0
| | | | | | | | | | | | * libnautilus-private/nautilus-global-preferences.c: * libnautilus-private/nautilus-global-preferences.h: * src/nautilus-preferences-dialog.c: * src/nautilus-window-menus.c: (nautilus_window_initialize_menus_part_1): * src/nautilus-window.c: * src/nautilus-window.h: Remove the web search preference and the remnants of the "go to web search" feature.
* GNOME2_CONVERSION_COMPLETE eradication campaignDarin Adler2002-01-241-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * components/hardware/nautilus-hardware-view.c: (nautilus_hardware_view_init): Re-enable the property bag. * components/image-viewer/Makefile.am: Remove io-png.[ch]. * components/image-viewer/io-png.c: Remove. * components/image-viewer/io-png.h: Remove. * components/image-viewer/nautilus-image-view.c: (save_image_to_stream): Not implemented. * libnautilus-private/nautilus-directory-metafile.c: (nautilus_directory_register_metadata_monitor), (nautilus_directory_unregister_metadata_monitor): Wipe out some bonobo_object_corba_objref calls. * src/nautilus-window.h: Make the throbber private. * src/nautilus-window-private.h: Make the throbber private. Use a listener object now, not a listener ID. * src/nautilus-window-toolbars.c: (nautilus_window_initialize_toolbars): Move the throbber into details. * src/nautilus-window.c: (nautilus_window_constructed), (nautilus_window_unrealize): Use the new listener calls that use an object, not an ID. (nautilus_window_allow_stop): Move the throbber into details.
* More GNOME 2 work. We now compile up to libnautilus-private and I'mDarin Adler2001-10-281-1/+1
| | | | | | | * 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.
* nautilus-extensions -> nautilus-private renaming.Ramiro Estrugo2001-05-041-2/+2
|
* Fix bug 8000 (Can get two identical "View as" items in "View as"Darin Adler2001-04-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | menu): * src/nautilus-window-private.h: * src/nautilus-window-manage-views.h: * src/nautilus-window-manage-views.c: (location_has_really_changed): Make logic clearer by using else instead of two if statements. (view_frame_info_new), (view_frame_info_free), (set_view_frame_info), (view_frame_get_label), (view_frame_get_id), (nautilus_window_get_content_view_id), (load_content_view), (nautilus_window_set_sidebar_panels): Store a NautilusViewIdentifier with each view. * src/nautilus-window.h: * src/nautilus-window.c: (nautilus_window_destroy): We no longer have to store the content view identifier separately. (remove_first_child): New function. (update_extra_viewer_in_view_as_menus): Shared by the two below, this is the old replace_extra_viewer_in_view_as_menus, simplified and changed to support both adding and removing the extra viewer. (remove_extra_viewer_in_view_as_menus): Cover for removing. (replace_extra_viewer_in_view_as_menus): Cover for adding. (nautilus_window_synch_view_as_menus): Simplify code a lot by removing some special cases and taking advantage of the fact that the position of the chosen item is always the same in both menus. (chose_component_callback): Removed the FIXME now that the bug is fixed. * NEWS: Tweak wording.
* Remove librsvg.Ramiro Estrugo2001-04-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.am: Remove librsvg. * librsvg/.cvsignore: * librsvg/Makefile.am: * librsvg/art_render.c: * librsvg/art_render.h: * librsvg/art_render_gradient.c: * librsvg/art_render_gradient.h: * librsvg/art_render_mask.c: * librsvg/art_render_mask.h: * librsvg/art_render_svp.c: * librsvg/art_render_svp.h: * librsvg/art_rgba.c: * librsvg/art_rgba.h: * librsvg/example-nested-transform.svg: * librsvg/makefile-simple: * librsvg/opacity.svg: * librsvg/rsvg-bpath-util.c: * librsvg/rsvg-bpath-util.h: * librsvg/rsvg-css.c: * librsvg/rsvg-css.h: * librsvg/rsvg-defs.c: * librsvg/rsvg-defs.h: * librsvg/rsvg-ft.c: * librsvg/rsvg-ft.h: * librsvg/rsvg-paint-server.c: * librsvg/rsvg-paint-server.h: * librsvg/rsvg-path.c: * librsvg/rsvg-path.h: * librsvg/rsvg.c: * librsvg/rsvg.h: * librsvg/subpixel-text-test: * librsvg/test-ft-gtk.c: * librsvg/test-ft.c: * librsvg/test-rsvg.c: * librsvg/test.svg: Move librsvg to its own top level GNOME CVS module. * configure.in: Add librsvg and eel dependencies. Remove librsvg and font entries. * nautilus.spec.in: Remove font entries. Add librsvg and eel requirements. * data/Makefile.am: * data/fonts/.cvsignore: * data/fonts/Makefile.am: * data/fonts/urw/.cvsignore: * data/fonts/urw/Makefile.am: * data/fonts/urw/README: * data/fonts/urw/fonts.dir: * data/fonts/urw/n019003l.afm: * data/fonts/urw/n019003l.pfb: * data/fonts/urw/n019003l.pfm: * data/fonts/urw/n019004l.afm: * data/fonts/urw/n019004l.pfb: * data/fonts/urw/n019004l.pfm: * data/fonts/urw/n019023l.afm: * data/fonts/urw/n019023l.pfb: * data/fonts/urw/n019023l.pfm: * data/fonts/urw/n019024l.afm: * data/fonts/urw/n019024l.pfb: * data/fonts/urw/n019024l.pfm: Retire default fonts. These now live in eel. * libnautilus/nautilus-undo-transaction.c: (nautilus_undo_transaction_destroy): * libnautilus/nautilus-view.c: (nautilus_view_destroy): Update for eel changes. Use eel-gtk-macros. * nautilus-installer/src/nautilus-druid-page-eazel.c: (nautilus_druid_page_eazel_destroy), (nautilus_druid_page_eazel_finalize), (nautilus_druid_page_eazel_size_allocate), (nautilus_druid_page_eazel_size_request): Update for eel changes. Use eel-gtk-macros. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-bonobo-extensions.c: * libnautilus-extensions/nautilus-bonobo-extensions.h: * libnautilus-extensions/nautilus-bookmark.c: * libnautilus-extensions/nautilus-ctree.c: * libnautilus-extensions/nautilus-customization-data.c: * libnautilus-extensions/nautilus-dateedit-extensions.c: * libnautilus-extensions/nautilus-dateedit-extensions.h: * libnautilus-extensions/nautilus-directory-async.c: * libnautilus-extensions/nautilus-directory-background.c: * libnautilus-extensions/nautilus-directory-background.h: * libnautilus-extensions/nautilus-directory-metafile-monitor.c: * libnautilus-extensions/nautilus-directory-metafile.c: * libnautilus-extensions/nautilus-directory.c: * libnautilus-extensions/nautilus-drag-window.c: * libnautilus-extensions/nautilus-drag.c: * libnautilus-extensions/nautilus-druid-page-eazel.c: * libnautilus-extensions/nautilus-druid.c: * libnautilus-extensions/nautilus-entry.c: * libnautilus-extensions/nautilus-file-changes-queue.c: * libnautilus-extensions/nautilus-file-operations-progress.c: * libnautilus-extensions/nautilus-file-operations.c: * libnautilus-extensions/nautilus-file-private.h: * libnautilus-extensions/nautilus-file-utilities.c: * libnautilus-extensions/nautilus-file.c: * libnautilus-extensions/nautilus-font-factory.c: * libnautilus-extensions/nautilus-gconf-extensions.c: * libnautilus-extensions/nautilus-generous-bin.c: * libnautilus-extensions/nautilus-global-preferences.c: * libnautilus-extensions/nautilus-global-preferences.h: * libnautilus-extensions/nautilus-horizontal-splitter.c: * libnautilus-extensions/nautilus-icon-canvas-item.c: * libnautilus-extensions/nautilus-icon-canvas-item.h: * libnautilus-extensions/nautilus-icon-container.c: * libnautilus-extensions/nautilus-icon-container.h: * libnautilus-extensions/nautilus-icon-dnd.c: * libnautilus-extensions/nautilus-icon-factory.c: * libnautilus-extensions/nautilus-icon-factory.h: * libnautilus-extensions/nautilus-icon-private.h: * libnautilus-extensions/nautilus-icon-text-item.c: * libnautilus-extensions/nautilus-keep-last-vertical-box.c: * libnautilus-extensions/nautilus-lib-self-check-functions.c: * libnautilus-extensions/nautilus-lib-self-check-functions.h: * libnautilus-extensions/nautilus-link-set.c: * libnautilus-extensions/nautilus-link.c: * libnautilus-extensions/nautilus-list-column-title.c: * libnautilus-extensions/nautilus-list.c: * libnautilus-extensions/nautilus-medusa-support.c: * libnautilus-extensions/nautilus-merged-directory.c: * libnautilus-extensions/nautilus-metafile-factory.c: * libnautilus-extensions/nautilus-metafile.c: * libnautilus-extensions/nautilus-mime-actions.c: * libnautilus-extensions/nautilus-preferences-box.c: * libnautilus-extensions/nautilus-preferences-dialog.c: * libnautilus-extensions/nautilus-preferences-group.c: * libnautilus-extensions/nautilus-preferences-item.c: * libnautilus-extensions/nautilus-preferences-pane.c: * libnautilus-extensions/nautilus-preferences.c: * libnautilus-extensions/nautilus-preferences.h: * libnautilus-extensions/nautilus-program-chooser.c: * libnautilus-extensions/nautilus-program-choosing.c: * libnautilus-extensions/nautilus-program-choosing.h: * libnautilus-extensions/nautilus-search-uri.c: * libnautilus-extensions/nautilus-sidebar-functions.c: * libnautilus-extensions/nautilus-tabs.c: * libnautilus-extensions/nautilus-theme.c: * libnautilus-extensions/nautilus-thumbnails.c: * libnautilus-extensions/nautilus-trash-directory.c: * libnautilus-extensions/nautilus-trash-file.c: * libnautilus-extensions/nautilus-trash-monitor.c: * libnautilus-extensions/nautilus-undo-context.c: * libnautilus-extensions/nautilus-undo-manager.c: * libnautilus-extensions/nautilus-undo-signal-handlers.c: * libnautilus-extensions/nautilus-vfs-directory.c: * libnautilus-extensions/nautilus-vfs-file.c: * libnautilus-extensions/nautilus-view-identifier.c: * libnautilus-extensions/nautilus-volume-monitor.c: Use new eel library. * libnautilus-extensions/nautilus-art-extensions.c: * libnautilus-extensions/nautilus-art-extensions.h: * libnautilus-extensions/nautilus-art-gtk-extensions.c: * libnautilus-extensions/nautilus-art-gtk-extensions.h: * libnautilus-extensions/nautilus-background-canvas-group.c: * libnautilus-extensions/nautilus-background-canvas-group.h: * libnautilus-extensions/nautilus-background.c: * libnautilus-extensions/nautilus-background.h: * libnautilus-extensions/nautilus-caption-table.c: * libnautilus-extensions/nautilus-caption-table.h: * libnautilus-extensions/nautilus-caption.c: * libnautilus-extensions/nautilus-caption.h: * libnautilus-extensions/nautilus-clickable-image.c: * libnautilus-extensions/nautilus-clickable-image.h: * libnautilus-extensions/nautilus-debug-drawing.c: * libnautilus-extensions/nautilus-debug-drawing.h: * libnautilus-extensions/nautilus-debug.c: * libnautilus-extensions/nautilus-debug.h: * libnautilus-extensions/nautilus-ellipsizing-label.c: * libnautilus-extensions/nautilus-ellipsizing-label.h: * libnautilus-extensions/nautilus-enumeration.c: * libnautilus-extensions/nautilus-enumeration.h: * libnautilus-extensions/nautilus-font-manager.c: * libnautilus-extensions/nautilus-font-manager.h: * libnautilus-extensions/nautilus-font-picker.c: * libnautilus-extensions/nautilus-font-picker.h: * libnautilus-extensions/nautilus-gdk-extensions.c: * libnautilus-extensions/nautilus-gdk-extensions.h: * libnautilus-extensions/nautilus-gdk-font-extensions.c: * libnautilus-extensions/nautilus-gdk-font-extensions.h: * libnautilus-extensions/nautilus-gdk-pixbuf-extensions.c: * libnautilus-extensions/nautilus-gdk-pixbuf-extensions.h: * libnautilus-extensions/nautilus-glib-extensions.c: * libnautilus-extensions/nautilus-glib-extensions.h: * libnautilus-extensions/nautilus-glyph.c: * libnautilus-extensions/nautilus-glyph.h: * libnautilus-extensions/nautilus-gnome-extensions.c: * libnautilus-extensions/nautilus-gnome-extensions.h: * libnautilus-extensions/nautilus-graphic-effects.c: * libnautilus-extensions/nautilus-graphic-effects.h: * libnautilus-extensions/nautilus-gtk-extensions.c: * libnautilus-extensions/nautilus-gtk-extensions.h: * libnautilus-extensions/nautilus-gtk-macros.h: * libnautilus-extensions/nautilus-image-table.c: * libnautilus-extensions/nautilus-image-table.h: * libnautilus-extensions/nautilus-image-with-background.c: * libnautilus-extensions/nautilus-image-with-background.h: * libnautilus-extensions/nautilus-image.c: * libnautilus-extensions/nautilus-image.h: * libnautilus-extensions/nautilus-label-with-background.c: * libnautilus-extensions/nautilus-label-with-background.h: * libnautilus-extensions/nautilus-label.c: * libnautilus-extensions/nautilus-label.h: * libnautilus-extensions/nautilus-labeled-image.c: * libnautilus-extensions/nautilus-labeled-image.h: * libnautilus-extensions/nautilus-lib-self-check-functions.c: * libnautilus-extensions/nautilus-lib-self-check-functions.h: * libnautilus-extensions/nautilus-password-dialog.c: * libnautilus-extensions/nautilus-password-dialog.h: * libnautilus-extensions/nautilus-radio-button-group.c: * libnautilus-extensions/nautilus-radio-button-group.h: * libnautilus-extensions/nautilus-region.c: * libnautilus-extensions/nautilus-region.h: * libnautilus-extensions/nautilus-scalable-font-private.h: * libnautilus-extensions/nautilus-scalable-font.c: * libnautilus-extensions/nautilus-scalable-font.h: * libnautilus-extensions/nautilus-self-checks.c: * libnautilus-extensions/nautilus-self-checks.h: * libnautilus-extensions/nautilus-smooth-text-layout-cache.c: * libnautilus-extensions/nautilus-smooth-text-layout-cache.h: * libnautilus-extensions/nautilus-smooth-text-layout.c: * libnautilus-extensions/nautilus-smooth-text-layout.h: * libnautilus-extensions/nautilus-smooth-widget.c: * libnautilus-extensions/nautilus-smooth-widget.h: * libnautilus-extensions/nautilus-stock-dialogs.c: * libnautilus-extensions/nautilus-stock-dialogs.h: * libnautilus-extensions/nautilus-string-list.c: * libnautilus-extensions/nautilus-string-list.h: * libnautilus-extensions/nautilus-string-map.c: * libnautilus-extensions/nautilus-string-map.h: * libnautilus-extensions/nautilus-string-picker.c: * libnautilus-extensions/nautilus-string-picker.h: * libnautilus-extensions/nautilus-string.c: * libnautilus-extensions/nautilus-string.h: * libnautilus-extensions/nautilus-text-caption.c: * libnautilus-extensions/nautilus-text-caption.h: * libnautilus-extensions/nautilus-viewport.c: * libnautilus-extensions/nautilus-viewport.h: * libnautilus-extensions/nautilus-wrap-table.c: * libnautilus-extensions/nautilus-wrap-table.h: * libnautilus-extensions/nautilus-xml-extensions.c: * libnautilus-extensions/nautilus-xml-extensions.h: Remove these files. These are all part of eel now. * applets/launcher/nautilus-launcher-applet.c: * applets/preferences-applet/nautilus-preferences-applet.c: * components/adapter/Makefile.am: * components/adapter/main.c: * components/adapter/nautilus-adapter-control-embed-strategy.c: * components/adapter/nautilus-adapter-embed-strategy.c: * components/adapter/nautilus-adapter-embeddable-embed-strategy.c: * components/adapter/nautilus-adapter-factory-server.c: * components/adapter/nautilus-adapter-file-load-strategy.c: * components/adapter/nautilus-adapter-load-strategy.c: * components/adapter/nautilus-adapter-progressive-load-strategy.c: * components/adapter/nautilus-adapter-stream-load-strategy.c: * components/adapter/nautilus-adapter.c: * components/hardware/Makefile.am: * components/hardware/nautilus-hardware-view.c: * components/help/Makefile.am: * components/help/help-method.c: * components/help/hyperbola-filefmt.c: * components/help/hyperbola-nav-tree.c: * components/history/Makefile.am: * components/history/nautilus-history-view.c: * components/image-viewer/Makefile.am: * components/image-viewer/nautilus-image-view.c: * components/loser/content/Makefile.am: * components/loser/content/nautilus-content-loser.c: * components/loser/sidebar/Makefile.am: * components/loser/sidebar/nautilus-sidebar-loser.c: * components/mozilla/Makefile.am: * components/mozilla/bonobo-extensions.c: * components/mozilla/nautilus-mozilla-content-view.c: * components/music/Makefile.am: * components/music/nautilus-music-view.c: * components/notes/Makefile.am: * components/notes/nautilus-notes.c: * components/rpmview/Makefile.am: * components/rpmview/nautilus-rpm-verify-window.c: * components/rpmview/nautilus-rpm-view-install.c: * components/rpmview/nautilus-rpm-view.c: * components/sample/nautilus-sample-content-view.c: * components/services/install-view/Makefile.am: * components/services/install-view/callbacks.c: * components/services/install-view/forms.c: * components/services/install-view/nautilus-service-install-view.c: * components/services/install/lib/eazel-install-logic2.c: * components/services/install/server/main.c: * components/services/inventory-view/Makefile.am: * components/services/inventory-view/nautilus-inventory-config-page .c: * components/services/inventory-view/nautilus-inventory-disable-pag * components/services/inventory-view/nautilus-inventory-enable-page * components/services/inventory-view/nautilus-inventory-view.c: * components/services/inventory/Makefile.am: * components/services/inventory/eazel-inventory-upload-callback.c: * components/services/inventory/eazel-inventory.c: * components/services/inventory/main.c: * components/services/login/nautilus-view/Makefile.am: * components/services/login/nautilus-view/nautilus-change-password- view.c: * components/services/login/nautilus-view/password-box.c: * components/services/nautilus-dependent-shared/Makefile.am: * components/services/nautilus-dependent-shared/eazel-services-exte nsions.c: * components/services/nautilus-dependent-shared/eazel-services-exte nsions.h: * components/services/nautilus-dependent-shared/eazel-services-foot er.c: * components/services/nautilus-dependent-shared/eazel-services-head er.c: * components/services/nautilus-dependent-shared/test-footer-header. c: * components/services/summary/Makefile.am: * components/services/summary/nautilus-summary-callbacks.c: * components/services/summary/nautilus-summary-dialogs.c: * components/services/summary/nautilus-summary-dialogs.h: * components/services/summary/nautilus-summary-footer.c: * components/services/summary/nautilus-summary-menu-items.c: * components/services/summary/nautilus-summary-view-private.h: * components/services/summary/nautilus-summary-view.c: * components/services/time/nautilus-view/main.c: * components/services/time/nautilus-view/trilobite-eazel-time-view. c: * components/services/trilobite/sample/nautilus-view/Makefile.am: * components/text/Makefile.am: * components/text/nautilus-text-view.c: * components/throbber/Makefile.am: * components/throbber/main.c: * components/throbber/nautilus-throbber.c: * components/tree/Makefile.am: * components/tree/nautilus-tree-change-queue.c: * components/tree/nautilus-tree-expansion-state.c: * components/tree/nautilus-tree-model.c: * components/tree/nautilus-tree-node.c: * components/tree/nautilus-tree-view-dnd.c: * components/tree/nautilus-tree-view.c: * helper-utilities/authenticate/Makefile.am: * helper-utilities/authenticate/nautilus-authenticate.c: * nautilus-installer/src/nautilus-druid.c: * src/Makefile.am: * src/file-manager/fm-desktop-icon-view.c: * src/file-manager/fm-directory-view.c: * src/file-manager/fm-directory-view.h: * src/file-manager/fm-error-reporting.c: * src/file-manager/fm-icon-text-window.c: * src/file-manager/fm-icon-view.c: * src/file-manager/fm-list-view.c: * src/file-manager/fm-properties-window.c: * src/file-manager/fm-search-list-view.c: * src/file-manager/nautilus-indexing-info.c: * src/nautilus-about.c: * src/nautilus-application.c: * src/nautilus-bookmark-list.c: * src/nautilus-bookmark-parsing.c: * src/nautilus-bookmarks-window.c: * src/nautilus-complex-search-bar.c: * src/nautilus-component-adapter-factory.c: * src/nautilus-desktop-window.c: * src/nautilus-first-time-druid.c: * src/nautilus-link-set-window.c: * src/nautilus-location-bar.c: * src/nautilus-main.c: * src/nautilus-navigation-bar.c: * src/nautilus-profiler.c: * src/nautilus-property-browser.c: * src/nautilus-search-bar-criterion.c: * src/nautilus-search-bar.c: * src/nautilus-shell.c: * src/nautilus-sidebar-tabs.c: * src/nautilus-sidebar-title.c: * src/nautilus-sidebar.c: * src/nautilus-signaller.c: * src/nautilus-simple-search-bar.c: * src/nautilus-switchable-navigation-bar.c: * src/nautilus-switchable-search-bar.c: * src/nautilus-theme-selector.c: * src/nautilus-view-frame-corba.c: * src/nautilus-view-frame.c: * src/nautilus-window-manage-views.c: * src/nautilus-window-menus.c: * src/nautilus-window-toolbars.c: * src/nautilus-window.c: * src/nautilus-window.h: * src/nautilus-zoom-control.c: Update for new eel library usage. * test/test-nautilus-background.c: * test/test-nautilus-clickable-image.c: * test/test-nautilus-font-manager.c: * test/test-nautilus-font-picker.c: * test/test-nautilus-font-simple.c: * test/test-nautilus-font.c: * test/test-nautilus-glyph-simple.c: * test/test-nautilus-glyph.c: * test/test-nautilus-image-background.c: * test/test-nautilus-image-scrolled.c: * test/test-nautilus-image-simple.c: * test/test-nautilus-image-table.c: * test/test-nautilus-image-tile.c: * test/test-nautilus-image.c: * test/test-nautilus-label-background.c: * test/test-nautilus-label-flavorful.c: * test/test-nautilus-label-offset.c: * test/test-nautilus-label-scrolled.c: * test/test-nautilus-label-simple.c: * test/test-nautilus-label-wrapped.c: * test/test-nautilus-label.c: * test/test-nautilus-labeled-image.c: * test/test-nautilus-password-dialog.c: * test/test-nautilus-pixbuf-tile.c: * test/test-nautilus-smooth-text-layout.c: * test/test-nautilus-viewport-constraint.c: * test/test-nautilus-widgets.c: Remove these. They live in eel now. * test/vsignore: * test/kefile.am: * test/st-nautilus-preferences-change.c: * test/st-nautilus-preferences-display.c: * test/st-nautilus-wrap-table.c: * test/st.c: * test/st.h: Update for new eel library usage.
* reviewed by: Michael Engber <engber@eazel.com>John Harper2001-02-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-02-26 John Harper <jsh@eazel.com> reviewed by: Michael Engber <engber@eazel.com> Fixed bug 6898 (Tree view initialization may be slower than in PR3). Instead of instantiating and destroying Nautilus_Metafile bonobo objects each time metadata is queried, cache an object for each directory: * libnautilus-extensions/nautilus-directory-metafile.c (corba_object_is_local, corba_object_get_servant): new functions. These are ORBit dependent hacks (get_metafile): cache the Nautilus_Metafile object in the NautilusDirectory. Use the above ORBit hacks to break the circular reference when both client and servant are in the same process (the servant has always referenced the directory, caching the metafile in the directory introduces the cycle) * libnautilus-extensions/nautilus-directory-private.h (NautilusDirectoryDetails): added field metafile_corba_object * libnautilus-extensions/nautilus-directory.c (nautilus_directory_destroy): unref the cached Nautilus_Metafile object if its non-nil * libnautilus-extensions/nautilus-metafile.c, libnautilus-extensions/nautilus-metafile.h (NautilusMetafileDetails): temporarily moved to nautilus-metafile.h * libnautilus-extensions/nautilus-metafile.c (destroy): only unref the metafile's NautilusDirectory if the directory_ref_is_gone flag isn't set (set by the get_metafile method of nautilus-directory-metafile.c when it breaks the cycle) 2001-02-26 John Harper <jsh@eazel.com> reviewed by Darin Adler <darin@eazel.com> Moved much of the BonoboUI overhead to the idle handler. This should decrease latency when opening new windows. * src/nautilus-window-private.h: added fields to NautilusWindowDetails structure: ui_change_depth, ui_idle_id, ui_is_frozen, ui_pending_menu_initialize * src/nautilus-window.c, src/nautilus-window.h (nautilus_window_ui_freeze, nautilus_window_ui_thaw): new functions. Used to intelligently freeze and thaw the BonoboUIEngine associated with the window's container. The thawing (and thus the updating) is done in an idle handler (nautilus_window_ui_update): used to defeat the UI deferral, and update immediately (nautilus_window_constructed): moved part of the menu bar initialization to the idle handler * src/nautilus-window-manage-views.c, src/nautilus-window-menus.c, src/nautilus-window-toolbar.c, src/nautilus-window.c: call nautilus_window_ui_freeze before doing any UI changes, and nautilus_window_ui_thaw afterwards * src/nautilus-window-menus.c (nautilus_window_initialize_menus): split into two functions: nautilus_window_initialize_menus_part_1 and _part_2. Part two populates the `Go' and `Bookmarks' menus (and is deferred until the idle loop)
* reviewed by: Darin Adler <darin@eazel.com>John Sullivan2001-02-221-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed bug 3321 (Finalize contents of Help menu for 1.0). Actually there's still an open issue about the Customer Service item, which I've left in for now. * src/nautilus-shell-ui.xml: Added Quick Reference, removed License, put About last after a separator. * src/nautilus-window-menus.c: (help_menu_nautilus_quick_reference_callback): New callback. (help_menu_nautilus_license_callback): Removed this. (nautilus_window_initialize_menus): Install callback for Quick Reference, remove for License. Also removed the space from "tool bar" everywhere, per the final decision of Vera & Rhoda. I grepped and replaced everywhere for "tool bar", "Tool Bar", "TOOL_BAR", and "tool_bar". * components/loser/content/nautilus-content-loser-ui.xml: * components/loser/sidebar/nautilus-sidebar-loser-ui.xml: * components/mozilla/bonobo-extensions.c: * components/sample/nautilus-sample-content-view-ui.xml: * libnautilus-extensions/nautilus-bonobo-extensions.c: * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_install_descriptions), (global_preferences_install_defaults), (global_preferences_install_visibility), (global_preferences_create_dialog): * libnautilus-extensions/nautilus-global-preferences.h: * src/nautilus-service-ui.xml: * src/nautilus-shell-ui.xml: * src/nautilus-window-menus.c: (view_menu_show_hide_toolbar_callback), (nautilus_window_update_show_hide_menu_items), (help_menu_nautilus_quick_reference_callback), (nautilus_window_initialize_menus): * src/nautilus-window-toolbars.c: (set_up_special_bonobo_button), (set_up_toolbar_images), (theme_changed_callback), (set_up_back_or_forward_toolbar_item), (nautilus_window_initialize_toolbars): * src/nautilus-window.c: (nautilus_window_constructed), (nautilus_window_hide_toolbar), (nautilus_window_show_toolbar), (nautilus_window_toolbar_showing), (nautilus_window_show): * src/nautilus-window.h: Made toolbar one word.
* reviewed by: John Sullivan <sullivan@eazel.com>Darin Adler2001-02-031-23/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-14/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Darin Adler <darin@eazel.com>John Sullivan2001-01-261-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed bug 5569 (Desktop should not show up in history list) I also prevented Control-B on the desktop from adding the desktop to the Bookmarks list. * src/file-manager/nautilus-desktop-icon-view-ui.xml: overrode command "Add Bookmark" to be insensitive. * src/nautilus-window.h: Declare function pointer for add_current_location_to_history_list. * src/nautilus-window-private.h: Declare private function nautilus_window_add_current_location_to_history_list. * src/nautilus-window.c: (nautilus_window_initialize_class), (real_add_current_location_to_history_list): Fill in add_current_location_to_history_list function pointer with simple function. (nautilus_window_add_current_location_to_history_list): wrapper for calling the new virtual function. (nautilus_forget_history): Call nautilus_window_add_current_location_to_history_list where it was doing the work directly, to get the indirection. * src/nautilus-window-manage-views.c: (update_for_new_location): Call nautilus_window_add_current_location_to_history_list where it was doing the work directly, to get the indirection. * src/nautilus-desktop-window.c: (nautilus_desktop_window_initialize_class), (real_add_current_location_to_history_list): Override add_current_location_to_history_list to do nothing.
* now that the bonobo problems are resolved, we can go back to theAndy Hertzfeld2001-01-181-2/+1
| | | | | | | | | | | | | now that the bonobo problems are resolved, we can go back to the componentized throbber. * src/Makefile.am: * src/nautilus-window-toolbars.c: (nautilus_window_initialize_toolbars): * src/nautilus-window.c: (throbber_location_changed_callback), (nautilus_window_constructed), (nautilus_window_destroy), (nautilus_window_allow_stop): * src/nautilus-window.h:
* backed out the Bonobo component throbber temporarily due to BonoboAndy Hertzfeld2001-01-181-1/+2
| | | | | | | | | | | | | | | | | | | | backed out the Bonobo component throbber temporarily due to Bonobo problems and restored the old one; hopefully, the new one will come back soon. * src/Makefile.am: * src/nautilus-window-toolbars.c: (nautilus_window_initialize_toolbars): * src/nautilus-window.c: (nautilus_window_constructed), (nautilus_window_destroy), (nautilus_window_allow_stop): * src/nautilus-window.h: fixed bug 5393, custom emblems arent scaling properly, by * libnautilus-extensions/nautilus-icon-container.c: (nautilus_icon_container_update_icon): * libnautilus-extensions/nautilus-icon-factory.c: (get_themed_icon_file_path), (load_pixbuf_svg), (load_specific_icon):
* fixed bug 4369, throbber frozen during long refresh, by making theAndy Hertzfeld2001-01-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixed bug 4369, throbber frozen during long refresh, by making the throbber a bonobo component so it's driven by its own thread. Note that clicking on the throbber is temporarily broken; I'll fix that soon. Also, made the frame delay be specified by the theme and set the default to spin somewhat slower than before. * configure.in: * components/Makefile.am: * components/throbber/.cvsignore: * components/throbber/Makefile.am: * components/throbber/nautilus-throbber.oafinfo: added throbber component * components/throbber/main.c: (throbber_object_destroyed), (throbber_make_object), (main): factory for the throbber component * components/throbber/nautilus-throbber.c,h: (nautilus_throbber_initialize_class), (is_throbbing), (get_bonobo_properties), (set_bonobo_properties), (nautilus_throbber_destroy), (nautilus_throbber_get_control), (get_throbber_dimensions), (nautilus_throbber_initialize), (nautilus_throbber_new), (nautilus_throbber_theme_changed), (draw_pixbuf), (select_throbber_image), (draw_throbber_image), (nautilus_throbber_draw), (nautilus_throbber_expose), (nautilus_throbber_map), (bump_throbber_frame), (nautilus_throbber_start), (nautilus_throbber_remove_update_callback), (nautilus_throbber_stop), (nautilus_throbber_unload_images), (load_themed_image), (make_throbber_frame_name), (nautilus_throbber_load_images), (nautilus_throbber_button_press_event), (nautilus_throbber_set_small_mode), (nautilus_throbber_size_allocate), (nautilus_throbber_size_request): throbber widget for the bonobo component * src/nautilus-window-toolbars.c: (theme_changed_callback), (nautilus_window_initialize_toolbars): set up throbber component in the toolbar * src/nautilus-window.c,h: (nautilus_window_constructed), (nautilus_window_allow_stop): use property interface to start and stop the throbber * icons/default.xml: added delay specification to throbber in default theme * nautilus-clean.sh: clean throbber component as necessary * src/Makefile.am: * src/nautilus-throbber.c,h removed old throbber widget
* reviewed by: Darin Adler <darin@eazel.com>John Sullivan2000-12-131-2/+0
| | | | | | | | | | | | | | | | | | | Fixed bug 2327 (Alt-key combinations to show menus work on Desktop, but shouldn't) Had to abandon the old-Bonobo approach for this and make a new-Bonobo approach. * src/file-manager/nautilus-desktop-icon-view-ui.xml: Redefine all top-level menus' labels to be "" so there won't be any underline accelerator * src/nautilus-desktop-window.c: (nautilus_desktop_window_new): * src/nautilus-window-menus.c: (remove_underline_accelerator_from_menu_title), (nautilus_window_disable_keyboard_navigation_for_menus): * src/nautilus-window.h: Remove the old now-useless trick to do this.
* Remove HAVE_POPT_H define since the bug in OAF that we were working aroundDarin Adler2000-11-291-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | * libnautilus-extensions/nautilus-view-identifier.h: Remove HAVE_POPT_H define since the bug in OAF that we were working around has been fixed. * components/music/nautilus-music-view.c: Remove unneeded includes. * components/rpmview/nautilus-rpm-view.c: Remove unused #define and FIXME for bug already fixed. * components/tree/nautilus-tree-view.c: (nautilus_tree_view_destroy): Remove FIXME for bug already fixed. * libnautilus-extensions/nautilus-global-preferences.c: Remove FIXME for bug already fixed. * libnautilus-extensions/nautilus-user-level-manager.c: Remove FIXME for bug already fixed. * src/file-manager/fm-list-view.c: (fm_list_get_default_action): Remove FIXME for bug already fixed. * src/nautilus-property-browser.c: (add_background_to_browser): Remove FIXME for bug already fixed. * src/nautilus-window.h: Remove FIXME for bug already fixed. * tools/README: Remove file now that people have had a chance to find the tools in their new location, so the directory will go away.
* Tell everyone that we are back on bonobo HEAD. Make sure Nautilus doesn'tDarin Adler2000-11-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * README: Tell everyone that we are back on bonobo HEAD. * configure.in: Make sure Nautilus doesn't try to compile with the old bonobo. * components/adapter/nautilus-adapter-embed-strategy.c: (nautilus_adapter_embed_strategy_get): * components/adapter/nautilus-adapter-load-strategy.c: (nautilus_adapter_load_strategy_get): * components/adapter/nautilus-adapter-progressive-load-strategy.c: (nautilus_adapter_progressive_load_strategy_load_location): * components/history/nautilus-history-view.c: (history_view_frame_call_begin): * libnautilus/nautilus-undo.c: (set_up_bonobo_control): * libnautilus/nautilus-view.c: (view_frame_call_begin): * libnautilus/nautilus-zoomable.c: (nautilus_zoomable_ensure_zoomable_frame): Fix all the callers of query_interface in CORBA to call it queryInterface (I used the Bonobo script to do it). * src/nautilus-window.h: * src/nautilus-window.c: (nautilus_window_constructed), (nautilus_window_set_arg), (nautilus_window_get_arg), (nautilus_window_set_content_view_widget): Update for BonoboWin -> BonoboWindow change. Once again, the change was done by the Bonobo script (but I had to undo the spaces it ate after BONOBO_WIN). * components/services/install/idl/trilobite-eazel-install.idl: * components/services/time/idl/trilobite-eazel-time-service.idl: * components/services/trilobite/idl/trilobite-service.idl: * components/services/trilobite/sample/idl/sample-service.idl: * libnautilus-adapter/nautilus-adapter-factory.idl: * libnautilus/nautilus-distributed-undo.idl: * libnautilus/nautilus-view-component.idl: Since IDL dependencies don't work, I touched every IDL file to make the switchover smoother. This only works if people update before they try to build and fail, otherwise they need to do: find -name '*.xml' | xargs touch (Maciej and I want to add dependency support to orbit-idl to make this problem go away long term). * src/nautilus-desktop-window.c: (realize): The script updated this comment to, so I let it. * user-guide/C/Makefile.am: Took out the botched change I made to this file. Mathieu did the correct one.
* tried to put the right themable icons for the toolbar, but only succeededAndy Hertzfeld2000-10-071-10/+1
| | | | | | tried to put the right themable icons for the toolbar, but only succeeded at getting the stock icons. Also, made the throbber show up, but it's not properly positioned yet.
* Change required versions.Darin Adler2000-10-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | * README: Change required versions. * libnautilus-extensions/nautilus-bonobo-extensions.h: * libnautilus-extensions/nautilus-bonobo-extensions.c: (nautilus_bonobo_set_sensitive): Added new function that works with the new UI framework. * libnautilus-extensions/nautilus-druid-page-eazel.h: * libnautilus-extensions/nautilus-druid.h: * src/nautilus-shell-ui.xml: Make Select All insensitive. * src/nautilus-window.c: (nautilus_window_constructed): Get rid of some more of the old status bar code. (nautilus_window_allow_back), (nautilus_window_allow_forward), (nautilus_window_allow_up), (nautilus_window_allow_reload), (nautilus_window_allow_stop), (nautilus_window_zoom_level_changed_callback): Set shell menu item sensitivity with the new API. * src/nautilus-window.h: Remove status_bar_context_id.
* Cut over to HEAD of Bonobo. This check-in includes all the changesDarin Adler2000-10-051-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-87/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* To get started on a bug, I dismantled part of the state machine,Darin Adler2000-09-141-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | which we can replace with something much simpler. Just doing this change seems to have fixed the bug I was going to tackle. Fixes bug 2170 (hitting the "up" button a lot of times in a row causes crash). * libnautilus-extensions/nautilus-file-utilities.c: (nautilus_self_check_file_utilities): Quick tweak to these tests. We need more thorough tests of nautilus_make_uri_from_input. * libnautilus-extensions/nautilus-search-bar-criterion-private.h: Removed this long-obsolete file. There's another copy in the src directory that's the "real" one. * src/file-manager/fm-directory-view.c: (fm_directory_view_destroy): Fixed a problem I was seeing switching out of the list view by emptying the "pending" lists so doing the stop as part of destroy will not add items to the view before destroying it. * src/nautilus-window-manage-views.c: (nautilus_window_free_load_info): Got rid of "action_tag", "made_changes", and "state". (nautilus_window_update_state): Turned "made_changes" into a local variable. Got rid of code setting "state" since nothing looked at it. Got rid of code that sets up an idle. (nautilus_window_set_state_info): Eliminated "do_sync" and made the function always keep running update_state until it's done instead of using an idle. (nautilus_window_end_location_change_callback): Got rid of FIXME since I now understand why gtk_object_destroy is OK for windows. * src/nautilus-window.h: Eliminated "action_tag", "made_changes", and "state". * src/nautilus-window.c: (nautilus_window_destroy): No need to deal with "action_tag" any more. (window_update_sidebar_panels_from_preferences): Remove excess unref that's not needed now that we have more careful handling of sidebar references.
* Fixed bug 2327 (Alt-key shortcuts to navigate menus shouldn'tJohn Sullivan2000-08-311-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | work on Desktop). Control-key shortcuts to invoke items directly still work. I had to fix a Bonobo bug to make this work, so until you get a new Bonobo this won't work for you (but it will still compile and run and all). * src/nautilus-window.h: Prototype for nautilus_window_disable_keyboard_navigation_for_menus. * src/nautilus-window-menus.c: Added normal_menu_titles, a static array of menu paths used for iterating across all the textual menu titles. (get_menu_title): New function, returns menu title given path. (remove_underline_accelerator_from_menu_title): New function, resets the label of a menu to be the same, but without the underline. (nautilus_window_disable_keyboard_navigation_for_menus): New function, iterates through normal_menu_titles calling remove_underline_... on each. (new_top_level_menu): Now computes title from path using get_menu_title instead of taking title as parameter. (nautilus_window_create_top_level_menus): New function, creates all the top-level menus (other than weird user level one) by iterating across normal_menu_titles. (nautilus_window_initialize_menus): Now calls _create_top_level_menus instead of creating each one at a time. * src/nautilus-desktop-window.c: (nautilus_desktop_window_new): Now calls nautilus_window_disable_keyboard_navigation_for_menus just after creating the NautilusWindow.
* added a netscape like throbber to give busy feedback while loading pages.Andy Hertzfeld2000-08-301-1/+2
| | | | | | | added a netscape like throbber to give busy feedback while loading pages. It uses a generic image from Arlo, but different themes can/will include other animations. There's still a little more left to do.
* Fixed bug 2173 (We should allow clearing the History list)John Sullivan2000-08-291-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's now a Forget History item in the Go menu which (after confirmation) forgets the history items in the Go menu and the back/forward chains of each Nautilus window. Afterwards, the Go menu's history list contains only locations currently being displayed. * src/nautilus-window.h: Changed back_list and forward_list from GSList * to GList * so I could use nautilus glist convenience functions (there's no efficiency issue with these small lists). Added prototypes for new functions nautilus_clear_back_list, nautilus_clear_forward_list, and nautilus_forget_history. * src/nautilus-window.c: (nautilus_window_clear_forward_list), (nautilus_window_clear_back_list): New functions that free and set to NULL the back & forward lists. (nautilus_window_destroy): Use nautilus_window_clear_back_list and nautilus_window_clear_forward_list instead of replicating code. (nautilus_window_back_or_forward), (nautilus_window_get_base_page_index): Replace "slist" with "list" (free_history_list): Set history_list variable to NULL in addition to freeing its contents. (nautilus_forget_history): New function, walks through all windows clearing out their back/forward lists, and throws away all of the history list except currently-displayed locations. * src/nautilus-window-manage-views.c: (handle_go_back), (handle_go_forward), (handle_go_elsewhere): Changed "slist" to "list" in various places; called new nautilus_clear_forward_list instead of replicating code. * src/nautilus-window-menus.c: (forget_history_if_confirmed): New function, calls nautilus_history_forget if user confirms via modeless dialog (because it would be a pain to accidentally choose this menu item and erase your history). (go_menu_forget_history_callback): New function used by new menu item, calls forget_history_if_confirmed. (nautilus_window_initialize_menus): Add "Forget History" item to Go menu. * src/nautilus-window-toolbars.c: (create_back_or_forward_menu): Replace "slist" with "list" * src/file-manager/fm-directory-view.c: (fm_directory_view_real_create_background_context_menu_items): Just clarified a comment.
* Fixed bug 1653 (new menu layout). View menu now containsJohn Sullivan2000-08-241-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Show/Hide items for tool bar, location bar, sidebar, and status bar. The preference now controls only what you get for new windows. Any future "menus aren't quite right" issues should be filed as new bugs. * libnautilus-extensions/nautilus-global-preferences.h: * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_create_dialog), (global_preferences_register): Renamed NAUTILUS_PREFERENCES_DISPLAY_SIDEBAR and its ilk to NAUTILUS_PREFERENCES_START_WITH_SIDEBAR since these preferences now only affect the initial appearance of new windows. Also, clarified the text that appears in the preferences window for these. * src/nautilus-window-menus.c: Removed a bunch of code #ifdeffed WINDOW_ITEMS_TEST since the functionality it partly implemented is now implemented for real. (view_menu_show_hide_sidebar_callback), (view_menu_show_hide_tool_bar_callback), (view_menu_show_hide_location_bar_callback), (view_menu_show_hide_status_bar_callback): New menu callback functions that toggle the visibility of the various views. (nautilus_window_update_show_hide_menu_items): New function, sets the text in the show/hide menu items based on current visibility. (nautilus_window_initialize_menus): Put the Show/Hide menu items in the menu. * src/nautilus-window-private.h: Add prototype for nautilus_window_update_show_hide_menu_items. * src/nautilus-window.h: Renamed statusbar_ctx -> status_bar_context_id and statusbar_clear_id -> status_bar_clear_id; renamed show/hide locationbar/toolbar/statusbar to use location_bar, tool_bar, and status_bar (GTK bad English usage notwithstanding); added prototypes for nautilus_window_sidebar_showing and its ilk. * src/nautilus-window.c: (nautilus_window_initialize), (nautilus_window_destroy): Removed monitoring & unmonitoring of DISPLAY_SIDEBAR-type preferences since changing these preferences now has no dynamic effect. (nautilus_window_clear_status), (nautilus_window_set_status), (nautilus_window_constructed): Fixed wordgroupingification of status_bar et al. (show_dock_item), (hide_dock_item): New functions to share code of show/hide location bar & tool bar functions; these call nautilus_window_update_show_hide_menu_items now also. (dock_item_showing): New function, tests visibility of named dock item. (nautilus_window_hide_location_bar), (nautilus_window_show_location_bar), (nautilus_window_hide_tool_bar), (nautilus_window_show_tool_bar): Use new code-sharing functions. (nautilus_window_location_bar_showing), (nautilus_window_tool_bar_showing), (nautilus_window_sidebar_showing), (nautilus_window_status_bar_showing): New functions to test visibility (nautilus_window_hide_sidebar), (nautilus_window_show_sidebar), (nautilus_window_hide_status_bar), (nautilus_window_show_status_bar): These call nautilus_window_update_show_hide_menu_items now. (nautilus_window_show): Updated for naming changes. * RENAMING: Noted that the evil one-word "toolbar" phrase is still rampant in Nautilus.
* More work on bug 1653 (new menu layout)John Sullivan2000-08-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed bug 1995 (No way to enter/leave search mode from keyboard) Fixed bug 1999 (No way to reload from keyboard) * libnautilus/nautilus-bonobo-ui.h: Added more placeholders. * src/file-manager/fm-directory-view.c: (fm_directory_view_real_merge_menus): Position "Empty Trash" menu item and separator using placeholder. * src/file-manager/fm-icon-view.c: (compute_menu_item_info): Fixed bug where "Restore Icon's Original Size" was using the wrong plurality. (insert_bonobo_menu_item): Renamed this from append_ and gave it a position parameter. (fm_icon_view_merge_menus): Used placeholders to put the menu items in the order specified by bug 1653. * src/nautilus-switchable-navigation-bar.h: * src/nautilus-switchable-navigation-bar.c: (nautilus_switchable_navigation_bar_get_mode): New function; formerly there was a public setter but no public getter. * src/nautilus-window-menus.c: (file_menu_close_window_callback): Removed redundant assert. (file_menu_toggle_find_mode_callback): New function, toggles whether we're in search mode. (go_menu_reload_callback): New function, reloads. (nautilus_window_initialize_menus): Tweaked hint for "Close All Windows", added Find/Browse menu item; Changed "Up" to "Up a Level" to match bug 1653; added "Reload" to Go menu. (nautilus_window_update_find_menu_item): New function, sets the label of the Find/Browse menu item based on search mode's state. * src/nautilus-window-private.h: added #define for NAUTILUS_MENU_PATH_RELOAD_ITEM; added prototype for nautilus_window_update_find_menu_item. * src/nautilus-window-toolbars.c: Changed "Search" to "Find" to match menu item (and Arlo's design). * src/nautilus-window.h, * src/nautilus-window.c: (navigation_bar_mode_changed_callback): Update Find menu item. (nautilus_window_get_search_mode): New function; formerly there was a public setter but no public getter. (nautilus_window_allow_reload): Update menu item sensitivity.
* More work on bug 1750 ("Reveal in New Window" feature forJohn Sullivan2000-08-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fixed bug 1891 (calling set_title before report_load_underway hasDarin Adler2000-08-111-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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".
* Added code to check for position of current page in list.Gene Z. Ragan2000-07-131-9/+9
| | | | | | | | | | | | | | | | | 2000-07-13 Gene Z. Ragan <gzr@eazel.com> * components/history/nautilus-history-view.c: (install_icon), (history_view_update_icons), (history_load_location), (make_obj): Added code to check for position of current page in list. * src/nautilus-window.c: * src/nautilus-window.h: (nautilus_window_get_base_page_index): New function to return the index of the base page in the history list. (nautilus_window_get_history_list_callback), Set position field of returned list info using new function above.
* added a "web search" button to the toolbar. To do this, I also had toAndy Hertzfeld2000-07-111-1/+3
| | | | | | added a "web search" button to the toolbar. To do this, I also had to create a new toolbar subclass to overcome the problem of using the maximum width for all the buttons.
* Work on bug 1021, should ba bale to open smaller Nautilus windows.Gene Z. Ragan2000-07-091-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-07-08 Gene Z. Ragan <gzr@eazel.com> Work on bug 1021, should ba bale to open smaller Nautilus windows. * src/nautilus-window.c: (nautilus_window_constructed), * src/nautilus-window.h: (sidebar_panels_changed_callback), (nautilus_window_hide_locationbar), (nautilus_window_show_locationbar), (nautilus_window_hide_toolbar), (nautilus_window_show_toolbar), (nautilus_window_hide_sidebar), (nautilus_window_show_sidebar), (nautilus_window_hide_statusbar), (nautilus_window_show_statusbar): Added several new functions that control the visibility of NautilusWindow elements. * src/nautilus-window-menus.c: (edit_menu_cut_callback), (edit_menu_copy_callback), (settings_menu_toolbar_callback), (settings_menu_locationbar_callback), (settings_menu_statusbar_callback), (settings_menu_sidebar_callback), (settings_menu_normalize_menu_callback), (nautilus_window_initialize_menus): Test menu items to exercise the new code above. These can be removed from the build by undefining WINDOW_ITEMS_TEST.
* Removed the obsolete Nautilus/ContentView and Nautilus/MetaView.Darin Adler2000-07-071-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * components/hardware/nautilus-hardware-view.oafinfo: * components/help/help-contents.oafinfo: * components/help/help-index.oafinfo: * components/help/help-search.oafinfo: * components/history/nautilus-history-view.oafinfo: * components/html/ntl-web-browser.oafinfo: * components/loser/content/nautilus-content-loser.oafinfo: * components/loser/sidebar/nautilus-sidebar-loser.oafinfo: * components/mozilla/nautilus-mozilla-content-view.oafinfo: * components/music/nautilus-music-view.oafinfo: * components/notes/nautilus-notes.oafinfo: * components/rpmview/nautilus-rpm-view.oafinfo: * components/sample/nautilus-sample-content-view.oafinfo: * components/services/inventory/nautilus-view/nautilus-inventory-view.oafinfo: * components/services/login/nautilus-view/nautilus-login-view.oafinfo: * components/services/startup/nautilus-view/nautilus-service-startup-view.oafinfo: * components/services/summary/nautilus-view/nautilus-summary-view.oafinfo: * components/services/time/nautilus-view/trilobite-eazel-time-view.oafinfo: * components/services/trilobite/sample/nautilus-view/nautilus-sample-service-view.oafinfo: * components/shell/shell.oafinfo: * components/tree/nautilus-tree-view.oafinfo: * components/websearch/ntl-web-search.oafinfo: Removed the obsolete Nautilus/ContentView and Nautilus/MetaView. * components/services/install/command-line/.cvsignore: Added a generated file. * libnautilus-extensions/nautilus-directory-async.c: (metafile_read_done), (allow_metafile), (nautilus_directory_request_read_metafile): Another quick cut at leaving out metafiles for some schemes. (dequeue_pending_idle_callback): Get rid of "pending file info is NULL!" message and "approve" the change that made Maciej put it in. * libnautilus/nautilus-view.c: (nautilus_uri_list_from_g_list): Use CORBA_TRUE to truly use CORBA correctly. * src/nautilus-shell-interface.idl: * src/.cvsignore: * src/Makefile.am: * src/nautilus.oafinfo: * src/nautilus-shell.h: * src/nautilus-shell.c: (nautilus_shell_initialize_class), (nautilus_shell_get_epv), (nautilus_shell_get_vepv), (nautilus_shell_create_servant), (nautilus_shell_initialize), (destroy), (nautilus_shell_new), (display_caveat), (display_caveat_first_time), (open_window), (corba_open_windows), (corba_open_default_window), (corba_manage_desktop): Added a new CORBA file for the interface of the Nautilus shell itself and a class for a server side of it. Moved some code in here from NautilusApplication. * src/nautilus-application.c: (manufactures), (create_object), (create_factory), (nautilus_application_initialize), (nautilus_strv_length), (nautilus_make_uri_list_from_strv), (nautilus_application_startup): Moved the IID strings into constants for easier code reading. Added the code that can yield up the shell object, although it's not used yet. Changed startup code to use the NautilusShell object to do the work. This doesn't work cross-process yet, but it's ready to. * src/nautilus-window.h: * src/nautilus-window.c: (nautilus_window_initialize_class), (nautilus_window_initialize), (goto_uri_callback), (navigation_bar_mode_changed_callback), (nautilus_window_constructed), (nautilus_window_destroy), (nautilus_window_realize): Misc. cleanup, including getting rid of the strange old way of doing parent_class.
* Some work towards bug 1401 (bookmark icon never updates).John Sullivan2000-06-161-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No visible effect yet. * libnautilus-extensions/nautilus-bookmark.h: Added nautilus_bookmark_get_file prototype, not yet called or implemented. * libnautilus-extensions/nautilus-file.h, * libnautilus-extensions/nautilus-file.c: (nautilus_file_check_if_ready): New function, does nothing yet. * libnautilus-extensions/nautilus-icon-factory.h: Added nautilus_icon_factory_is_icon_ready_for_file prototype, not yet called or implemented. * src/nautilus-window-menus.c: (nautilus_window_initialize_bookmarks_menu), (nautilus_window_initialize_go_menu), (nautilus_window_remove_bookmarks_menu_callback), (nautilus_window_remove_go_menu_callback), (refresh_bookmarks_menu), (refresh_bookmarks_menu_idle_callback), (schedule_refresh_bookmarks_menu), (refresh_go_menu), (refresh_go_menu_idle_callback), (schedule_refresh_go_menu): Made the code that rebuilds the Go and Bookmarks menus when there's been a change to the bookmarks use idle handling to batch up requests. This will be important when bookmarks broadcast updates for their icons. * src/nautilus-window-private.h: Defined NautilusWindowDetails struct. We should eventually migrate all of the fields of NautilusWindow in here, but I didn't do that now. Added two fields used by bookmark-menu-updating code. * src/nautilus-window.h: Made a details field using NautilusWindowDetails. * src/nautilus-window.c: (nautilus_window_init): Create details field. (nautilus_window_destroy): Clean up any pending idle bookmark refreshing stuff.
* Task 1351: implement controllers to allow location bar and theMaciej Stachowiak2000-06-161-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | search/browse button * src/nautilus-location-bar.h, src/nautilus-location-bar.c: Factored this into two classes, NautilusNavigationBar, a class that defines the abstract interface (the set_location function and the location_changed signal), and NautilusLocationBar, a concrete implementation that works like the previous location bar. (nautilus_location_bar_set_location, nautilus_location_bar_get_location): Made static. Made `nautilus_location_bar_set_location' the handler for the set_location virtual method. * src/nautilus-navigation-bar.h, src/nautilus-navigation-bar.c: Abstract superclass for navigation bars. * src/nautilus-search-bar.h, src/nautilus-search-bar.c: New subclass of NautilusNavigationBar. Contains placeholder widgets for now, will eventually be the search bar. * src/nautilus-switchable-navigation-bar.h, src/nautilus-switchable-navigation-bar.c: New subclass of NautilusNavigationBar that allows switching between the location bar and the search bar. * src/nautilus-window.h: Rename `ent_uri' member of the window struct to `navigation_bar'. * src/nautilus-window.c (nautilus_window_navigation_bar_mode_changed_callback): Callback to sync the "search" toggle button to the mode of the switchable navigation bar. (nautilus_window_constructed): Create a NautilusSwitchableNavigationBar instead of a NautilusLocationBar. (nautilus_window_set_search_mode): New function to be used by the search toggle button callback; simply sets the mode of the switchable navigation bar appropriately. * src/nautilus-window-toolbars.c: Made Search button a toggle button. (toolbar_search_callback): Call `nautilus_window_set_search_mode'. * src/nautilus-window-manage-views.c (nautilus_window_update_internals, nautilus_window_end_location_change_callback): Use NautlusNavigationBar calls instead of NautilusLocationBar ones. * src/Makefile.am: Add new files to the build, and split all headers into noinst_HEADERS out from the nautilus_SOURCES variable.
* Initial changes to implement search architecture.Rebecca Schulman2000-06-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-13 Rebecca Schulman <rebecka@eazel.com> Initial changes to implement search architecture. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-directory-async.c: Changed metafile reading to skip this for search directories call a separate sync reader for search directories (the async handle creates a thread but doesn't talk to medusa yet) Added * libnautilus-extensions/nautilus-search-async.c: * libnautilus-extensions/nautilus-search-async.h: location of future async search calls * libnautilus-extensions/nautilus-directory-private.h: added is_search_directory boolean field to NautilusDirectoryDetails * libnautilus-extensions/nautilus-directory.c: * libnautilus-extensions/nautilus-directory.h: nautilus_search_directory_new supplemnts nautilus_directory_new and test functions nautilus_diretory_is_search_directory and nautilus_uri_is_search_uri * src/nautilus-window.c: * src/nautilus-window-toolbars.c: added search button (icon to come!) * src/nautilus.oafinfo: added search: to list of acceptable content for list view