Commit graph

486 commits

Author SHA1 Message Date
Ramiro Estrugo 8e0885068b Fix bug 8105 - GConf error getting font for icon view and text
view.

	* libnautilus/nautilus-view-standard-main.c:
	(nautilus_view_standard_main_multi):
	Move the post initialization callback to before the
	component's factory creation.  Otherwise bad things can happen if
	the component assumes that its post init function has already been
	called while in its factory code.  For example, if the post init
	function initialized nautilus preferences and the component
	factory executes code that uses nautilus preferences.
2001-04-20 07:26:25 +00:00
Darin Adler 6a0d42c346 Use the new EelCanvasRect instead of GnomeCanvasRect for better
* libnautilus-extensions/nautilus-icon-container.c:
	(start_rubberbanding): Use the new EelCanvasRect instead of
	GnomeCanvasRect for better rubber-banding speed in AA mode.

	* src/Makefile.am:
	* libnautilus/Makefile.am:
	* libnautilus-extensions/Makefile.am:
	Added dependencies so the IDL files get recompiled before we
	compile any .c files.
2001-04-18 22:23:01 +00:00
Darin Adler d986def787 Added a translator's name. Made it work for more file extensions. Updated
* THANKS: Added a translator's name.
	* check-POTFILES.pl: Made it work for more file extensions.
	* check-THANKS.pl: Updated for recent email changes.

	* components/image-viewer/io-png.h: Fixed includes.
	* components/image-viewer/io-png.c: Fixed includes.
	* components/adapter/nautilus-zoomable-proxy.c: Add include of
	<config.h>.
	* components/music/Makefile.am: Add non-compiled files to
	EXTRA_DIST. This makes check-headers-in-Makefile.pl happy.
	* components/tree/main.c: Removed this unused file since it's just
	a call to the standard main function.
	* components/tree/nautilus-tree-change-queue.c: Add include of
	<config.h>.

	* libnautilus/Makefile.am:
	* libnautilus-adapter/Makefile.am:
	* libnautilus-extensions/Makefile.am:
	* src/Makefile.am:
	Do the dist-hook dance so we don't include generated files in the
	tarball.

	* libnautilus-extensions/nautilus-dateedit-extensions.h:
	* libnautilus-extensions/nautilus-dateedit-extensions.c:
	(nautilus_gnome_date_edit_get_date_as_string): Rewrite to use
	eel_gstrdup_strftime.

	* src/nautilus-window-manage-views.c:
	(nautilus_window_content_view_matches_iid): We can get a NULL
	content view IID in some cases, so make sure we don't call strcmp
	on it.
2001-04-17 21:04:43 +00:00
Ramiro Estrugo 061ecc3fd7 Add missing eel includes.
* libnautilus/Makefile.am:
	Add missing eel includes.
2001-04-16 22:19:23 +00:00
Ramiro Estrugo 92be31159f Add support for gettext. Add a post initialize callback so that callers
* libnautilus/nautilus-view-standard-main.h:
	* libnautilus/nautilus-view-standard-main.c:
	(nautilus_view_standard_main_multi), (nautilus_view_standard_main):
	Add support for gettext.  Add a post initialize callback so that
	callers can initialize any component specific stuff before the
	main even loop begins (nautilus preferences for example)
	Update for standard main changes.
	Add documentation for these functions.  Also add criticals to make
	the code a little bit more robust.

	* components/help/hyperbola-main.c: (main):
	* components/history/nautilus-history-view.c: (main):
	* components/music/main.c: (main):
	* components/notes/nautilus-notes.c: (main):
	* components/sample/main.c: (main):
	* components/text/main.c: (main):
	* components/tree/main.c: (main):
	Update for standard main changes.  Make these a little simpler by
	putting gettext support in standard main itself.  Also, make sure
	that components that use preferences initialize them.

	* src/nautilus-main.c: (main):
	Dont do the preferences initialization if we are about to kill the
	nautilus shell.
2001-04-13 03:53:10 +00:00
Ramiro Estrugo fbbaf80362 Remove librsvg.
* 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.
2001-04-04 00:07:15 +00:00
Darin Adler f7ea58e25b reviewed by: John Sullivan <sullivan@eazel.com>
* libnautilus/nautilus-bonobo-workarounds.c:
	(nautilus_bonobo_object_force_destroy): Add new version that is
	not vulnerable to the problem of an unref coming in from the other
	process during the destroy phase. This version relies on Bonobo
	internals, so it's a truly evil bit of code, and I should be
	severely punished for even thinking of writing it.
	(nautilus_bonobo_object_force_destroy_at_idle): Added some more
	checks that I thought would help me in debugging.

	* src/nautilus-shell-ui.xml: Improve wording of tooltip for the Up
	command.

	* components/notes/nautilus-notes.c: Some code cleanup.

	* src/file-manager/fm-directory-view.c: Fixed a typo.
2001-04-03 20:59:03 +00:00
Darin Adler 58b097eca0 Make file operations progress dialog always stay up for at least 1
second total so it doesn't just appear and disappear.

	Preparing for a fix to the nautilus-adapter process leaking when
	Nautilus is terminated by Ctrl-C, I cleaned up some of the code
	inside the adapter.

	Improved the warning you get when neither /etc/mnttab nor
	/proc/mounts can be opened.

	Fix bug 6888 (when I view a large image, it appears first at 100%,
	then zoomed to fit).

	Re-added part of the code to make components go away when the main
	program that is hosting them goes away. The X-window-based
	solution is not working as well as I had hoped, so I'm re-adding
	the 20-second-timeout-based solution.

	* components/adapter/nautilus-adapter-embed-strategy.c:
	(nautilus_adapter_embed_strategy_initialize_class),
	(nautilus_adapter_embed_strategy_get),
	(nautilus_adapter_embed_strategy_emit_open_location): Change the
	strategy new functions to use more-normal reference rules. The
	caller no longer expects them to "use up" a reference.

	* components/adapter/nautilus-adapter-control-embed-strategy.c:
	(nautilus_adapter_control_embed_strategy_destroy),
	(nautilus_adapter_control_embed_strategy_new): Don't keep a
	reference to the BonoboControl around after creating the frame.

	* components/adapter/nautilus-adapter-embeddable-embed-strategy.c:
	(nautilus_adapter_embeddable_embed_strategy_destroy),
	(nautilus_adapter_embeddable_embed_strategy_new): Don't keep a
	reference to the BonoboEmeddable around after creating the frame.

	* components/image-viewer/nautilus-image-view.c: (redraw_control),
	(scrolled_window_size_allocate_callback),
	(control_factory_common), (init_bonobo_image_generic_factory):
	Some name changes, and a fix so that we don't show the image first
	at 100%, and then shrink to fit. The downside is that this might
	be too hard-coded to the current behavior of Nautilus, but it's
	better than flashing every time you open an image.

	* components/services/trilobite/utils/.cvsignore: Ignore some
	files in this new directory.

	* libnautilus-extensions/nautilus-file-operations-progress.h:
	* libnautilus-extensions/nautilus-file-operations-progress.c:
	(nautilus_file_operations_progress_update), (close_callback),
	(nautilus_file_operations_progress_destroy), (map_callback),
	(delete_event_callback),
	(nautilus_file_operations_progress_initialize),
	(nautilus_file_operations_progress_initialize_class),
	(nautilus_file_operations_progress_new),
	(nautilus_file_operations_progress_set_total),
	(nautilus_file_operations_progress_set_operation_string),
	(nautilus_file_operations_progress_new_file),
	(nautilus_file_operations_progress_clear),
	(nautilus_file_operations_progress_update_sizes),
	(delayed_close_callback), (nautilus_file_operations_progress_done):
	Did a lot of code cleanups throughout the file, and added a new
	call nautilus_file_operations_progress_done. Use this instead of
	gtk_object_destroy so that the window can linger long enough for
	the user to see it, if a copy was really fast.

	* libnautilus-extensions/nautilus-file-operations.c:
	(transfer_info_destroy), (parent_for_error_dialog),
	(create_transfer_dialog), (handle_transfer_ok),
	(handle_transfer_vfs_error): Change to use the new
	nautilus_file_operations_progress_done call instead of
	gtk_object_destroy when done with the progress dialog.

	* libnautilus-extensions/nautilus-icon-container.c:
	(nautilus_icon_container_update_scroll_region): Fix indentation.

	* libnautilus-extensions/nautilus-volume-monitor.c:
	(get_current_mount_list): Replace cryptic g_return_if_fail message
	with better-worded g_warning.

	* libnautilus/nautilus-view.c: (set_frame_callback),
	(widget_destroyed_callback),
	(nautilus_view_construct_from_bonobo_control): Re-added code to
	monitor the lifetime of the frame and self-destruct when the frame
	goes away. The X-window-based solution wasn't working 100%, and
	this solution does.

	* src/nautilus-sidebar.c: (toggle_sidebar_panel),
	(sidebar_for_each_sidebar_panel): Change object data key to use a
	prefix that includes the word "nautilus". Tweak code that builds
	the menu so that it always includes any panel that's displayed,
	even if the user level says it shouldn't be there.
2001-04-03 00:47:20 +00:00
Darin Adler 5df94af197 reviewed by: John Sullivan <sullivan@eazel.com>
A change to reduce the number of orphaned processes when Nautilus
	is not terminated cleanly. This is an architecture problem, and
	this hack only partly addresses it.

	Add code to NautilusViewFrame, NautilusView, and NautilusThrobber
	to destroy components when the corresponding widgets are
	destroyed.  Since X destroys windows when processes go away, this
	tells us immediately when processes disappear. This does not help
	in the case where Nautilus happens to die after creating a
	component, but before attaching the widget to its parent.

	This is not a complete solution to the orphaned processes problem
	because of 2 other categories of orphaned processes:

	    1) the adapter factory
	    2) non-NautilusView components, which won't get the advantage
	       of this fix because it's in Nautilus (a fix could go into
	       Bonobo, or into each component)

	* libnautilus/nautilus-bonobo-workarounds.h:
	* libnautilus/nautilus-bonobo-workarounds.c:
	(set_gone_flag), (nautilus_bonobo_object_force_destroy),
	(object_is_gone), (remote_check_data_free),
	(remote_check_timed_callback), (remote_check_destroy_callback),
	(nautilus_bonobo_object_call_when_remote_object_disappears),
	(force_destroy_cover),
	(nautilus_bonobo_object_force_destroy_when_owner_disappears):
	New code, implementing the machinery to notice when remote objects
	go away and to self-destruct when they do. Also code that does the
	timeout that used to be in NautilusViewFrame.

	* libnautilus/nautilus-view.c: (widget_destroyed_callback),
	(nautilus_view_construct_from_bonobo_control): Connect to the
	widget's destroy signal, and self-destruct when it happens.

	* components/throbber/nautilus-throbber.c:
	(nautilus_throbber_destroy), (null_pointer_callback),
	(nautilus_throbber_initialize): Destroy the BonoboControl when the
	throbber (a widget) is destroyed. Requires noticing when the
	control goes away (the old code just had a stale pointer to it).

	* src/nautilus-view-frame.c: (destroy_view),
	(nautilus_view_frame_destroy), (view_frame_failed_callback),
	(queue_view_frame_failed), (view_frame_failed_cover),
	(check_socket_gone_idle_callback), (check_socket_gone_callback),
	(attach_view): Use the new machinery instead of doing it
	ourselves, but sadly had to add some fairly complex code to catch
	the case where the socket is destroyed because the plug is gone.
2001-03-29 01:39:07 +00:00
Darin Adler 6a3ac19781 reviewed by: John Sullivan <sullivan@eazel.com>
Fix bug 6613 (no way to delete files without using trash) by
	integrating Maciej's patch to add an optional Delete command (with
	some fixes to the patch). There may still be some loose ends.

	Fix bug 2206 (No way to move or copy a file to a different
	directory from keyboard) by implementing Cut, Copy, and Paste for
	files, in a way that will be familiar to Windows users. The
	positioning of the new files is not right yet (they inherit their
	position from the old files), there is no feedback when you have
	cut some files (Arlo's idea, which I might implement, is to make
	them translucent to show they are "on the way out") or when you
	have copied some files, and I think there are some other loose
	ends.

	Fixed cut, copy, and paste within the file names when you do a
	rename. This wasn't working at all.

	Got rid of configure-time checks that were looking at the
	existence of some special system files.

	Fixed a few minor bugs discovered by code inspection.

	* libnautilus-extensions/nautilus-global-preferences.h:
	* libnautilus-extensions/nautilus-global-preferences.c:
	(global_preferences_install_descriptions),
	(global_preferences_install_defaults),
	(global_preferences_install_visibility),
	(global_preferences_create_dialog): Add expert preference to add a
	Delete command that bypasses the Trash.
	* src/file-manager/nautilus-directory-view-ui.xml: Add Delete, Cut
	Files, Copy Files, and Paste Files.
	* src/file-manager/fm-directory-view.c: (confirm_delete_directly),
	(delete_callback): Add delete code.
	(bonobo_menu_empty_trash_callback): Get rid of extraneous cast.
	(fm_directory_view_initialize): Track the delete preference. Set
	the flags properly to indicate we have our own X window. Add a
	target so GTK knows that we accept pastes of copied files.
	(forget_clipboard_contents): Helper for when we are no longer the
	clipboard owner.
	(fm_directory_view_destroy): Remove the delete preference
	callback. Free the clipboard contents.
	(offset_drop_points): Change so it handles NULL for the list of
	points.
	(trash_or_delete_files_common): Remove unneeded parameters.
	(get_current_event_time): New function, placeholder that just
	returned GDK_CURRENT_TIME. Perhaps we should get the real event
	time here for use in clipboard manipulation calls.
	(copy_or_cut_files): New function. Save the selection for later
	use in a paste.
	(copy_files_callback), (cut_files_callback): Call the new
	copy_or_cut_files function.
	(paste_files_callback): Do the clipboard convert that results in
	the paste operation.
	(real_selection_clear_event): Forget the clipboard contents.
	(real_selection_get): Convert the selection into the appropriate
	format and put it on the clipboard.
	(convert_lines_to_str_list): Helper function for decoding incoming
	pasted files.
	(real_selection_received): Handle pasted files by parsing and then
	triggering a file copy operation.
	(real_merge_menus): Add verbs for cut, copy, and paste.
	(enable_delete_changed_callback): Keep track of delete command
	status in a boolean.
	(real_update_menus): Show delete command if the preference is on
	and we are not showing "Delete from Trash". Update names of the
	Cut and Copy command depending on how many files are selected.
	Also desensitize them when none are selected.
	(fm_directory_view_select_file): Initialize an uninitialized field.
	(fm_directory_view_move_copy_items): Allow relative_item_points to
	be NULL.
	(real_realize): Create our own X window.
	(real_size_allocate): Trick GtkScrolledWindow into doing the right
	thing despite the fact that we have our own X window.
	(fm_directory_view_initialize_class): Moved down to the bottom so
	we don't need so many forward declaractions. Added code to set up
	some needed atoms and new default handlers.

	* libnautilus-extensions/nautilus-icon-text-item.c:
	(send_focus_event), (iti_stop_editing), (iti_start_editing): Add
	code to send the appropriate focus events to the fake off-screen
	GtkEntry. This makes the clipboard code that tracks focus-related
	signals work properly with this entry.
	(iti_event): Tweak the sequence and simplify the code a bit.
	* libnautilus/nautilus-clipboard.c:
	(set_paste_sensitive_if_clipboard_contains_data): Add more
	FIXMEs. This function is very far from useful, and it's not clear
	that it can be implemented efficiently under X.
	(nautilus_clipboard_set_up_editable): Get rid of silly
	"grab_focus" hack that was an attempt to address the problems with
	the NautilusIconTextItem. The real solution was to do focusing for
	that item too.
	(nautilus_clipboard_set_up_editable_in_control): Fix this so it
	works when called on an editable that is already focused.
	* src/file-manager/fm-icon-view.c: (renaming_icon_callback): Get
	rid of "grab_focus" workaround, which wasn't working.

	* acconfig.h:
	* configure.in:
	Remove all configure checks that were checking the existence of
	files.
	* libnautilus-extensions/nautilus-medusa-support.c:
	(nautilus_medusa_check_cron_is_enabled): Simplify logic so there's
	less room for confusion (I did this as a fix for the bug that was
	reported on the mailing list, but Rebecka checked in the small
	patch first). Also change it so we don't need a configure-time
	check for the existence of the process directory and fix it so we
	won't get a core dump if the file doesn't have a space character
	in it. Also change the logic so we don't leave the directory open
	when we do find the cron process.
	* libnautilus-extensions/nautilus-volume-monitor.c:
	(nautilus_volume_monitor_initialize_class),
	(has_removable_mntent_options),	(get_removable_volumes),
	(volume_is_removable), (volume_is_read_only),
	(mount_volume_get_cdrom_name), (mount_volume_activate_cdda),
	(mount_volume_activate_cdrom), (build_volume_list_delta),
	(get_current_mount_list), (mount_lists_are_identical),
	(verify_current_mount_state), (mount_volume_floppy_add),
	(get_cdrom_type_solaris), (mount_volume_iso9660_add),
	(display_mount_status), (close_error_pipe),
	(nautilus_volume_monitor_mount_unmount_removable),
	(mount_volume_add_filesystem): Make changes throughout to get rid
	of dependence on configure-time file checks and do things at
	runtime instead. Also use typedefs to make less code conditional.
	Also fix the Solaris CD-ROM code which was casting a GString to
	a (char *) before, so it used absurd file names, and failed to open
	and returned FALSE all the time.

	* libnautilus-extensions/nautilus-icon-container.c:
	(nautilus_icon_container_start_renaming_selected_item): Send the
	renaming signal before setting up the rest of the icon. This
	change is not really needed, but it's a better order to do things.

	* libnautilus/nautilus-clipboard-ui.xml: Move tips into the
	commands instead of the menu items (for style mostly, no practical
	implications at the moment).
	* src/nautilus-shell-ui.xml: Remove tips from Cut, Copy, and Paste,
	since tips from insensitive items aren't used, and if we had tips,
	we'd put them on the command, not the menu item, anyway.
