Commit graph

113 commits

Author SHA1 Message Date
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
Ramiro Estrugo f7170ace27 Fix bugs:
7343 - Fonts checks should work even when nautilus has not
	undergone 'make install'

	7703 - index status dialog is mixing gnome dialog font and
	nautilus custom font

	7204 - Need a better way to pick a fallback font

	1102 - Embedded text should use preferences to determine the font
	it uses

	7357 - Preferences dialog spews critical in the ja_JP locale

	7344 - NautilusScalable should not be doing any preferences
	peeking

	7345 - Default font "helvetica" hard coded and marked for
	translatation in many places

	7834 - Should mark selected style in font picker menu

	5239 - Please make the text viewer use a fixed-width font

	7401 - Non smooth font family picker should have a "GTK System
	Font" entry

	Work in progress for related bugs:

	5101 - font sizes hard-coded in icon view
	5456 - Sidebar tabs use hard coded font families
	7670 - Font size is small in list view.

	reviewed by: Glynn Foster <glynn.foster@ireland.sun.com>

	* components/notes/nautilus-notes.c: (make_notes_view):
	Dont translate the font name.

	* components/text/nautilus-text-view-ui.xml:
	Add default and fixed entries.

	* components/text/nautilus-text-view.c:
	(nautilus_text_view_initialize_class),
	(nautilus_text_view_initialize), (nautilus_text_view_destroy),
	(nautilus_text_view_update_font), (handle_ui_event),
	(merge_bonobo_menu_items), (nautilus_text_view_zoom_to_level),
	(zoomable_zoom_to_fit_callback), (font_changed_callback):
	Dont store the font name and size.  Compute these as needed.  Use
	deltas instead of hard coded font sizes to compute the font size
	for a given zoom level.  Store the font changes in preferences.

	* libnautilus-extensions/nautilus-caption.c:
	(nautilus_caption_initialize), (nautilus_caption_set_title_label),
	(nautilus_caption_get_title_label),
	(nautilus_caption_get_title_label_width),
	(nautilus_caption_set_child), (nautilus_caption_set_spacing):
	* libnautilus-extensions/nautilus-caption.h:
	Add support for nice caption alignments.

	* libnautilus-extensions/nautilus-directory.c:
	(add_preferences_callbacks), (remove_preferences_callbacks):
	A bit of a hack.  Keep track of changes in the default smooth font
	so that embedded icon text previews can be updated as needed.

	* libnautilus-extensions/nautilus-font-factory.c:
	(nautilus_font_factory_get_font_by_family),
	A temporary hack for default system font usage.  In a future
	checkin this will not be needed anymore.

	(nautilus_font_factory_get_font_from_preferences):
	Dont translate font names anymore.

	* libnautilus-extensions/nautilus-font-manager.c:
	(font_description_new), (font_description_free),
	(font_description_get_char_set), (font_description_table_for_each),
	(font_list_find_bold_callback), (get_test_font_dir),
	(nautilus_self_check_font_manager):
	* libnautilus-extensions/nautilus-font-manager.h:
	Merge char_set_registry and char_set_encoding into one string
	'char_set.'  Make the font checks work even if nautilus has not
	undergone 'make install'

	* libnautilus-extensions/nautilus-font-picker.c:
	(nautilus_font_picker_initialize), (nautilus_font_picker_destroy),
	(font_picker_populate), (font_make_style_name),
	(font_style_entry_new), (compare_style),
	(global_font_list_populate_callback):
	* libnautilus-extensions/nautilus-font-picker.h:
	Sublcass the font picker from NautilusCaption so that it will
	nicely align in the preferences dialog.
	Mark selected style in font picker menus by using radio buttons.
	Fix a storage leak on destruction.

	* libnautilus-extensions/nautilus-glib-extensions.c:
	(nautilus_compare_integer), (nautilus_self_check_glib_extensions):
	* libnautilus-extensions/nautilus-glib-extensions.h:
	New GCompare function for integers.

	* libnautilus-extensions/nautilus-global-preferences.c:
	(global_preferences_install_defaults),
	(global_preferences_create_dialog),
	(global_preferences_create_search_pane),
	(global_preferences_create_sidebar_panels_pane),
	(global_preferences_pane_update_callback),
	(global_preferences_get_dialog),
	(global_preferences_install_sidebar_panel_defaults),
	(global_preferences_make_sidebar_panel_key),
	(global_preferences_is_sidebar_panel_enabled),
	(global_preferences_install_home_location_defaults),
	(global_preferences_install_font_defaults),
	(global_preferences_install_medusa_defaults),
	(global_preferences_populate_pane),
	(global_preferences_get_smooth_font),
	(global_preferences_get_smooth_bold_font),
	(nautilus_global_preferences_get_icon_view_smooth_font),
	(nautilus_global_preferences_get_default_smooth_font),
	(nautilus_global_preferences_get_default_smooth_bold_font),
	(nautilus_global_preferences_initialize):
	* libnautilus-extensions/nautilus-global-preferences.h:
	Simplify the creation of preferences by using structures to
	describe both preferences and preference fialog entries.

	* libnautilus-extensions/nautilus-gtk-extensions.c:
	(nautilus_gtk_get_system_font):
	* libnautilus-extensions/nautilus-gtk-extensions.h:
	New function to obtain the "Gtk System Font."

	* libnautilus-extensions/nautilus-icon-canvas-item.c:
	(nautilus_icon_canvas_item_initialize_class),
	(nautilus_icon_canvas_item_set_arg),
	(nautilus_icon_canvas_item_get_arg),
	(nautilus_icon_canvas_item_set_smooth_font_size):
	* libnautilus-extensions/nautilus-icon-canvas-item.h:
	Use signed integers for the font dimensions.

	* libnautilus-extensions/nautilus-icon-container.c:
	(nautilus_icon_container_initialize),
	(nautilus_icon_container_update_icon),
	(nautilus_icon_container_theme_changed),
	(nautilus_icon_container_set_font_size_table):
	* libnautilus-extensions/nautilus-icon-container.h:
	* libnautilus-extensions/nautilus-icon-private.h:
	Dont translate the font names.  Rename the font size table to
	better reflect its purpose.  Use signed integers for font sizes.

	* libnautilus-extensions/nautilus-icon-factory.c:
	(embedded_text_font_changed_callback), (embedded_text_font_free),
	(embed_text):
	Keep track of changes in the smooth font used for embedded text so
	that the icon text previews will update as needed.

	* libnautilus-extensions/nautilus-preferences-box.c:
	(nautilus_preferences_box_find_pane):
	* libnautilus-extensions/nautilus-preferences-box.h:
	New function to find a named pane.

	* libnautilus-extensions/nautilus-preferences-group.c:
	(preferences_group_align_captions),
	(nautilus_preferences_group_update),
	(nautilus_preferences_group_get_title_label):
	* libnautilus-extensions/nautilus-preferences-group.h:
	Add support for aligning captions.

	* libnautilus-extensions/nautilus-preferences-item.c:
	(nautilus_preferences_item_initialize),
	(preferences_item_construct), (preferences_item_update_enum),
	(preferences_item_create_enum),
	(preferences_item_update_short_enum),
	(preferences_item_create_short_enum),
	(preferences_item_update_boolean),
	(preferences_item_create_boolean),
	(preferences_item_update_editable_string),
	(preferences_item_create_editable_string),
	(preferences_item_update_editable_integer),
	(preferences_item_create_editable_integer),
	(preferences_item_update_constrained_integer),
	(preferences_item_create_constrained_integer),
	(preferences_item_update_font), (preferences_item_create_font),
	(preferences_item_update_smooth_font),
	(preferences_item_create_smooth_font),
	(nautilus_preferences_item_new),
	(enum_radio_group_changed_callback),
	(boolean_button_toggled_callback), (font_item_changed_callback),
	(editable_string_changed_callback),
	(editable_integer_changed_callback),
	(constrained_integer_changed_callback),
	(nautilus_preferences_item_update_displayed_value),
	(preferences_item_update_editable_integer_settings_at_idle),
	(nautilus_preferences_item_get_control_showing),
	(nautilus_preferences_item_set_constrained_integer_paramaters),
	(nautilus_preferences_item_child_is_caption),
	(nautilus_preferences_item_get_caption_title_label_width),
	(nautilus_preferences_item_set_caption_spacing):
	* libnautilus-extensions/nautilus-preferences-item.h:
	Add a new CONSTRAINED INTEGER item type.  Add support for aligning
	captions.
	Dont translate font names.

	* libnautilus-extensions/nautilus-preferences-pane.c:
	(nautilus_preferences_pane_add_group),
	(nautilus_preferences_pane_add_item_to_nth_group),
	(nautilus_preferences_pane_get_num_visible_groups),
	(nautilus_preferences_pane_get_num_groups),
	(nautilus_preferences_pane_find_group):
	* libnautilus-extensions/nautilus-preferences-pane.h:
	Add a function for finding a named group.

	* libnautilus-extensions/nautilus-scalable-font.c:
	(nautilus_scalable_font_get_default_font),
	(nautilus_scalable_font_get_default_bold_font):
	Dont peek preferences for the default fonts.  These are now
	handled in nautilus-global-preferences.

	* libnautilus-extensions/nautilus-smooth-text-layout.c:
	(smooth_text_layout_line_list_new),
	(smooth_text_layout_line_list_new_wrapped),
	(nautilus_smooth_text_layout_new),
	(nautilus_smooth_text_layout_set_font_size):
	Use signed integers for font sizes.

	* libnautilus-extensions/nautilus-string-picker.c:
	(nautilus_string_picker_initialize),
	(nautilus_string_picker_set_string_list):
	Update for Caption superclass changes.  Dont make singleton
	choices insensitive.

	* libnautilus-extensions/nautilus-text-caption.c:
	(nautilus_text_caption_initialize):
	* libnautilus-extensions/nautilus-text-caption.h:
	Update for Caption superclass changes.  Fix errors in header comments.

	* src/file-manager/fm-directory-view.c:
	(fm_directory_view_initialize), (fm_directory_view_destroy):
	* src/file-manager/fm-directory-view.h:
	Remove knowledge of font stuff.  The fonts for icon and list view
	are now handled separately so each subclass will have to do its
	own preferences listening.

	* src/file-manager/fm-icon-view.c: (set_sort_criterion_by_id),
	(font_changed_callback), (smooth_font_changed_callback),
	(standard_font_size_changed_callback),
	(fm_icon_view_initialize_class), (fm_icon_view_initialize),
	(fm_icon_view_update_icon_container_font_size_table),
	(fm_icon_view_update_icon_container_smooth_font),
	(create_icon_container):
	Keep track of icon view font changes.  Use deltas to compute the
	font sizes instead of hard coded point sizes.

	* src/file-manager/fm-list-view.c: (fm_list_view_initialize_class),
	(fm_list_view_initialize), (fm_list_view_update_font),
	(font_or_font_size_changed_callback),
	(fm_list_view_image_display_policy_changed):
	Keep track of list view font changes.  Use deltas to compute the
	font sizes instead of hard coded point sizes.

	* src/file-manager/nautilus-indexing-info.c:
	(last_index_time_and_reindex_button_dialog_new),
	(index_progress_dialog_new):
	Dont use smooth labels mixed in with regular gtk labels.

	* src/nautilus-sidebar-tabs.c:
	(nautilus_sidebar_tabs_load_theme_data),
	(smooth_font_changed_callback), (nautilus_sidebar_tabs_initialize),
	(nautilus_sidebar_tabs_destroy):
	Add macros and FIXME for hard coded font size.  NULL out the tab_font
	when its unreffed, otherwise all hell breaks lose when user level
	changes.  Update for default font changes.

	* src/nautilus-sidebar-title.c: (smooth_font_changed_callback),
	(nautilus_sidebar_title_initialize),
	(nautilus_sidebar_title_destroy), (update_font):
	Keep track of smooth font changes.  Update for default font changes.

	* test/test-nautilus-font-manager.c: (font_iterator_callback):
	* test/test-nautilus-font-picker.c: (update_font),
	(print_selected_font_callback), (main):
	* test/test-nautilus-label-simple.c: (use_system_font_callback),
	(use_system_font_bold_callback), (main):
	Update for font picker and font manager changes.
2001-03-28 10:10:29 +00:00
Ramiro Estrugo 88b3ea09ab reviewed by: Pavel Cisler <pavel@eazel.com>
Fix a bunch of font bugs that dropped of the 1.0 plate.

	7371 - Fonts in font pickers are in no particular order
	7387 - Font selection defaults to bold for some fonts
	7421 - Font option menu in "Appearances" too long for screen
	7473 - Switching off "smooth graphics" leaves font family grouping
	7486 - Font style menu disabled when it shouldn't be
	7487 - Would be nice if font styles were submenus
	7718 - 'cursor' font doesn't display

	* libnautilus-extensions/nautilus-art-gtk-extensions.h:
	* libnautilus-extensions/nautilus-art-gtk-extensions.c:
	(nautilus_screen_get_dimensions): Fix a really silly typo.
	(nautilus_gtk_widget_get_dimensions): Make the documentation a
	little better.
	(nautilus_gtk_widget_get_preferred_dimensions): New function to
	get a widget's preferred dimensions.

	* libnautilus-extensions/nautilus-font-manager.c:
	(font_description_new): Use consistent variable names.  Set a
	'is_ignored' flag if the font is ignored.
	(font_description_free): Use consistent variable names.
	(font_description_table_find): Ignore black listed fonts.
	(font_description_table_for_each): Ignore black listed fonts.
	(font_directory_is_ignored): Put constants on top of file.
	(font_foundry_is_ignored), (font_family_is_ignored): New functions
	to check for specific black listed font foundries and/or families.
	(ensure_local_font_table): Rename to 'local' from 'global' - this
	is something i need for a future change where the font manager
	will be able to handle both 'local' and 'server' fonts.
	Move the font ignoring code from nautilus-font-picker.c here so
	that it is in one place.

	* libnautilus-extensions/nautilus-font-picker.h:
	Subclass it from GtkHBox instead of GtkVBox now that it is not as
	wide.
	* libnautilus-extensions/nautilus-font-picker.c:
	(option_menu_button_press_event), (menu_deactivate),
	(nautilus_font_picker_initialize), (nautilus_font_picker_destroy),
	(style_menu_item_activate_callback),
	(style_menu_item_button_release_event), (font_picker_add_item),
	(font_picker_populate), (font_make_name), (font_make_style_name),
	(font_slant_string_to_enum), (font_set_width_string_to_enum),
	(font_style_entry_new), (font_style_entry_free),
	(compare_font_entry), (global_font_list_get), (compare_int),
	(compare_style), (global_font_list_populate_callback),
	(nautilus_gtk_menu_shell_get_num_items),
	(font_picker_get_selected_style_entry),
	(font_picker_find_entries_for_font),
	(font_picker_get_index_for_entry), (nautilus_font_picker_new),
	(nautilus_font_picker_get_selected_font),
	(nautilus_font_picker_set_selected_font):
	Move the black listed font code into the font manager.  Use option
	menus directly instead of NautilusStringPickers.  Put the style
	choices in cascading submenus.  Deal with the case when too many
	choices dont fit on the screen.

	* test/test-nautilus-font-manager.c:
	* test/test-nautilus-font-picker.c:
	Update for font picker changes.
2001-03-21 04:39:26 +00:00
Ramiro Estrugo 24faaf9219 reviewed by: Pavel Cisler <pavel@eazel.com>
Maciej Stachowiak  <mjs@eazel.com>

		      Bugs:

		      6368 - Multibyte font handling in non smooth mode.
		      2673 - Need to hook up the new font picker to nautilus
		      1274 - Add support for picking a custom font

		      * components/history/Makefile.am:
		      * components/history/nautilus-history-view.c: (main):
		      Initialize gettext for the history component so it can display
		      localized strings.

		      * components/notes/nautilus-notes.c: (make_notes_view):
		      Set the notes widget font from preferences so it can be properly
		      localized.

		      * components/text/nautilus-text-view.c:
		      (nautilus_text_view_set_font):
		      Use the localized font name to make this work in locales other
		      than the default.

		      * libnautilus-extensions/Makefile.am:
		      Add a macro for finding data on the source tree for the situation
		      when 'make install' has not be run.

		      * libnautilus-extensions/nautilus-font-factory.c:
		      (nautilus_font_factory_get_font_by_family): Workaround the problem
		      that fully qualified localized fonts were being processed
		      incorrectly.  We simply leave them alone now.
		      (nautilus_font_factory_get_font_from_preferences): Use the
		      localized font string to make this work on more locales.

		      * libnautilus-extensions/nautilus-font-manager.h:
		      * libnautilus-extensions/nautilus-font-manager.c:
		      (font_description_table_find): New function to find a description
		      in a table.
		      (font_description_table_for_each): Change the return value to a
		      boolean to indicate whether to stop the iteration or not.  Switch
		      the order of an assert and assigned.
		      (collect_fonts_from_directory): Use macros for the mime type
		      strings.
		      (font_ignore_directory): Add more directories to ignore.
		      (font_manager_collect_font_tables): Change prepend to append to
		      get fonts in a better order (fallback and user fonts first)
		      , (font_table_list_find),
		      (free_font_tables), (ensure_global_font_table),
		      (nautilus_font_manager_for_each_font): Use just one global table
		      for all fonts instead of 3.
		      (nautilus_font_manager_get_default_font): Compute the default
		      dynamically to take user choices into account.  Make it work on
		      non installed nautilus builds.
		      (nautilus_font_manager_get_default_bold_font): Same as above for a
		      bold font.
		      (nautilus_font_manager_file_is_scalable_font): New function to
		      check that a file is really a scalable font:
		      (font_list_find_bold_callback), (nautilus_font_manager_get_bold),
		      (nautilus_font_manager_weight_is_bold): New functions to find a
		      bold font in the global tables.
		      (nautilus_self_check_font_manager): Make it work on not installed
		      nautilus builds and remove the hack where checks would on run for
		      the "ramiro" user.

		      * libnautilus-extensions/nautilus-font-picker.c:
		      (nautilus_font_picker_initialize), (font_list_find),
		      (font_picker_update_styles), (font_picker_populate),
		      (font_picker_font_changed_callback),
		      (font_picker_style_changed_callback), (font_find_style),
		      (ignore_font), (font_make_name), (font_make_style),
		      (global_font_list_free), (font_list_count_families),
		      (global_font_list_get), (global_font_list_populate_callback),
		      (nautilus_font_picker_get_selected_font),
		      (nautilus_font_picker_set_selected_font):
		      Make the font list global and not per widget instance.  Use better
		      labels for the font styles.  Use better labels for font names
		      (foundry and family vs just family depending on how many families
		      of the same font are found)

		      * libnautilus-extensions/nautilus-global-preferences.h:
		      * libnautilus-extensions/nautilus-global-preferences.c:
		      (global_preferences_install_font_defaults): Add new smooth font
		      preference for the icon container.
		      (nautilus_global_preferences_get_smooth_font): New function to
		      safely get a smooth font out of preferences.

		      * libnautilus-extensions/nautilus-icon-container.c:
		      (nautilus_icon_container_initialize): Use the localized version of
		      the font strings and add a FIXME for the problem of checking these
		      in many disparate places in nautilus.

		      * libnautilus-extensions/nautilus-program-chooser.c:
		      (program_file_pair_get_program_name_for_display): Use the
		      localized version of the application name strings.

		      * libnautilus-extensions/nautilus-scalable-font.h:
		      * libnautilus-extensions/nautilus-scalable-font.c:
		      (nautilus_scalable_font_initialize_class),
		      (nautilus_scalable_font_initialize),
		      (nautilus_scalable_font_destroy), (nautilus_scalable_font_new),
		      (nautilus_scalable_font_make_bold),
		      (nautilus_scalable_font_get_default_font),
		      (nautilus_scalable_font_get_default_bold_font),
		      (free_global_font_handle_table),
		      (initialize_global_stuff_if_needed),
		      (nautilus_scalable_font_get_rsvg_handle):
		      Simplify this class a lot by using the font manager.  No longer
		      need to manage font lookup and queries.

		      * libnautilus-extensions/nautilus-smooth-text-layout-cache.c:
		      (nautilus_self_check_smooth_text_layout_cache): Fix a comment.
		      Dont hardcode the font family.  Use the default font.  Remove the
		      #ifdef hacker for "before make install fonts broken" problem which
		      is now fixed.

		      * src/file-manager/fm-directory-view.h:
		      * src/file-manager/fm-directory-view.c:
		      (directory_view_smooth_font_changed_callback),
		      (fm_directory_view_initialize), (fm_directory_view_destroy):
		      Add method for responding to changes in the smooth font for AA
		      mode of the icon container.

		      * src/file-manager/fm-icon-view.c:
		      (fm_icon_view_smooth_font_changed),
		      (fm_icon_view_initialize_class),
		      (fm_icon_view_update_icon_container_smooth_font),
		      (create_icon_container):
		      Add support for responding to change in the smooth font.  Update
		      the icon container's smooth font on such changes.

		      * src/nautilus-about.c: (nautilus_about_draw_info):
		      Change the offset of the "Nautilus" title which broken when jsh
		      make glyphs render properly taking the baseline into account.

		      * src/nautilus-sidebar-title.c: (update_font):
		      Use the localized font name.

		      * src/nautilus-sidebar.c: (nautilus_sidebar_add_panel),
		      (nautilus_sidebar_remove_panel):
		      Use the localized sidebar tabs descriptions.

		      * src/nautilus-window.c: (create_view_as_menu_item):
		      Use the localized "View as" labels.

		      * test/test-nautilus-font-manager.c: (font_iterator_callback):
		      * test/test-nautilus-font-picker.c: (update_font),
		      (font_changed_update_label_callback),
		      (font_changed_update_file_name_callback),
		      (use_defalt_font_callback), (use_defalt_bold_font_callback),
		      (use_defalt_font_update_picker_callback),
		      (use_defalt_bold_font_update_picker_callback), (main):
		      * test/test.c: (test_quit):
		      Updates for changes in font manager and font picker.
2001-03-05 08:15:06 +00:00
Ramiro Estrugo a5eedddc21 reviewed by: <delete if not using a buddy>
2001-03-02  Ramiro Estrugo  <ramiro@eazel.com>

	    reviewed by: <delete if not using a buddy>

	    Bug 2673 - Need to hook up the new font picker to nautilus .

	    * configure.in:
	    Remove an old font setup hack that never really worked.

	    * data/fonts/urw/fonts.dir:
	    Rename the fonts to "Helvetica Default" in order not to clash with
	    system fonts.

	    * libnautilus-extensions/nautilus-font-manager.h:
	    * libnautilus-extensions/nautilus-font-manager.c:
	    (font_description_new): Add a font type parameter.
	    (font_lists_total_num_fonts): New function to count the total
	    number of scalable fonts detetected.
	    (font_description_table_add): Pass in the detected font lists to
	    do reality checks.
	    (font_get_font_type): New function.
	    (font_description_table_get_length),
	    (font_description_table_peek_nth),
	    (font_description_table_get_nth_file_name): Name the parameters
	    more consistently.
	    (font_description_table_for_each): Add font type parameter
	    (font_description_table_new): Rework to not require storing the
	    detected font list.  We now use that only for the duration of the
	    constructor.  Lost the install_font_lists dumbness.
	    (font_server_for_each_font_directory_internal): Use g_warning
	    instead of g_print.
	    (font_ignore_directory): New function to determine whether we
	    should ignore a directory - makes things much faster.
	    (font_manager_collect_font_tables): New function to handle all the
	    work of collecting font directories into tables.
	    (font_server_for_each_callback), (font_table_list_free),
	    (font_table_list_for_each), (free_font_tables),
	    (ensure_at_exit_handler), (ensure_fallback_font_table),
	    (ensure_user_font_table), (ensure_system_font_tables): Add 3
	    tables for fallback, system and users fonts.  These are populated
	    as needed.
	    (nautilus_font_manager_for_each_font): Iterate the 3 font talbles.
	    (nautilus_font_manager_get_fallback_font) : New function to obtain
	    a fallback font quickly without having to check the system.
	    (call_chop_off_comments), (nautilus_self_check_font_manager):
	    Rework the checks to not create a temp directory.  Unfortunately
	    they now only run for me.

	    * libnautilus-extensions/nautilus-font-picker.h:
	    * libnautilus-extensions/nautilus-font-picker.c:
	    (nautilus_font_picker_initialize_class),
	    (nautilus_font_picker_initialize), (nautilus_font_picker_destroy),
	    (font_entry_list_find), (font_picker_update),
	    (font_name_picker_changed_callback),
	    (style_picker_changed_callback), (ignore_font),
	    (font_manager_callback), (style_list_for_each_callback),
	    (font_entry_list_for_each_callback),
	    (nautilus_font_picker_get_selected_font),
	    (nautilus_font_picker_set_selected_font),
	    (nautilus_font_picker_set_title_label):
	    Use the new font manager.

	    * libnautilus-extensions/nautilus-global-preferences.h:
	    * libnautilus-extensions/nautilus-global-preferences.c:
	    (global_preferences_install_descriptions),
	    (global_preferences_install_defaults),
	    (global_preferences_create_dialog), (appearnace_pane_update),
	    (global_preferences_create_font_group),
	    (global_preferences_install_home_location_defaults),
	    (global_preferences_install_font_defaults):
	    Add a new preference for the smooth font.
	    Factor our the default font code to its own function.  Setup the
	    font pickers items to be mutually exclusive according to the
	    smooth graphics mode preference value.

	    * libnautilus-extensions/nautilus-gtk-extensions.h:
	    * libnautilus-extensions/nautilus-gtk-extensions.c:
	    (nautilus_gtk_widget_set_shown):
	    New function to show or hide a widget in one go.

	    * libnautilus-extensions/nautilus-preferences-group.c:
	    (nautilus_preferences_group_update):
	    Dont show the widget if a controlling preference prevents it.

	    * libnautilus-extensions/nautilus-preferences-item.h:
	    * libnautilus-extensions/nautilus-preferences-item.c:
	    (preferences_item_update_smooth_font),
	    (preferences_smooth_font_changed_callback),
	    (preferences_item_create_smooth_font): Add support for a smooth
	    font picker.
	    (preferences_item_destroy), (preferences_item_construct),
	    (nautilus_preferences_item_set_control_preference),
	    (nautilus_preferences_item_set_control_action),
	    (nautilus_preferences_item_get_control_showing): Add support for
	    using a controlling preference which can force the widget to be
	    shown or hidden depending on its value.

	    * libnautilus-extensions/nautilus-preferences-pane.c:
	    (nautilus_preferences_pane_update):
	    Use new gtk extension to show or hide the widget in one go.

	    * libnautilus-extensions/nautilus-scalable-font.h:
	    * libnautilus-extensions/nautilus-scalable-font.c:
	    (font_family_string_map_new): Update fallback font name.
	    (nautilus_scalable_font_new_from_file_name): New function to
	    create a font directly from a font file name.
	    (nautilus_scalable_font_get_default_font): Update fallback font name.
	    (nautilus_scalable_font_get_default_bold_font): New function to
	    get a fallback bold font.
	    Remove some unsed functions.  Remove the font setup hack, the font
	    manager takes care of that now.

	    * libnautilus-extensions/nautilus-string-picker.h:
	    * libnautilus-extensions/nautilus-string-picker.c:
	    (nautilus_string_picker_clear):
	    New function to clear the string picker.

	    * libnautilus-extensions/nautilus-tabs.c:
	    (nautilus_tabs_initialize):
	    Fix the hard coded font name.

	    * src/nautilus-first-time-druid.c: (new_title_label):
	    Fix the hard coded font name.

	    * src/nautilus-sidebar-tabs.c:
	    (nautilus_sidebar_tabs_load_theme_data):
	    Fix the hard coded font name.

	    * test/Makefile.am:
	    * test/test-nautilus-font-manager.c: (font_type_to_string),
	    (font_iterator_callback), (font_table_for_each_callback), (main):
	    * test/test-nautilus-font-picker.c: (font_picker_changed_callback),
	    (main):
	    * test/test-nautilus-glyph-simple.c: (main):
	    * test/test-nautilus-label.c: (main):
	    Update for new font picker and font manager changes.
2001-03-03 03:49:25 +00:00
Ramiro Estrugo c82b82179b reviewed by: Eskil Heinous Olsen <eskil@eazel.com>
* libnautilus-extensions/nautilus-string-list.h:
	* libnautilus-extensions/nautilus-string-list.c:
	(nautilus_string_list_nth_as_integer),
	(nautilus_self_check_string_list):
	New function to get the nth string as an integer - and checks.

	* libnautilus-extensions/Makefile.am:
	* libnautilus-extensions/nautilus-font-manager.h:
	* libnautilus-extensions/nautilus-font-manager.c:
	* libnautilus-extensions/nautilus-lib-self-check-functions.h:
	New files.  Support for collecting information about the scalable
	fonts installed on the system.  Parts written by Pavel Cisler.

	* components/text/nautilus-text-view.c:
	(nautilus_text_view_initialize):
	Mark a string for translation.

	* libnautilus-extensions/nautilus-font-factory.c:
	(nautilus_font_factory_get_font_by_family):
	Take fontsets into account.  Patch submitted by
	eungkyu@sparcs.kaist.ac.kr.

	* libnautilus-extensions/nautilus-preferences-item.h:
	* libnautilus-extensions/nautilus-preferences-item.c:
	(nautilus_preferences_item_initialize_class),
	(nautilus_preferences_item_initialize), (preferences_item_destroy),
	(preferences_item_construct), (preferences_item_update_enum),
	(preferences_item_create_enum),
	(preferences_item_update_short_enum),
	(preferences_item_create_short_enum),
	(preferences_item_update_boolean),
	(preferences_item_create_boolean),
	(preferences_item_update_editable_string),
	(preferences_item_create_editable_string),
	(preferences_item_update_integer),
	(preferences_item_create_integer),
	(preferences_item_update_font_family),
	(preferences_item_create_font_family),
	(nautilus_preferences_item_new),
	(enum_radio_group_changed_callback),
	(nautilus_preferences_item_update_displayed_value),
	(update_text_settings_at_idle):
	Clean this up a bit.  Follow nautilus coding conventions more.
	Remove long unused theme picker.
	Remove unused GtkArg stuff.

	* libnautilus-extensions/nautilus-preferences-pane.c:
	(nautilus_preferences_pane_new):
	* libnautilus-extensions/nautilus-preferences-pane.h:
	Remove unused pane description.

	* libnautilus-extensions/nautilus-preferences-box.c:
	(nautilus_preferences_box_add_pane):
	* libnautilus-extensions/nautilus-preferences-box.h:
	Remove unused pane description.

	* libnautilus-extensions/nautilus-global-preferences.c:
	(global_preferences_install_defaults): Mark font name for
	translation.
	(global_preferences_create_dialog),
	(global_preferences_create_search_pane): Remove unused pane
	description.

	* test/.cvsignore:
	* test/Makefile.am:
	* test/test-nautilus-glyph-simple.c: (main):
	* test/test-nautilus-glyph.c: (main):
	* test/test-nautilus-labeled-image.c: (main):
	* test/test-nautilus-smooth-text-layout.c: (main):
	* test/test-nautilus-font-manager.c: (main):
	* test/test.c: (test_quit):
	* test/test.h:
	Some minor changes.  New test for font manager.
2001-03-02 09:48:29 +00:00
Ramiro Estrugo 8123705a6c Fix this so I can debug a font problem somewhere else.
* test/test-nautilus-label-flavorful.c:
	(increasing_label_window_new), (decreasing_label_window_new):
	Fix this so I can debug a font problem somewhere else.
2001-02-28 00:54:54 +00:00
Darin Adler 2f9d6bc25f reviewed by: John Sullivan <sullivan@eazel.com>
Fixed bug 6725 (Crash on Refresh if viewed file/folder is deleted
	outside of Nautilus):

	* src/nautilus-window-manage-views.c: (free_location_change):
	Reorder so we cancel the callbacks before more I/O has the chance
	to happen.
	* libnautilus-extensions/nautilus-directory-async.c:
	(nautilus_directory_async_state_changed): Don't do any I/O for a
	NautilusDirectory object once it's destroyed. Unfortunately, it's
	still possible for destroying one NautilusDirectory object to
	cause I/O to happen on another, so this doesn't fix the bug (which
	is why we also need the change above).

	Fixed bug 7080 (Nautilus build failure on Red Hat 7.)

	* libnautilus-extensions/nautilus-medusa-support.c: Fixed the bad
	#endif with non-comment text after it.

	Worked on bug 6928 (create fallback mechanism so eazel-logos
	version of each graphic is found if present). We still need a
	separate fallback mechanism for the theme XML file, since the
	throbber has a different number of frames.

	* libnautilus-extensions/nautilus-file-utilities.c:
	(nautilus_get_pixmap_directory): Simplify.
	(nautilus_pixmap_file): Look in eazel-logos directory first, so we
	will pick up logo graphics if there, and non-logo graphics otherwise.
	* test/test-nautilus-image-simple.c: (main): Remove a reference to
	a logo graphic.

	* eazel-logos/.cvsignore:
	* eazel-logos/About_Image.png:
	* eazel-logos/about_background.png:
	* eazel-logos/druid_header.png:
	* eazel-logos/eazel-logo-right-side-logo.png:
	* eazel-logos/throbber/.cvsignore:
	* eazel-logos/throbber/001.png:
	* eazel-logos/throbber/002.png:
	* eazel-logos/throbber/003.png:
	* eazel-logos/throbber/004.png:
	* eazel-logos/throbber/005.png:
	* eazel-logos/throbber/006.png:
	* eazel-logos/throbber/007.png:
	* eazel-logos/throbber/008.png:
	* eazel-logos/throbber/009.png:
	* eazel-logos/throbber/010.png:
	* eazel-logos/throbber/011.png:
	* eazel-logos/throbber/012.png:
	* eazel-logos/throbber/013.png:
	* eazel-logos/throbber/014.png:
	* eazel-logos/throbber/015.png:
	* eazel-logos/throbber/rest.png:
	* eazel-logos/default.xml:
	Added a new directory with copies of all graphics with the Eazel
	logo in them. Next we have to make this directory actually build
	and install these logos. Then Non-Eazel-logo'd graphics suitable
	for GPL will replace the original copies and these will keep the
	Eazel logo versions. The directory also contains the XML file for
	the default theme, since we need to change the throbber frames for
	the logo vs. non-logo version of the throbber.

	* components/services/nautilus-dependent-shared/icons/Makefile.am:
	* components/services/nautilus-dependent-shared/icons/eazel-cloud-logo.png:
	* components/services/nautilus-dependent-shared/icons/eazel-services-logo.png:
	* components/services/nautilus-dependent-shared/icons/service-summary-logo-top.png:
	* components/services/nautilus-dependent-shared/icons/startup-logo.png:
	* icons/Makefile.am:
	* icons/eazel-logo.gif:
	* icons/nautilus-logo.png:
	Removed unused graphics with the Eazel logo in them. There are a
	lot more unused graphics and someone should go through and remove
	them. I'm thinking of writing a script to do it.

	Other changes.

	* components/services/install/nautilus-view/.cvsignore:
	* components/services/vault/.cvsignore:
	* components/services/vault/command-line/.cvsignore:
	* data/top/.cvsignore:
	Re-removed .cvsignore files for empty directories.

	* THANKS: Corrected one email address.
	* check-THANKS.pl: Updated for the latest ChangeLog typos.