2001-03-23 02:34:16 +00:00
Darin Adler dcb478cf7e reviewed by: John Sullivan <sullivan@eazel.com>
Fix bug 6495 (Emacs-style keybindings not working in location bar
	and other NautilusEntry fields) by adding an expert preference to
	control whether the Emacs shortcuts or the ones in the menu bar
	take precedence. I started with Maciej's patch and did many
	refinements.

	Fix bug 1788 ("Select All" needs to be implemented for text): I
	had to add Select All so it won't do the icon view's Select All
	when you do a select all with the location bar focused.

	Fix bug 5612 (clicking to deselect causes incorrect menu
	sensitivity) by adding another signal handler for button clicks.

	Fix bug 7581 (When trying to restart Nautilus after crash from bug
	7579 I get a Segmentation Fault). I was just lucky enough to run
	into the problem on my machine.

	* libnautilus-extensions/nautilus-global-preferences.h:
	* libnautilus-extensions/nautilus-global-preferences.c:
	(global_preferences_install_descriptions),
	(global_preferences_install_defaults),
	(global_preferences_install_visibility),
	(global_preferences_create_dialog): Added the new Emacs-shortcut
	preference with the wording requested in the bug report.

	* libnautilus-extensions/nautilus-entry.h:
	* libnautilus-extensions/nautilus-entry.c:
	(emacs_shortcuts_preference_changed_callback): Track the
	preference.
	(nautilus_entry_initialize): Set up the callback to track the
	preference.
	(nautilus_entry_destroy): Tear down the callback to track the
	preference.
	(nautilus_entry_key_press): Allow the emacs shortcuts built into
	GtkEntry to work if the preference is set that way. Also, only
	emit the selection_changed signal if the key is actually handled.
	(nautilus_entry_motion_notify): Simplify the logic, since it's
	OK to send the selection_changed signal a little too often.
	(select_all_at_idle): Handle the case where the object is
	destroyed.
	(nautilus_entry_select_all_at_idle): Ref the object to handle the
	case where the object is destroyed before the idle happens.
	(nautilus_entry_button_press): Send a selection_changed message,
	since pressing the button can cause a selection change.
	(nautilus_entry_button_release): Send a selection_changed message,
	since pressing the button can cause a selection change.
	(nautilus_entry_initialize_class): Add new default handlers. Also,
	move to bottom of file so we don't need so many forward
	declarations.

	* libnautilus/nautilus-clipboard-ui.xml: Add a Select All Text
	command.
	* libnautilus/nautilus-clipboard.c: (select_all): New function to
	select all the text in a GtkEditable. Sadly it needs a special
	case for GtkText.
	(select_all_idle_callback): Callback used to select the text from
	idle.
	(select_all_callback): Callback that sets up the idle. Called from
	the bonobo verb.
	(initialize_clipboard_component_with_callback_data): Add the
	callback for Select All.

	* librsvg/rsvg.c: (rsvg_state_init): Initialize more fields,
	including font_size.
	(rsvg_text_handler_characters): Don't try to draw if the font
	size is 0 or negative.
	* librsvg/art_render_mask.c: (art_render_mask_render): Handle
	cases where x1 < x0. The old code would seg. fault. This was the
	reason we got a crash in bug 7581.

	* configure.in: Upped the required version of gnome-vfs.
2001-03-16 22:26:53 +00:00
John Sullivan 89cdddf39b Fixed bug 7597 (Cut Text's underline accelerator changes
to conflict with Copy Text's when a text field is focussed)

	* libnautilus/nautilus-clipboard-ui.xml: Changed _Cut Text
	to Cut _Text here, to match what it is when no text field
	is focussed.
2001-03-14 16:57:02 +00:00
Darin Adler bb5e1acb2f reviewed by: John Sullivan <sullivan@eazel.com>
Fix bug 7587 (Copying text in Notes with menu item kills Notes
	[also Text viewer, etc]):

	* libnautilus/nautilus-clipboard.c: (do_with_fake_current_event):
	Function to set up a non-NULL event so the code in GtkEditable
	won't die.
	(cut_callback), (copy_callback), (paste_callback): Use the new
	function.
2001-03-09 22:30:53 +00:00
Darin Adler 4536e0f5b3 reviewed by: John Sullivan <sullivan@eazel.com>
Fix another part of bug 7494 (History sidebar component spews
	assertions when closing nautilus window [and sometimes crashes]):

	* libnautilus/nautilus-idle-queue.c: (execute_queued_functions):
	Change logic so that queued functions no longer execute once the
	caller destroys the queue.

	Fix bug 7564 (opening and quickly closing window in list view
	leads to core dump):

	* src/file-manager/fm-directory-view.c:
	(fm_directory_view_destroy): Remove code to empty lists now that
	stop handles that.
	(load_error_callback): Added a FIXME about the fact that we throw
	away some pending files on an error.
	(fm_directory_view_stop): Don't display pending files any more.
	This is a problem when trying to destroy, and also the old code
	displayed only one "batch" of pending files, so it wasn't really
	making sure all the files were displayed anyway. If we re-add the
	code to display pending files here, we'll have to make sure it
	doesn't do this for the destroy case.
	* src/file-manager/fm-list-view.c: Added FIXME asking why the "add
	100 items at a time" logic is only needed for list view, and not
	for icon view. If both kinds of views had it, it could be done
	more simply at the FMDirectoryView level.

	* libnautilus-extensions/nautilus-icon-factory.c:
	(nautilus_get_icon_size_for_zoom_level): Fix this code so that it
	doesn't do a core dump if it gets a bad size. This is not the
	cause of the problem, but it's good to fix this too, because a
	core dump is overreacting to a bad parameter.
2001-03-08 19:53:30 +00:00
Darin Adler d566827eb6 reviewed by: John Sullivan <sullivan@eazel.com>
Did most of the work for bug 5779, separating out the Eazel logos
	so they won't be used by non-Eazel folks making changes to
	Nautilus if they choose to do "non-approved" changes (allowed by
	GPL of course).

	* nautilus.spec.in: Add new logos.
	* configure.in: Add eazel-logos and eazel-logos/throbber.
	* Makefile.am: Add the eazel-logos subdirectory.
	* eazel-logos/Makefile.am: Created.
	* eazel-logos/throbber/Makefile.am: Created.

	* components/services/nautilus-dependent-shared/icons/eazel-logo-right-side-logo.png:
	* icons/About_Image.png:
	* icons/about_background.png:
	* icons/default.xml:
	* icons/druid_header.png:
	* icons/throbber/001.png:
	* icons/throbber/002.png:
	* icons/throbber/003.png:
	* icons/throbber/004.png:
	* icons/throbber/005.png:
	* icons/throbber/006.png:
	* icons/throbber/007.png:
	* icons/throbber/008.png:
	* icons/throbber/009.png:
	* icons/throbber/010.png:
	* icons/throbber/011.png:
	* icons/throbber/012.png:
	* icons/throbber/013.png:
	* icons/throbber/014.png:
	* icons/throbber/015.png:
	* icons/throbber/016.png:
	* icons/throbber/017.png:
	* icons/throbber/018.png:
	* icons/throbber/019.png:
	* icons/throbber/020.png:
	* icons/throbber/021.png:
	* icons/throbber/022.png:
	* icons/throbber/023.png:
	* icons/throbber/024.png:
	* icons/throbber/025.png:
	* icons/throbber/026.png:
	* icons/throbber/027.png:
	* icons/throbber/028.png:
	* icons/throbber/029.png:
	* icons/throbber/030.png:
	* icons/throbber/Makefile.am:
	* icons/throbber/rest.png:
	Updated with non-logo versions.

	Did 90% of the work for bug 6950 (need new report_redirect call in
	addition to report_location_change). While working on that, I also
	moved the deferral of outgoing calls that is done in the Mozilla
	component so that it is done by the NautilusView class instead.

	* libnautilus/nautilus-view-component.idl: Added report_redirect.
	* libnautilus/nautilus-view.h: Added report_redirect.
	* libnautilus/nautilus-view.c: (queue_outgoing_call): Added
	queing for the outgoing side.
	(nautilus_view_initialize): Allocate queue.
	(nautilus_view_destroy): Deallocate queue.
	(str_list_copy): Utility needed here because we can't use
	libnautilus-extensions.
	(list_free_deep_callback): New. Used in queuing code.
	(free_location_plus_callback): New. Used in queueing code.
	(call_open_location_in_this_window),
	(call_open_location_prefer_existing_window),
	(call_open_location_force_new_window),
	(call_report_location_change), (call_report_redirect),
	(call_report_selection_change), (call_report_status),
	(call_report_load_underway), (call_report_load_progress),
	(call_report_load_complete), (call_report_load_failed),
	(call_set_title), (call_go_back): Functions that get queued.
	These have the bulk of the code to do work.
	(nautilus_view_open_location_in_this_window),
	(nautilus_view_open_location_prefer_existing_window),
	(nautilus_view_open_location_force_new_window),
	(nautilus_view_report_location_change),
	(nautilus_view_report_redirect),
	(nautilus_view_report_selection_change),
	(nautilus_view_report_status),
	(nautilus_view_report_load_underway),
	(nautilus_view_report_load_progress),
	(nautilus_view_report_load_complete),
	(nautilus_view_report_load_failed), (nautilus_view_set_title),
	(nautilus_view_go_back): These functions now simply queue the work
	that needs to be done.

	* src/nautilus-view-frame-corba.c: (free_location_plus_callback):
	Add a new field for the "from_location" needed for redirect.
	(report_redirect): The actual function to do the work.
	(impl_Nautilus_ViewFrame_report_redirect): Queue function.
	* src/nautilus-view-frame.h:
	* src/nautilus-view-frame-private.h:
	* src/nautilus-view-frame.c:
	(nautilus_view_frame_initialize_class): Create report_redirect
	signal.
	(nautilus_view_frame_report_redirect): Emit the signal.
	* src/nautilus-window-manage-views.c: (report_redirect_callback):
	Code to implement the redirect. For now this does the exact same
	thing as report_location_change. This is where all the remaining
	work to fix the bug goes.

	* components/mozilla/nautilus-mozilla-content-view.c:
	(view_load_location_callback), (mozilla_title_changed_callback),
	(mozilla_net_start_callback), (mozilla_net_stop_callback),
	(mozilla_link_message_callback), (mozilla_progress_callback),
	(mozilla_dom_mouse_click_callback),
	(navigate_mozilla_to_nautilus_uri), (update_nautilus_uri),
	(eazel_services_scheme_from_http): Remove the "async" calls that
	defer calls until timeout time now that NautilusView itself does
	that for all components.

	* libnautilus-extensions/nautilus-gtk-extensions.h:
	* libnautilus-extensions/nautilus-gtk-extensions.c:
	(nautilus_gtk_marshal_NONE__POINTER_POINTER_POINTER_POINTER):
	Added new marshal function needed for report_redirect.

	Other changes.

	* THANKS: Add some more contributors, after running the script
	to detect new ChangeLog entries.
2001-02-27 22:25:42 +00:00
Darin Adler 764d936aa0 reviewed by: John Sullivan <sullivan@eazel.com>
Fix bug 6859 (GTK signal macros don't work in non-GCC compilers
	for void return types).

	* libnautilus-extensions/nautilus-gtk-macros.h:
	Replaced old macros that accidentally relied on gccisms with
	new ones that are portable to other compilers.

		NAUTILUS_CALL_PARENT_CLASS is replaced by
			NAUTILUS_CALL_PARENT
		    and NAUTILUS_CALL_PARENT_WITH_RETURN_VALUE.

		NAUTILUS_CALL_VIRTUAL is replaced by
			NAUTILUS_CALL_METHOD
		    and NAUTILUS_CALL_METHOD_WITH_RETURN_VALUE

	* components/adapter/nautilus-adapter-control-embed-strategy.c:
	(nautilus_adapter_control_embed_strategy_destroy):
	* components/adapter/nautilus-adapter-embed-strategy.c:
	(nautilus_adapter_embed_strategy_destroy),
	(nautilus_adapter_embed_strategy_get_widget),
	(nautilus_adapter_embed_strategy_get_zoomable):
	* components/adapter/nautilus-adapter-embeddable-embed-strategy.c:
	(nautilus_adapter_embeddable_embed_strategy_destroy):
	* components/adapter/nautilus-adapter-factory-server.c:
	(nautilus_adapter_factory_server_destroy):
	* components/adapter/nautilus-adapter-file-load-strategy.c:
	(nautilus_adapter_file_load_strategy_destroy):
	* components/adapter/nautilus-adapter-load-strategy.c:
	(nautilus_adapter_load_strategy_destroy),
	(nautilus_adapter_load_strategy_load_location),
	(nautilus_adapter_load_strategy_stop_loading):
	* components/adapter/nautilus-adapter-progressive-load-strategy.c:
	(nautilus_adapter_progressive_load_strategy_destroy):
	* components/adapter/nautilus-adapter-stream-load-strategy.c:
	(nautilus_adapter_stream_load_strategy_destroy):
	* components/adapter/nautilus-adapter.c:
	(nautilus_adapter_destroy):
	* components/hardware/nautilus-hardware-view.c:
	(nautilus_hardware_view_destroy):
	* components/history/nautilus-history-view.c:
	(nautilus_history_view_destroy):
	* components/loser/content/nautilus-content-loser.c:
	(nautilus_content_loser_destroy):
	* components/loser/sidebar/nautilus-sidebar-loser.c:
	(nautilus_sidebar_loser_destroy):
	* components/music/nautilus-music-view.c:
	(nautilus_music_view_destroy):
	* components/rpmview/nautilus-rpm-verify-window.c:
	(nautilus_rpm_verify_window_destroy):
	* components/rpmview/nautilus-rpm-view.c:
	(nautilus_rpm_view_destroy):
	* components/sample/nautilus-sample-content-view.c:
	(nautilus_sample_content_view_destroy):
	* components/services/install/nautilus-view/nautilus-service-instal
	l-view.c: (nautilus_service_install_view_destroy),
	(nautilus_service_install_view_finalize):
	* components/services/inventory-view/nautilus-inventory-config-page
	.c: (nautilus_inventory_config_page_destroy):
	* components/services/inventory-view/nautilus-inventory-view.c:
	(nautilus_inventory_view_destroy):
	* components/services/login/nautilus-view/nautilus-change-password-
	view.c: (nautilus_change_password_view_destroy):
	* components/services/nautilus-dependent-shared/eazel-services-foot
	er.c: (footer_destroy):
	* components/services/nautilus-dependent-shared/eazel-services-head
	er.c: (header_destroy):
	* components/services/summary/nautilus-summary-view.c:
	(nautilus_summary_view_destroy):
	* components/services/time/nautilus-view/trilobite-eazel-time-view.
	c: (trilobite_eazel_time_view_destroy):
	* components/text/nautilus-text-view.c:
	(nautilus_text_view_destroy):
	* components/throbber/nautilus-throbber.c:
	(nautilus_throbber_destroy), (nautilus_throbber_map),
	(nautilus_throbber_size_allocate):
	* components/tree/nautilus-tree-change-queue.c:
	(nautilus_tree_change_queue_destroy):
	* components/tree/nautilus-tree-expansion-state.c:
	(nautilus_tree_expansion_state_destroy):
	* components/tree/nautilus-tree-model.c:
	(nautilus_tree_model_destroy):
	* components/tree/nautilus-tree-node.c:
	(nautilus_tree_node_destroy):
	* components/tree/nautilus-tree-view.c:
	(nautilus_tree_view_destroy):
	* help/nautilus-quick-reference/.cvsignore:
	* help/nautilus-quick-reference/C/.cvsignore:
	* libnautilus-extensions/nautilus-background-canvas-group.c:
	(nautilus_background_canvas_group_update),
	(nautilus_background_canvas_group_draw),
	(nautilus_background_canvas_group_render):
	* libnautilus-extensions/nautilus-background.c:
	(nautilus_background_destroy):
	* libnautilus-extensions/nautilus-bookmark.c:
	(nautilus_bookmark_destroy):
	* libnautilus-extensions/nautilus-caption.c:
	(nautilus_caption_destroy), (nautilus_font_picker_show_all):
	* libnautilus-extensions/nautilus-clickable-image.c:
	(nautilus_clickable_image_destroy),
	(nautilus_clickable_image_realize),
	(nautilus_clickable_image_expose_event):
	* libnautilus-extensions/nautilus-debug-drawing.c:
	(debug_pixbuf_viewer_destroy):
	* libnautilus-extensions/nautilus-directory-metafile-monitor.c:
	(destroy):
	* libnautilus-extensions/nautilus-directory.c:
	(nautilus_directory_destroy),
	(nautilus_directory_get_name_for_self_as_new_file),
	(nautilus_directory_are_all_files_seen),
	(nautilus_directory_contains_file),
	(nautilus_directory_call_when_ready),
	(nautilus_directory_cancel_callback),
	(nautilus_directory_file_monitor_add),
	(nautilus_directory_file_monitor_remove),
	(nautilus_directory_force_reload),
	(nautilus_directory_is_not_empty):
	* libnautilus-extensions/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):
	* libnautilus-extensions/nautilus-ellipsizing-label.c:
	(real_size_request), (real_size_allocate), (real_style_set):
	* libnautilus-extensions/nautilus-entry.c:
	(nautilus_entry_destroy), (nautilus_entry_key_press),
	(nautilus_entry_motion_notify), (nautilus_entry_set_selection),
	(nautilus_entry_insert_text), (nautilus_entry_delete_text),
	(nautilus_entry_selection_clear):
	* libnautilus-extensions/nautilus-file.c: (destroy),
	(nautilus_file_monitor_add), (nautilus_file_monitor_remove),
	(nautilus_file_get_date), (nautilus_file_get_where_string),
	(nautilus_file_get_directory_item_count),
	(nautilus_file_get_deep_counts), (nautilus_file_get_file_type),
	(nautilus_file_check_if_ready), (nautilus_file_call_when_ready),
	(nautilus_file_cancel_call_when_ready):
	* libnautilus-extensions/nautilus-font-factory.c: (destroy):
	* libnautilus-extensions/nautilus-font-picker.c:
	(nautilus_font_picker_destroy):
	* libnautilus-extensions/nautilus-horizontal-splitter.c:
	(nautilus_horizontal_splitter_destroy),
	(nautilus_horizontal_splitter_button_press):
	* libnautilus-extensions/nautilus-icon-canvas-item.c:
	(nautilus_icon_canvas_item_destroy),
	(nautilus_icon_canvas_item_update):
	* libnautilus-extensions/nautilus-icon-container.c: (destroy),
	(size_allocate), (realize), (unrealize), (button_press_event),
	(button_release_event), (motion_notify_event), (key_press_event):
	* libnautilus-extensions/nautilus-icon-factory.c:
	(nautilus_icon_factory_destroy):
	* libnautilus-extensions/nautilus-image-table.c:
	(nautilus_image_table_destroy),
	(nautilus_image_table_expose_event),
	(nautilus_image_table_realize), (nautilus_image_table_unrealize),
	(nautilus_image_table_remove):
	* libnautilus-extensions/nautilus-image.c:
	(nautilus_image_destroy):
	* libnautilus-extensions/nautilus-keep-last-vertical-box.c:
	(nautilus_keep_last_vertical_box_size_allocate):
	* libnautilus-extensions/nautilus-label.c:
	(nautilus_label_destroy), (nautilus_label_size_request),
	(nautilus_label_size_allocate), (label_paint_pixbuf_callback):
	* libnautilus-extensions/nautilus-labeled-image.c:
	(nautilus_labeled_image_destroy):
	* libnautilus-extensions/nautilus-list-column-title.c:
	(nautilus_list_column_title_finalize):
	* libnautilus-extensions/nautilus-list.c: (nautilus_list_destroy),
	(nautilus_list_button_press), (nautilus_list_button_release),
	(nautilus_list_key_press), (nautilus_list_style_set),
	(nautilus_list_realize), (nautilus_list_unrealize), (draw_rows),
	(draw_all), (nautilus_list_draw), (nautilus_list_expose),
	(nautilus_list_resize_column), (nautilus_list_set_cell_contents),
	(set_list_cell), (nautilus_list_track_new_column_width),
	(nautilus_list_motion), (nautilus_list_clear), (insert_row):
	* libnautilus-extensions/nautilus-merged-directory.c:
	(merged_destroy):
	* libnautilus-extensions/nautilus-metafile-factory.c: (destroy):
	* libnautilus-extensions/nautilus-metafile.c: (destroy):
	* libnautilus-extensions/nautilus-preferences-box.c:
	(nautilus_preferences_box_destroy):
	* libnautilus-extensions/nautilus-preferences-pane.c:
	(nautilus_preferences_pane_destroy):
	* libnautilus-extensions/nautilus-scalable-font.c:
	(nautilus_scalable_font_destroy):
	* libnautilus-extensions/nautilus-string-picker.c:
	(nautilus_string_picker_destroy):
	* libnautilus-extensions/nautilus-tabs.c: (nautilus_tabs_destroy):
	* libnautilus-extensions/nautilus-text-caption.c:
	(nautilus_text_caption_destroy):
	* libnautilus-extensions/nautilus-trash-directory.c:
	(trash_destroy):
	* libnautilus-extensions/nautilus-trash-file.c: (trash_destroy):
	* libnautilus-extensions/nautilus-undo-context.c: (destroy):
	* libnautilus-extensions/nautilus-undo-manager.c: (destroy):
	* libnautilus-extensions/nautilus-vfs-directory.c: (vfs_destroy):
	* libnautilus-extensions/nautilus-vfs-file.c: (vfs_destroy):
	* libnautilus-extensions/nautilus-viewport.c:
	(nautilus_viewport_destroy), (nautilus_viewport_realize):
	* libnautilus-extensions/nautilus-volume-monitor.c:
	(nautilus_volume_monitor_destroy):
	* libnautilus-extensions/nautilus-wrap-table.c:
	(nautilus_wrap_table_destroy):
	* libnautilus/nautilus-undo-transaction.c:
	(nautilus_undo_transaction_destroy):
	* libnautilus/nautilus-view.c: (nautilus_view_destroy):
	* src/file-manager/fm-desktop-icon-view.c:
	(fm_desktop_icon_view_destroy), (real_update_menus),
	(real_merge_menus):
	* src/file-manager/fm-directory-view.c:
	(text_attribute_names_changed_callback),
	(image_display_policy_changed_callback),
	(directory_view_font_family_changed_callback),
	(click_policy_changed_callback),
	(smooth_graphics_mode_changed_callback),
	(fm_directory_view_destroy),
	(fm_directory_view_file_limit_reached),
	(fm_directory_view_bump_zoom_level),
	(fm_directory_view_zoom_to_level),
	(fm_directory_view_restore_default_zoom_level),
	(fm_directory_view_can_zoom_in), (fm_directory_view_can_zoom_out),
	(fm_directory_view_get_background_widget),
	(fm_directory_view_get_selection), (reveal_newly_added_folder),
	(fm_directory_view_get_emblem_names_to_exclude),
	(fm_directory_view_merge_menus), (fm_directory_view_select_all),
	(fm_directory_view_set_selection),
	(fm_directory_get_selected_icon_locations),
	(fm_directory_view_reveal_selection),
	(fm_directory_view_is_read_only), (fm_directory_view_is_empty),
	(fm_directory_view_supports_creating_files),
	(fm_directory_view_accepts_dragged_files),
	(fm_directory_view_supports_properties),
	(fm_directory_view_supports_zooming),
	(fm_directory_view_update_menus):
	* src/file-manager/fm-icon-view.c: (fm_icon_view_destroy),
	(fm_icon_view_clean_up), (fm_icon_view_get_directory_sort_by),
	(fm_icon_view_set_directory_sort_by),
	(fm_icon_view_get_directory_sort_reversed),
	(fm_icon_view_set_directory_sort_reversed),
	(fm_icon_view_get_directory_auto_layout),
	(fm_icon_view_set_directory_auto_layout),
	(fm_icon_view_get_directory_tighter_layout),
	(fm_icon_view_set_directory_tighter_layout),
	(fm_icon_view_supports_auto_layout),
	(fm_icon_view_start_renaming_item), (fm_icon_view_merge_menus),
	(fm_icon_view_update_menus):
	* src/file-manager/fm-list-view.c: (fm_list_view_adding_file),
	(fm_list_view_removing_file), (fm_list_view_file_still_belongs),
	(get_number_of_columns), (get_link_column),
	(get_default_sort_attribute), (get_column_specification):
	* src/file-manager/fm-properties-window.c: (real_shutdown),
	(real_destroy), (real_finalize):
	* src/file-manager/fm-search-list-view.c: (real_destroy),
	(real_add_file), (real_adding_file), (real_removing_file),
	(real_merge_menus), (real_update_menus):
	* src/nautilus-about.c: (nautilus_about_destroy):
	* src/nautilus-application.c: (nautilus_application_destroy),
	(nautilus_application_startup):
	* src/nautilus-complex-search-bar.c:
	(nautilus_complex_search_bar_destroy):
	* src/nautilus-desktop-window.c: (destroy), (realize):
	* src/nautilus-location-bar.c: (destroy):
	* src/nautilus-navigation-bar.c:
	(nautilus_navigation_bar_get_location),
	(nautilus_navigation_bar_set_location):
	* src/nautilus-property-browser.c:
	(nautilus_property_browser_destroy):
	* src/nautilus-search-bar-criterion.c:
	(nautilus_search_bar_criterion_destroy):
	* src/nautilus-shell.c: (destroy):
	* src/nautilus-sidebar-tabs.c: (nautilus_sidebar_tabs_destroy),
	(nautilus_sidebar_tabs_size_allocate):
	* src/nautilus-sidebar-title.c: (nautilus_sidebar_title_destroy),
	(nautilus_sidebar_title_size_allocate):
	* src/nautilus-sidebar.c: (nautilus_sidebar_destroy),
	(nautilus_sidebar_size_allocate), (nautilus_sidebar_realize):
	* src/nautilus-simple-search-bar.c:
	(nautilus_simple_search_bar_destroy):
	* src/nautilus-switchable-navigation-bar.c:
	(nautilus_switchable_navigation_bar_destroy):
	* src/nautilus-switchable-search-bar.c:
	(nautilus_switchable_search_bar_destroy):
	* src/nautilus-theme-selector.c: (nautilus_theme_selector_destroy):
	* src/nautilus-view-frame.c: (nautilus_view_frame_destroy),
	(nautilus_view_frame_finalize), (nautilus_view_frame_map):
	* src/nautilus-window.c: (nautilus_window_destroy),
	(nautilus_window_realize), (nautilus_window_size_request),
	(nautilus_window_add_current_location_to_history_list),
	(nautilus_window_show):
	* src/nautilus-zoom-control.c: (nautilus_zoom_control_destroy),
	(nautilus_zoom_control_size_allocate):
	Use the macros by their new names.

	* RENAMING: Updated for some name changes and name change ideas.

	* user-guide/C/.cvsignore:
	* user-guide/C/html/.cvsignore:
	* user-guide/C/img/.cvsignore:
	* user-guide/C/sgml/.cvsignore:
	Added missing cvsignores.
2001-02-23 02:08:46 +00:00
Maciej Stachowiak 9efcca8000 reviewed by: Gene Z. Ragan <gzr@eazel.com>
Added auto-prelighting feature to NautilusClickableImage, and
	fixed a major bug that occurs for clickable images in scrolled
	areas.

	* libnautilus-extensions/nautilus-clickable-image.h,
	libnautilus-extensions/nautilus-clickable-image.c:
	(nautilus_clickable_image_set_prelight): New public API call that
	allows for automatic prelight handling direct in
	NautilusClickableImage; made it settable because some users of
	this code want to manually prelight with an alternate image.
	(nautilus_clickable_image_set_up_pixbufs): helper function for the
	above that keeps track of the normal and prelit buffers.
	(label_enter, label_leave): When in prelight mode, switch images
	on enter and leave. Also, remove unnecessary queue_draw calls.

	(adjust_coordinates_for_window, ancestor_enter_notify_event,
	ancestor_leave_notify_event, ancestor_motion_notify_event): Do
	some coordinate adjustments so that if the NautilusClickableImage
	is in a scrolled area with NO_WINDOW widgets all the way in
	between, we do an appropriate coordinate adjustment. This should
	also handle other containers that put their children in a
	different window than their own. This was breaking for the summary
	view when I set it to use clickable images for the service icons.

	* libnautilus/nautilus-view-standard-main.c
	(nautilus_view_standard_main_multi): Do a g_thread_init to make
	views that use gnome-vfs happy.