2001-02-27 18:47:19 +00:00
Ramiro Estrugo e6525d2601 Ignore generated files.
* .cvsignore:
	* help/nautilus-user-manual/es/.cvsignore:
	* omf-install/.cvsignore:
	* test/.cvsignore:
	* user-guide/C/.cvsignore:
	Ignore generated files.
2001-02-26 19:21:04 +00:00
Ramiro Estrugo 2db06b9173 reviewed by: Gene Z. Ragan <gzr@eazel.com>
Fix bugs:

	2784 - NautilusScalableFont text clipping is broken.
	2831 - Icon container redraw performance is poor in smooth mode.
	Optimized this case some.  Its still not as good as we
	would like it to be.  Thanks to the following changes, it
	is possible to optimize it even more - by caching the
	layouts of icons for example.  We need to profile with the
	new changes.

	* libnautilus-extensions/Makefile.am:
	* libnautilus-extensions/nautilus-icon-canvas-item.c:
	(measure_label_text), (draw_or_measure_label_text_aa),
	(draw_label_text_aa):
	* libnautilus-extensions/nautilus-icon-factory.c: (embed_text):
	Use NautilusSmoothTextLayout instead of NautilusTextLayout.

	* libnautilus-extensions/nautilus-label.h:
	* libnautilus-extensions/nautilus-label.c:
	(nautilus_label_initialize_class), (nautilus_label_initialize),
	(nautilus_label_destroy), (nautilus_label_set_arg),
	(nautilus_label_get_arg), (nautilus_label_size_allocate),
	(label_composite_pixbuf_callback), (label_get_text_dimensions),
	(label_smooth_text_ensure), (label_smooth_text_clear),
	(nautilus_label_set_smooth_font),
	(nautilus_label_set_smooth_font_size),
	(nautilus_label_set_is_smooth),
	(nautilus_label_set_smooth_line_wrap_width),
	(nautilus_label_set_smooth_drop_shadow_offset),
	(nautilus_label_set_text), (nautilus_label_set_wrap),
	(nautilus_label_new_solid), (nautilus_label_make_bold),
	(nautilus_label_make_larger), (nautilus_label_make_smaller),
	(nautilus_label_set_never_smooth):
	Simplified.  Use NautilusSmoothTextLayout to handle laying
	out the text.

	* libnautilus-extensions/nautilus-scalable-font.h:
	* libnautilus-extensions/nautilus-scalable-font.c:
	(nautilus_scalable_font_new),
	(nautilus_scalable_font_measure_text),
	(nautilus_scalable_font_draw_text),
	(initialize_global_stuff_if_needed),
	(nautilus_scalable_font_get_underline_height),
	(nautilus_scalable_font_get_baseline):
	Simplified.  Use NautilusSmoothTextLayout.  Remove no longer
	needed functions.

	* libnautilus-extensions/nautilus-smooth-text-layout.h:
	* libnautilus-extensions/nautilus-smooth-text-layout.c:
	New class to handle smooth text layout needs.  Layout details are
	private to make it easirt to fix bugs in the future.

	* libnautilus-extensions/nautilus-text-layout.c:
	* libnautilus-extensions/nautilus-text-layout.h:
	Retire.

	* test/.cvsignore:
	* test/Makefile.am:
	* test/test-nautilus-font-simple.c: (main):
	* test/test-nautilus-font.c: (main):
	* test/test-nautilus-glyph-simple.c: (glyph_new), (main):
	* test/test-nautilus-label-simple.c: (main):
	* test/test-nautilus-label-wrapped.c: (create_nautilus_label),
	(main):
	* test/test-nautilus-smooth-text-layout.c: (main):
	New smooth text layout test.  Update test for smooth layout changes.
2001-02-23 08:35:08 +00:00
Arik Devens 39ae67fe63 Updated so it uses two vbox's to test each of the constrain functions. 2001-02-23 07:48:30 +00:00
Arik Devens f32598d061 New test for nautilus_viewport_constrain_width function. Eventually i will generalize it into a more usefull test of the constrain functions. 2001-02-23 05:59:04 +00:00
Arik Devens 9840842c1e Added constrain functions to the nautilus-viewport widget so you can constrain the size of the children in either direction to the size of the viewport. 2001-02-23 05:58:08 +00:00
Ramiro Estrugo f2453a7d8b reviewed by: Maciej Stachowiak <mjs@eazel.com>
* components/mozilla/nautilus-mozilla-encoding-tables.c:
	No need to have 2 strings.  Use an array of just one string.

	* components/mozilla/nautilus-mozilla-content-view.c:
	(mozilla_view_create_charset_encoding_submenu):
	Replace assertion with a more robust check for NULL.


	reviewed by: Seth Nickell <seth@eazel.com>

	* applets/preferences-applet/nautilus-preferences-applet.c:
	(quit_nautilus_button_clicked_callback),
	(start_nautilus_button_clicked_callback),
	(restart_nautilus_button_clicked_callback),
	(exit_button_clicked_callback), (main):
	Add a exit button for the applet itself.  Renamed nautilus remote
	callbacks to be clearer.

	* libnautilus-extensions/nautilus-art-extensions.h:
	* libnautilus-extensions/nautilus-art-extensions.c:
	(nautilus_art_irect_is_valid),
	(nautilus_self_check_art_extensions): New functions and tests for
	checking whether a rectangle is valid.

	* libnautilus-extensions/nautilus-glyph.h: Use int instead
	of guint everywhere.
	* libnautilus-extensions/nautilus-glyph.c: (nautilus_glyph_new),
	(nautilus_glyph_free), (glyph_get_width_space_safe): New functions
	to get dimensions that work with glyphs that are just empty space.
	(glyph_get_height_space_safe), (nautilus_glyph_get_width),
	(nautilus_glyph_get_height), (nautilus_glyph_get_dimensions): Make
	these work with empty spaces.
	(glyph_is_valid), (nautilus_glyph_draw_to_pixbuf): Use libart rgba
	functions instead of doing our own alpha blending.  Allow for
	rendering glyphs with just blank spaces (noop).  Remove debug code.
	(nautilus_glyph_intersect): New function to intersect a glyph at
	some coordinates with a rectangle.

	* test/test-nautilus-glyph-simple.c: (main):
	* test/test-nautilus-glyph.c: (glyph_new), (main):
	* test/test.c: (test_pixbuf_draw_rectangle_tiled):
	More glyph tests.
2001-02-22 14:33:58 +00:00
Ramiro Estrugo 88ebb708e8 reviewed by: Darin Adler <darin@eazel.com>
Except for the self checks code.

		     Change code that used a ArtIRect as a "frame" to use
		     NautilusDimensions instead.  Change all foo_frame functions to
		     foo_dimensions.

		     * libnautilus-extensions/nautilus-art-extensions.h:
		     Add a new structure to represent dimensions using signed integers.
		     Retire nautilus_art_ipoint_assign.
		     * libnautilus-extensions/nautilus-art-extensions.c:
		     (nautilus_dimensions_empty): New function to check for empty
		     dimensions.
		     (nautilus_art_irect_assign_dimensions): New function to assign
		     dimensions to a rectangle.
		     (nautilus_self_check_art_extensions): New self checks.

		     * libnautilus-extensions/nautilus-art-gtk-extensions.h:
		     * libnautilus-extensions/nautilus-art-gtk-extensions.c:
		     (nautilus_gdk_rectangle_to_art_irect),
		     (nautilus_screen_get_dimensions), (nautilus_gdk_window_get_bounds),
		     (nautilus_gdk_window_get_screen_relative_bounds),
		     (nautilus_gtk_widget_get_bounds),
		     (nautilus_gtk_widget_get_dimensions),
		     (nautilus_gdk_window_clip_dirty_area_to_screen),
		     (nautilus_art_irect_to_gdk_rectangle),
		     (nautilus_gdk_window_get_dimensions): New function to get
		     the dimensions of a GdkWindow.
		     Update for frame to dimensions changes.  Change functions names to
		     lose the "irect" sub-prefix.

		     * libnautilus-extensions/nautilus-gdk-pixbuf-extensions.h:
		     * libnautilus-extensions/nautilus-gdk-pixbuf-extensions.c:
		     (nautilus_gdk_pixbuf_get_dimensions),
		     (nautilus_gdk_pixbuf_fill_rectangle_with_color),
		     (nautilus_gdk_pixbuf_draw_to_drawable),
		     (nautilus_gdk_pixbuf_draw_to_pixbuf),
		     (nautilus_gdk_pixbuf_draw_to_pixbuf_alpha),
		     (nautilus_gdk_pixbuf_new_from_pixbuf_sub_area),
		     (pixbuf_draw_tiled), (nautilus_gdk_pixbuf_draw_to_pixbuf_tiled),
		     (nautilus_gdk_pixbuf_draw_to_drawable_tiled),
		     (nautilus_gdk_pixbuf_intersect): New functions
		     (nautilus_self_check_gdk_pixbuf_extensions): New self checks.
		     Update for frame vs dimenensions changes.  Simplify clipping code
		     by using nautilus_gdk_pixbuf_intersect.  Move
		     nautilus_gdk_window_get_dimensions to
		     nautilus_gdk_window_get_dimensions in art-gtk-extensions.

		     * libnautilus-extensions/nautilus-debug-drawing.c:
		     (debug_pixbuf_viewer_size_request),
		     (nautilus_debug_pixbuf_draw_point),
		     (nautilus_debug_pixbuf_draw_rectangle),
		     (nautilus_debug_pixbuf_draw_rectangle_inset):
		     Update for frame vs dimenensions changes.

		     * libnautilus-extensions/nautilus-clickable-image.c:
		     (label_handle_motion):
		     Update for art-gtk extensions changes.

		     * libnautilus-extensions/nautilus-glyph.h:
		     * libnautilus-extensions/nautilus-glyph.c: (nautilus_glyph_new):
		     Change order of parameters to match NautilusScalalbleFont.
		     (nautilus_glyph_get_dimensions), (nautilus_glyph_draw_to_pixbuf):
		     Update for frame vs dimenensions changes.

		     * libnautilus-extensions/nautilus-lib-self-check-functions.h:
		     New declaration for art_extensions and gdk_pixbuf_extensions.

		     * libnautilus-extensions/nautilus-self-checks.c:
		     (nautilus_check_rectangle_result),
		     (nautilus_check_dimensions_result):
		     * libnautilus-extensions/nautilus-self-checks.h:
		     Add support for checking functions that return rectangles and
		     dimensions.

		     * libnautilus-extensions/nautilus-scalable-font.h:
		     * libnautilus-extensions/nautilus-scalable-font.c:
		     (nautilus_scalable_font_measure_text): Return
		     NautilusDimensions instead of using pointer parameters.
		     (nautilus_scalable_font_text_width): Simplify by calling
		     scalable_font_measure_text.
		     (nautilus_scalable_font_draw_text),
		     (nautilus_scalable_font_measure_text_lines),
		     (nautilus_scalable_font_draw_text_lines_with_dimensions),
		     (nautilus_scalable_font_draw_text_lines):
		     Update for frame vs dimenensions changes.  Use NautilusDimensions
		     arrays instead of individial width and height arrays.  Change all
		     function signatures to pass in only a font_size instead of both
		     font_width and font_height.  Simplifies using these a bit.
		     (nautilus_scalable_font_largest_fitting_font_size): Fix bug where
		     we were always using the wrong font size to compute the largest
		     fitting font.

		     * libnautilus-extensions/nautilus-icon-factory.c: (embed_text):
		     Update for scalable font font_size api changes.

		     * libnautilus-extensions/nautilus-image-table.c:
		     (image_table_clear_dirty_areas):
		     Update for frame vs dimenensions changes.

		     * libnautilus-extensions/nautilus-image.c:
		     (nautilus_image_size_request), (image_get_pixbuf_dimensions),
		     (image_get_pixbuf_bounds), (image_get_tile_dimensions):
		     Update for frame vs dimenensions changes.

		     * libnautilus-extensions/nautilus-label.h:
		     * libnautilus-extensions/nautilus-label.c:
		     (nautilus_label_initialize_class), (nautilus_label_set_arg),
		     (nautilus_label_get_arg), (nautilus_label_size_request),
		     (nautilus_label_size_allocate), (label_composite_pixbuf_callback),
		     (label_draw_text_to_pixbuf): Fix a type.  Was using [x,x] instead
		     of [x,y] to render the string.
		     (label_get_text_dimensions), (label_get_text_bounds),
		     (label_get_tile_dimensions), (label_line_geometries_clear),
		     (label_line_geometries_recompute),
		     Update for frame vs dimenensions changes.  Make the
		     'smooth_line_wrap' attribute an int instead of a guint.  Use an
		     array of NautilusDimensions to store text lines geometries instead
		     of separete width and height arrays.
		     (label_get_default_line_wrap_width),
		     (nautilus_label_set_smooth_line_wrap_width),
		     (nautilus_label_get_smooth_line_wrap_width):
		     Change signature to return an int instead of a guint.

		     * libnautilus-extensions/nautilus-labeled-image.c:
		     (nautilus_labeled_image_size_request),
		     (labeled_image_get_image_dimensions),
		     (labeled_image_get_label_dimensions),
		     (labeled_image_get_image_bounds_fill),
		     (nautilus_labeled_image_get_image_bounds),
		     (labeled_image_get_label_bounds_fill),
		     (nautilus_labeled_image_get_label_bounds),
		     (labeled_image_get_content_dimensions),
		     (labeled_image_get_content_bounds):
		     Update for frame vs dimenensions changes.

		     * libnautilus-extensions/nautilus-smooth-widget.h:
		     * libnautilus-extensions/nautilus-smooth-widget.c:
		     (smooth_widget_paint_tile_transparent),
		     (nautilus_smooth_widget_get_preferred_dimensions):
		     Update for frame vs dimenensions changes.

		     * libnautilus-extensions/nautilus-tabs.c: (measure_tab_name),
		     (draw_tab_label):
		     Update for font api changes.

		     * libnautilus-extensions/nautilus-text-layout.c:
		     (nautilus_text_layout_new), (nautilus_text_layout_paint):
		     Update for frame vs dimenensions changes.

		     * libnautilus-extensions/nautilus-wrap-table.c:
		     (nautilus_wrap_table_size_request), (wrap_table_layout),
		     (wrap_table_art_irect_max_dimensions),
		     (wrap_table_get_max_child_dimensions),
		     (wrap_table_get_content_dimensions):
		     Update for frame vs dimenensions changes.

		     * src/nautilus-about.c: (draw_aa_string):
		     Update for frame vs dimenensions changes.

		     * src/nautilus-sidebar-tabs.c: (draw_one_tab_plain),
		     (draw_one_tab_themed), (get_tab_width):
		     Update for frame vs dimenensions changes.

		     * test/test-nautilus-font-simple.c: (main):
		     * test/test-nautilus-font.c: (main):
		     * test/test-nautilus-glyph-simple.c: (glyph_new):
		     * test/test-nautilus-glyph.c: (glyph_new), (main):
		     * test/test-nautilus-pixbuf-tile.c:
		     * test/test.c: (test_pixbuf_draw_rectangle_tiled):
		     Update test for frame vs dimenensions changes and font api
		     changes.
2001-02-15 15:45:43 +00:00
Ramiro Estrugo dae99c141e Two very tiny tweaks to help debug clipping bugs.
* test/test-nautilus-glyph.c: (main):
	* test/test-nautilus-label-simple.c: (main):
	Two very tiny tweaks to help debug clipping bugs.
2001-02-14 06:16:17 +00:00
Ramiro Estrugo a9818eb54f reviewed by: Arik Devens <arik@eazel.com>
* libnautilus-extensions/Makefile.am:
	* libnautilus-extensions/nautilus-label.c:
	* libnautilus-extensions/nautilus-scalable-font.c:
	* libnautilus-extensions/nautilus-scalable-font.h:
	* libnautilus-extensions/nautilus-text-layout.c:
	* libnautilus-extensions/nautilus-text-layout.h:
	* test/test-nautilus-font.c:
	Move the text layout code to its own place.  No real code changes.
2001-02-14 02:14:36 +00:00
Ramiro Estrugo b075065c7f reviewed by: Maciej Stachowiak <mjs@eazel.com>
* libnautilus-extensions/Makefile.am:
	* libnautilus-extensions/nautilus-glyph.h:
	* libnautilus-extensions/nautilus-glyph.c:
	New class.  A wrapper on RsvgGlyph that makes it simple and fast
	to draw smooth text on pixbufs

	* libnautilus-extensions/nautilus-clickable-image.c:
	(nautilus_clickable_image_initialize_class),
	(nautilus_clickable_image_realize):
	Remove unrealize() method that was a noop.

	* libnautilus-extensions/nautilus-debug-drawing.c:
	(nautilus_debug_pixbuf_draw_point),
	(nautilus_debug_pixbuf_draw_rectangle),
	(nautilus_debug_pixbuf_draw_rectangle_inset):
	* libnautilus-extensions/nautilus-debug-drawing.h:
	Add some pixbuf drawing functions to debug clip areas in pixbufs.

	* libnautilus-extensions/nautilus-image-table.c:
	(nautilus_image_table_initialize_class),
	(nautilus_image_table_remove):
	Remove add() method that was a noop.

	* test/.cvsignore:
	* test/Makefile.am:
	* test/test-nautilus-font-simple.c: (main):
	* test/test-nautilus-font.c: (main):
	* test/test-nautilus-glyph-simple.c: (glyph_new), (main):
	* test/test-nautilus-glyph.c: (glyph_new), (main):
	* test/test.c: (test_window_set_title_with_pid),
	(test_pixbuf_draw_rectangle_tiled):
	* test/test.h:
	New NautilusGlyph tests.  Also remove the broken pixbuf drawing
	debug code.  Use the debugging code in nautilus-debug-drawing.[ch]
	instead.
2001-02-13 12:01:16 +00:00
Ramiro Estrugo b28f5a6e9b reviewed by: Darin Adler <darin@eazel.com>
* libnautilus-extensions/nautilus-gtk-extensions.h:
	* libnautilus-extensions/nautilus-gtk-extensions.c:
	(while_realized_disconnecter),
	(nautilus_gtk_signal_connect_while_realized):
	New function to connect to a signal of an object while a widget is
	realized.
	(while_realized_disconnecter): Changed signature to be void - no
	need to return a value here.  As such, the GTK_SIGNAL_FUNC casts
	are no longer needed.

	* libnautilus-extensions/nautilus-clickable-image.c:
	(nautilus_clickable_image_realize),
	(nautilus_clickable_image_unrealize):
	Use nautilus_gtk_signal_connect_while_realized so that we dont
	have to keep track of the signal ids and ancestor widget.

	* libnautilus-extensions/nautilus-image-table.c:
	(nautilus_image_table_realize), (nautilus_image_table_unrealize):
	Use nautilus_gtk_signal_connect_while_realized so that we dont
	have to keep track of the signal ids and ancestor widget.

	* test/test-nautilus-clickable-image.c: (main):
	Add a windowed ancestor inbetween in order to test
	nautilus_gtk_signal_connect_while_realized.
2001-02-13 02:19:18 +00:00
Ramiro Estrugo f34f729581 New NautilusWrapTable test.
* test/.cvsignore:
	* test/Makefile.am:
	* test/test-nautilus-wrap-table.c: (main):
	New NautilusWrapTable test.
2001-02-12 06:16:48 +00:00
Ramiro Estrugo 24fe2c9cd9 A tiny bit more debug code.
* test/test-nautilus-clickable-image.c: (main):
	* test/test-nautilus-labeled-image.c: (button_callback),
	(labeled_image_button_window_new):
	A tiny bit more debug code.
2001-02-12 05:55:52 +00:00
Ramiro Estrugo 5585ad975d reviewed by: Robey Pointer <robey@eazel.com>
* libnautilus-extensions/Makefile.am:
	* libnautilus-extensions/nautilus-region.c:
	* libnautilus-extensions/nautilus-region.h:
	New class for super easy region management using rectangle.

	* libnautilus-extensions/nautilus-art-gtk-extensions.h:
	* libnautilus-extensions/nautilus-art-gtk-extensions.c:
	(nautilus_gdk_rectangle_assign_irect):
	New function to convert ArtIRect to GdkRectangles.

	* libnautilus-extensions/nautilus-customization-data.h:
	* libnautilus-extensions/nautilus-customization-data.c:
	(nautilus_customization_data_get_next_element_for_display):
	Return pixbufs and labels for the object instead of widgets.  This
	is so that the caller can use the widget that best suits its
	display needs.

	* libnautilus-extensions/nautilus-image-table.h:
	* libnautilus-extensions/nautilus-image-table.c:
	(nautilus_image_table_initialize_class),
	(nautilus_image_table_initialize),
	(nautilus_image_table_expose_event),
	(nautilus_image_table_realize), (nautilus_image_table_unrealize),
	(nautilus_image_table_set_is_smooth_signal),
	(image_table_foreach_child_subtract_content),
	(image_table_clear_dirty_areas), (image_table_peek_clear_gc),
	(image_table_emit_signal), (image_table_handle_motion),
	(ancestor_button_press_event), (ancestor_button_release_event),
	(nautilus_image_table_new), (nautilus_image_table_set_is_smooth),
	(nautilus_image_table_set_smooth_background_color):
	Add support for smoothnes.  Register widget as a possible smooth
	widget.  When smoothness changes, we modify our background drawing
	behavior such that in smooth mode we dont flicker at all.

	Remove grab/ungrab pair that could screw up operations.  Turns out
	these are not needed.

	Change event signal emissions to include more data from the raw
	gdk events without exposing these.

	* libnautilus-extensions/nautilus-image.c:
	(nautilus_image_initialize_class):
	Update for new smooth widget class registration scheme.

	* libnautilus-extensions/nautilus-label.c:
	(nautilus_label_initialize_class):
	Update for new smooth widget class registration scheme.

	* libnautilus-extensions/nautilus-labeled-image.h:
	* libnautilus-extensions/nautilus-labeled-image.c:
	(nautilus_labeled_image_size_allocate),
	(nautilus_labeled_image_get_image_bounds),
	(nautilus_labeled_image_get_label_bounds):
	Make these two functions public.

	* libnautilus-extensions/nautilus-smooth-widget.h:
	* libnautilus-extensions/nautilus-smooth-widget.c:
	(smooth_widget_type_list_free), (smooth_widget_list_free),
	(widget_is_smooth), (nautilus_smooth_widget_register),
	(nautilus_smooth_widget_register_type):
	Add mechanism for registering types that are meant to be smooth.
	That way we dont need to hardcode the list of smooth widget
	classes.  Also made sure to free the static lists at exit time.

	* libnautilus-extensions/nautilus-viewport.h:
	* libnautilus-extensions/nautilus-viewport.c:
	(nautilus_viewport_initialize_class),
	(nautilus_viewport_initialize), (nautilus_viewport_destroy),
	(nautilus_viewport_draw), (nautilus_viewport_expose_event),
	(nautilus_viewport_realize), (nautilus_viewport_paint),
	(nautilus_viewport_set_is_smooth_signal), (nautilus_viewport_new),
	(nautilus_viewport_set_is_smooth),
	(nautilus_viewport_get_scroll_offset):
	Add support for smoothness.  When the is_smooth attribute changes,
	the viewport will not clear the background on resize - and so its
	content will not flicker.

	Add function for querying the scroll offset.

	* libnautilus-extensions/nautilus-wrap-table.h:
	* libnautilus-extensions/nautilus-wrap-table.c:
	(wrap_table_get_content_frame), (wrap_table_get_scroll_offset),
	(nautilus_wrap_table_get_homogeneous),
	(nautilus_wrap_table_reorder_child):
	Fix a mod by zero error.
	Add support for reordering children.

	* src/file-manager/fm-properties-window.c: (create_emblems_page):
	Simplify a bit by using NautilusWrapTable instead of a GtkTable
	with a hard coded number of columns.  The emblems now wrap to fit
	the available space.  Also use NautilusLabeledImages instead of
	boxes.  Update for changes in customization data api.
	Remove check box painting workaround.  Its taken care of in
	NautilusLabeledImage now.

	* src/nautilus-property-browser.c:
	(nautilus_property_browser_initialize_class),
	(nautilus_property_browser_initialize), (element_clicked_callback),
	(nautilus_property_browser_preferences_changed),
	(make_property_tile), (make_properties_from_directories),
	(add_reset_property), (make_properties_from_xml_node),
	(property_browser_category_button_new), (make_category_link),
	(nautilus_property_browser_update_contents),
	(emit_emblems_changed_signal):
	Use a NautilusImageTable instead of a GtkTable to make things wrap
	propertly and thus not have to recreate the whole property box
	each time its resized.  Remove a lot of hard coded dimensions.
	Simplified a bit by using NautilusLabeledImages.

	* src/nautilus-search-bar-criterion.c: (make_emblem_value_menu):
	Update for changes in customization data api.

	* test/test-nautilus-image-table.c: (labeled_image_new),
	(foo_timeout), (image_table_size_allocate),
	(image_table_new_scrolled):
	Update for new image table features.
2001-02-10 02:54:25 +00:00
Ramiro Estrugo 6767f2921b reviewed by: Mike Fleming <mfleming@eazel.com>
Minus the 2 new widgets.

	      * libnautilus-extensions/Makefile.am:
	      New files.

	      * libnautilus-extensions/nautilus-labeled-image.h:
	      * libnautilus-extensions/nautilus-labeled-image.c:
	      (button_leave_callback), (button_focus_out_event_callback),
	      (nautilus_labeled_image_check_button_new): Add workaround for
	      rendering problems with GtkCheckButton.
	      (nautilus_labeled_image_set_label_never_smooth): New function to
	      make the label part possibly never smooth.

	      * libnautilus-extensions/nautilus-clickable-image.h:
	      * libnautilus-extensions/nautilus-clickable-image.c:
	      (ancestor_button_press_event), (ancestor_button_release_event),
	      (nautilus_clickable_image_new),
	      (nautilus_clickable_image_new_from_file_name): New function to
	      create clickable images from image files.  Add grab/ungrab calls
	      to match the logic in GtkButton.

	      * libnautilus-extensions/nautilus-wrap-table.h:
	      * libnautilus-extensions/nautilus-wrap-table.c:
	      New class.

	      * libnautilus-extensions/nautilus-image-table.c:
	      * libnautilus-extensions/nautilus-image-table.h:
	      New class.

	      * test/test-nautilus-image-table.c:
	      * test/.cvsignore:
	      * test/Makefile.am:
	      Image table test.
2001-02-08 07:02:39 +00:00
Ramiro Estrugo f5743c0a5c reviewed by: Maciej Stachowiak <mjs@eazel.com>
Fix bug 6131 - NautilusLabel does not support proper line wrap.
	Its fixed for smooth mode.  Theres a bug (6243) for the more
	complicated issue of wrapping in non smooth mode.

	* libnautilus-extensions/nautilus-label.h:
	* libnautilus-extensions/nautilus-label.c:
	(nautilus_label_initialize_class), (nautilus_label_set_arg),
	(nautilus_label_get_arg), (nautilus_label_size_allocate),
	(nautilus_label_set_never_smooth),
	(nautilus_label_set_adjust_wrap_on_resize),
	(nautilus_label_get_adjust_wrap_on_resize):
	Add a boolean attribute 'adjust_wrap_on_resize' that controls
	whether the label will automatically update its line wrap width
	when its resized.

	* components/services/summary/nautilus-view/nautilus-summary-view.c
	: (summary_view_item_label_new), (summary_load_location_callback):
	No longer need size_allocate hack.  Use NautilusLabel's
	'adjust_wrap_on_resize' attribute instead.

	* test/test-nautilus-label-wrapped.c: (create_nautilus_label),
	(create_gtk_label_window), (create_nautilus_label_window), (main):
	Update for 'adjust_wrap_on_resize'.
2001-02-02 12:12:10 +00:00
Ramiro Estrugo a02986d457 reviewed by: Maciej Stachowiak <mjs@eazel.com>
* libnautilus-extensions/nautilus-global-preferences.c:
	(global_preferences_install_defaults),
	(global_preferences_install_visibility),
	(global_preferences_install_sidebar_panel_defaults):
	* libnautilus-extensions/nautilus-preferences.c:
	(nautilus_preferences_get_user_level):
	* libnautilus-extensions/nautilus-preferences.h:
	* src/nautilus-first-time-druid.c: (set_up_user_level_page):
	* src/nautilus-window-menus.c: (get_user_level_icon_name),
	(nautilus_window_initialize_menus), (convert_verb_to_user_level),
	(convert_user_level_to_path):
	* test/test-nautilus-preferences-change.c: (main):
	Change 'hacker' to 'advanced' for the advanced user level so that
	the names used for storage match those used for display.
2001-02-02 04:32:50 +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
Ramiro Estrugo 33f219c3e0 reviewed by: Pavel Cisler <pavel@eazel.com>
* libnautilus-extensions/Makefile.am:
	New files.
	* libnautilus-extensions/nautilus-art-extensions.c:
	(nautilus_art_irect_align):
	* libnautilus-extensions/nautilus-art-extensions.h:
	Make the align function actually work.  The previous version was
	copied from GtkPixmap and i didnt realize it did not work.  Remove
	the padding parameters which are not really needed for alignment.

	* libnautilus-extensions/nautilus-clickable-image.h:
	* libnautilus-extensions/nautilus-clickable-image.c:
	New class.  A clickable image.

	* libnautilus-extensions/nautilus-labeled-image.h:
	* libnautilus-extensions/nautilus-labeled-image.c:
	New class.  A labeled image.

	* libnautilus-extensions/nautilus-image.h:
	* libnautilus-extensions/nautilus-image.c:
	(nautilus_image_expose_event), (image_get_pixbuf_bounds),
	(image_is_smooth), (nautilus_image_set_is_smooth),
	(nautilus_image_get_is_smooth), (nautilus_image_new_solid),
	(nautilus_image_set_never_smooth):
	Add never smooth attribute to force behavior to match GTK+ for
	cases when consistency is most important.
	Update for alignment art extensions api change.
	Some minor paramter name changes to lose abbreviations.

	* libnautilus-extensions/nautilus-label.h:
	* libnautilus-extensions/nautilus-label.c:
	(nautilus_label_size_request), (nautilus_label_expose_event),
	(label_get_text_bounds), (label_is_smooth),
	(nautilus_label_set_is_smooth), (nautilus_label_get_is_smooth),
	(nautilus_label_new_solid), (nautilus_label_set_never_smooth):
	Add never smooth attribute to force behavior to match GTK+ for
	cases when consistency is most important.
	Update for alignment art extensions api change.
	Update for alignment art extensions api change.
	Some minor paramter name changes to lose abbreviations.

	* libnautilus-extensions/nautilus-smooth-widget.c:
	(smooth_widget_get_tile_origin_point),
	(nautilus_smooth_widget_get_preferred_frame):
	Add some comments explaining why using 0 for ancestor offsets
	works.
	Fix a really dumb bug, the paddings where multiplies by 2 twice
	instead of once.

	* test/.cvsignore:
	* test/Makefile.am:
	* test/test-nautilus-clickable-image.c: (clicked_callback),
	(enter_callback), (leave_callback), (clickable_image_new), (main):
	* test/test-nautilus-label-background.c:
	* test/test-nautilus-label-scrolled.c: (label_window_new_scrolled),
	(label_window_new_table):
	* test/test-nautilus-label-simple.c: (main):
	* test/test-nautilus-label.c: (main):
	* test/test-nautilus-labeled-image.c: (labeled_image_new),
	(labeled_image_window_new), (labeled_image_button_window_new),
	(main):
	* test/test-nautilus-pixbuf-tile.c:
	(pixbuf_drawing_area_expose_event),
	(drawable_drawing_area_expose_event), (main):
	* test/test-nautilus-preferences-change.c: (main):
	* test/test.c: (test_init):
	New tests for clickable and labeled images.  Many updates to other
	tests.

	Also, changed many instances of NautilusFooDetail to
        NautilusFooDetails as well as the corresponding members.