2001-02-19 20:46:26 +00:00
Darin Adler 33e0bb3642 reviewed by: John Sullivan <sullivan@eazel.com>
Fixed bug 6477 (no way for intall view to send user "back where
	they came from") by adding a "go back" command for views.

	* libnautilus/nautilus-view-component.idl: Add "go back".
	* libnautilus/nautilus-view.h:
	* libnautilus/nautilus-view.c: (nautilus_view_go_back): Add "go
	back".
	* src/nautilus-view-frame-private.h:
	* src/nautilus-view-frame-corba.c: (go_back),
	(impl_Nautilus_ViewFrame_go_back): Add "go back".
	* src/nautilus-view-frame.h:
	* src/nautilus-view-frame.c:
	(nautilus_view_frame_initialize_class),
	(nautilus_view_frame_go_back): Add "go back".
	* src/nautilus-window-manage-views.c: (go_back_callback): Add code
	to either go back or go home.

	* src/nautilus-window-toolbars.c:
	(back_or_forward_button_pressed_callback): Formatting tweak.
2001-02-17 00:56:04 +00:00
Darin Adler 37f08cd6eb reviewed by: John Sullivan <sullivan@eazel.com>
Fix bug 6408 (nautilus_view_report_load_failed causes Nautilus to
	segfault in an idle callback):

	* libnautilus/nautilus-idle-queue.c: (execute_queued_functions),
	(nautilus_idle_queue_destroy): Changed the idle queue so it can
	handle being destroyed while inside one of the queued functions.

	Fix bug 6402 (Click desktop icon -> Nautilus window not moved to
	front):

	* src/nautilus-window-manage-views.c: (open_location): Bring the
	existing window up when it's reused in the "open icon on desktop"
	in single-window mode.

	Other changes:

	* libnautilus-extensions/nautilus-icon-factory.c:
	(is_theme_in_user_directory): Rename from "check_local_theme"
	and changed it to use a normal function result instead of taking
	a gboolean pointer.
	(set_theme): Use new function and booleans by their new names.
	"in_user_directory" instead of "local".
	(make_full_icon_path): Just the name change.
	(get_themed_icon_file_path): Take a boolean parameter instead of
	trying to figure out if the theme is in the user directory, because
	the old way would get it wrong for the default theme.
	(get_icon_file_path): Pass in the boolean to say if the theme is
	in the user directory or not.

	* libnautilus-extensions/nautilus-string.h: Remove repeated
	declaration for nautilus_str_get_prefix.

	reviewed by: Ramiro Estrugo <ramiro@eazel.com>

	* librsvg/rsvg-ft.c: (rsvg_ft_glyph_evict): Fix code that was
	looking at the "prev" pointer of a victim after freeing it. Also
	made some other code simplifications.

	* src/nautilus-theme-selector.c:
	(render_theme_name_and_description): Added an explicit call to
	gtk_widget_realize before grabbing the style field and expecting
	it to have gc's in it. Not sure why no one ran into this before.
2001-02-13 22:27:46 +00:00
Darin Adler 0605af8870 reviewed by: John Sullivan <sullivan@eazel.com>
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.
2001-02-03 01:28:05 +00:00
Maciej Stachowiak 2fa1795d4a reviewed by: Darin Adler <darin@eazel.com> and
Robey Pointer  <robey@eazel.com>

	Fix bugs 5528 (oaf command-line options show up in main program
	section, not a separate section) and 5510 (descriptions of
	OAF-specific options in --help are not translated). To do this I
	had to change the way the oaf popt options are processed in all
	the places that do so.

	* components/adapter/main.c: (main):
	* components/hardware/main.c: (main):
	* components/help/hyperbola-main.c: (main):
	* components/image-viewer/Nautilus_View_image.oaf.in:
	* components/image-viewer/nautilus-image-view.c:
	(init_server_factory):
	* components/loser/content/main.c: (main):
	* components/loser/sidebar/main.c: (main):
	* components/mozilla/main.c: (main):
	* components/music/main.c: (main):
	* components/notes/nautilus-notes.c: (main):
	* components/rpmview/main.c: (main):
	* components/services/install/command-line/eazel-alt-install-corba.
	c: (main):
	* components/services/install/nautilus-view/main.c: (main):
	* components/services/login/nautilus-view/main.c: (main):
	* components/services/summary/nautilus-view/main.c: (main):
	* components/services/time/command-line/main.c: (main):
	* components/services/time/nautilus-view/main.c: (main):
	* components/services/trilobite/libtrilobite/trilobite-core-utils.c
	: (trilobite_init):
	* components/shell/shell.c:
	* components/text/Nautilus_View_text.oaf.in:
	* components/text/main.c: (main):
	* components/throbber/main.c: (main):
	* components/tree/main.c: (main):
	* libnautilus/nautilus-view-standard-main.c:
	(nautilus_view_standard_main_multi):
	* src/Nautilus_shell.oaf.in:
	* src/nautilus-main.c: (main):
	* test/test-nautilus-mime-actions-set.c: (main):
	* test/test-nautilus-mime-actions.c: (main): Register oaf options
	with gnomelib_register_popt_options and move oaf_init call to
	before gnome_init to fix the aforementioned bugs.
2001-02-02 03:52:20 +00:00
Darin Adler ce4e7c679d reviewed by: John Sullivan <sullivan@eazel.com>
Fix bug 6147 (selected icons flash unselected/selected rapidly):

	* src/nautilus-window-manage-views.c: (change_selection): Don't
	send out selection change notices to the view that reported the
	selection change.
	(change_selection_callback): Pass in view that requested the
	change so we can know not to send a selection change to that view.
	* src/file-manager/fm-directory-view.c:
	(fm_directory_view_send_selection_change): Clear flag that says we
	have a selection change for the shell.
	(selection_changed_callback): Add code to indicate this selection
	change is due to the shell, so we don't tell the shell about
	something it just told us.
	(done_loading): Set flag so we don't tell the shell about selection
	changes that are part of the first load of the directory.
	(display_selection_info_idle_callback): Only send a selection change
	to the shell if the change was initiated here. Also remove the code
	that ref's the NautilusView object -- wasn't helping.
	(update_menus_timeout_callback), (display_pending_idle_callback),
	(display_pending_timeout_callback): Remove the code that ref's the
	NautilusView object -- wasn't helping.
	(fm_directory_view_notify_selection_changed): Propagate flag that
	tells the idle code we have made the change to the selection and
	the shell should be notified.

	Fix bug 6158 (nautilus --quit shouldn't check for
	~/.nautilus/first-time-wizard-flag).

	* src/nautilus-main.c: (main): Don't do the first-time druid check
	when the --quit or --restart option is used.

	Fix bug 803 (All metafile tags should be lower case).

	* libnautilus-extensions/nautilus-metadata.h: Use lower-case for
	metadata tags.
	* libnautilus-extensions/nautilus-directory-metafile.c:
	(create_metafile_root), (get_file_node),
	(nautilus_directory_rename_file_metadata),
	(nautilus_directory_copy_file_metadata),
	(nautilus_directory_set_metafile_contents): Change metadata tags
	to be lower-case.
	* libnautilus-extensions/nautilus-directory.c:
	(nautilus_self_check_directory): Use lower-case in metadata
	self-test for clarity.
	* libnautilus-extensions/nautilus-file.c:
	(nautilus_file_get_keywords), (nautilus_file_set_keywords): Change
	metadata tags to be lower-case.

	* data/top/.nautilus-metafile.xml
	* icons/ardmore/ardmore.xml:
	* icons/arlo/arlo.xml:
	* icons/arlo/i-directory.xml:
	* icons/arlo/i-regular.xml:
	* icons/crux_eggplant/crux_eggplant.xml:
	* icons/crux_eggplant/i-directory.xml:
	* icons/crux_eggplant/i-regular.xml:
	* icons/default.xml:
	* icons/gnome/gnome.xml:
	* icons/i-directory-accept.xml:
	* icons/i-directory.xml:
	* icons/i-regular.xml:
	* icons/villanova/villanova.xml:
	Change XML to use lower-case.

	* libnautilus-extensions/nautilus-link-set.c: (create_new_link):
	Use lower-case for link XML tags.
	* libnautilus-extensions/nautilus-link.c:
	(nautilus_link_local_create), (nautilus_link_local_set_link_uri),
	(nautilus_link_local_set_type),
	(nautilus_link_local_get_link_uri),
	(nautilus_link_local_get_link_type),
	(nautilus_link_get_link_uri_given_file_contents): Use lower-case
	for link XML tags.

	* src/nautilus-sidebar-title.c:
	(nautilus_sidebar_title_select_text_color),
	(nautilus_sidebar_title_theme_changed): Use lower-case for theme
	XML tags.
	* components/throbber/nautilus-throbber.c:
	(get_bonobo_properties), (nautilus_throbber_initialize),
	(nautilus_throbber_load_images),
	(nautilus_throbber_button_press_event): Change theme XML tags to be
	lower-case.
	* libnautilus-extensions/nautilus-icon-container.c:
	(start_rubberbanding): Use lower-case for theme XML tags.
	(nautilus_icon_container_initialize): Fix comment.
	(update_label_color), (nautilus_icon_container_theme_changed): Use
	lower-case for theme XML tags.
	* libnautilus-extensions/nautilus-icon-factory.c: (set_theme): Use
	lower-case for theme XML tags.
	(get_themed_icon_file_path): Use lower-case for icon XML file
	tags.
	(icon_theme_changed_callback): Use lower-case for theme XML tags.
	* src/nautilus-sidebar-tabs.c:
	(nautilus_sidebar_tabs_load_theme_data), (get_text_offset): Use
	lowe-case for theme XML tags.
	* src/nautilus-sidebar.c: (nautilus_sidebar_update_appearance):
	Use lower-case for theme XML tags.
	* src/nautilus-window-toolbars.c: (get_file_name_from_icon_name):
	Use lower-case for theme XML tags.
	* src/nautilus-zoom-control.c: (draw_number): Use lower-case for
	theme XML tags.

	Change code that used GSList when it should use GList. We use
	GList so that we can share utility functions. It's arbitrary. We
	could have decided to use all GSList instead, but we chose GList
	(because of its name, initially).

	* components/tree/nautilus-tree-expansion-state.c:
	(expansion_state_load_callback),
	(nautilus_tree_expansion_state_load_table_from_gconf),
	(hash_table_get_keys_callback), (hash_table_get_keys),
	(nautilus_tree_expansion_state_save_table_to_gconf): Update to use
	GList instead of GSList.
	* libnautilus-extensions/nautilus-gconf-extensions.h:
	* libnautilus-extensions/nautilus-gconf-extensions.c:
	(nautilus_gconf_handle_error), (nautilus_gconf_set_string_list),
	(nautilus_gconf_get_string_list): Change to work with GList
	instead of GSList to match the rest of Nautilus, so that the lists
	can be manipulated with all the GList utility functions.
	* libnautilus-extensions/nautilus-glib-extensions.h:
	* libnautilus-extensions/nautilus-glib-extensions.c:
	(nautilus_round): Changed name from nautilus_g_round -- "g" for
	"gratuitous".
	(nautilus_g_list_from_g_slist), (nautilus_g_slist_from_g_list):
	Added utility functions to help make GSLists from GLists and vice
	versa. Useful when dealing with functions that yield/expect
	GSLists.
	* libnautilus-extensions/nautilus-icon-text-item.c: (iti_destroy),
	(iti_update), (iti_paint_text), (iti_draw), (iti_render),
	(iti_event): Use nautilus_round by its new name.
	* libnautilus-extensions/nautilus-preferences.h:
	* libnautilus-extensions/nautilus-preferences.c:
	(nautilus_preferences_set_string_list),
	(nautilus_preferences_get_string_list),
	(nautilus_preferences_default_set_string_list),
	(nautilus_preferences_default_get_string_list): Change to use
	GList instead of GSList.
	* libnautilus-extensions/nautilus-search-uri.c:
	(free_tokenized_uri), (tokenize_uri), (get_translated_criterion),
	(get_nth_criterion_prefix), (parse_uri): Change to use GList
	instead of GSList.
	* src/nautilus-application.h:
	* src/nautilus-application.c:
	(nautilus_application_get_window_list): Renamed from
	nautilus_application_windows and changed to use GList instead of
	GSList.
	(nautilus_application_destroyed_window),
	(nautilus_application_create_window), (volume_unmounted_callback):
	Change to use GList instead of GSList.
	* src/nautilus-shell.c: (save_window_states),
	(restore_window_states): Use GList instead of GSList.
	* src/nautilus-window-manage-views.c: (just_one_window): Use GList
	instead of GSList.
	(open_location_prefer_existing_window_callback): Use GList instead
	of GSList.
	* src/nautilus-window.c: (nautilus_forget_history): Use GList
	instead of GSList and the new name for
	nautilus_application_get_window_list.

	Other changes.

	* src/nautilus-shell.c: (display_caveat_first_time): Turn off the
	caveat -- we're close enough to 1.0.

	* libnautilus-extensions/nautilus-view-identifier.c:
	(nautilus_view_identifier_new_from_oaf_server_info): Use free_deep
	call.

	* libnautilus/nautilus-view-standard-main.h: Use
	BEGIN/END_GNOME_DECLS.

	* src/file-manager/fm-desktop-icon-view.c: Remove unneeded
	include.
2001-01-31 00:27:01 +00:00
Darin Adler e37c17c07c reviewed by: Maciej Stachowiak <mjs@eazel.com>
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.
2001-01-30 01:47:21 +00:00
Seth Nickell b535c341a2 Holy piss sprinkled on this by Arik <arik@eazel.com>
Fri Jan 26 23:58:42 2001  George Lebl <jirka@5z.com>

	Holy piss sprinkled on this by Arik <arik@eazel.com>

	* components/adapter/main.c (main)
	  components/help/hyperbola-main.c (main)
	  components/image-viewer/nautilus-image-view.c (init_server_factory)
	  components/mozilla/main.c (main)
	  components/music/main.c (main)
	  components/notes/nautilus-notes.c (main)
	  components/services/install/nautilus-view/main.c (main)
	  components/services/inventory/main.c (main)
	  components/services/login/nautilus-view/main.c (main)
	  components/services/summary/nautilus-view/main.c (main)
	  components/shell/shell.c (init_bonobo)
	  components/text/main.c (main)
	  components/throbber/main.c (main)
	  components/tree/main.c (main)
	  libnautilus/nautilus-view-standard-main.c
	  (nautilus_view_standard_main_multi):
	  Add gnome_client_disable_master_connection call to all out of
	  process component main functions since they should not register
	  with the session manager.  Fixes bug #6051

2001-01-26  Seth Nickell  <seth@eazel.com>
2001-01-27 04:56:11 +00:00
Darin Adler 2717a5cdd3 reviewed by: John Sullivan <sullivan@eazel.com>
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.
2001-01-26 18:56:57 +00:00
Darin Adler 78ca16a050 Updated based on recent check-ins and other contributions.
* AUTHORS:
	* THANKS:
	* src/nautilus-window-menus.c: (help_menu_about_nautilus_callback):
	Updated based on recent check-ins and other contributions.

	* check-THANKS.pl: Updated to check the about list against the
	AUTHORS file and to fix some other things.

	* libnautilus/nautilus-view-component.idl: Fix a comment and
	remove a stray empty line.
2001-01-24 18:39:46 +00:00
Maciej Stachowiak 3e3deab1d3 reviewed by: Pavel Cisler <pavel@eazel.com>
Fixed bug 5943 (Throbber crashes on nautilus startup (crashing
	Nautilus) with some themes and configurations)

	* components/help/hyperbola-main.c: (main):
	* components/image-viewer/nautilus-image-view.c:
	(init_server_factory):
	* components/mozilla/main.c: (main):
	* components/music/main.c: (main):
	* components/notes/nautilus-notes.c: (main):
	* components/services/install/nautilus-view/main.c: (main):
	* components/services/login/nautilus-view/main.c: (main):
	* components/services/summary/nautilus-view/main.c: (main):
	* components/shell/shell.c:
	* components/text/main.c: (main):
	* components/throbber/main.c: (main):
	* components/tree/main.c: (main):
	* libnautilus/nautilus-view-standard-main.c:
	(nautilus_view_standard_main_multi):
	* nautilus-installer/src/main.c: (main):
	* src/nautilus-main.c: (main): Added gdk_rgb_init calls. The
	throbber one was causing a real 100% reproducible crash for me on
	Nautilus startup, the rest are pre-emptive.
2001-01-23 12:08:41 +00:00
Darin Adler e82bab8c49 reviewed by: John Sullivan <sullivan@eazel.com>
Fixed bug 2147 (NautilusFile for trash needs non-empty values for
	more properties), bug 5652 (MIME type field appears but shouldn't
	in properties window for Trash), and bug 4620 (trash sidebar
	should show number of items).

	* libnautilus-extensions/nautilus-file.h:
	* libnautilus-extensions/nautilus-file-private.h:
	* libnautilus-extensions/nautilus-file.c:
	(nautilus_file_new_from_relative_uri): Create trash file subclass
	when appropriate.
	(nautilus_file_info_missing): Rename so it can be used in other
	source files.
	(nautilus_file_get_date): New method that returns numeric dates.
	(nautilus_file_get_date_as_string): Change to call
	nautilus_file_get_date to get the numeric date.
	(nautilus_file_get_file_type): Turn into a method.

	* libnautilus-extensions/nautilus-merged-directory.h:
	* libnautilus-extensions/nautilus-merged-directory.c:
	(merged_call_when_ready): Rolled in the old
	merged_callback_connect_directory function.
	(merged_contains_file): Moved down to a more appropriate part of
	the source file.
	(nautilus_merged_directory_get_real_directories): New public
	function for use by trash.

	* libnautilus-extensions/nautilus-trash-file.c:
	(trash_callback_hash), (trash_callback_equal),
	(trash_callback_destroy), (trash_callback_check_done),
	(trash_callback_remove_file), (ready_callback),
	(real_file_changed_callback), (monitor_add_file), (add_real_file),
	(trash_callback_remove_file_cover), (monitor_remove_file),
	(remove_real_file), (add_real_file_given_directory),
	(add_directory_callback), (remove_directory_callback),
	(trash_file_call_when_ready), (trash_file_cancel_call_when_ready),
	(trash_file_check_if_ready), (trash_file_monitor_add),
	(trash_file_monitor_remove), (trash_file_get_file_type),
	(trash_file_get_item_count), (trash_file_get_deep_counts),
	(trash_file_get_date), (remove_all_real_files),
	(nautilus_trash_file_initialize), (trash_destroy),
	(nautilus_trash_file_initialize_class):
	New code. First implementation of getting some attributes for the
	merged trash. Gets list of directories from the
	NautilusTrashDirectory object. The code in here is similar to the
	NautilusMergedDirectory class and at some point perhaps we can
	make the two share more.

	* libnautilus-extensions/nautilus-vfs-file.c:
	(vfs_file_get_file_type), (vfs_file_get_date),
	(nautilus_vfs_file_initialize_class): Implement the two new
	methods for the standard vfs case.

	Fixed various things that affect the properties window for the
	trash that showed up while I was testing the above work:

	* libnautilus-extensions/nautilus-icon-factory.c:
	(nautilus_icon_factory_get_icon_name_for_regular_file),
	(nautilus_icon_factory_get_icon_name_for_file): Move trash special
	case out so it doesn't matter what type the trash seems to be. The
	old code relied on trash not being a directory.

	* src/file-manager/fm-properties-window.c:
	(create_properties_window), (create_properties_window_callback),
	(cancel_create_properties_window_callback),
	(directory_view_destroyed_callback), (remove_pending_file): Rework
	code to fix problems where the timed wait or the signal handler
	wasn't properly cleaned up.

	Fixed remaining bit of bug 5631 (Tear-offs of right-click menus
	don't work.):

	* src/file-manager/nautilus-desktop-icon-view-ui.xml: Mark Disks
	right-click submenu so it won't get a tear-off item.

	Fixed bug 5650 (nautilus --quit fails to return to prompt
	sometimes):

	* src/nautilus-application.c: (nautilus_application_startup): Add
	special case so "nautilus --quit" doesn't hang waiting for a
	response from the (now quit) "server" instance of Nautilus.
	* src/nautilus-shell-interface.idl: Had to make the quit call no
	longer be "oneway" to get it to work right, otherwise the quit
	message could be lost when the sending application exited too
	fast.

	Fix bug 5675 (Nitpicks in new "could not be moved to new special
	location" dialog):

	* libnautilus-extensions/nautilus-file-operations.c:
	(handle_transfer_overwrite): Updated message wording as Eli (and
	Vera) suggest.

	Other changes:

	* libnautilus-extensions/nautilus-view-identifier.c:
	(get_lang_list): Fix comment and a small storage leak in the case
	where lang_with_locale is non-NULL but empty.

	* po/POTFILES.ignore: Obsolete file, no longer used.

	* src/file-manager/fm-desktop-icon-view.c:
	(update_home_link_and_delete_copies): Update comment to help
	translators understand better.

	* libnautilus-extensions/nautilus-directory-async.c:
	(directory_load_callback): Added a new assertion that could help
	in future gnome-vfs debugging.

	* libnautilus/nautilus-view-component.idl: Removed long-ago-fixed
	FIXME comment.

	* src/nautilus-window-manage-views.c: Tweak spacing.
2001-01-18 19:26:03 +00:00
Pavel Cisler 4513aacc21 reviewed by: Rebecca Schulman <rebecka@eazel.com>
2001-01-04  Pavel Cisler  <pavel@eazel.com>

	reviewed by: Rebecca Schulman  <rebecka@eazel.com>

	Fix 5451 - GnomeVFS-WARNING received at startup.

	* libnautilus/nautilus-view-standard-main.c:
	(nautilus_view_standard_main_multi):
	New standard module initialization call was not initializing
	or shutting down gnome_vfs.

	* components/adapter/main.c: (main):
	* components/hardware/main.c: (main):
	* components/html/ntl-web-browser.c: (main):
	* components/mozilla/main.c: (main):
	* components/music/main.c: (main):
	* components/notes/nautilus-notes.c: (main):
	* components/rpmview/main.c: (main):
	* components/text/main.c: (main):
	* components/tree/main.c: (main):
	All of the above modules were initializing gnome_vfs but never
	shutting it down. Add proper gnome_vfs_shutdown call.
	This very likely fixes a problem with the notes module, etc.
	sticking around after Nautilus quits.
2001-01-05 04:27:19 +00:00
Darin Adler f683ed7935 reviewed by: Pavel Cisler <pavel@eazel.com>
Fix bug 5235 ("Forget History" eliminates history from Go menu,
	not History sidebar panel).

	* components/history/nautilus-history-view.c:
	(install_icons): Fix leak of pixmap and bitmap.
	(update_history): Replaced dual lock system with a single one.
	(button_press_callback): Only respect button 1, ignore others.
	(button_release_callback): Only respect button 1, ignore others,
	(history_changed_callback): A new single callback for when the
	history list changes to replace the multiple callbacks before.
	(nautilus_history_view_initialize_class),
	(nautilus_history_view_initialize),
	(nautilus_history_view_destroy), (main): Change the history view
	to use nautilus_view_standard_main which requires a subclass. This
	gets rid of a lot of boilerplate code.

	* libnautilus/nautilus-view-component.idl: Make every NautilusView
	get an explicit history_changed call instead of requiring them to
	guess when to get history. Removed the old get_history_list call
	and also renamed the HistoryList sequence to History.
	* libnautilus/nautilus-view.h:
	* libnautilus/nautilus-view.c:
	(impl_Nautilus_View_history_changed),
	(nautilus_view_initialize_class): Added the necessary stuff to
	cover the new history_changed call.

	* src/nautilus-view-frame.h:
	* src/nautilus-view-frame.c: (nautilus_view_frame_initialize):
	Connect handlers so we can send history_changed calls to the
	NautilusView when either the history or the icons change.
	(nautilus_view_frame_destroy): Change state to EMPTY so the
	history signal won't be sent once the frame is destroyed.
	(view_frame_activated): Send a history_changed to every
	newly-activated view.
	(get_CORBA_object): Helper function to make code that makes CORBA
	calls simpler.
	(check_if_view_is_gone): Use get_CORBA_object.
	(attach_client): Gave a nicer name, removed the code that makes
	the Nautilus_HistoryFrame interface.
	(nautilus_view_frame_load_client): Do the attach_client (formerly
	nautilus_view_frame_set_to_component) before calling
	view_frame_activated. This is needed since view_frame_activated
	now sends a history_changed to the view.
	(nautilus_view_frame_load_location),
	(nautilus_view_frame_stop_loading),
	(nautilus_view_frame_selection_changed),
	(nautilus_view_frame_title_changed): Use get_CORBA_object.
	(get_history_list): Made this private.
	(send_history): Helper function that sends history to the view if
	it's in the appropriate state.

	* src/Makefile.am:
	* src/nautilus-history-frame.c:
	* src/nautilus-history-frame.h:
	Removed the old NautilusHistoryFrame, which is no longer needed
	since we put the history call right in the NautilusView class.

	* src/nautilus-window-manage-views.c: (get_history_list_callback):
	Updated for Nautilus_HistoryList -> Nautilus_History change.

	Fix bug 5391 ("Esc" Canceling of an icon stretch doesn't restore
	icon position.).

	* libnautilus-extensions/nautilus-icon-private.h:
	* libnautilus-extensions/nautilus-icon-container.c:
	(clear_drag_state): Add a single bottleneck function to make sure
	the context menu timeout always gets canceled.
	(continue_stretching): Remove the unused "update_position" parameter.
	(undo_stretching): Consolidate the cancel_stretching function and
	restore the icon's position as well as its size. Also use the new
	bottleneck to clear the drag state.
	(button_release_event): Use the new bottleneck to clear the drag
	state.
	(show_context_menu_callback): Use the new bottleneck to clear the
	drag state.
	(nautilus_icon_container_set_selection),
	(nautilus_icon_container_select_list_unselect_others): Take
	advantage of the defaults in g_hash_table_new and use NULL, NULL
	instead of g_direct_hash, g_direct_equal.
	(nautilus_icon_container_show_stretch_handles): Save the position
	as well as the size.
	(compute_stretch): Add a FIXME with a bug number.

	Fix bug 5407 (Make "Hardware Overview" title translatable).

	* components/hardware/nautilus-hardware-view.c:
	(nautilus_hardware_view_destroy): Remove unused uri field.
	(extract_info): Fix storage leak.
	(get_RAM_description): Get rid of code that non-portably relies on
	long long. Mark strings for translation.
	(get_IDE_description): Get rid of code that non-portably relies on
	long long. Mark strings for translation.
	(setup_overview_form): Marked string for translation.
	(setup_CPU_form), (setup_RAM_form), (setup_IDE_form),
	(is_location), (nautilus_hardware_view_load_uri): Disable the
	views other than the overview for now since they are not ready to
	be seen.
	(nautilus_hardware_view_drag_data_received): Get rid of the code
	that makes the hardware view accept a URI list drag.

	Fix bug 5405 (nautilus --check fails when using LC_ALL=sv_SE due
	to missing entry in POTFILES.in).

	* po/POTFILES.in: Added nautilus-glib-extensions.c.

	Other changes.

	* src/nautilus-signaller.h:
	* src/nautilus-signaller.c: (nautilus_signaller_initialize_class),
	(nautilus_signaller_get_current):
	Change the NautilusSignaller class so that the interface calls the
	object a GtkObject * and the details of the class are hidden.

	* src/nautilus-property-browser.c: (emit_emblems_changed_signal):
	* src/nautilus-search-bar-criterion.c:
	(nautilus_search_bar_criterion_destroy),
	(nautilus_search_bar_criterion_new_from_values):
	* src/nautilus-window-menus.c:
	(nautilus_window_initialize_go_menu):
	* src/nautilus-window.c: (nautilus_send_history_list_changed):
	Now that nautilus_signaller_get_current returns a GtkObject,
	remove some unnecessary casts.

	* components/html/glibwww-callbacks.c: (get_sock_info),
	(glibwww_timer_register):
	* components/tree/nautilus-tree-model.c:
	(nautilus_tree_model_initialize):
	* components/tree/nautilus-tree-view.c:
	(nautilus_tree_view_initialize):
	* libnautilus-extensions/nautilus-directory-async.c:
	(async_job_start):
	* libnautilus-extensions/nautilus-directory.c:
	(nautilus_directory_notify_files_added),
	(nautilus_directory_notify_files_removed),
	(nautilus_directory_notify_files_moved):
	* libnautilus-extensions/nautilus-icon-factory.c:
	(nautilus_icon_factory_initialize):
	* libnautilus-extensions/nautilus-list.c:
	(nautilus_list_set_selection):
	* libnautilus-extensions/nautilus-merged-directory.c:
	(nautilus_merged_directory_initialize):
	* libnautilus-extensions/nautilus-trash-directory.c:
	(nautilus_trash_directory_initialize):
	* src/file-manager/fm-properties-window.c:
	(fm_properties_window_present):
	Take advantage of the defaults in g_hash_table_new and use NULL,
	NULL instead of g_direct_hash, g_direct_equal.
2001-01-04 02:15:56 +00:00
Maciej Stachowiak 8c61df4003 reviewed by: Darin Adler <darin@eazel.com>
* libnautilus/nautilus-view.c, libnautilus/nautilus-view.h
	(nautilus_view_construct,
	nautilus_view_construct_from_bonobo_control): New construct
	functions so it's possible for view implementations to be
	subclasses of NautilusView.
	(nautilus_view_new_from_bonobo_control): Implement in terms of construct function.
	* libnautilus/nautilus-view-standard-main.h,
	libnautilus/nautilus-view-standard-main.c:
	(nautilus_view_standard_main_multi, nautilus_view_standard_main,
	nautilus_view_create_from_get_type): New convenience functions
	that encapsulate and librarify most of the cut and pasted main.c
	code that is in every nautilus view.
	(object_destroyed, make_object): Helper functions.
	* libnautilus/Makefile.am: Add nautilus-view-standard-main.[ch] to
	build.
	* libnautilus/nautilus-view-component.idl: Add license header
	comment.

	* libnautilus-extensions/nautilus-gtk-macros.h: Lined up the
	backslashes to make it easier to read and edit the multi-line
	macros.

	* components/sample/README: Explain that all files in this
	directory have "WHAT YOU NEED TO CHANGE" comments.
	* components/sample/main.c (main): Implement in terms of
	`nautilus_view_standard_main' and removed most of the rest of this
	file. Now all you have to change when writing your own view is an
	include and some defines at the top of the file. Added "WHAT YOU
	NEED TO CHANGE" comment.
	* components/sample/nautilus-sample-content-view.h,
	components/sample/nautilus-sample-content-view.c: Added "WHAT YOU
	NEED TO CHANGE" comments.
	(nautilus_sample_content_view_get_type,
	nautilus_sample_content_view_initialize,
	nautilus_sample_content_view_destroy, load_location,
	sample_load_location_callback, bonobo_sample_callback,
	sample_merge_bonobo_items_callback): Changed everything around so
	NautilusSampleContentView inherits from Nautilus view, not
	GtkLabel (the widget that happens to be in the main content
	area). This makes a lot more sense. Also fix bug 2410 but
	including alternative code to nautilus-only macros.

	* components/sample/nautilus-sample-content-view.oafinfo: Added
	"WHAT YOU NEED TO CHANGE" comment.
	* components/sample/Makefile.am: Added "WHAT YOU NEED TO CHANGE" comment.
2000-12-21 21:41:46 +00:00
Maciej Stachowiak dddbb43e67 Add -ui.xml.h generated files to .cvsignore.
* components/loser/content/.cvsignore,
	components/loser/sidebar/.cvsignore,
	components/mozilla/.cvsignore, components/sample/.cvsignore,
	libnautilus/.cvsignore, src/.cvsignore,
	src/file-manager/.cvsignore: Add -ui.xml.h generated files to
	.cvsignore.
2000-12-14 04:10:24 +00:00
Darin Adler ac2ec5b56b reviewed by: John Sullivan <sullivan@eazel.com>
Fixed bug 1948 ("Open in New Window" menu item reuses existing
	window if it exists) by separating the explicit "open in new
	window" feature (always gives a new window) from the "open all
	items in new windows" preference (reuses window if one with the
	right location already exists).

	* libnautilus/nautilus-view-component.idl: Added new
	open_location_prefer_existing_window call. Renamed open_location
	to open_location_in_this_window and open_location_in_new_window to
	open_location_force_new_window for clarity.

	* libnautilus/nautilus-view.h:
	* libnautilus/nautilus-view.c:
	(nautilus_view_open_location_in_this_window),
	(nautilus_view_open_location_prefer_existing_window),
	(nautilus_view_open_location_force_new_window):
	* src/nautilus-view-frame-corba.c:
	(impl_Nautilus_ViewFrame_open_location_in_this_window),
	(impl_Nautilus_ViewFrame_open_location_prefer_existing_window),
	(impl_Nautilus_ViewFrame_open_location_force_new_window):
	* src/nautilus-view-frame-private.h:
	* src/nautilus-view-frame.c:
	(nautilus_view_frame_initialize_class),
	(nautilus_view_frame_open_location_in_this_window),
	(nautilus_view_frame_open_location_prefer_existing_window),
	(nautilus_view_frame_open_location_force_new_window):
	* src/nautilus-view-frame.h:
	Add new call, rename old ones.

	* src/file-manager/fm-directory-view.c: (open_callback): Pass parameter
	to tell the open code to respect the "use new windows" preference.
	(open_location): Take new WindowChoice parameter to respect preference
	as appropriate.
	(switch_location_and_view): Tell the code to respect the preference in
	this case (opening from Open With).
	(show_trash_callback): Use code that respects the preference instead of
	always opening in this case.
	(open_one_in_new_window): Always force a new window (used by Open
	in New Window command).
	(activate_callback): Pass through new WindowChoice instead of boolean.
	(fm_directory_view_activate_file): Pass through new WindowChoice
	instead of boolean.,
	(fm_directory_view_activate_files): Respect the user preference if
	opening only one file, do the "use existing window or make new one"
	mode if opening more than one.

	* src/nautilus-window-manage-views.c: (handle_unreadable_location):
	Move check for empty location string in here.
	(open_location): Moved the code for reusing existing windows out
	of here. Also changed code structure to avoid redoing the
	handle_unreadable_location check.
	(open_location_in_this_window_callback): Renamed.
	(open_location_prefer_existing_window_callback): Here's where
	the code for reusing existing windows went. New callback for the
	new call/signal.
	(open_location_force_new_window_callback): Renamed.

	* src/file-manager/fm-search-list-view.c:
	(reveal_selected_items_callback): Change to use
	nautilus_view_open_location_force_new_window by its new name.

	* src/nautilus-window-manage-views.h: Got rid of
	nautilus_window_open_location_in_new_window, which was public and
	unused.

	* components/adapter/nautilus-adapter.c:
	(nautilus_adapter_open_location_callback):
	* components/help/hyperbola-nav-index.c:
	(hyperbola_navigation_index_select_row):
	* components/help/hyperbola-nav-search.c:
	(hyperbola_navigation_search_select_row):
	* components/help/hyperbola-nav-tree.c:
	(hyperbola_navigation_tree_select_row):
	* components/history/nautilus-history-view.c:
	(history_button_release):
	* components/mozilla/nautilus-mozilla-content-view.c:
	(mozilla_open_uri_callback), (mozilla_dom_mouse_click_callback):
	* components/rpmview/nautilus-rpm-view.c: (go_to_button_callback):
	* components/services/login/nautilus-view/nautilus-change-password-view.c:
	(run_away_timer), (authn_failed), (maintenance_button_cb):
	* components/services/summary/nautilus-view/nautilus-summary-callbacks.c:
	(logged_in_callback), (logged_out_callback),
	(preferences_button_cb), (forgot_password_button_cb),
	(register_button_cb):
	* components/services/summary/nautilus-view/nautilus-summary-dialogs.c:
	(error_dialog_cancel_cb):
	* components/services/summary/nautilus-view/nautilus-summary-footer.c:
	(footer_item_clicked_callback):
	* components/services/summary/nautilus-view/nautilus-summary-view.c:
	(goto_service_cb), (goto_update_cb):
	* components/text/nautilus-text-view.c: (handle_service_menu_item):
	* components/tree/nautilus-tree-view.c: (tree_select_row_callback):
	Change to use new nautilus_view_open_location_in_this_window
	name. It's better because it's more explicit, but also, it's the
	new name!

	* libnautilus-extensions/nautilus-gdk-extensions.c:
	(nautilus_gdk_window_bring_to_front): Fixed indentation.

	* libnautilus-extensions/nautilus-gtk-extensions.c:
	(nautilus_gtk_window_present): Put in a new implementation that
	uses nautilus_gdk_window_bring_to_front instead of the old one
	that did a hide followed by a show. Corrected an assert that
	should have been a return_if_fail.
2000-12-13 01:16:58 +00:00
Rebecca Schulman aa31a6c20f Hopefully will improve performance for menu merging in a case where it is
2000-12-07  Rebecca Schulman  <rebecka@eazel.com>
	Hopefully will improve performance for
	menu merging in a case where it is poor.
	(bug 5020)  Completely fixing the bug will
	involve some design changes in the way the
	clipboard works, though.

	reviewed by: John Sullivan <sullivan@eazel.com>
	(the additional bonobo freezes and thaws)

	* libnautilus/nautilus-clipboard.c:
	(merge_in_clipboard_menu_items), (merge_out_clipboard_menu_items):
	Add freezes and thaws in hopes of improving performance here
	* src/nautilus-window-menus.c: (nautilus_window_initialize_menus):
	Ditto

	* components/tree/nautilus-tree-view-dnd.c:
	(nautilus_tree_view_get_drop_action):
	* libnautilus-extensions/nautilus-user-level-manager.h:
	* src/file-manager/fm-desktop-icon-view.c: (create_mount_link):
	* src/nautilus-switchable-search-bar.c:
	(nautilus_switchable_search_bar_set_mode):
	* src/nautilus-window-toolbars.c: (theme_changed_callback):
	Removed fixme comments in cases where the fixme has been
	fixed.
2000-12-07 23:58:16 +00:00
Darin Adler 639749bcd3 Ran check-headers-in-Makefile since we had some problems
with that lately. I guess the Tinderbox is the new way to
        catch these problems but I couldn't resist fixing them
        the old way too.

        * check-headers-in-Makefile.pl: Added some more special cases
        in here to make it work better.

        * components/services/install/nautilus-view/Makefile.am:
        Marked the unused files in here as "noinst_HEADERS" as a hack
        to make the script happy. We should delete the files at some
        point if we decide we aren't ever using them.

        * components/loser/content/.cvsignore:
        * components/loser/sidebar/.cvsignore:
        * components/mozilla/.cvsignore:
        * components/sample/.cvsignore:
        * components/services/install/command-line/.cvsignore:
        * libnautilus/.cvsignore:
        * src/.cvsignore:
        * src/file-manager/.cvsignore:
        Removed all the .xml.h files because they aren't put in these
        directories any more so they don't need to be ignored. If you
        have the files still and the cvs warnings bother you, you can
        delete them.
2000-12-01 02:30:15 +00:00
Darin Adler fcb7d41216 reviewed by: Pavel Cisler <pavel@eazel.com>
Fixed some problems with callbacks that are left around after
	the object is destroyed.

	* src/nautilus-window-manage-views.h:
	* src/nautilus-window-manage-views.c:
	(viewed_file_changed_callback): Changed to be a normal callback,
	not a "connect_object" callback, and simplified the logic.
	(cancel_viewed_file_changed_callback): Added a function to cancel
	the callback, which is needed both when the window is destroyed
	and when the viewed file changes.
	(update_for_new_location): Cancel the old callback before setting
	up the new one so we don't leave behind callbacks for old locations.
	Also use the new nautilus_window_set_viewed_file function so the
	callbacks set up in nautilus-window.c can be managed properly.
	(free_location_change): Moved part of
	nautilus_window_free_load_info in here. This function frees all
	the stuff that's used in the location change process; shared by
	destroy and "cancel" code. Also fixed a bug where it wouldn't free
	the "error_views".
	(cancel_location_change): Moved the rest of
	nautilus_window_free_load_info in here and made this use the new
	function.
	(disconnect_view): Made this private now that the code to
	disconnect the views is inside this file.
	(disconnect_view_callback),
	(nautilus_window_manage_views_destroy): Moved the code to clean up
	from nautilus-window.c in here. Added cleanup for the location
	change fields and for the viewd_file_changed callback.

	* src/nautilus-window.c:
	(nautilus_window_destroy): Call a new function to do the
	nautilus-window-manage-views.c part of the destroy and moved some
	code in there. Cancel the view-as callback too.
	(create_view_as_menu_item),
	(replace_special_current_view_in_view_as_menu),
	(nautilus_window_synch_view_as_menu): Renamed. The words "view as
	menu" are clearer than "content view menu".
	(chose_component_callback): Got rid of code that tries to handle
	bad values for callback data. The callback must be cancelled,
	because you can't call NAUTILUS_IS_WINDOW on a freed window and
	expect it to behave predictably.
	(cancel_chose_component_callback): Function to cancel the callback,
	called at both destroy time and before adding a new one.
	(view_menu_choose_view_callback): Cancel the old callback before
	adding a new one.
	(view_menu_vfs_method_callback): Simplify logic a bit.
	(load_view_as_menu_callback): Renamed.
	(cancel_view_as_callback): Function to cancel the callback, called
	at both destroy time and before adding a new one.
	(nautilus_window_load_view_as_menu): Cancel the old callback before
	adding a new one. Also renamed.
	(nautilus_window_set_viewed_file): A new function that cancels the
	callbacks on the file object before switching to a new one.

	* libnautilus-extensions/nautilus-program-choosing.c:
	(nautilus_cancel_choose_component_for_file): Implemented missing
	cancel function, needed by new window code.

	* src/nautilus-window-private.h:
	* src/nautilus-window-menus.c:
	(bookmarks_menu_add_bookmark_callback),
	(add_bookmark_for_current_location): Made the function local to
	this file since it's both defined and used here.

	* libnautilus-extensions/nautilus-glib-extensions.c:
	* libnautilus-extensions/nautilus-volume-monitor.c:
	* libnautilus/nautilus-undo-transaction.c:
	* libnautilus/nautilus-view.c:
	* librsvg/rsvg.c:
	Added missing "static" to make some local non-"nautilus_"-prefixed
	globals be internal instead of external.

	* src/nautilus-sidebar.c: Formatting tweaks, added FIXME.
2000-11-30 00:06:07 +00:00
Rebecca Schulman e31b0b9276 reviewed by: Pavel Cisler <pavel@eazel.com>
2000-11-21  Rebecca Schulman  <rebecka@eazel.com>

	reviewed by: Pavel Cisler <pavel@eazel.com>

	Fixes for bugs 690 and 733, to make the clipboard
	work for file editing in place, and make sensitivity
	work. Paste doesn't work correctly still, and a bug
	is filed for this issue.

	* libnautilus-extensions/nautilus-entry.h:
	* libnautilus-extensions/nautilus-entry.c:
	(nautilus_entry_initialize_class), (nautilus_entry_key_press),
	(nautilus_entry_motion_notify), (nautilus_entry_set_text),
	(nautilus_entry_set_selection), (nautilus_entry_insert_text),
	(nautilus_entry_delete_text):
	Added a new signal to nautilus entry, called "selection_changed"
	that is fired whenever the region selected in an editiable widget
	is changed.  This is used to determine how to set clipboard sensitivity
	correctly.

	* libnautilus-extensions/nautilus-icon-container.h:
	* libnautilus-extensions/nautilus-icon-container.c:
	(nautilus_icon_container_initialize_class),
	(nautilus_icon_container_start_renaming_selected_item),
	(hide_rename_widget):
	Add a new signal "renaming_icon", which tells the icon view
	to set up clipboard capabilities for the new editable widget

	* libnautilus-extensions/nautilus-icon-private.h:
	* libnautilus-extensions/nautilus-icon-text-item.h:
	* libnautilus-extensions/nautilus-icon-text-item.c:
	(iti_stop_editing), (iti_entry_text_changed_by_clipboard),
	(iti_start_editing), (iti_destroy), (iti_start_selecting),
	(iti_stop_selecting), (iti_event),
	(nautilus_icon_text_item_get_renaming_editable):

	Sad hacks that I had to add on top of this already scary file so
	that the editable, which is in its own offscreen window somewhere,
	communicates to the clipboard what is actually going on when text
	is entered and selections are changed.  This includes adding a
	new signal when text is changed, to make sure the entry knows about
	it, firing an initial grab focus for the widget so that the widget
	turns on, passing on more of the events of the canvas
	widget, including motion notifies and focus events, and
	keeping a persistent copy of the last renaming entry in the icon
	container so that pastes for that widget will still work.

	* libnautilus/nautilus-clipboard.h:
	* libnautilus/nautilus-clipboard.c: (set_menu_item_sensitive),
	(set_paste_sensitive_if_clipboard_contains_data),
	(set_clipboard_menu_items_sensitive),
	(set_clipboard_menu_items_insensitive),
	(clipboard_items_are_merged_in),
	(set_clipboard_items_are_merged_in),
	(merge_in_clipboard_menu_items), (merge_out_clipboard_menu_items),
	(focus_changed_callback), (grab_focus_callback),
	(selection_changed_callback),
	(initialize_clipboard_component_with_callback_data),
	(nautilus_clipboard_set_up_editable),
	(widget_was_set_up_with_selection_sensitivity),
	(first_focus_callback),
	(nautilus_clipboard_set_up_editable_in_control):
	Reorganized some of the code, and also added new callbacks
	to deal with sensitivity changes.

	* src/file-manager/fm-directory-view.h:
	* src/file-manager/fm-directory-view.c:
	(fm_directory_view_get_bonobo_control):
	Add a new function that the icon view uses to
	pass the bonobo control for clipboard set up

	* src/file-manager/fm-icon-view.c: (renaming_icon_callback),
	(create_icon_container):
	Set up clipboard capabilities when the renaming widget is
	created.

	* src/nautilus-location-bar.c: (nautilus_location_bar_new):
	* components/notes/nautilus-notes.c: (make_notes_view):
	* src/nautilus-simple-search-bar.c:
	(nautilus_simple_search_bar_new):
	Changed calls to clipboard set up routines to include
	the new shares_selection_changes parameter. Widgets that
	use the "selection_changed" signal (NautilusEntries)
	say "TRUE" here, otherwise selection doesn't work quite
	right, and FALSE is used instead.

	* src/nautilus-search-bar-criterion.c: (get_size_location_for):
	Deal with the case when a user has entered a non-numeric size
	in a smart way, by using nautilus_str_to_int.  This is related
	to bug 2438, but is not a complete fix.
2000-11-22 02:08:48 +00:00
John Sullivan 177cb52d94 reviewed by: Darin Adler <darin@eazel.com>
Final changes to kill off the legendary bug 3579
	(Convert directory view context menus to use Bonobo)

	* libnautilus/nautilus-bonobo-ui.h:
	#define for zoom items placeholder in popup. Remove
	#defines for popup-specific zooming commands, since now
	we don't need distinct popup-specific ones.

	* libnautilus-extensions/nautilus-bonobo-extensions.h:
	* libnautilus-extensions/nautilus-bonobo-extensions.c:
	(nautilus_bonobo_set_label_for_menu_item_and_command):
	Moved this here and commented; it had been a private
	function in fm-directory-view.c.

	* src/file-manager/fm-directory-view.c:
	(real_merge_menus): Just hide the placeholder for the zoom items,
	which is now sufficient due to a Bonobo fix Darin made.
	(real_update_menus): Update for API name change.
	(set_label_for_menu_and_command): Moved this to another file
	and renamed it.
	* src/file-manager/fm-icon-view.c:
	(fm_icon_view_update_menus): Update the dynamic menu items
	in-line here, as was done with fm-directory-view.c in an earlier
	checkin.
	(compute_menu_item_info), (update_one_menu_item): Removed these
	obsolete functions.
	* src/nautilus-shell-ui.xml: Eliminated special pop-up versions of
	zoom commands. They existed only to allow hiding without affecting
	the menu-bar versions, but now that placeholders can be hidden
	these aren't necessary.
	* src/nautilus-window-menus.c: (nautilus_window_initialize_menus):
	Removed verb installation for pop-up versions of zoom commands.
2000-11-17 02:22:16 +00:00
Martin Baulig 00c3963094 reviewed by: Darin Adler <darin@eazel.com> reviewed by: Maciej Stachowiak
2000-10-22  Martin Baulig  <baulig@suse.de>

	reviewed by: Darin Adler  <darin@eazel.com>
	reviewed by: Maciej Stachowiak  <mjs@eazel.com>

	Use the new Bonobo::Zoomable interface instead of Nautilus::Zoomable.

	* libnautilus/nautilus-zoomable.[ch]: Removed.
	* src/nautilus-zoomable-frame-corba.c: Removed.

	* libnautilus/nautilus-view-component.idl
	(ZoomLevels, ZoomLevelList, Zoomable, ZoomableFrame): Removed.

	* src/nautilus-view-frame-private.h
	(impl_Nautilus_ZoomableFrame_vepv, impl_Nautilus_ZoomableFrame__create):
	Removed external declarations.

	* src/nautilus-view-frame.h: include <bonobo/bonobo-zoomable-frame.h>.
	(NautilusViewFrame): Removed the `zoomable' field and changed the
	type of the `zoomable_frame' field from BonoboObject into
	BonoboZoomableFrame.
	(NautilusViewFrameClass): Added `zoom_parameters_changed' signal.

	* src/nautilus-view-frame.c (nautilus_view_frame_destroy_client):
	Don't release `view->zoomable' and set `view->history_frame' and
	`view->zoomable_frame' to NULL, not to CORBA_OBJECT_NIL.
	(nautilus_view_frame_initialize_class): Added ZOOM_PARAMETERS_CHANGED
	signal.
	(zoom_level_changed_callback): New static callback function; this emits
	the ZOOM_LEVEL_CHANGED signal on the NautilusViewFrame.
	(zoom_parameters_changed_callback): New static callback function; this
	emits the ZOOM_PARAMETERS_CHANGED signal on the NautilusViewFrame.
	(nautilus_view_frame_set_to_component): QI the adapted component for
	"IDL:Bonobo/Zoomable:1.0" and - if it was found - create the
	BonoboZoomableFrame, bind it to the BonoboZoomable and connect the
	"zoom_level_changed" and the "zoom_parameters_changed" signals.
	(nautilus_view_frame_is_zoomable): Return `view->zoomable_frame != NULL'.
	(nautilus_view_frame_get_zoom_level): Check whether view->zoomable_frame
	is not NULL and call bonobo_zoomable_frame_get_zoom_level().
	(nautilus_view_frame_set_zoom_level): Check whether view->zoomable_frame
	is not NULL and call bonobo_zoomable_frame_set_zoom_level().
	(nautilus_view_frame_get_min_zoom_level): Check whether
	view->zoomable_frame is not NULL and call
	bonobo_zoomable_frame_get_min_zoom_level().
	(nautilus_view_frame_get_max_zoom_level): Check whether
	view->zoomable_frame is not NULL and call
	bonobo_zoomable_frame_get_max_zoom_level().
	(nautilus_view_frame_get_has_min_zoom_level): New function.
	Check whether view->zoomable_frame is not NULL and call
	bonobo_zoomable_frame_has_min_zoom_level().
	(nautilus_view_frame_get_has_max_zoom_level): New function.
	Check whether view->zoomable_frame is not NULL and call
	bonobo_zoomable_frame_has_max_zoom_level().
	(nautilus_view_frame_get_is_continuous): New function.
	Check whether view->zoomable_frame is not NULL and call
	bonobo_zoomable_frame_is_continuous().
	(nautilus_view_frame_get_preferred_zoom_levels): If
	view->zoomable_frame is NULL, return NULL. Otherwise
	bonobo_zoomable_frame_get_preferred_zoom_levels() returns GList *
	of floats which we can just return.
	(nautilus_view_frame_zoom_in): If view->zoomable_frame is not NULL,
	call bonobo_zoomable_frame_zoom_in().
	(nautilus_view_frame_zoom_out): If view->zoomable_frame is not NULL,
	call bonobo_zoomable_frame_zoom_out().
	(nautilus_view_frame_zoom_to_fit):  If view->zoomable_frame is not
	NULL, call bonobo_zoomable_frame_zoom_out().
	(nautilus_view_frame_zoom_level_changed): Removed.

	* src/nautilus-zoom-control.c (NautilusZoomControlDetails): Added
	`has_min_zoom_level' and `has_max_zoom_level'.
	(draw_zoom_control_image): Call nautilus_zoom_control_can_zoom_in/out()
	to find out whether we can zoom.
	(zoom_menu_callback): Likewise.
	(nautilus_zoom_control_button_press_event): Likewise.
	(create_zoom_menu_item): Changed the type of the `zoom_level' argument
	from double to float.
	(nautilus_zoom_control_set_min_zoom_level): Removed.
	(nautilus_zoom_control_set_max_zoom_level): Removed.
	(nautilus_zoom_control_set_preferred_zoom_levels): Removed.
	(nautilus_zoom_control_set_parameters): New function.
	(nautilus_zoom_control_has_min_zoom_level): New function.
	(nautilus_zoom_control_has_max_zoom_level): New function.
	(nautilus_zoom_control_can_zoom_in): New function.
	(nautilus_zoom_control_can_zoom_out): New function.

	* src/file-manager/fm-directory-view.c: #include
	<bonobo/bonobo-zoomable.h> instead of
	<libnautilus/libnautilus-zoomable.h>.
	(FMDirectoryViewDetails): Changed the type of `zoomable' to
	BonoboZoomable.
	(fm_directory_view_preferred_zoom_levels): Made this an array of float,
	not double.
	(fm_directory_view_initialize): Create a new BonoboZoomable object here.
	(zoomable_zoom_in_callback): The first argument is now a BonoboZoomable.
	(zoomable_zoom_out_callback): The first argument is now a BonoboZoomable.
	(nautilus_zoom_level_from_double): Renamed into
	nautilus_zoom_level_from_float().
	(zoomable_set_zoom_level_callback): The first argument is now a
	BonoboZoomable and the second one a float.
	(zoomable_zoom_to_fit_callback): The first argument is now a
	BonoboZoomable.
	(fm_directory_view_set_zoom_level): Call
	bonobo_zoomable_report_zoom_level_changed()
	instead of using nautilus_zoomable_set_zoom_level().

	* src/nautilus-window-manage-views.c:
	(zoom_level_changed_callback): Don't call
	nautilus_zoom_control_set_min_zoom_level(),
	nautilus_zoom_control_set_max_zoom_level() and
	nautilus_zoom_control_set_preferred_zoom_levels() here.
	Use nautilus_zoom_control_can_zoom_in/out() to find out whether we
	can zoom in the calls to nautilus_bonobo_set_sensitive().
	, (zoom_parameters_changed_callback): New callback function.
	Call nautilus_zoom_control_set_parameters() and - if the zoom_level
	is not 0.0 - zoom_level_changed_callback().

	* components/adapter/nautilus-zoomable-proxy.[ch]: New files.

	* components/adapter/Makefile.am (nautilus_adapter_SOURCES):
	Added nautilus-zoomable-proxy.c and nautilus-zoomable-proxy.h.

	* components/adapter/nautilus-adapter-embed-strategy.c
	(NautilusAdapterEmbedStrategyClass): Added new virtual signal
	`get_zoomable' which must be overridden.
	(nautilus_adapter_embed_strategy_initialize_class): Assign it here.
	(nautilus_adapter_embed_strategy_get_zoomable): New static function;
	call the virtual `get_zoomable' in the derived class.

	* components/adapter/nautilus-adapter-control-embed-strategy.c:
	(nautilus_adapter_control_embed_strategy_initialize_class):
	Assign nautilus_adapter_control_embed_strategy_get_zoomable() as
	handler of the `get_zoomable' signal.
	(nautilus_adapter_control_embed_strategy_new): QI the Control for
	"IDL:Bonobo/Zoomable:1.0" and pass it to nautilus_zoomable_proxy_get()
	if found and store the return value in strategy->details->zoomable.
	(nautilus_adapter_control_embed_strategy_get_zoomable): New static
	function; return strategy->details->zoomable which is set in
	nautilus_adapter_control_embed_strategy_new().

	* components/adapter/nautilus-adapter-embeddable-embed-strategy.c:
	(nautilus_adapter_embeddable_embed_strategy_initialize_class):
	Assign nautilus_adapter_embeddable_embed_strategy_get_zoomable() as
	handler of the `get_zoomable' signal.
	(nautilus_adapter_embeddable_embed_strategy_new): QI the View for
	"IDL:Bonobo/Zoomable:1.0" and pass it to nautilus_zoomable_proxy_get()
	if found and store the return value in strategy->details->zoomable.
	(nautilus_adapter_embeddable_embed_strategy_get_zoomable): New static
	function; return strategy->details->zoomable which is set in
	nautilus_adapter_embeddable_embed_strategy_new().

	* components/adapter/nautilus-adapter.c: (nautilus_adapter_new):
	Call nautilus_adapter_embed_strategy_get_zoomable(embed_strategy) and
	bonobo_add_interface() it to the control if found.

	* components/image-viewer/nautilus-image-view.c: Rewrote the Nautilus
	image viewer to be a BonoboControl, to add zoomable support to it and
	to merge back everything from bonobo-image-generic into it.
2000-11-16 22:16:34 +00:00
John Sullivan b1aaa02b86 Fixed a couple of cases where context menus appeared on
the desktop that should have been hidden. This leaves
	behind a new (Bonobo) bug where there are two adjacent
	separators in the desktop background context menu, which
	I will write up.

	reviewed by: Maciej Stachowiak  <mjs@eazel.com>

	* libnautilus/nautilus-bonobo-ui.h:
	Add popup zooming commands here that need to be manipulated
	by directory view.
	* src/file-manager/fm-directory-view.c: (real_merge_menus):
	Hide the zooming items in the popup if the directory view
	does not support zooming (e.g., desktop)
	* src/file-manager/fm-icon-view.c: (fm_icon_view_merge_menus):
	Hide the Lay Out submenu in the popup if the icon view
	does not support auto-layout (e.g., desktop)
	* src/nautilus-shell-ui.xml: Make zooming items in popup use
	different commands than zooming items in normal menu, so they
	can be hidden independently.
	* src/nautilus-window-menus.c: (nautilus_window_initialize_menus):
	Attach callbacks to new popup zooming items.
2000-11-15 22:31:07 +00:00
Gene Z. Ragan 5b90ae9c17 Fixed bug 1633, History sidebar panel items all display generic bookmark
2000-11-13  Gene Z. Ragan  <gzr@eazel.com>

	Fixed bug 1633, History sidebar panel items all display generic
	bookmark icon.

	* libnautilus/nautilus-view-component.idl:
	Added icon string element to History structure to hold
	an pifbuf converted to a XML string.

	* src/nautilus-window-manage-views.c: (get_history_list_callback):
	Get bookmark pixbuf, convert it to XML and copt the XML string into
	the CORBA structure that is added to the list to be returned.

	* components/history/nautilus-history-view.c:
	(install_icon):
	Check and see if pixbuf is non-NULL. If it is, use it. Otherwise
	use the generic bookmark icon.

	(history_view_update_icons):
	Reload entire list to ensure that proper icons are used.

	(history_load_location):
	Call install_icon with new pixbuf parameter.
2000-11-14 03:26:42 +00:00
Pavel Cisler b7c2daf955 reviewed by: Darin Adler <darin@eazel.com>
2000-11-13  Pavel Cisler  <pavel@eazel.com>

	reviewed by: Darin Adler <darin@eazel.com>

	* configure.in:
	Enable the sign-compare and cast-align warnings.

	* components/help/converters/gnome-db2html2/gdb3html.c:
	(find_first_element):
	* components/help/hyperbola-filefmt.c: (fmt_free_tree_info):
	* components/help/hyperbola-nav-index.c:
	(hyperbola_navigation_index_update_clist), (despace),
	(end_element):
	* components/history/nautilus-history-view.c:
	(history_load_location):
	* components/mozilla/nautilus-mozilla-content-view.c:
	(string_list_get_index_of_string):
	* components/services/install/lib/eazel-install-corba-types.c:
	(corba_string_sequence_to_glist),
	(corba_packagedatastructlist_from_packagedata_list),
	(packagedata_list_from_corba_packagedatastructlist),
	(categorydata_list_from_corba_categorystructlist):
	* components/services/install/lib/eazel-install-query.c:
	(eazel_install_simple_rpm_query):
	* components/services/install/lib/eazel-install-rpm-glue.c:
	(eazel_install_monitor_rpm_process_pipe):
	* components/services/install/lib/eazel-install-rpm-signature.c:
	(read_rpm_lead), (read_rpm_signature):
	* components/services/trilobite/libtrilobite/trilobite-root-helper.
	c: (trilobite_root_helper_run_program),
	(trilobite_root_helper_set_time):
	* cut-n-paste-code/widgets/nautilusclist/nautilusclist.c:
	(nautilus_clist_get_arg), (nautilus_clist_construct):
	* helper-utilities/authenticate/nautilus-authenticate.c: (main):
	* libnautilus-extensions/nautilus-background.c:
	(set_image_and_color_image_loading_done_callback):
	* libnautilus-extensions/nautilus-buffered-widget.c:
	(nautilus_gdk_pixbuf_tile_alpha):
	* libnautilus-extensions/nautilus-caption-table.c:
	(entry_activate):
	* libnautilus-extensions/nautilus-caption-table.h:
	* libnautilus-extensions/nautilus-ctree.c:
	(nautilus_ctree_node_nth), (nautilus_ctree_drag_motion):
	* libnautilus-extensions/nautilus-ctree.h:
	* libnautilus-extensions/nautilus-directory-async.c:
	(metafile_write):
	* libnautilus-extensions/nautilus-file-changes-queue.c:
	(nautilus_file_changes_consume_changes):
	* libnautilus-extensions/nautilus-file-operations-progress.c:
	(truncate_string_from_start):
	* libnautilus-extensions/nautilus-file-operations.c:
	(extract_string_until):
	* libnautilus-extensions/nautilus-file-utilities.c:
	(nautilus_read_entire_file):
	* libnautilus-extensions/nautilus-gdk-extensions.c:
	(nautilus_get_largest_fitting_font):
	* libnautilus-extensions/nautilus-global-preferences.c:
	(global_preferences_get_sidebar_panel_view_identifiers):
	* libnautilus-extensions/nautilus-gtk-extensions.c:
	(nautilus_gtk_window_set_initial_geometry_from_string),
	(nautilus_gtk_menu_set_item_visibility):
	* libnautilus-extensions/nautilus-icon-canvas-item.c:
	(draw_or_measure_label_text), (draw_or_measure_label_text_aa):
	* libnautilus-extensions/nautilus-icon-container.c:
	(rubberband_timeout_callback), (destroy), (compute_stretch):
	* libnautilus-extensions/nautilus-icon-container.h:
	(nautilus_icon_container_find_drop_target):
	* libnautilus-extensions/nautilus-icon-factory.c:
	(check_recently_used_list), (get_themed_icon_file_path),
	(revise_scale_factors_if_too_big):
	* libnautilus-extensions/nautilus-icon-text-item.c:
	(recompute_bounding_box), (iti_draw), (iti_selection_motion):
	* libnautilus-extensions/nautilus-label.c:
	(nautilus_label_size_allocate), (label_recompute_line_geometries):
	* libnautilus-extensions/nautilus-list.c: (draw_cell),
	(nautilus_list_drag_data_received):
	* libnautilus-extensions/nautilus-mime-actions.c:
	(server_matches_content_requirements),
	(nautilus_do_component_query):
	* libnautilus-extensions/nautilus-password-dialog.c:
	(caption_table_activate_callback):
	* libnautilus-extensions/nautilus-preferences-item.c:
	(has_image_file):
	* libnautilus-extensions/nautilus-scalable-font.c:
	(file_as_string), (parse_font_description_file),
	(nautilus_text_layout_new):
	* libnautilus-extensions/nautilus-scalable-font.h:
	* libnautilus-extensions/nautilus-volume-monitor.c:
	(check_permissions):
	* libnautilus/nautilus-view.c:
	(nautilus_shallow_g_list_from_uri_list):
	* libnautilus/nautilus-zoomable.c:
	(nautilus_g_list_from_ZoomLevelList):
	* librsvg/rsvg-ft.c: (rsvg_ft_measure_or_render_string):
	* librsvg/rsvg.c: (rsvg_parse_transform):
	* src/file-manager/fm-icon-view.c:
	(fm_icon_view_create_background_context_menu_items),
	(get_sort_criterion_by_metadata_text), (get_sort_criterion_by_id):
	* src/file-manager/fm-list-view.c: (select_row_common),
	(select_matching_name_callback), (select_previous_next_common),
	(fm_list_view_bump_zoom_level):
	* src/nautilus-search-bar-criterion.c:
	(nautilus_search_bar_criterion_update_valid_criteria_choices):
	* src/nautilus-shell.c: (corba_open_windows),
	(corba_open_default_window):
	* src/nautilus-sidebar.c: (nautilus_sidebar_add_panel_items):
	* src/nautilus-window-menus.c:
	(nautilus_window_disable_keyboard_navigation_for_menus):
	* src/nautilus-window.c: (nautilus_window_size_request):
	Fix all sign-compare violations.
2000-11-14 02:46:02 +00:00
Darin Adler a96c73cb26 Tell everyone that we are back on bonobo HEAD. Make sure Nautilus doesn't
* 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.
2000-11-04 00:48:52 +00:00
Darin Adler d8d5d7bddc Fixed bug 4057 (clicking the back button while opening a huge
directory often crashes).

	* libnautilus-extensions/nautilus-icon-container.c:
	(nautilus_icon_container_for_each): The function was iterating
	some icons twice. All the icons on the new_icons list are also on
	the icons list.
	(icon_destroy): Also be sure to remove the icon from the new_icons
	list if it happens to be destroyed while still on that list.

	* configure.in:
	* Makefile.shared:
	Got rid of the shared part of the code to generate .xml.h
	files. It's no longer needed since the po directory takes care of
	everything itself.

	* components/loser/content/Makefile.am:
	* components/loser/sidebar/Makefile.am:
	* components/mozilla/Makefile.am:
	* components/sample/Makefile.am:
	* components/services/summary/nautilus-view/Makefile.am:
	* libnautilus/Makefile.am:
	* src/Makefile.am:
	* src/file-manager/Makefile.am:
	Got rid of the per-directory part of the code to generate .xml.h
	files.

	* components/loser/content/nautilus-content-loser-ui.xml.h:
	* components/loser/sidebar/nautilus-sidebar-loser-ui.xml.h:
	* components/mozilla/nautilus-mozilla-ui.xml.h:
	* components/sample/nautilus-sample-content-view-ui.xml.h:
	* components/services/summary/nautilus-view/nautilus-summary-view-ui.xml.h:
	* libnautilus/nautilus-clipboard-ui.xml.h:
	* src/file-manager/nautilus-directory-view-ui.xml.h:
	* src/file-manager/nautilus-icon-view-ui.xml.h:
	* src/file-manager/nautilus-search-list-view-ui.xml.h:
	* src/nautilus-service-ui.xml.h:
	* src/nautilus-shell-ui.xml.h:
	Got rid of the checked-in copies of the .xml.h files. The worst
	part!
2000-10-30 19:22:43 +00:00
J Shane Culpepper b61ce8edd5 Fixing bad spelling in caveat.
2000-10-29  J Shane Culpepper  <pepper@eazel.com>

	* components/loser/content/nautilus-content-loser-ui.xml.h:
	* components/loser/sidebar/nautilus-sidebar-loser-ui.xml.h:
	* components/mozilla/nautilus-mozilla-ui.xml.h:
	* components/sample/nautilus-sample-content-view-ui.xml.h:
	* components/services/summary/nautilus-view/nautilus-summary-view-u
	i.xml.h:
	* libnautilus/nautilus-clipboard-ui.xml.h:
	* src/file-manager/nautilus-directory-view-ui.xml.h:
	* src/file-manager/nautilus-icon-view-ui.xml.h:
	* src/file-manager/nautilus-search-list-view-ui.xml.h:
	* src/nautilus-service-ui.xml.h:
	* src/nautilus-shell-ui.xml.h:
	* src/nautilus-shell.c: (display_caveat):

	Fixing bad spelling in caveat.
2000-10-30 01:51:59 +00:00
Darin Adler b2535f9195 Fixed bugs in file renaming. These changes along with the
gnome-vfs ones take care of bug 3846 (cancel dialog persists after
	renaming online storage folder).

	* libnautilus-extensions/nautilus-file.c:
	(nautilus_file_get_gnome_vfs_uri): Moved higher so it could be
	used by rename code.
	(operation_remove): Separated out the remove operation so we can
	remove the operation before the callback. This makes it safe to
	do a nautlius_file_cancel from inside a callback.
	(operation_free): Call the separate remove. Also cut down because
	we don't need so much state in the operation object any more.
	(operation_complete): Call remove before calling callback as
	described above.
	(rename_callback): A new callback that uses set_file_info results
	instead of the old one that used xfer.
	(nautilus_file_rename): Change to use set_file_info instead of
	xfer. Also updates the MIME type now, which will fix a bug I
	think.
	(nautilus_file_update_info): Use gnome_vfs_file_info_dup instead
	of gnome_vfs_file_info_ref so it works with any info, including
	static ones on the stack.
	(set_permissions_callback), (nautilus_file_set_permissions),
	(set_owner_and_group_callback), (set_owner_and_group): Change to
	use the info returned by the async. set_file_info. This simplifies
	things a lot.

	* src/file-manager/fm-error-reporting.c: (rename_callback),
	(cancel_rename_callback), (cancel_rename), (fm_rename_file):
	Rewrote renaming code. Use object data to keep track of pending
	renames so we can cancel a previous one if we try to re-rename the
	same file again. This allowed the code to get a lot simpler too.

	* libnautilus-extensions/nautilus-directory-async.c:
	(directory_load_done): Fixed bug that prevented the directory from
	ever noticing files that are no longer around. This code never
	worked because we checked for the wrong error code (EOF means
	success here).

	* po/Makefile.in.in: Re-removed this file. Seth checked it in by
	accident. This is a generated file, not one that should be checked
	in.

	* src/nautilus-window.c: (nautilus_window_realize): Got rid of
	"//"-style comments and used #if 0 instead.

	* components/loser/content/nautilus-content-loser-ui.xml.h:
	* components/loser/sidebar/nautilus-sidebar-loser-ui.xml.h:
	* components/mozilla/nautilus-mozilla-ui.xml.h:
	* components/sample/nautilus-sample-content-view-ui.xml.h:
	* components/services/summary/nautilus-view/nautilus-summary-view-ui.xml.h:
	* libnautilus/nautilus-clipboard-ui.xml.h:
	* src/file-manager/nautilus-directory-view-ui.xml.h:
	* src/file-manager/nautilus-icon-view-ui.xml.h:
	* src/file-manager/nautilus-search-list-view-ui.xml.h:
	* src/nautilus-service-ui.xml.h:
	* src/nautilus-shell-ui.xml.h:
	Someone checked in some .xml.h files generated with an old
	Bonobo. Soon, this nightmare will be over and we won't check these
	files in any more.
2000-10-27 23:28:06 +00:00
Maciej Stachowiak b1d1b65230 This is Maciej checking in Martin's fix for 3691. Credit to him,
blame to me.

	* components/adapter/nautilus-adapter-embed-strategy.h
	(NautilusAdapterEmbedStrategyClass): Added "activate" and "deactivate"
	signals.
	(nautilus_adapter_embed_strategy_get): Removed ui_container argument.
	(nautilus_adapter_embed_strategy_activate): New function; emits
	the "activate" signal.
	(nautilus_adapter_embed_strategy_deactivate): New function; emits
	the "deactivate" signal.

	* components/adapter/nautilus-adapter-control-embed-strategy.c
	(nautilus_adapter_control_embed_strategy_activate): New static function;
	this is the handler of the "activate" signal.
	(nautilus_adapter_control_embed_strategy_deactivate): New static function;
	this is the handler of the "deactivate" signal.

	* components/adapter/nautilus-adapter-embeddable-embed-strategy.c
	(nautilus_adapter_embeddable_embed_strategy_activate): New static function;
	this is the handler of the "activate" signal.
	(nautilus_adapter_embeddable_embed_strategy_deactivate): New static function;
	this is the handler of the "deactivate" signal.

	* components/adapter/nautilus-adapter.c (nautilus_adapter_activate_callback):
	New static function; connect this to the "activate" signal of the adapter
	control.
2000-10-23 14:36:54 +00:00
Darin Adler 560bc56743 We need to include the .xml.h files in EXTRA_DIST. My mistake turning that
* components/loser/content/Makefile.am:
	* components/loser/sidebar/Makefile.am:
	* components/mozilla/Makefile.am:
	* components/sample/Makefile.am:
	* components/services/summary/nautilus-view/Makefile.am:
	* libnautilus/Makefile.am:
	* src/Makefile.am:
	* src/file-manager/Makefile.am:
	We need to include the .xml.h files in EXTRA_DIST. My mistake
	turning that off (killed the Tinderbox).

	* src/nautilus-window-manage-views.c:
	(position_and_show_window_callback),
	(nautilus_window_end_location_change_callback): Fix small ref
	mistake I might have introduced with my last check-in.
2000-10-20 23:48:20 +00:00
Darin Adler 06005f269a Moved some shared Makefile stuff to a shared include file so we don't use
* Makefile.am:
	* Makefile.shared:
	* components/loser/content/Makefile.am:
	* components/loser/sidebar/Makefile.am:
	* components/mozilla/Makefile.am:
	* components/sample/Makefile.am:
	* components/services/install/command-line/Makefile.am:
	* components/services/summary/nautilus-view/Makefile.am:
	* libnautilus-extensions/Makefile.am:
	* libnautilus/Makefile.am:
	* src/Makefile.am:
	* src/file-manager/Makefile.am:
	Moved some shared Makefile stuff to a shared include file so we
	don't use "copy and paste technology" in our Makefiles. Fixed the
	rule that builds .xml.h files so it doesn't have to be copied and
	pasted everywhere.

	* components/loser/content/nautilus-content-loser-ui.xml.h:
	* components/loser/sidebar/nautilus-sidebar-loser-ui.xml.h:
	* components/mozilla/nautilus-mozilla-ui.xml.h:
	* components/sample/nautilus-sample-content-view-ui.xml.h:
	* libnautilus/nautilus-clipboard-ui.xml.h:
	* src/file-manager/nautilus-directory-view-ui.xml.h:
	* src/file-manager/nautilus-icon-view-ui.xml.h:
	* src/file-manager/nautilus-search-list-view-ui.xml.h:
	* src/nautilus-shell-ui.xml.h:
	Regenerated the xml.h files with the new Bonobo tool, which keeps
	things in alphabetical order to minimize cvs thrashing.

	* components/services/summary/nautilus-view/Makefile.am:
	* components/services/summary/nautilus-view/nautilus-summary-view-ui.xml.h:
	Added localization for the summary view UI.

	* src/Makefile.am:
	Added localization for the service UI pieces.

	* libnautilus-extensions/nautilus-buffered-widget.c:
	(nautilus_buffered_widget_initialize),
	(connect_to_background_if_needed): Fixed bug where the widget
	would stay connected after the background was destroyed. John saw
	it once, but I'm not sure how to reproduce it.

	* nautilus.spec.in: Fix some bad spelling and strange wording.

	* src/nautilus-applicable-views.h:
	* src/nautilus-applicable-views.c: (got_file_info_callback),
	(nautilus_navigation_info_new), (nautilus_navigation_info_cancel),
	(nautilus_navigation_info_free),
	(nautilus_navigation_info_get_location),
	(nautilus_navigation_info_get_initial_content_id):
	Removed lots of cruft from this class so it's private and can be
	changed around a bit.

	* src/nautilus-window-manage-views.c:
	(nautilus_window_update_internals): Use the new
	nautilus_navigation_info_get_location.
	(handle_unreadable_location): Get rid of unneeded file == NULL
	check.
	(load_view_for_new_location): Use the new
	nautilus_navigation_info_get_initial_content_id.
	(set_view_location_and_selection): Use the new
	nautilus_navigation_info_get_location.
	(nautilus_window_end_location_change_callback): Use the new
	nautilus_navigation_info_get_location.
	(nautilus_window_begin_location_change): Remove some unnecessary
	code.
2000-10-20 19:09:34 +00:00
Darin Adler 867ea81552 Check in the xml.h files. It would be better not to have these
checked in, but it helps the translators if they are. If we
    come up with something better later, we can get rid of them.
    For now, if you exit a ui.xml file, then you should also do
    a build and check in the generated xml.h file.

    * components/loser/content/nautilus-content-loser-ui.xml.h:
    * components/loser/sidebar/nautilus-sidebar-loser-ui.xml.h:
    * components/mozilla/nautilus-mozilla-ui.xml.h:
    * components/sample/nautilus-sample-content-view-ui.xml.h:
    * libnautilus/nautilus-clipboard-ui.xml.h:
    * src/file-manager/nautilus-directory-view-ui.xml.h:
    * src/file-manager/nautilus-icon-view-ui.xml.h:
    * src/file-manager/nautilus-search-list-view-ui.xml.h:
    * src/nautilus-shell-ui.xml.h:
2000-10-19 22:53:45 +00:00