2001-02-01 10:24:58 +00:00
Ramiro Estrugo b6916e3f82 Add an example of how to do dynamic wrapping.
* test/test-nautilus-label-wrapped.c: (size_allocate_callback),
	(create_nautilus_label):
	Add an example of how to do dynamic wrapping.
2001-01-30 05:01:55 +00:00
Rebecca Schulman 5dfee0c35d Fix bugs 4094, 4425, 5201 and 4106 about inappopriate applications being
2001-01-27  Rebecca Schulman  <rebecka@eazel.com>
	Fix bugs 4094, 4425, 5201 and 4106 about inappopriate
	applications being offered to view remote files.
	This change filters applications that don't support
	a uri scheme from a file's short list.

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

	* libnautilus-extensions/nautilus-mime-actions.c:
	(nautilus_mime_actions_get_minimum_file_attributes),
	(nautilus_mime_get_short_list_applications_for_file),
	(application_supports_uri_scheme):
	Filter out applications from the short list that do not
	support the uri scheme for the file in question.
	* libnautilus-extensions/nautilus-program-choosing.c:
	(nautilus_launch_application):
	Change "can_open_uris" to "expects_uris" to go along with
	the gnome vfs change
	* test/test-nautilus-mime-actions.c: (append_comma_and_scheme),
	(format_supported_uri_schemes_for_display), (print_application):
	update the tests similarly to the way the gnome-vfs tests were
	updated, so that all of the fields of the GnomeVFSMimeApplication
	structure are correctly printed.

	* libnautilus-extensions/nautilus-glib-extensions.c:
	Correct spelling and naming error in a comment
2001-01-26 23:16:59 +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 5fe1725cd6 reviewed by: Pavel Cisler <pavel@eazel.com>
(only the first 2 changes, others unreviewed)

	* libnautilus-extensions/nautilus-trash-directory.c:
	(trash_destroy): Fix problem that might be what's killing the
	Tinderbox. We need to disconnect the signal handlers we add to the
	trash monitor.

	* src/file-manager/fm-directory-view.c: (load_location_callback):
	Always reload when navigating. This smooths over many anomalies,
	and hopefully will fix the nasty problems described in bug 4873
	(files created in home directory (outside Nautilus) don't show up
	when I navigate there) and bug 4963 (starting the search service
	while running nautilus doesn't let you run searches).

	* configure.in: Fix gnome-http check that was previously just
	checking whether gnome-config was there or not!

	* src/nautilus-application.c: (nautilus_application_startup):
	Replace incorrect references to nautilus.oafinfo to instead
	mention Nautilus_Shell.oaf.

	* test/.cvsignore: Add a generated file.
2001-01-19 01:39:57 +00:00
Ramiro Estrugo d927dfd26d reviewed by: Pavel Cisler <pavel@eazel.com>
Lots of bug fixes:

	2848 - User level agnostic config settings have nowhere to live.
	2654 - Need default values even for non user level preferences.
	3414 - Show more preferences at higher user levels.
	3415 - Make preference the same for all levels at which it is not visible
	3416 - Make preference changes affect all levels at which they are visible
	4357 - Web search URL setting should be reset upon Nautilus update
	5160 - Tree view doesnt exist when starting nautilus as a beginner
	5234 - Sidebar panel preferences are not properly separated among user levels

	* components/mozilla/mozilla-preferences.cpp:
	Update for gnome vfs proxy changes.  Proxy host and port are now
	stored in separate gconf settings.

	* libnautilus-extensions/Makefile.am:
	* libnautilus-extensions/nautilus-enumeration.h:
	* libnautilus-extensions/nautilus-enumeration.c:
	(nautilus_enumeration_new), (nautilus_enumeration_free),
	(nautilus_enumeration_insert),
	(nautilus_enumeration_get_nth_entry),
	(nautilus_enumeration_get_nth_description),
	(nautilus_enumeration_get_nth_value),
	(nautilus_enumeration_get_num_entries),
	(nautilus_self_check_enumeration):
	New files.  An enumeration data structure.

	* components/tree/nautilus-tree-expansion-state.c:
	No longer need to give the full path to a gconf setting.

	* components/tree/nautilus-tree-view.c:
	(filtering_changed_callback), (nautilus_tree_view_initialize):
	* libnautilus-extensions/nautilus-directory-async.c:
	(can_use_public_metafile),
	(get_filter_options_for_directory_count):
	* libnautilus-extensions/nautilus-file-operations.c:
	(confirm_empty_trash):
	* libnautilus-extensions/nautilus-file.c:
	(nautilus_file_should_get_top_left_text):
	* libnautilus-extensions/nautilus-font-factory.c:
	(nautilus_font_factory_get_font_from_preferences):
	Update for preferences api changes.

	* libnautilus-extensions/nautilus-gconf-extensions.h:
	* libnautilus-extensions/nautilus-gconf-extensions.c:
	(global_client_free), (nautilus_gconf_client_get_global),
	(nautilus_gconf_handle_error), (nautilus_gconf_set_boolean),
	(nautilus_gconf_get_boolean), (nautilus_gconf_set_int),
	(nautilus_gconf_get_int), (nautilus_gconf_set_string),
	(nautilus_gconf_get_string), (nautilus_gconf_set_string_list),
	(nautilus_gconf_get_string_list), (nautilus_gconf_is_default),
	(nautilus_gconf_monitor_directory):
	New files.  Useful gconf extensions; make peeking and poking
	settings a little easier.

	* libnautilus-extensions/nautilus-icon-container.c:
	(button_press_event):
	* libnautilus-extensions/nautilus-icon-canvas-item.c:
	(in_single_click_mode):
	Update for preferences api changes.

	* libnautilus-extensions/nautilus-icon-factory.c:
	(icon_theme_changed_callback),
	(should_display_image_file_as_itself):
	Update for preferences api changes.  Also no longer need to define
	a default theme.

	* libnautilus-extensions/nautilus-lib-self-check-functions.h:
	Add entries for enumeration and preferences.  Remove preference
	entry.  Note plural vs not.

	* libnautilus-extensions/nautilus-preference.c:
	* libnautilus-extensions/nautilus-preference.h:
	Retire these 2.  No longer use a GtkObject to store each
	preference.  We simply use the string name instead.

	* libnautilus-extensions/nautilus-preferences-box.h:
	* libnautilus-extensions/nautilus-preferences-box.c:
	(nautilus_preferences_box_add_pane),
	(nautilus_preferences_box_update):
	New function.  Should be called when user level changes so that
	the box updates its panes.

	* libnautilus-extensions/nautilus-preferences-dialog.h:
	* libnautilus-extensions/nautilus-preferences-dialog.c:
	(nautilus_preferences_dialog_initialize),
	(nautilus_preferences_dialog_destroy),
	(nautilus_preferences_dialog_get_prefs_box),
	(nautilus_preferences_dialog_update),
	(user_level_changed_callback):
	Keep track of user level changes.
	New function to update the dialog when user level changes.

	* libnautilus-extensions/nautilus-preferences-group.h:
	* libnautilus-extensions/nautilus-preferences-group.c:
	(nautilus_preferences_group_initialize),
	(nautilus_preferences_group_destroy),
	(nautilus_preferences_group_add_item): Collect the group's items
	in a list.  Update to user a string to represent a preference
	instead of a GtkObject.
	(nautilus_preferences_group_update): New function.  Updates the
	group's items to respect preferences visibility based on the user
	level.
	(nautilus_preferences_get_num_visible_items):  New function.
	Return the number of currently visible items.

	Collect the group's items in a list.   Update to user a string to
	represent a preference instead of a GtkObject.

	* libnautilus-extensions/nautilus-preferences-item.h:
	* libnautilus-extensions/nautilus-preferences-item.c:
	(preferences_item_construct), (preferences_item_create_enum),
	(preferences_item_create_short_enum),
	(preferences_item_create_boolean),
	(preferences_item_create_editable_string),
	(preferences_item_create_integer),
	(preferences_item_create_font_family),
	(preferences_item_create_theme),
	(enum_radio_group_changed_callback),
	(editable_string_changed_callback), (integer_changed_callback),
	(nautilus_preferences_item_get_name):
	New function to fetch the item's preference name.
	Add a new kind of preference - INTEGER.  Update for string
	vs. GtkObject preferences representation changes.

	* libnautilus-extensions/nautilus-preferences-pane.h:
	* libnautilus-extensions/nautilus-preferences-pane.c:
	(nautilus_preferences_pane_update):
	New function.  Updates the pane's groups to respect preferences
	visibility based on the user level.

	* libnautilus-extensions/nautilus-preferences.h:
	* libnautilus-extensions/nautilus-preferences.c:
	(preferences_get_path), (preferences_get_defaults_path),
	(preferences_get_visibility_path),
	(preferences_get_user_level_key),
	(preferences_preference_is_internal),
	(preferences_preference_is_user_level), (preferences_key_make),
	(preferences_key_make_for_default),
	(preferences_key_make_for_default_getter),
	(preferences_key_make_for_visibility),
	(preferences_global_client_remove_notification),
	(preferences_global_client_get),
	(preferences_preference_is_default),
	(preferences_make_user_level_filtered_key),
	(nautilus_preferences_get_visible_user_level),
	(nautilus_preferences_set_visible_user_level),
	(nautilus_preferences_set_boolean),
	(preferences_key_make_for_getter),
	(nautilus_preferences_get_boolean), (nautilus_preferences_set_int),
	(nautilus_preferences_get_int), (nautilus_preferences_set),
	(nautilus_preferences_get), (nautilus_preferences_set_string_list),
	(nautilus_preferences_get_string_list),
	(nautilus_preferences_get_user_level),
	(nautilus_preferences_set_user_level),
	(nautilus_preferences_default_set_int),
	(nautilus_preferences_default_get_int),
	(nautilus_preferences_default_set_boolean),
	(nautilus_preferences_default_get_boolean),
	(nautilus_preferences_default_set_string),
	(nautilus_preferences_default_get_string),
	(nautilus_preferences_default_set_string_list),
	(nautilus_preferences_default_get_string_list),
	(preferences_callback_entry_invoke_function),
	(preferences_something_changed_notice),
	(preferences_global_table_check_changes_function),
	(preferences_user_level_changed_notice),
	(preferences_entry_add_callback),
	(preferences_entry_remove_callback),
	(preferences_callback_entry_free),
	(preferences_callback_entry_free_func), (preferences_entry_free),
	(preferences_entry_free_func), (preferences_global_table_free),
	(preferences_global_table_get_global),
	(preferences_global_table_lookup),
	(preferences_global_table_insert),
	(preferences_global_table_lookup_or_insert),
	(nautilus_preferences_add_callback),
	(preferences_while_alive_disconnector),
	(nautilus_preferences_add_callback_while_alive),
	(nautilus_preferences_remove_callback),
	(nautilus_preferences_enumeration_insert),
	(nautilus_preferences_enumeration_get_nth_entry),
	(nautilus_preferences_enumeration_get_nth_description),
	(nautilus_preferences_enumeration_get_nth_value),
	(nautilus_preferences_enumeration_get_num_entries),
	(nautilus_preferences_set_description),
	(nautilus_preferences_get_description),
	(nautilus_preferences_get_user_level_name_for_display),
	(nautilus_preferences_get_user_level_name_for_storage),
	(preferences_user_level_check_range),
	(nautilus_preferences_monitor_directory),
	(nautilus_preferences_is_visible),
	(nautilus_self_check_preferences):
	Many changes.  Redid to support the preferences system described
	in bugs 3414, 3415 and 3416.

	* libnautilus-extensions/nautilus-smooth-widget.c:
	(preferences_get_is_smooth):
	* libnautilus-extensions/nautilus-sound.c:
	(kill_sound_if_necessary), (nautilus_sound_initialize),
	(nautilus_sound_kill_sound), (nautilus_sound_register_sound),
	(nautilus_sound_can_play_sound):
	* libnautilus-extensions/nautilus-theme.c:
	(nautilus_theme_get_theme), (nautilus_theme_get_theme_data),
	(nautilus_theme_get_image_path):
	Update for preferences api changes.

	* libnautilus-extensions/nautilus-user-level-manager.c:
	* libnautilus-extensions/nautilus-user-level-manager.h:
	Retire.  No longer needed.  User level things are handled in
	nautilus-preferences.[ch] now.  The current user level design is
	much simpler and does no require its own GtkObject.

	* src/file-manager/fm-desktop-icon-view.c:
	(update_home_link_and_delete_copies), (real_update_menus):
	* src/file-manager/fm-directory-view.c: (open_location),
	(confirm_delete_from_trash), (real_update_menus),
	(fm_directory_view_activate_files), (filtering_changed_callback):
	* src/file-manager/fm-icon-text-window.c:
	(changed_attributes_option_menu_callback),
	(fm_get_text_attribute_names_preference_or_default):
	* src/file-manager/fm-icon-view.c: (should_preview_sound),
	(fm_icon_view_update_click_mode),
	(fm_icon_view_update_smooth_graphics_mode):
	* src/file-manager/fm-list-view.c:
	(fm_list_view_update_click_mode):
	* src/file-manager/fm-properties-window.c:
	(create_permissions_page):
	* src/nautilus-application.c: (desktop_changed_callback):
	* src/nautilus-complex-search-bar.c:
	(nautilus_complex_search_bar_get_location):
	* src/nautilus-first-time-druid.c: (user_level_selection_changed),
	(make_hbox_user_level_radio_button), (set_up_user_level_page):
	* src/nautilus-main.c: (main):
	* src/nautilus-property-browser.c:
	(nautilus_property_browser_update_contents):
	* src/nautilus-sidebar.c: (nautilus_sidebar_sidebar_panel_enabled),
	(toggle_sidebar_panel), (nautilus_sidebar_size_allocate):
	* src/nautilus-switchable-search-bar.c:
	(nautilus_switchable_search_bar_new),
	(nautilus_search_uri_to_search_bar_mode):
	Update for preferences api changes.

	* src/nautilus-window-manage-views.c:
	(position_and_show_window_callback),
	(nautilus_window_end_location_change_callback):
	Update for preferences api changes.  Also, no longer need to pass
	in a default location to the preferences getter.

	* src/nautilus-window-menus.c: (user_level_customize_callback),
	(switch_to_user_level), (refresh_bookmarks_menu),
	(user_level_changed_callback), (add_user_level_menu_item),
	(nautilus_window_initialize_menus), (update_user_level_menu_items),
	(convert_user_level_to_path):
	A lot of simplification.  The "Edit Settings..." menu item no
	longer changes it wording based on the user level.  We know allow
	it to edit settings on all user levels, since we have the ability
	to hide preferences at higher user levels.  No longer need to
	update the preferences dialog or its title.

	* src/nautilus-window.c: (nautilus_window_constructed),
	(nautilus_window_close), (nautilus_window_go_web_search),
	(nautilus_window_go_home), (nautilus_window_show):
	Update for preferences api changes.

	* libnautilus-extensions/nautilus-global-preferences.h:
	Update all the preferences defines to not include a full gconf
	path.  We dont need to do this anymore to get non user level
	coupled prefernces.

	* libnautilus-extensions/nautilus-global-preferences.c:
	(compare_view_identifiers), (global_preferences_create_dialog),
	(nautilus_global_preferences_get_enabled_sidebar_panel_view_identif
	iers), (global_preferences_install_sidebar_panel_defaults),
	(global_preferences_is_sidebar_panel_enabled),
	(global_preferences_install_speed_tradeoff_descriptions),
	(register_proxy_preferences), (global_preferences_register),
	(global_preferences_install_defaults),
	(nautilus_global_preferences_set_dialog_title):
	Lots of changes to support new preferences design.

	Set the WM_CLASS here once instead of everytime the dialog title
	is changed.  This was causing criticals.

	No longer need to create parallel proxy preferences and map them
	to the gconf ones.  We can use the gconf ones directly now.

	* test/.cvsignore:
	* test/Makefile.am:
	* test/test-nautilus-preferences-change.c:
	(user_level_changed_callback), (fruits_changed_callback),
	(int_picker_changed_callback),
	(user_level_picker_changed_callback), (picker_new),
	(user_level_picker_new), (main):
	* test/test-nautilus-preferences-display.c: (text_caption_update),
	(user_level_caption_update), (user_level_changed_callback),
	(green_changed_callback), (yellow_changed_callback),
	(red_changed_callback), (apple_changed_callback),
	(orange_changed_callback), (pear_changed_callback), (entry_new),
	(user_level_frame_new), (colors_frame_new), (fruits_frame_new),
	(main):
	* test/test.c: (test_pixbuf_draw_rectangle_tiled),
	(test_text_caption_set_text_for_int_preferences),
	(test_text_caption_set_text_for_string_preferences),
	(test_text_caption_set_text_for_default_int_preferences),
	(test_text_caption_set_text_for_default_string_preferences),
	(test_text_caption_get_text_as_int),
	(test_window_set_title_with_pid):
	* test/test.h:
	New tests for preferences changes.

	* test/test-nautilus-preferences.c:
	Retire old prefs test which didnt really work.

	* test/test-nautilus-smooth-graphics.c:
	(smooth_graphics_mode_changed_callback), (main):
	Update for preferences api changes.
2001-01-18 08:52:40 +00:00
Darin Adler 075cd9bfae reviewed by: Gene Ragan <gzr@eazel.com>
* libnautilus-extensions/nautilus-file-operations.c:
	(get_label_font): It's illegal to unref a new widget since you
	don't own a ref to it. Sink it instead.
	(ellipsize_string_for_dialog): New function.
	(format_and_ellipsize_uri_for_dialog): Rename this function and
	change it to use nautilus_format_uri_for_display. Also add FIXME
	about where the ellipsis goes.
	(extract_and_ellipsize_file_name_for_dialog): Added a seprate
	function for the case where we want to extract the file name
	part only. The old code mixed the URI and file name cases in a
	way that would lead to anomalies with unusual names.
	(handle_transfer_vfs_error): Fixed storage leak.
	(is_special_link): Rewrote this function and also made it take
	a URI in text form, not a GnomeVFSURI.
	(handle_transfer_overwrite): Use is_special_link instead of
	duplicate its test. Removed incorrect use of NautilusFile (without
	waiting for results). Added quotes around file name in
	message. Use extract_and_ellipsize_file_name_for_dialog instead of
	our own ad-hoc functions.
	(make_next_duplicate_name): Get rid of bizarre buffer/sprintf that
	was used by someone who didn't know you can use printf formatting
	with g_warning.
	(vfs_uri_is_special_link): Created cover for one remaining caller
	of is_special_link that needs to pass a GnomeVFSURI.
	(nautilus_file_operations_copy_move): Use the new is_special_link
	(nautilus_file_operations_move_to_trash): Use
	extract_and_ellipsize_file_name_for_dialog instead of an old
	strange combination of calls.

	* libnautilus-extensions/nautilus-icon-factory.c:
	(nautilus_icon_factory_get_icon_name_for_regular_file): Fix
	obsolete comment and rearrange code now that plain text special
	case is gone.
2001-01-16 20:16:43 +00:00
Ramiro Estrugo 9ba551d769 Add a test for debugging bug 5608.
* test/.cvsignore:
	* test/Makefile.am:
	* test/test-nautilus-label-offset.c: (main):
	* test/test.h:

	Add a test for debugging bug 5608.
2001-01-12 22:00:45 +00:00
Robin Slomkowski 07e41233a2 added test/test.h to EXTRA_DIST
* test/Makefile.am: added test/test.h to EXTRA_DIST
2001-01-12 01:22:15 +00:00
Ramiro Estrugo 38f9b0946c reviewed by: Pavel Cisler <pavel@eazel.com>
Fix bugs 4711, 2322, 3778, 4989, 5044, 5166, 5408, 4418, 3779 (parts),
	5051, 2783 and maybe other relating to (ab)use of fonts,
	backgrounds and other sacred attrbiutes of Gtk themes.

	* components/hardware/nautilus-hardware-view.c: (setup_form_title),
	(setup_overview_form), (setup_CPU_form), (setup_RAM_form),
	(setup_IDE_form):
	Fix hard coded fonts.

	* components/music/nautilus-music-view.c:
	(nautilus_music_view_initialize),
	(music_view_set_selected_song_title), (reset_playtime),
	(play_status_display), (slider_moved_callback),
	(add_play_controls):
	Fix hard coded fonts.

	* components/rpmview/nautilus-rpm-verify-window.c:
	(nautilus_rpm_verify_window_initialize):
	Fix hard coded fonts.

	* components/rpmview/nautilus-rpm-view.c:
	(nautilus_rpm_view_initialize):
	* components/services/install/nautilus-view/nautilus-service-instal
	l-view.c: (horizontal_line_new), (install_message_new),
	(generate_install_form),
	(nautilus_service_install_view_initialize),
	(current_progress_bar_complete),
	(nautilus_service_install_installing):
	Fix hard coded fonts.

	* components/services/login/nautilus-view/nautilus-change-password-
	view.c: (generate_change_password_form), (authn_succeeded),
	(authn_failed), (change_password_button_cb),
	(nautilus_change_password_view_initialize):
	Fix hard coded fonts.  Cleanup header inclusion a bit.

	* components/services/nautilus-dependent-shared/Makefile.am:
	Retire some crufty code.

	* components/services/nautilus-dependent-shared/eazel-services-exte
	nsions.c: (eazel_services_image_new),
	(eazel_services_image_new_from_uri):, (eazel_services_label_new):
	Update for label, image and hard coded font changes.

	* components/services/nautilus-dependent-shared/eazel-services-exte
	nsions.h:
	Make the colors opaque.  Remove a bunch of hard coded font stuff.
	Also remove a bunch of hard coded offsets.  We use alignments and
	paddings instead.

	* components/services/nautilus-dependent-shared/eazel-services-foot
	er.c: (label_enter_event), (label_leave_event),
	(image_enter_event), (footer_item_new),
	(eazel_services_footer_update):
	Update for label, image and hard coded font changes.

	* components/services/nautilus-dependent-shared/eazel-services-head
	er.c: (eazel_services_header_title_new),
	(eazel_services_header_middle_new):
	* components/services/nautilus-dependent-shared/shared-service-util
	ities.c:
	* components/services/nautilus-dependent-shared/shared-service-util
	ities.h:
	* components/services/nautilus-dependent-shared/shared-service-widg
	ets.c:
	* components/services/nautilus-dependent-shared/shared-service-widg
	ets.h:
	* components/services/summary/nautilus-view/nautilus-summary-callba
	cks.c:
	* components/services/summary/nautilus-view/nautilus-summary-dialog
	s.c: (generate_login_dialog):
	* components/services/summary/nautilus-view/nautilus-summary-footer
	.c:
	* components/services/summary/nautilus-view/nautilus-summary-menu-i
	tems.c:
	* components/services/summary/nautilus-view/nautilus-summary-view-p
	rivate.h:
	* components/services/summary/nautilus-view/nautilus-summary-view.c
	: (generate_summary_form), (generate_service_entry_row),
	(generate_eazel_news_entry_row), (generate_update_news_entry_row):
	Update for label, image and hard coded font changes.

	* libnautilus-extensions/Makefile.am:
	Add new smooth/label/image widget stuff.  Retire buffered widget.

	* libnautilus-extensions/nautilus-art-extensions.c:
	(nautilus_art_irect_get_width), (nautilus_art_irect_get_height):
	* libnautilus-extensions/nautilus-art-extensions.h:
	Two new very simple functions to get the width/height of an
	ArtIRect.

	* libnautilus-extensions/nautilus-art-gtk-extensions.c:
	(nautilus_irect_gtk_widget_get_frame):
	* libnautilus-extensions/nautilus-art-gtk-extensions.h:
	New simple function to get the dimensions of a widget as an
	ArtIRect frame.

	* libnautilus-extensions/nautilus-buffered-widget.c:
	* libnautilus-extensions/nautilus-buffered-widget.h:
	Retire.  We dont use this no more.

	* libnautilus-extensions/nautilus-customization-data.c:
	(nautilus_customization_data_get_next_element_for_display):
	Update for image and hard coded font changes.

	* libnautilus-extensions/nautilus-debug-drawing.c:
	(debug_pixbuf_viewer_initialize_class),
	(debug_pixbuf_viewer_initialize), (debug_pixbuf_viewer_destroy),
	(debug_pixbuf_viewer_size_request),
	(debug_pixbuf_viewer_expose_event),
	(debug_pixbuf_viewer_set_pixbuf),
	(nautilus_debug_draw_rectangle_and_cross), (destroy_debug_window),
	(nautilus_debug_show_pixbuf):
	* libnautilus-extensions/nautilus-debug-drawing.h:
	Back to using a widget to display the debug pixbuf.  But since we
	cant use NautilusImage (because we want to use this debug stuff to
	debug NautilusImage itselft) we need something else.  Thus a new
	private and simple widget to display the debug pixbuf.

	* libnautilus-extensions/nautilus-gdk-pixbuf-extensions.c:
	(nautilus_gdk_pixbuf_draw_to_drawable),
	(nautilus_gdk_pixbuf_draw_to_pixbuf_alpha): Fix a very dumb typo.
	(draw_tile_to_pixbuf_callback),
	(nautilus_gdk_pixbuf_draw_to_pixbuf_tiled),
	(nautilus_gdk_pixbuf_draw_to_drawable_tiled),
	(nautilus_gdk_pixbuf_get_from_window_safe):
	Rename opacity macros to FULLY_OPAQUE and FULLY_TRANSPARENT for
	clarity.

	* libnautilus-extensions/nautilus-gdk-pixbuf-extensions.h:
	Rename opacity macros to FULLY_OPAQUE and FULLY_TRANSPARENT for
	clarity.

	* libnautilus-extensions/nautilus-icon-factory.c: (embed_text):
	Update opacity macros.  Tiny update for change in font constructor.

	* libnautilus-extensions/nautilus-image-with-background.h:
	* libnautilus-extensions/nautilus-image-with-background.c:
	(find_background_ancestor), (draw_background_callback),
	(nautilus_image_new_with_background):
	Create a NautilusImage that uses NautilusBackground to
	draw the background.  We put this in a separate file to avoid the
	ugly dependency chain in NautilusBackground so that NautilusImage
	can be used by standalone components in the future.

	* libnautilus-extensions/nautilus-image.h:
	* libnautilus-extensions/nautilus-image.c:
	(nautilus_image_initialize_class), (nautilus_image_initialize),
	(nautilus_image_destroy), (nautilus_image_set_arg),
	(nautilus_image_get_arg), (nautilus_image_size_request),
	(image_paint_pixbuf_callback), (image_composite_pixbuf_callback),
	(nautilus_image_expose_event),
	(nautilus_image_set_is_smooth_signal), (image_get_pixbuf_frame),
	(image_get_pixbuf_bounds), (image_get_tile_frame),
	(nautilus_image_new), (nautilus_image_set_is_smooth),
	(nautilus_image_get_is_smooth), (nautilus_image_set_tile_pixbuf),
	(nautilus_image_get_tile_pixbuf), (nautilus_image_set_pixbuf),
	(nautilus_image_set_pixbuf_from_file_name),
	(nautilus_image_get_pixbuf), (nautilus_image_set_pixbuf_opacity),
	(nautilus_image_get_pixbuf_opacity),
	(nautilus_image_set_tile_opacity),
	(nautilus_image_get_tile_opacity), (nautilus_image_set_tile_width),
	(nautilus_image_get_tile_width), (nautilus_image_set_tile_height),
	(nautilus_image_get_tile_height),
	(nautilus_image_set_tile_mode_vertical),
	(nautilus_image_get_tile_mode_vertical),
	(nautilus_image_set_tile_mode_horizontal),
	(nautilus_image_get_tile_mode_horizontal),
	(nautilus_image_set_tile_pixbuf_from_file_name),
	(nautilus_image_set_background_mode),
	(nautilus_image_get_background_mode),
	(nautilus_image_set_solid_background_color),
	(nautilus_image_get_solid_background_color),
	(nautilus_image_new_solid):
	Fixed many problems.  Properly handles rendering
	on top of arbitrary Gtk backgrounds.  Does not allocate a buffer
	the size of the widget anymore.  All rendering occurs on exposure
	events.  Honrts the the GtkMisc superclass attrbutes for alignment
	and padding.  The widget is a lot simpler now.

	* libnautilus-extensions/nautilus-label-with-background.h:
	* libnautilus-extensions/nautilus-label-with-background.c:
	(find_background_ancestor), (draw_background_callback),
	(nautilus_label_new_with_background):
	Create a NautilusLabel that uses NautilusBackground to
	draw the background.  We put this in a separate file to avoid the
	ugly dependency chain in NautilusBackground so that NautilusLabel
	can be used by standalone components in the future.

	* libnautilus-extensions/nautilus-label.h:
	* libnautilus-extensions/nautilus-label.c:
	(nautilus_label_initialize_class), (nautilus_label_initialize),
	(nautilus_label_destroy), (nautilus_label_set_arg),
	(nautilus_label_get_arg), (nautilus_label_size_request),
	(label_paint_pixbuf_callback), (label_composite_pixbuf_callback),
	(nautilus_label_expose_event),
	(nautilus_label_set_is_smooth_signal), (label_draw_text_to_pixbuf),
	(label_get_default_line_wrap_width), (label_get_text_frame),
	(label_get_text_bounds), (label_get_tile_frame), (label_peek_text),
	(label_get_empty_line_height),
	(label_get_total_text_and_line_offset_height),
	(label_line_geometries_clear), (label_line_geometries_recompute),
	(nautilus_label_new), (nautilus_label_set_smooth_font),
	(nautilus_label_get_smooth_font),
	(nautilus_label_set_smooth_font_size),
	(nautilus_label_get_smooth_font_size),
	(nautilus_label_set_is_smooth), (nautilus_label_get_is_smooth),
	(nautilus_label_set_tile_pixbuf), (nautilus_label_get_tile_pixbuf),
	(nautilus_label_set_text_opacity),
	(nautilus_label_get_text_opacity),
	(nautilus_label_set_tile_opacity),
	(nautilus_label_get_tile_opacity), (nautilus_label_set_tile_width),
	(nautilus_label_get_tile_width), (nautilus_label_set_tile_height),
	(nautilus_label_get_tile_height),
	(nautilus_label_set_tile_mode_vertical),
	(nautilus_label_get_tile_mode_vertical),
	(nautilus_label_set_tile_mode_horizontal),
	(nautilus_label_get_tile_mode_horizontal),
	(nautilus_label_set_tile_pixbuf_from_file_name),
	(nautilus_label_set_background_mode),
	(nautilus_label_get_background_mode),
	(nautilus_label_set_solid_background_color),
	(nautilus_label_get_solid_background_color),
	(nautilus_label_set_smooth_line_wrap_width),
	(nautilus_label_get_smooth_line_wrap_width),
	(nautilus_label_set_text_color), (nautilus_label_get_text_color),
	(nautilus_label_set_smooth_drop_shadow_offset),
	(nautilus_label_get_smooth_drop_shadow_offset),
	(nautilus_label_set_smooth_drop_shadow_color),
	(nautilus_label_get_smooth_drop_shadow_color),
	(nautilus_label_set_justify), (nautilus_label_get_text_justify),
	(nautilus_label_set_text), (nautilus_label_get_text),
	(nautilus_label_set_wrap), (nautilus_label_get_wrap),
	(nautilus_label_new_solid), (nautilus_label_make_bold),
	(nautilus_label_make_larger), (nautilus_label_make_smaller):
	Fixed many problems.  Properly handles rendering
	on top of arbitrary Gtk backgrounds.  Does not allocate a buffer
	the size of the widget anymore.  All rendering occurs on exposure
	events.  Honors the the GtkMisc superclass attrbutes for alignment
	and padding.  NautilusLabel is now subclassed from GtkLabel
	itself.  That means that the is_smooth attribute can be toggled to
	make both religions happy.  Support for making the label larger,
	smaller and/or bold based on the current font.  Renamed a lot of
	methods to make it obvious that they apply only to the smooth case.
	Also made the api match GtkLabel more closely.  So many functions
	got renamed.

	* libnautilus-extensions/nautilus-radio-button-group.c:
	(nautilus_radio_button_group_set_entry_pixbuf):
	Tiny update for changes in the NautilusImage constructor.

	* libnautilus-extensions/nautilus-scalable-font-private.h:
	New file.  Some private font stuff lives here.  I need this
	changed for a checkin that I will make later regarding improvement
	of performance in the icon container smooth fonts.

	* libnautilus-extensions/nautilus-scalable-font.h:
	* libnautilus-extensions/nautilus-scalable-font.c:
	(nautilus_scalable_font_initialize), (font_entry_new),
	(font_entry_free), (nautilus_scalable_font_new),
	(nautilus_scalable_font_make_bold),
	(nautilus_scalable_font_draw_text),
	(nautilus_scalable_font_draw_text_lines_with_dimensions),
	(nautilus_scalable_font_draw_text_lines),
	(nautilus_scalable_font_get_default_font),
	(nautilus_scalable_font_get_rsvg_handle),
	(nautilus_scalable_font_get_rsvg_context),
	(nautilus_text_layout_paint):
	Change the constructor to return the type itself instead of
	GtkObject.  Some minor style tweaks.  Keep track of the font entry
	that was used to allocate the font.  New private functions for
	accessing the rsvg context and font handles.  Remove an unsed
	function.

	* libnautilus-extensions/nautilus-smooth-widget.h:
	* libnautilus-extensions/nautilus-smooth-widget.c:
	(widget_is_smooth), (smooth_widget_set_is_smooth),
	(preferences_get_is_smooth), (smooth_widget_destroy),
	(smooth_graphics_mode_changed_callback),
	(nautilus_smooth_widget_register),
	(smooth_widget_get_tile_origin_point),
	(smooth_widget_get_gtk_background), (smooth_widget_get_background),
	(smooth_widget_paint_tile_opaque),
	(smooth_widget_paint_tile_transparent),
	(smooth_widget_paint_content_opaque),
	(smooth_widget_paint_content_transparent),
	(smooth_widget_paint_tile_and_content_transparent),
	(nautilus_smooth_widget_paint),
	(nautilus_smooth_widget_get_tile_bounds),
	(nautilus_smooth_widget_get_preferred_frame):
	Shared code between NautilusLabel and NautilusImage.  ALl the code
	to support smooth toggable widgets lives here.  Also, keep track
	of smooth widgets and toggle their is_smooth attribute in response
	to nautilus smooth graphics preferences changes.

	* libnautilus-extensions/nautilus-tabs.c:
	(nautilus_tabs_initialize), (draw_tab_label):
	Tiny update for change in font constructor.  Add a FIXME for a
	hard coded font issue im going to fix later.  Opacity macro
	update.

	* src/file-manager/fm-properties-window.c:
	(create_image_widget_for_file):
	Using the new image widget makes this code a lot simpler.  No
	longer need to check smooth preference.  It all happens
	automatically.

	* src/file-manager/nautilus-indexing-info.c:
	(update_progress_display), (show_reindex_request_information),
	(show_index_progress_bar), (show_indexing_info_dialog):
	Fix a bunch of hard coded font issues.

	* src/nautilus-about.c: (draw_aa_string),
	(nautilus_about_draw_info), (nautilus_about_update_authors):
	Tiny update for change in font constructor.  Opacity macro
	update.

	* src/nautilus-first-time-druid.c: (label_new_left_justified),
	(make_hbox_user_level_radio_button), (set_up_user_level_page),
	(set_up_service_signup_page), (set_up_update_page),
	(set_up_proxy_config_page), (set_up_update_feedback_page),
	(nautilus_first_time_druid_show):
	Fix a bunch of hard coded font issues.  Also fix the rendering
	problems with image usage inside selectable buttons.

	* src/nautilus-property-browser.c:
	(nautilus_property_browser_initialize),
	(set_emblem_image_from_file), (make_property_tile),
	(make_properties_from_directories), (add_reset_property),
	(make_properties_from_xml_node),
	(nautilus_property_browser_update_contents):
	Fix hard coded fonts.  Update for NautilusImage and NautilusLabel
	changes.

	* src/nautilus-search-bar-criterion.c:
	Remove unused #include.

	* src/nautilus-shell.c: (display_caveat):
	Fix hard coded fonts.

	* src/nautilus-sidebar-tabs.c:
	(nautilus_sidebar_tabs_load_theme_data), (draw_one_tab_plain),
	(draw_one_tab_themed):
	Fix hard coded fonts.  Opacity macros update.

	* src/nautilus-sidebar-title.c:
	(nautilus_sidebar_title_initialize),
	(nautilus_sidebar_title_select_text_color), (update_icon),
	(update_font), (update_title), (update_more_info), (add_emblem),
	(sidebar_title_create_title_label),
	(sidebar_title_create_more_info_label),
	(smooth_graphics_mode_changed_callback):
	Update for NautilusImage and NautilusLabel changes.  Made the
	widget a lot simpler.

	We no longer need to keep track of smooth changes in the sidebar
	title.  They are taked care automatically by the widgets.

	We no longer need to create 2 labels to honor smoothness.
	NautilusLabel does it all now.

	Removed a set_background() function that already
	exists in nautilus-extensions.

	* src/nautilus-theme-selector.c:
	(nautilus_theme_selector_initialize), (set_help_label),
	(exit_remove_mode):
	Fix hard coded fonts.

	* test/font-test.sh:
	Retire.  Not needed.

	* test/.cvsignore:
	* test/Makefile.am:
	Add a bunch of tests.

	* test/test.h:
	* test/test.c:
	Put shared test code here.

	* test/test-nautilus-font-simple.c:
	* test/test-nautilus-font.c:
	* test/test-nautilus-image-background.c:
	* test/test-nautilus-image-scrolled.c:
	* test/test-nautilus-image-simple.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-scrolled.c:
	* test/test-nautilus-label-simple.c:
	* test/test-nautilus-label-wrapped.c:
	* test/test-nautilus-label.c:
	* test/test-nautilus-pixbuf-tile.c:
	* test/test-nautilus-smooth-graphics.c:
	* test/test-nautilus-wrapped-label.c:
	Some new tests.  Many updates to old label and image tests.
2001-01-11 23:16:32 +00:00
Ramiro Estrugo 69d913bbb8 reviewed by: Pavel Cisler <pavel@eazel.com>
* libnautilus-extensions/nautilus-icon-canvas-item.c:
	(draw_or_measure_label_text_aa):
	* libnautilus-extensions/nautilus-icon-factory.c: (embed_text):
	* libnautilus-extensions/nautilus-label.c: (render_buffer_pixbuf):
	* libnautilus-extensions/nautilus-scalable-font.c:
	(nautilus_scalable_font_draw_text),
	(nautilus_scalable_font_draw_text_lines_with_dimensions),
	(nautilus_scalable_font_draw_text_lines),
	(nautilus_text_layout_paint), (nautilus_gdk_pixbuf_new_from_text):
	* libnautilus-extensions/nautilus-scalable-font.h:
	* libnautilus-extensions/nautilus-tabs.c: (draw_tab_label):
	* src/nautilus-about.c: (draw_aa_string):
	* src/nautilus-sidebar-tabs.c: (draw_one_tab_plain),
	(draw_one_tab_themed):
	* test/test-nautilus-font.c: (main):
	Lost the "inverted" feature of smooth text drawing.  It wasnt used
	anywhere except a test program.  It never looked well and the
	nautilus icon container does something unrelated to select text.

	Also replace some hard coded 255 opacity values to use the
	NAUTILUS_OPACITY_NONE define.
2000-12-22 02:35:59 +00:00
Ramiro Estrugo 61f0c39df3 reviewed by: <delete if not using a buddy>
* libnautilus-extensions/Makefile.am:
	* libnautilus-extensions/nautilus-debug-drawing.h:
	* libnautilus-extensions/nautilus-debug-drawing.c:
	(nautilus_debug_draw_rectangle_and_cross),
	(nautilus_debug_show_pixbuf_in_eog):
	New files.  Put drawing debugging functions here.

	* libnautilus-extensions/nautilus-gdk-pixbuf-extensions.c:
	* libnautilus-extensions/nautilus-gdk-pixbuf-extensions.h:
	Move drawing debugging functions to nautilus-debug-drawing.[ch].

	* test/test-nautilus-font.c: (main):
	Update for debug drawing functions location change.
2000-12-20 06:42:20 +00:00
Ramiro Estrugo 46a7c91e48 reviewed by: Pavel Cisler <pavel@eazel.com>
* libnautilus-extensions/nautilus-art-extensions.h:
	* libnautilus-extensions/nautilus-art-extensions.c:
	(nautilus_art_irect_assign),
	Convenience function to assign x,y,width,height values to an
	ArtIRect.

	* libnautilus-extensions/nautilus-gdk-pixbuf-extensions.h:
	* libnautilus-extensions/nautilus-gdk-pixbuf-extensions.c:
	(nautilus_gdk_pixbuf_is_valid),
	A simple private function that returns whether a pixbuf is "valid"
	or not.  Vailidy is meassured as not null, with valid pixel data
	and non zero dimensions.

	(nautilus_gdk_pixbuf_get_frame),
	Private function to return the frame of a GdkPixbuf in a stucture for
	better readability.

	(nautilus_gdk_pixbuf_fill_rectangle_with_color),
	Changed it to use ArtIRect's instead of GdkRectangles to avoid
	using unsigned and short integers.  Also, use art_irect_interset()
	to do clipping.

	(nautilus_gdk_pixbuf_save_to_file),
	Changed the pixbuf parameter to be const.

	(nautilus_gdk_pixbuf_unref_if_not_null),

	(nautilus_gdk_window_get_frame),
	Private function to return the frame of a GdkWindow in a stucture for
	better readability.

	(nautilus_gdk_pixbuf_draw_to_drawable),
	Renamed function to be consitent with the other pixbuf drawing
	functions.  Also made it use ArtIRect's instead of GdkRectangles
	to avoid using unsigned and short integers.  Rewrote the clipping
	operations using art_irect_intersect() for better readability.

	(nautilus_gdk_pixbuf_draw_to_pixbuf),
	Renamed function to be consitent with the other pixbuf drawing
	functions.  Also made it use ArtIRect's instead of GdkRectangles
	to avoid using unsigned and short integers.  Rewrote the clipping
	operations using art_irect_intersect() for better readability.

	(nautilus_gdk_pixbuf_draw_to_pixbuf_alpha),
	Renamed function to be consitent with the other pixbuf drawing
	functions.  Also made it use ArtIRect's instead of GdkRectangles
	to avoid using unsigned and short integers.  Changed the
	implementation to honor all parameters including the source_x and
	source_y.  This is needed to work around limitation in
	gdk_pixbuf_composite().  Rewrote the clipping operations using
	art_irect_intersect() for better readability.

	(nautilus_gdk_pixbuf_new_from_pixbuf_sub_area),
	(pixbuf_destroy_callback),
	New function to create pixbuf from a sub area.  The pixel data is
	shared an all memory bookeeping is taken care of for the caller by
	simply unreffing the resulting pixbuf.

	(nautilus_gdk_pixbuf_draw_to_pixbuf_tiled),
	Renamed function to be consitent with the other pixbuf drawing
	functions.  Made the implementation work and honor all its
	parameters including the origin.   Rewrote the clipping
	operations using art_irect_intersect() for better readability.

	There was a bug (5077) about this function claiming it was not
	used except in test code.  This was true, but now that it works im
	planning on using it in NautilusImage shortly.  I have marked that
	bug fixed.

	(nautilus_gdk_pixbuf_show_in_eog):
	New function to show a pixbuf externally in eog.  Useful for
	debugging pixbuf stuff.

	* libnautilus-extensions/nautilus-buffered-widget.c:
	(nautilus_buffered_widget_draw), (nautilus_gdk_pixbuf_tile_alpha):
	Use new gdk-pixbuf extension functions.

	* libnautilus-extensions/nautilus-scalable-font.c:
	(nautilus_text_layout_paint):
	Update for changes in fill_rectangle_with_color() api.

	* src/nautilus-about.c: (nautilus_about_update_authors):
	Update for changes in fill_rectangle_with_color() api.

	* test/test-nautilus-font.c: (main):
	Update for changes in pixbuf extensions.
2000-12-20 01:24:25 +00:00
John Sullivan 19804290eb reviewed by: Darin Adler <darin@eazel.com>
Terminology change -- the window & menu item formerly known
	as "Customization" are now known as "Backgrounds and Emblems";
	the swatches of image formerly known as "backgrounds" are
	now known as "patterns".

	After 1.0 if this window acquires more varied content we will
	have to redo the menu item & window label, though we will
	continue to distinguish between "backgrounds" and "patterns",
	since "backgrounds" encompasses colors as well as images.

	Note that this change will only appear in full (and your
	"Backgrounds and Emblems" window work in full) after you've
	deleted your ~/.nautilus directory and let Nautilus make you
	a new one.

	* libnautilus-extensions/nautilus-gdk-pixbuf-extensions.c:
	(file_opened_callback): Set vfs_handle to NULL on failure.
	(load_done): Don't try to close pixbuf loader if it's NULL.
	These two bugs were flushed out by a temporary state on my
	machine where the theme was using a non-existent file for
	its background image.

	* data/backgrounds/Makefile.am: removed this file, as well as
	all the image files in this directory.

	* data/patterns/.cvsignore:
	* data/patterns/Makefile.am: New files, copied from data/backgrounds.
	Also copied over all image files from data/backgrounds, which is now
	obsolete.

	* data/Makefile.am: Changed "backgrounds" subdir to "patterns"

	* configure.in: changed data/backgrounds/Makefile to
	data/patterns/Makefile

	* nautilus.spec.in: Changed regular expressions with "backgrounds"
	to use "patterns"

	* data/browser.xml: Changed "background" to "pattern" in the
	terminology in this file, which gets installed into ~/.nautilus.
	You have to remove your ~/.nautilus to get a fresh one of these;
	without doing so the "Backgrounds and Emblems" window will be
	confused (won't crash, will use wrong terminology and sometimes
	have blank content).

	* icons/ardmore/ardmore.xml:
	* icons/arlo/arlo.xml:
	* icons/default.xml:
	* icons/eazel/eazel.xml:
	* icons/gnome/gnome.xml:
	* icons/vector/vector.xml:
	* icons/villanova/villanova.xml: Changed "backgrounds" directory
	references to "patterns"

	* libnautilus-extensions/nautilus-customization-data.h:
	* libnautilus-extensions/nautilus-customization-data.c:
	(nautilus_customization_data_new),
	(nautilus_customization_data_get_next_element_for_display),
	(nautilus_customization_data_destroy),
	(nautilus_customization_make_pattern_chit): Change "background" to
	"pattern" in many places, including one public function name.

	* src/nautilus-property-browser.c:
	(nautilus_property_browser_initialize),
	(nautilus_property_browser_drag_data_get), (make_drag_image),
	(make_color_drag_image), (remove_pattern), (remove_emblem),
	(nautilus_property_browser_remove_element),
	(add_pattern_to_browser), (add_new_pattern),
	(add_new_button_callback), (element_clicked_callback),
	(make_properties_from_directories), (add_reset_property),
	(nautilus_property_browser_update_contents),
	(nautilus_property_browser_set_category): Change "background" to
	"pattern" in many places. Also change window title from
	"Customization Options" to "Backgrounds and Emblems".

	* src/nautilus-shell-ui.xml: Change "Customization..." to
	"Backgrounds and Emblems...".

	* test/test-nautilus-background.c: (main):
	* test/test-nautilus-font.c: (create_named_background):
	* test/test-nautilus-label.c:
	(widget_set_nautilus_background_image): Changed test code that was
	using sample images from backgrounds directory to look in patterns
	directory instead.
2000-12-11 19:30:39 +00:00
Rebecca Schulman 2879356eeb Added bug numbers to FIXMEs for the src subdirectory. If I can stomach it,
2000-12-07  Rebecca Schulman  <rebecka@eazel.com>
	Added bug numbers to FIXMEs for the src
	subdirectory.  If I can stomach it,
	I'll try and do a few more today.

	* src/file-manager/fm-directory-view.c: (duplicate_callback),
	(check_for_directory_hard_limit), (load_directory):
	* src/file-manager/fm-icon-view.c: (fm_icon_view_begin_loading):
	* src/file-manager/fm-search-list-view.c: (load_error_callback),
	(real_adding_file):
	* src/nautilus-about.c: (nautilus_about_draw_info):
	* src/nautilus-first-time-druid.c: (druid_cancel),
	(druid_finished), (make_anti_aliased_label),
	(make_hbox_user_level_radio_button), (set_up_user_level_page),
	(next_update_page_callback), (initiate_file_download):
	* src/nautilus-link-set-window.c: (get_link_set_names):
	* src/nautilus-location-bar.c:
	(nautilus_location_bar_update_label):
	* src/nautilus-property-browser.c:
	(nautilus_property_browser_initialize), (add_reset_property),
	(make_properties_from_xml_node),
	(nautilus_property_browser_update_contents):
	* src/nautilus-sidebar-title.c:
	(nautilus_sidebar_title_background), (update_icon):
	* src/nautilus-view-frame.c:
	(nautilus_view_frame_set_to_component):
	* src/nautilus-window-manage-views.c:
	(window_set_title_with_timestamp), (viewed_file_changed_callback),
	(load_content_view), (change_state):
	* src/nautilus-window-service-ui.c: (goto_online_storage),
	(goto_software_catalog):
	* src/nautilus-window-toolbars.c: (set_up_throbber_frame_type):
	* src/nautilus-window.c: (nautilus_window_realize):
	* test/test-nautilus-font.c:
2000-12-08 02:56:26 +00:00
Darin Adler a8470fdc9b Worked on getting rid of wait_until_ready.
* libnautilus-extensions/nautilus-directory.c: Got rid of include
	of nautilus-wait-until-ready.h.

	* libnautilus-extensions/nautilus-file.c: Got rid of
	nautilus_file_wait_until_ready.

	* libnautilus-extensions/nautilus-mime-actions.c:
	(wait_until_ready_callback),
	(nautilus_mime_actions_wait_for_full_file_attributes):
	Reimplemented so the wait is in here so we can get rid of
	nautilus_file_wait_until_ready.

	* libnautilus-extensions/nautilus-mime-actions.h: Moved
	nautilus_mime_actions_wait_for_full_file_attributes into
	nautilus-wait-until-ready.h.

	* libnautilus-extensions/nautilus-program-chooser.c: Added include
	of nautilus-wait-until-ready.h since this is one of the two files
	that still uses the thing.
	* libnautilus-extensions/nautilus-program-choosing.c: Added include
	of nautilus-wait-until-ready.h since this is one of the two files
	that still uses the thing.

	* libnautilus-extensions/nautilus-wait-until-ready.h: Removed
	nautilsu_file_wait_until_ready and added
	nautilus_mime_actions_wait_for_full_file_attributes.

	* src/file-manager/fm-directory-view.c:
	(switch_location_and_view): Get rid of code that waits for
	attributes, because the code guarantees they will already be read
	at this point.
	(fm_directory_view_destroy): Stop monitoring the file for the open
	with menu.
	(files_changed_callback): Update the menus whenever a file changes
	or our knowledge about it changes.
	(create_open_with_gtk_menu): Use the new monitor call to arrange
	to get the information about the single selected file that we
	need.
	(reset_bonobo_open_with_menu): Use the new monitor call to arrange
	to get the information about the single selected file that we
	need.
	(activate_callback): Remove the hack to work around the
	wait_until_ready calls. Also remove the wait_until_ready in here
	because we now request all the attributes we will be needing in
	the call_when_ready call (that already existed).
	(fm_directory_view_activate_file): Request all the attributes
	needed for determining MIME actions.
	(monitor_file_for_open_with): New function to monitor the stuff we
	need to know for the Open with menu.

	* test/test-nautilus-mime-actions-set.c: (ready_callback), (main):
	Use call_when_ready instead of wait_until_ready.

	* test/test-nautilus-mime-actions.c: (ready_callback), (main): Use
	call_when_ready instead of wait_until_ready.

	* po/ui-extract.pl: Checked in new version from Kenneth.
	* po/update.pl: Kenneth wanted me to update the license.
2000-11-08 01:11:33 +00:00
Mathieu Lacage d39583d92b chuuut 2000-11-07 00:14:38 +00:00
Mathieu Lacage 13bd2e18b9 small fix: replace NULL with CORBA_OBJECT_NIL add new test.
2000-11-06  Mathieu Lacage  <mathieu@eazel.com>

    * libnautilus-extensions/nautilus-bonobo-extensions.c:
    (oaf_activation_callback): small fix: replace NULL with
    CORBA_OBJECT_NIL
    * test/Makefile.am: add new test.
    * test/test-nautilus-async-activation.{c|h}
2000-11-07 00:13:03 +00:00
Maciej Stachowiak 0bda5d31c0 Un-revert my changes from before, fixing the bugs in the process.
* libnautilus-extensions/nautilus-mime-actions.c:
	(nautilus_mime_actions_check_if_minimum_attributes_ready),
	(nautilus_mime_actions_check_if_full_attributes_ready),
	(nautilus_mime_actions_get_minimum_file_attributes),
	(nautilus_mime_actions_get_full_file_attributes),
	(nautilus_mime_actions_wait_for_full_file_attributes),
	(nautilus_mime_get_default_action_type_for_file),
	(nautilus_mime_get_default_action_for_file),
	(nautilus_mime_get_default_application_for_file_internal),
	(nautilus_mime_get_default_application_for_file),
	(nautilus_mime_is_default_application_for_file_user_chosen),
	(nautilus_mime_get_default_component_sort_conditions),
	(nautilus_mime_get_default_component_for_file_internal),
	(nautilus_mime_get_short_list_applications_for_file),
	(nautilus_mime_get_short_list_components_for_file),
	(nautilus_mime_get_short_list_methods_for_file),
	(nautilus_mime_get_all_applications_for_file),
	(nautilus_mime_get_all_components_for_file),
	(nautilus_mime_set_default_application_for_file),
	(nautilus_mime_set_default_component_for_file),
	(nautilus_mime_set_short_list_applications_for_file),
	(nautilus_mime_set_short_list_components_for_file),
	(nautilus_mime_add_application_to_short_list_for_file),
	(nautilus_mime_remove_application_from_short_list_for_file),
	(nautilus_mime_add_component_to_short_list_for_file),
	(nautilus_mime_remove_component_from_short_list_for_file),
	(nautilus_mime_extend_all_applications_for_file),
	(nautilus_mime_remove_from_all_applications_for_file),
	(nautilus_do_component_query):
	* libnautilus-extensions/nautilus-mime-actions.h:
	* libnautilus-extensions/nautilus-program-chooser.c:
	(repopulate_program_list), (is_component_default_for_file),
	(program_file_pair_is_default_for_file),
	(program_file_pair_is_in_short_list_for_file),
	(add_to_short_list_for_file), (remove_from_short_list_for_file),
	(remove_default_for_item), (set_default_for_item):
	* libnautilus-extensions/nautilus-program-choosing.c:
	(any_programs_available_for_file):
	* libnautilus/nautilus-clipboard-ui.xml.h:
	* src/file-manager/fm-directory-view.c: (switch_location_and_view),
	(create_open_with_gtk_menu), (reset_bonobo_open_with_menu),
	(activate_callback):
	* 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-applicable-views.c: (nautilus_navigation_info_new):
	* src/nautilus-shell-ui.xml.h:
	* src/nautilus-sidebar.c: (nautilus_sidebar_update_all),
	(nautilus_sidebar_set_uri):
	* src/nautilus-window.c: (nautilus_window_load_content_view_menu):
	* test/test-nautilus-mime-actions-set.c: (main):
	* test/test-nautilus-mime-actions.c: (main): Un-revert my changes
	from before, fixing the bugs in the process.
2000-11-01 01:24:17 +00:00
J Shane Culpepper 6115833650 backing out changes that caused a seroius regression in services.
2000-10-31  J Shane Culpepper  <pepper@eazel.com>

	* libnautilus-extensions/nautilus-mime-actions.c:
	(nautilus_mime_actions_check_if_required_attributes_ready),
	(nautilus_mime_actions_get_required_file_attributes),
	(nautilus_mime_actions_wait_for_required_file_attributes),
	(nautilus_mime_get_default_action_type_for_file),
	(nautilus_mime_get_default_action_for_file),
	(nautilus_mime_get_default_application_for_file_internal),
	(nautilus_mime_get_default_application_for_file),
	(nautilus_mime_is_default_application_for_file_user_chosen),
	(nautilus_mime_get_default_component_for_file_internal),
	(nautilus_mime_get_short_list_applications_for_file),
	(nautilus_mime_get_short_list_components_for_file),
	(nautilus_mime_get_short_list_methods_for_file),
	(nautilus_mime_get_all_applications_for_file),
	(nautilus_mime_get_all_components_for_file),
	(nautilus_mime_set_default_application_for_file),
	(nautilus_mime_set_default_component_for_file),
	(nautilus_mime_set_short_list_applications_for_file),
	(nautilus_mime_set_short_list_components_for_file),
	(nautilus_mime_add_application_to_short_list_for_file),
	(nautilus_mime_remove_application_from_short_list_for_file),
	(nautilus_mime_add_component_to_short_list_for_file),
	(nautilus_mime_remove_component_from_short_list_for_file),
	(nautilus_mime_extend_all_applications_for_file),
	(nautilus_mime_remove_from_all_applications_for_file),
	(nautilus_do_component_query):
	* libnautilus-extensions/nautilus-program-chooser.c:
	(repopulate_program_list), (is_component_default_for_file),
	(program_file_pair_is_default_for_file),
	(program_file_pair_is_in_short_list_for_file),
	(add_to_short_list_for_file), (remove_from_short_list_for_file),
	(remove_default_for_item), (set_default_for_item):
	* libnautilus-extensions/nautilus-program-choosing.c:
	(any_programs_available_for_file):
	* src/file-manager/fm-directory-view.c: (switch_location_and_view),
	(create_open_with_gtk_menu), (reset_bonobo_open_with_menu),
	(activate_callback):
	* src/nautilus-window.c: (nautilus_window_load_content_view_menu):
	* test/test-nautilus-mime-actions-set.c: (main):
	* test/test-nautilus-mime-actions.c: (main):

	backing out changes that caused a seroius regression in services.
2000-10-31 10:04:42 +00:00
Maciej Stachowiak d81e04f3ca Portions of the fix for 2379 (the parts that don't make it crash).
* libnautilus-extensions/nautilus-mime-actions.c:
	(nautilus_mime_actions_check_if_minimum_attributes_ready),
	(nautilus_mime_actions_check_if_full_attributes_ready),
	(nautilus_mime_actions_get_minimum_file_attributes),
	(nautilus_mime_actions_get_full_file_attributes),
	(nautilus_mime_actions_wait_for_full_file_attributes),
	(nautilus_mime_get_default_action_type_for_file),
	(nautilus_mime_get_default_action_for_file),
	(nautilus_mime_get_default_application_for_file_internal),
	(nautilus_mime_get_default_application_for_file),
	(nautilus_mime_is_default_application_for_file_user_chosen),
	(nautilus_mime_get_default_component_sort_conditions),
	(nautilus_mime_get_default_component_for_file_internal),
	(nautilus_mime_get_short_list_applications_for_file),
	(nautilus_mime_get_short_list_components_for_file),
	(nautilus_mime_get_short_list_methods_for_file),
	(nautilus_mime_get_all_applications_for_file),
	(nautilus_mime_get_all_components_for_file),
	(nautilus_mime_set_default_application_for_file),
	(nautilus_mime_set_default_component_for_file),
	(nautilus_mime_set_short_list_applications_for_file),
	(nautilus_mime_set_short_list_components_for_file),
	(nautilus_mime_add_application_to_short_list_for_file),
	(nautilus_mime_remove_application_from_short_list_for_file),
	(nautilus_mime_add_component_to_short_list_for_file),
	(nautilus_mime_remove_component_from_short_list_for_file),
	(nautilus_mime_extend_all_applications_for_file),
	(nautilus_mime_remove_from_all_applications_for_file),
	(nautilus_do_component_query):
	* libnautilus-extensions/nautilus-mime-actions.h:
	* libnautilus-extensions/nautilus-program-chooser.c:
	(repopulate_program_list), (is_component_default_for_file),
	(program_file_pair_is_default_for_file),
	(program_file_pair_is_in_short_list_for_file),
	(add_to_short_list_for_file), (remove_from_short_list_for_file),
	(remove_default_for_item), (set_default_for_item):
	* libnautilus-extensions/nautilus-program-choosing.c:
	(any_programs_available_for_file):
	* src/file-manager/fm-directory-view.c: (switch_location_and_view),
	(create_open_with_gtk_menu), (reset_bonobo_open_with_menu),
	(activate_callback):
	* src/nautilus-applicable-views.c: (nautilus_navigation_info_new):
	* src/nautilus-sidebar.c: (nautilus_sidebar_update_all),
	(nautilus_sidebar_set_uri):
	* src/nautilus-window.c: (nautilus_window_load_content_view_menu):
	* test/test-nautilus-mime-actions-set.c: (main):
	* test/test-nautilus-mime-actions.c: (main): Portions of the fix
	for 2379 (the parts that don't make it crash).
2000-10-31 04:28:54 +00:00
Ramiro Estrugo ace7eb3c81 Make sure text layout honors the vertical and horizontal offsets.
* libnautilus-extensions/nautilus-label.c:
	(nautilus_label_size_request), (render_buffer_pixbuf):
	Make sure text layout honors the vertical and horizontal offsets.

	(nautilus_scalable_font_draw_text):
	* test/test-nautilus-image.c: (label_new), (label_enter_event),
	(label_leave_event), (label_free_data),
	(buffered_widget_add_prelighting), (header_new), (footer_item_new),
	(footer_remainder_new), (footer_new), (main):
	More work on prelighting footers.
2000-10-25 09:08:55 +00:00
Ramiro Estrugo 0f9ec90300 Rename one of the icons.
* components/services/nautilus-dependent-shared/icons/Makefile.am:
	Rename one of the icons.

	* test/test-nautilus-image.c: (delete_event), (icon_get_path),
	(pixbuf_new_from_name), (label_new), (label_enter_event),
	(label_leave_event), (label_new_with_prelight), (image_new),
	(image_new_from_name), (header_new), (footer_new), (main):
	Add better test for image and label widgets.
2000-10-25 04:54:35 +00:00
Maciej Stachowiak 6179da4f6f Fixed bugzilla.eazel.com bugs 2222, 3177, 3468, 3650, 3788
(some vestiges of wait_until_ready remain in the farther reaches
	of the UI).

	* libnautilus-extensions/nautilus-mime-actions.h,
	libnautilus-extensions/nautilus-mime-actions.c
	(nautilus_mime_actions_check_if_required_attributes_ready,
	nautilus_mime_actions_get_required_file_attributes,
	nautilus_mime_actions_wait_for_required_file_attributes): New
	functions to help with monitoring or waiting for required
	attributes for the nautilus mime API.
	(nautilus_mime_get_default_action_type_for_file,
	nautilus_mime_get_default_action_for_file,
	nautilus_mime_get_default_application_for_file_internal,
	nautilus_mime_get_default_application_for_file,
	nautilus_mime_is_default_application_for_file_user_chosen,
	nautilus_mime_get_default_component_for_file_internal,
	nautilus_mime_get_default_component_for_file,
	nautilus_mime_is_default_component_for_file_user_chosen,
	nautilus_mime_get_short_list_applications_for_file,
	nautilus_mime_get_short_list_components_for_file,
	nautilus_mime_get_short_list_methods_for_file,
	nautilus_mime_get_all_applications_for_file,
	nautilus_mime_has_any_applications_for_file,
	nautilus_mime_get_all_components_for_file,
	nautilus_mime_has_any_components_for_file,
	nautilus_mime_set_default_action_type_for_file,
	nautilus_mime_set_default_application_for_file,
	nautilus_mime_set_default_component_for_file,
	nautilus_mime_set_short_list_applications_for_file,
	nautilus_mime_set_short_list_components_for_file,
	nautilus_mime_add_application_to_short_list_for_file,
	nautilus_mime_remove_application_from_short_list_for_file,
	nautilus_mime_add_component_to_short_list_for_file,
	nautilus_mime_remove_component_from_short_list_for_file,
	nautilus_mime_extend_all_applications_for_file,
	nautilus_mime_remove_from_all_applications_for_file,
	mime_type_get_supertype): Don't `nautilus_file_wait_until_ready'
	for the required attributes; instead assert (Well, return_if_fail)
	that they are available using
	`nautilus_file_check_if_ready'. Also, use
	`nautilus_file_get_uri_scheme' where possible.

	* libnautilus-extensions/nautilus-directory-async.c
	(mime_list_callback): Correct some coding mistakes.

	* libnautilus-extensions/nautilus-wait-until-ready.h,
	libnautilus-extensions/nautilus-directory.c: Remove
	`nautilus_directory_wait_until_ready'.

	* libnautilus-extensions/nautilus-file.h,
	libnautilus-extensions/nautilus-file.c
	(nautilus_file_get_uri_scheme): new convenience function.

	* libnautilus-extensions/nautilus-program-chooser.c:
	(repopulate_program_list, is_application_default_for_file,
	is_component_default_for_file,
	is_component_in_short_list_for_file,
	is_application_in_short_list_for_file,
	program_file_pair_is_default_for_file,
	program_file_pair_is_in_short_list_for_file,
	add_to_short_list_for_file, remove_from_short_list_for_file,
	remove_default_for_item, set_default_for_item): wait_until_ready
	for required file attributes.

	* libnautilus-extensions/nautilus-program-choosing.c:
	(any_programs_available_for_file): wait_until_ready for required
	file attributes.

	* src/file-manager/fm-directory-view.c: (switch_location_and_view,
	create_open_with_gtk_menu, reset_bonobo_open_with_menu,
	activate_callback): Wait for the right file attributes.

	* src/nautilus-applicable-views.c: (got_file_info_callback),
	(nautilus_navigation_info_new): Wait for the right file
	attributes. (no wait_until_ready).

	* src/nautilus-sidebar.c: (nautilus_sidebar_destroy,
	nautilus_sidebar_update_buttons, nautilus_sidebar_update_all),
	nautilus_sidebar_set_uri): Monitor the file the sidebar is
	displaying, and update when it's attributes change.

	* src/nautilus-window-manage-views.c
	(nautilus_window_set_content_view): Wait for the right file
	attributes. (no wait_until_ready).

	* src/nautilus-window.c: (nautilus_window_destroy,
	view_menu_choose_view_callback, view_menu_vfs_method_callback,
	nautilus_window_real_load_content_view_menu,
	nautilus_window_load_content_view_menu): Wait for the right
	attributes. (no wait_until_ready in this chain).

	* test/test-nautilus-mime-actions-set.c (main): Wait for the right attributes.
	* test/test-nautilus-mime-actions.c (main): Wait for the right attributes.
2000-10-18 21:57:19 +00:00