mirror of
https://gitlab.gnome.org/GNOME/nautilus
synced 2024-09-21 00:32:06 +00:00
508 commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
Darin Adler | 55941234a1 |
Fix a G_OBJECT_CLASS that should have been G_OBJECT_GET_CLASS.
* cut-n-paste-code/widgets/e-paned/e-paned.c: (e_paned_handle_shown): Fix a G_OBJECT_CLASS that should have been G_OBJECT_GET_CLASS. * libnautilus-private/Makefile.am: Add back the dependency on the cut-n-paste libraries. * libnautilus-private/nautilus-bonobo-extensions.c: (nautilus_bonobo_get_hidden): Silently ignore when there's no "hidden" attribute rather than warning every time. * libnautilus-private/nautilus-icon-factory.c: (nautilus_icon_factory_get_pixbuf_for_icon): Ref all the pixbufs on their way out of the icon factory since we don't have a new strategy for removing them from the cache when the caller is done yet. * src/nautilus-sidebar-title.c: (sidebar_title_create_more_info_label): Don't call make_smaller so Havoc won't complain every time we do it. * src/nautilus-view-frame.c: (nautilus_view_frame_destroy): Check for NULL so we can call destroy any number of times. * src/nautilus-window-toolbars.c: (nautilus_window_initialize_toolbars): Turn off the code that tries to load the throbber since we aren't compiling it yet. * components/loser/content/nautilus-content-loser-ui.xml: * components/loser/sidebar/nautilus-sidebar-loser-ui.xml: * components/sample/nautilus-sample-content-view-ui.xml: * libnautilus/nautilus-clipboard-ui.xml: * src/nautilus-shell-ui.xml: Update for new names of stock icons. |
||
Darin Adler | bdcd47873f |
Tons of files. More GtkObject -> GObject stuff.
* Tons of files. More GtkObject -> GObject stuff. |
||
Darin Adler | 612ee9807b |
More GtkObject -> GObject stuff.
* components/text/nautilus-text-view.c: (nautilus_text_view_init): * libnautilus/nautilus-view.c: * src/file-manager/fm-icon-view.c: (fm_icon_view_init): * src/file-manager/fm-properties-window.c: (append_directory_contents_fields), (append_special_execution_flags): * src/nautilus-application.c: (nautilus_application_startup), (nautilus_application_create_window): * src/nautilus-sidebar-title.c: (nautilus_sidebar_title_init): * src/nautilus-window-menus.c: (nautilus_window_initialize_bookmarks_menu), (nautilus_window_initialize_menus_part_1): * src/nautilus-window.c: (add_sidebar_panel_callback): More GtkObject -> GObject stuff. |
||
Darin Adler | c910902230 |
Many files. Update for change in Eel boilerplate macro names.
* Many files. Update for change in Eel boilerplate macro names. * src/nautilus-application.c: (nautilus_application_startup): GtkObject -> GObject. * src/nautilus-shell.c: (nautilus_shell_class_init), (finalize), (nautilus_shell_new): GtkObject -> GObject. |
||
Havoc Pennington | c91bb9d138 |
remove GtkText workaround (I'm also checking in a fix for the bug being
2001-11-01 Havoc Pennington <hp@pobox.com> * libnautilus/nautilus-clipboard.c (select_all): remove GtkText workaround (I'm also checking in a fix for the bug being worked around) * libnautilus-private/nautilus-bookmark.c (nautilus_bookmark_menu_item_new): replace some PixmapMenuItem with ImageMenuItem * src/file-manager/fm-directory-view.c (set_script_environment_variables): use eel_gtk_window_get_geometry_string * src/nautilus-zoom-control.c: just nuke the draw method, it ain't coming back * src/nautilus-window.c (set_initial_window_geometry): remove gtk_window_set_policy() that was useless, and replace set_usize with set_size_request. (nautilus_window_constructed): remove menu_bar_no_resize_hack, I have no idea what GTK bug it's talking about, neither does the referenced bug report say, but if we see it again we'll fix it. (plus it says the bug is unsigned math, and GTK 2 pretty much did a global s/uint/int/, especially in the size request/alloc code) * src/nautilus-desktop-window.c (realize): just remove the gnome_win_hints stuff, as the FIXME says, it's dead. (realize): remove the set_decorations, set_functions, and the move_resize, all cruft (nautilus_desktop_window_init): simplify some cruft in here * src/nautilus-bookmarks-window.c (nautilus_bookmarks_window_save_geometry): use eel_gtk_window_get_geometry_string * src/nautilus-window.c (nautilus_window_save_geometry): ditto |
||
Darin Adler | 9ab32f9cc9 |
More changes to make Nautilus get closer to running.
* libnautilus-private/nautilus-bonobo-extensions.h: Remove NAUTILUS_BONOBO_X_BOILERPLATE, superceded by EEL_DEFINE_ BONOBO_BOILERPLATE * libnautilus-private/nautilus-directory-metafile-monitor.c: * libnautilus-private/nautilus-metafile.c: * libnautilus-private/nautilus-undo-context.c: * libnautilus/nautilus-undo-transaction.c: Same fixes Havoc did, formatted differently. * libnautilus-private/nautilus-undo-manager.c: (corba_append), (corba_forget), (corba_undo), (nautilus_undo_manager_new), (finalize), (nautilus_undo_manager_class_init): GtkObject -> GObject fixes. bonobo_object_from_servant fixes. * nautilus-clean.sh: Not sure if we still need this, but change gconfd-1 to gconfd-2 and oafd to bonobo-activation-server. * nautilus.spec.in: Some updates, not sure if they are right. * src/nautilus-application.c: (nautilus_application_new), (nautilus_application_finalize), (nautilus_application_class_init): GtkObject -> GObject fixes. * src/nautilus-main.c: (main): Use gnome_program_init. * src/Makefile.am: Define a bunch more stuff used by GNOME_PROGRAM_STANDARD_PROPERTIES. |
||
Havoc Pennington | 408dcac2a8 |
fix EEL_DEFINE_BONOBO_BOILERPLATE call
2001-11-01 Havoc Pennington <hp@pobox.com> * src/nautilus-view-frame-corba.c: fix EEL_DEFINE_BONOBO_BOILERPLATE call * src/nautilus-property-browser.c (nautilus_property_browser_init): mnemonics * src/nautilus-complex-search-bar.c (attach_criterion_to_search_bar): use gtk_widget_activate instead of eel_gtk_button_auto_click * src/nautilus-simple-search-bar.c (nautilus_simple_search_bar_new): ditto * src/nautilus-sidebar.c (nautilus_sidebar_update_buttons): remove eel_gtk_button_set_standard_padding, add mnemonic to button * src/nautilus-bookmarks-window.c (create_bookmarks_window): remove eel_gtk_button_set_standard_padding, add mnemonic to button * src/file-manager/fm-properties-window.c (create_basic_page): remove eel_gtk_button_set_standard_padding, add mnemonics to buttons * src/file-manager/fm-directory-view.c (copy_or_cut_files): remove use of eel_get_current_event_time() (paste_files_callback): ditto * Makefile.am (SUBDIRS): cut-n-paste-code seems to be required by libnautilus-private, so move it before libnautilus-private * libnautilus-private/nautilus-undo-manager.c: fix EEL_DEFINE_BONOBO_BOILERPLATE call * libnautilus-private/nautilus-undo-context.c: fix EEL_DEFINE_BONOBO_BOILERPLATE call * libnautilus-private/nautilus-program-chooser.c (nautilus_program_chooser_new): axe eel_gtk_button_set_standard_padding, add mnemonic to button (nautilus_program_chooser_new): axe eel_gtk_button_set_standard_padding, add mnemonic to button * libnautilus-private/nautilus-metafile.c: fix EEL_DEFINE_BONOBO_BOILERPLATE call * libnautilus-private/nautilus-metafile-factory.c: fix EEL_DEFINE_BONOBO_BOILERPLATE call * libnautilus-private/nautilus-icon-dnd.c (nautilus_icon_dnd_begin_drag): replace eel_drag_set_icon_pixbuf * libnautilus-private/nautilus-directory-metafile-monitor.c: fix EEL_DEFINE_BONOBO_BOILERPLATE call * libnautilus/nautilus-undo-transaction.c: fix EEL_DEFINE_BONOBO_BOILERPLATE call |
||
Darin Adler | 74e78f43fe |
cut-n-paste-code now compiles, and we are a hair's breadth away from
* Lots of files: cut-n-paste-code now compiles, and we are a hair's breadth away from linking -- so far from running, though |
||
Darin Adler | 5abcc19954 |
More GNOME 2 work. We now compile up to libnautilus-private and I'm
* Lots of files: More GNOME 2 work. We now compile up to libnautilus-private and I'm working my way through the files in there. Also changed all the initialize_class and initialize to class_init and init. |
||
Darin Adler | ce7e34aada | First baby steps at compiling under gnome 2. | ||
Darin Adler | 15d6bc96a6 |
Remove RPMs-README.
* Makefile.am: Remove RPMs-README. * libnautilus/Makefile.am: -I$(builddir) * libnautilus/nautilus-undo-private.h: * libnautilus/nautilus-undo-transaction.h: Use #include <libnautilus/x.h> rather than #include "x.h". * NEWS: Some refinement. |
||
Darin Adler | 31c20fa038 |
Updated bugzilla.eazel.com references to refer to the
corresponding bugzilla.gnome.org bug. Also updated my email address. |
||
Darin Adler | 4599ec3e3a |
Some makefile cleanup.
* Makefile.am: Don't build intl since we don't need it the way we use gettext. * applets/launcher/Makefile.am: Remove redundant -I$(srcdir). * applets/preferences-applet/Makefile.am: Remove redundant -I$(srcdir). * components/adapter/Makefile.am: Remove redundant -I. * components/mozilla/Makefile.am: Mark private headers as SOURCES, not noinst_HEADERS, as suggested by automake book and manual. * components/news/Makefile.am: Remove unneeded -I$(top_srcdir)/components/news. * configure.in: Don't build intl since we don't need it the way we use gettext. * libnautilus-adapter/Makefile.am: Remove redundant -I. * libnautilus-private/Makefile.am: Change -I for new cut-n-paste-code scheme. Also mark private headers as SOURCES, not noinst_HEADERS, as suggested by automake book and manual. * libnautilus/Makefile.am: Remove redundant -I. * src/Makefile.am: Change -I for new cut-n-paste-code scheme. Also mark private headers as SOURCES, not noinst_HEADERS, as suggested by automake book and manual. * src/file-manager/Makefile.am: Mark private headers as SOURCES, not noinst_HEADERS, as suggested by automake book and manual. * check-THANKS.pl: Change Seth's preferred email address. * cut-n-paste-code/widgets/e-paned/Makefile.am: * cut-n-paste-code/widgets/gimphwrapbox/Makefile.am: Don't use -static, since we plan to link Remove unneeded -I directives now that we handle includes differently. Also mark private headers as SOURCES, not noinst_HEADERS, as suggested by automake book and manual. * cut-n-paste-code/widgets/e-paned/e-hpaned.h: * cut-n-paste-code/widgets/e-paned/e-vpaned.h: * libnautilus-private/nautilus-horizontal-splitter.h: * src/nautilus-complex-search-bar.c: * src/nautilus-search-bar-criterion.c: Simpler include scheme for cut-n-paste code. |
||
Anders Carlsson | bafee4405a |
Remove CONTROL_CENTER_REQUIRED since nautilus doesn't require
2001-08-23 Anders Carlsson <andersca@gnu.org> * nautilus.spec.in: Remove CONTROL_CENTER_REQUIRED since nautilus doesn't require control-center anymore. * configure.in: Remove CONTROL_CENTER_REQUIRED since nautilus doesn't require control-center anymore. * src/nautilus-window.c (nautilus_window_constructed): Set shrink to TRUE when adding the sidebar since it'll look better when the splitter is collapsed. (nautilus_window_destroy): Free the window title. * src/nautilus-window-manage-views.c (begin_location_change): Unref the directory when we're done using it. * src/nautilus-sidebar.c (nautilus_sidebar_destroy): Sink the title tab so it'll destroyed even if it hasn't got a parent. * libnautilus-private/nautilus-vfs-file.c (vfs_destroy): Free details struct. * libnautilus-private/nautilus-vfs-directory.c (vfs_destroy): Free details struct. * libnautilus-private/nautilus-mime-actions.c (nautilus_mime_get_short_list_applications_for_file): Free uri_scheme. (make_oaf_query_with_uri_scheme_only): Free explicit_iid_query. * libnautilus-private/nautilus-metafile.c (destroy): Unref the private vfs uri, and free the directory uri. * libnautilus-private/nautilus-file.c (nautilus_file_get_internal): Free the string returned by nautilus_directory_get_name_for_self_as_new_file. * libnautilus-private/nautilus-file-changes-queue.c (nautilus_file_changes_consume_changes): Free the change struct. * libnautilus-private/nautilus-directory-async.c (nautilus_directory_invalidate_count_and_mime_list): Unref the file after using it. * libnautilus/nautilus-idle-queue.c (execute_queued_functions): Free each list node. (nautilus_idle_queue_destroy): Likewise. |
||
Maciej Stachowiak | 9a7dd3c20c |
Get display name in a better way suggested by Havoc Pennington.
* libnautilus/nautilus-view-standard-main.c: (nautilus_view_standard_main_multi): Get display name in a better way suggested by Havoc Pennington. |
||
Anders Carlsson | b63962433d |
Remove multiple references to $(NAUTILUS_PRIVATE_LIBS) since having
2001-07-21 Anders Carlsson <andersca@gnome.org> * components/help/Makefile.am: * components/sample/Makefile.am: * libnautilus-adapter/Makefile.am: * libnautilus-private/Makefile.am: * libnautilus/Makefile.am: Remove multiple references to $(NAUTILUS_PRIVATE_LIBS) since having multiple references makes linking very slow with libtool 1.4. |
||
Chyla Zbigniew | 2712f3578f |
Changed behaviour of view processes, now every process using
* libnautilus/nautilus-view-standard-main.c (struct CallbackData, delayed_quit_timeout_callback, object_destroyed, make_object, nautilus_view_standard_main_multi): Changed behaviour of view processes, now every process using nautilus_view_standard_main/nautilus_view_standard_main_multi will be destroyed after 30 seconds of inactivity, not immediately. |
||
Darin Adler | cbdd5ec061 |
Started with patch by Caleb "J." Land <bokonon@rochester.rr.com>
and added XFS support so that trash will work on XFS volumes. * libnautilus-private/nautilus-volume-monitor.h: * libnautilus-private/nautilus-volume-monitor.c: (nautilus_volume_monitor_should_integrate_trash), (make_volume_name_from_path), (mount_volume_get_name), (do_volume_activate), (mount_volume_activate), (verify_current_mount_state), (mount_volume_ext2_add), (mount_volume_udf_add), (mount_volume_vfat_add), (mount_volume_msdos_add), (mount_volume_affs_add), (mount_volume_auto_add), (mount_volume_fat_add), (mount_volume_hpfs_add), (mount_volume_hsfs_add), (mount_volume_minix_add), (mount_volume_proc_add), (mount_volume_reiserfs_add), (mount_volume_ufs_add), (mount_volume_smb_add), (mount_volume_unsdos_add), (mount_volume_xenix_add), (mount_volume_xfs_add), (mount_volume_xiafs_add), (copy_volume), (load_additional_mount_list_info), (mount_volume_prepend_filesystem): Added an XFS case and crunched code a bit. Rolled in patch by Johan Dahlin <zilch.am@home.se> to install the public IDL files in $(datadir)/idl so that non-C programmers can use them. * libnautilus/Makefile.am: Install the IDL files. Also added them to the .spec file. * nautilus.spec.in: Install the IDL files as part of nautilus-devel. |
||
Darin Adler | 2752e198c8 |
Fixed problem compiling with new gettext:
* hack-macros/gnome.m4: Add BUILD_INCLUDED_LIBINTL for compatibility with the new gettext. Fixed a problem with the throbber detecting that its X window is gone. Based on suggestions from Owen Taylor. * libnautilus/nautilus-bonobo-workarounds.h: * libnautilus/nautilus-bonobo-workarounds.c: (destroy_later_callback), (destroyed_before_timeout_callback), (nautilus_bonobo_object_force_destroy_later): Changed to "destroy later" instead of "destroy at idle". This makes us less likely to experience race conditions. * src/nautilus-window.c: (nautilus_window_initialize_class), (nautilus_window_unrealize), (nautilus_window_destroy): Moved the throbber destruction to unrealize so we destroy the throbber before we destroy its X window. Starting with patch by Anders Carlsson <andersca@gnu.org>, added both prelighting and tracking to the throbber, also making it take action on release, not press. * components/throbber/nautilus-throbber.c: (nautilus_throbber_initialize_class): Add handlers for enter, leave, and release. (nautilus_throbber_initialize): Set flags so we get enter and leave events. (select_throbber_image): Ref the image that's returned. (draw_throbber_image): Make the image be prelit if the mouse is over the throbber but it wasn't clicked, and darkened if the mouse is over the throbber and it was clicked. (nautilus_throbber_enter_notify_event): Set flag and request redraw to prelight. (nautilus_throbber_leave_notify_event): Set flag and request redraw to un-prelight. (nautilus_throbber_button_press_event): Set flag to indicate we hit the button in the throbber. Also, respond only to left clicks. (nautilus_throbber_button_release_event): Look at flag set in press event. Do the work here now instead of at press time since we are more like a real button. Rolled in change by Miguel Rodrguez Prez <migrax@terra.es> to fix volume mounting problems: * configure.in: Check for hasmntopt. * libnautilus-private/nautilus-volume-monitor.c: (get_removable_volumes): Fix typo (HAVE_MNTTENT_H -> HAVE_MNTENT_H). Integrated patch by Miguel Rodrguez Prez <migrax@terra.es> to make Nautilus not try to preview MPEG lists: * src/file-manager/fm-icon-view.c: (icon_container_preview_callback): Made audio/x-mpegurl another exception to the list of audio types we can preview. Rolled in change by Dennis Smit <synap@area101.penguin.nl>: * THANKS: added more translators that were missing from the THANKS file (names from all the .po files in ./po). Other updates to THANKS: * THANKS: Added Jon K Hellan. * check-THANKS.pl: Fixed logic so you can be credited as both an author and translator. Other changes: * src/file-manager/fm-list-view.c: (get_default_zoom_level): Fix typo (storaged -> storage). * src/nautilus-shell-ui.xml: * src/file-manager/nautilus-directory-view-ui.xml: Fixed keybindings entries to use the correct tags as described by ui-xml.txt. |
||
Ramiro Estrugo | 90d404095e | nautilus-extensions -> nautilus-private renaming. | ||
Ramiro Estrugo | 60b832fdfb |
Lots of improvement. Make dealing with dependency libs/cflags simpler.
* configure.in: Lots of improvement. Make dealing with dependency libs/cflags simpler. * applets/launcher/Makefile.am: * applets/preferences-applet/Makefile.am: * components/adapter/Makefile.am: * components/hardware/Makefile.am: * components/help/Makefile.am: * components/history/Makefile.am: * components/image-viewer/Makefile.am: * components/loser/content/Makefile.am: * components/loser/sidebar/Makefile.am: * components/mozilla/Makefile.am: * components/music/Makefile.am: * components/news/Makefile.am: * components/notes/Makefile.am: * components/sample/Makefile.am: * components/text/Makefile.am: * components/throbber/Makefile.am: * components/tree/Makefile.am: * helper-utilities/error-dialog/Makefile.am: * icons/arlo/throbber/Makefile.am: * icons/crux_eggplant/backgrounds/Makefile.am: * icons/crux_eggplant/sidebar_tab_pieces/Makefile.am: * icons/crux_eggplant/throbber/Makefile.am: * icons/gnome/throbber/Makefile.am: * icons/sidebar_tab_pieces/Makefile.am: * libnautilus-adapter/Makefile.am: * libnautilus-extensions/Makefile.am: * libnautilus/Makefile.am: * src/Makefile.am: * src/file-manager/Makefile.am: * test/Makefile.am: Eliminate cut-n-paste disease by using dependency macros defined in configure.in. |
||
Ramiro Estrugo | 6e7d921ce8 |
Use NAUTILUS_VERSION_INSIST from hack-macros instead of
2001-05-01 Ramiro Estrugo <ramiro@eazel.com> * configure.in: Use NAUTILUS_VERSION_INSIST from hack-macros instead of EAZEL_VERSION_INSIST. 2001-05-01 Ramiro Estrugo <ramiro@eazel.com> * applets/launcher/Makefile.am: * applets/preferences-applet/Makefile.am: * components/adapter/Makefile.am: * components/hardware/Makefile.am: * components/help/Makefile.am: * components/history/Makefile.am: * components/image-viewer/Makefile.am: * components/loser/content/Makefile.am: * components/loser/sidebar/Makefile.am: * components/mozilla/Makefile.am: * components/music/Makefile.am: * components/notes/Makefile.am: * components/sample/Makefile.am: * components/text/Makefile.am: * components/throbber/Makefile.am: * components/tree/Makefile.am: * configure.in: * libnautilus-extensions/Makefile.am: * libnautilus/Makefile.am: * src/Makefile.am: * src/file-manager/Makefile.am: * test/Makefile.am: Patch from Christopher Lahey <clahey@ximian.com>. Use EEL_CFLAGS, LIBRSVG_CFLAGS instead of EEL_INCLUDEDIR, and EEL_CFLAGS. Thanks Chris. |
||
Ramiro Estrugo | 8e0885068b |
Fix bug 8105 - GConf error getting font for icon view and text
view. * libnautilus/nautilus-view-standard-main.c: (nautilus_view_standard_main_multi): Move the post initialization callback to before the component's factory creation. Otherwise bad things can happen if the component assumes that its post init function has already been called while in its factory code. For example, if the post init function initialized nautilus preferences and the component factory executes code that uses nautilus preferences. |
||
Darin Adler | 6a0d42c346 |
Use the new EelCanvasRect instead of GnomeCanvasRect for better
* libnautilus-extensions/nautilus-icon-container.c: (start_rubberbanding): Use the new EelCanvasRect instead of GnomeCanvasRect for better rubber-banding speed in AA mode. * src/Makefile.am: * libnautilus/Makefile.am: * libnautilus-extensions/Makefile.am: Added dependencies so the IDL files get recompiled before we compile any .c files. |
||
Darin Adler | d986def787 |
Added a translator's name. Made it work for more file extensions. Updated
* THANKS: Added a translator's name. * check-POTFILES.pl: Made it work for more file extensions. * check-THANKS.pl: Updated for recent email changes. * components/image-viewer/io-png.h: Fixed includes. * components/image-viewer/io-png.c: Fixed includes. * components/adapter/nautilus-zoomable-proxy.c: Add include of <config.h>. * components/music/Makefile.am: Add non-compiled files to EXTRA_DIST. This makes check-headers-in-Makefile.pl happy. * components/tree/main.c: Removed this unused file since it's just a call to the standard main function. * components/tree/nautilus-tree-change-queue.c: Add include of <config.h>. * libnautilus/Makefile.am: * libnautilus-adapter/Makefile.am: * libnautilus-extensions/Makefile.am: * src/Makefile.am: Do the dist-hook dance so we don't include generated files in the tarball. * libnautilus-extensions/nautilus-dateedit-extensions.h: * libnautilus-extensions/nautilus-dateedit-extensions.c: (nautilus_gnome_date_edit_get_date_as_string): Rewrite to use eel_gstrdup_strftime. * src/nautilus-window-manage-views.c: (nautilus_window_content_view_matches_iid): We can get a NULL content view IID in some cases, so make sure we don't call strcmp on it. |
||
Ramiro Estrugo | 061ecc3fd7 |
Add missing eel includes.
* libnautilus/Makefile.am: Add missing eel includes. |
||
Ramiro Estrugo | 92be31159f |
Add support for gettext. Add a post initialize callback so that callers
* libnautilus/nautilus-view-standard-main.h: * libnautilus/nautilus-view-standard-main.c: (nautilus_view_standard_main_multi), (nautilus_view_standard_main): Add support for gettext. Add a post initialize callback so that callers can initialize any component specific stuff before the main even loop begins (nautilus preferences for example) Update for standard main changes. Add documentation for these functions. Also add criticals to make the code a little bit more robust. * components/help/hyperbola-main.c: (main): * components/history/nautilus-history-view.c: (main): * components/music/main.c: (main): * components/notes/nautilus-notes.c: (main): * components/sample/main.c: (main): * components/text/main.c: (main): * components/tree/main.c: (main): Update for standard main changes. Make these a little simpler by putting gettext support in standard main itself. Also, make sure that components that use preferences initialize them. * src/nautilus-main.c: (main): Dont do the preferences initialization if we are about to kill the nautilus shell. |
||
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. |
||
Darin Adler | f7ea58e25b |
reviewed by: John Sullivan <sullivan@eazel.com>
* libnautilus/nautilus-bonobo-workarounds.c: (nautilus_bonobo_object_force_destroy): Add new version that is not vulnerable to the problem of an unref coming in from the other process during the destroy phase. This version relies on Bonobo internals, so it's a truly evil bit of code, and I should be severely punished for even thinking of writing it. (nautilus_bonobo_object_force_destroy_at_idle): Added some more checks that I thought would help me in debugging. * src/nautilus-shell-ui.xml: Improve wording of tooltip for the Up command. * components/notes/nautilus-notes.c: Some code cleanup. * src/file-manager/fm-directory-view.c: Fixed a typo. |
||
Darin Adler | 58b097eca0 |
Make file operations progress dialog always stay up for at least 1
second total so it doesn't just appear and disappear. Preparing for a fix to the nautilus-adapter process leaking when Nautilus is terminated by Ctrl-C, I cleaned up some of the code inside the adapter. Improved the warning you get when neither /etc/mnttab nor /proc/mounts can be opened. Fix bug 6888 (when I view a large image, it appears first at 100%, then zoomed to fit). Re-added part of the code to make components go away when the main program that is hosting them goes away. The X-window-based solution is not working as well as I had hoped, so I'm re-adding the 20-second-timeout-based solution. * components/adapter/nautilus-adapter-embed-strategy.c: (nautilus_adapter_embed_strategy_initialize_class), (nautilus_adapter_embed_strategy_get), (nautilus_adapter_embed_strategy_emit_open_location): Change the strategy new functions to use more-normal reference rules. The caller no longer expects them to "use up" a reference. * components/adapter/nautilus-adapter-control-embed-strategy.c: (nautilus_adapter_control_embed_strategy_destroy), (nautilus_adapter_control_embed_strategy_new): Don't keep a reference to the BonoboControl around after creating the frame. * components/adapter/nautilus-adapter-embeddable-embed-strategy.c: (nautilus_adapter_embeddable_embed_strategy_destroy), (nautilus_adapter_embeddable_embed_strategy_new): Don't keep a reference to the BonoboEmeddable around after creating the frame. * components/image-viewer/nautilus-image-view.c: (redraw_control), (scrolled_window_size_allocate_callback), (control_factory_common), (init_bonobo_image_generic_factory): Some name changes, and a fix so that we don't show the image first at 100%, and then shrink to fit. The downside is that this might be too hard-coded to the current behavior of Nautilus, but it's better than flashing every time you open an image. * components/services/trilobite/utils/.cvsignore: Ignore some files in this new directory. * libnautilus-extensions/nautilus-file-operations-progress.h: * libnautilus-extensions/nautilus-file-operations-progress.c: (nautilus_file_operations_progress_update), (close_callback), (nautilus_file_operations_progress_destroy), (map_callback), (delete_event_callback), (nautilus_file_operations_progress_initialize), (nautilus_file_operations_progress_initialize_class), (nautilus_file_operations_progress_new), (nautilus_file_operations_progress_set_total), (nautilus_file_operations_progress_set_operation_string), (nautilus_file_operations_progress_new_file), (nautilus_file_operations_progress_clear), (nautilus_file_operations_progress_update_sizes), (delayed_close_callback), (nautilus_file_operations_progress_done): Did a lot of code cleanups throughout the file, and added a new call nautilus_file_operations_progress_done. Use this instead of gtk_object_destroy so that the window can linger long enough for the user to see it, if a copy was really fast. * libnautilus-extensions/nautilus-file-operations.c: (transfer_info_destroy), (parent_for_error_dialog), (create_transfer_dialog), (handle_transfer_ok), (handle_transfer_vfs_error): Change to use the new nautilus_file_operations_progress_done call instead of gtk_object_destroy when done with the progress dialog. * libnautilus-extensions/nautilus-icon-container.c: (nautilus_icon_container_update_scroll_region): Fix indentation. * libnautilus-extensions/nautilus-volume-monitor.c: (get_current_mount_list): Replace cryptic g_return_if_fail message with better-worded g_warning. * libnautilus/nautilus-view.c: (set_frame_callback), (widget_destroyed_callback), (nautilus_view_construct_from_bonobo_control): Re-added code to monitor the lifetime of the frame and self-destruct when the frame goes away. The X-window-based solution wasn't working 100%, and this solution does. * src/nautilus-sidebar.c: (toggle_sidebar_panel), (sidebar_for_each_sidebar_panel): Change object data key to use a prefix that includes the word "nautilus". Tweak code that builds the menu so that it always includes any panel that's displayed, even if the user level says it shouldn't be there. |
||
Darin Adler | 5df94af197 |
reviewed by: John Sullivan <sullivan@eazel.com>
A change to reduce the number of orphaned processes when Nautilus is not terminated cleanly. This is an architecture problem, and this hack only partly addresses it. Add code to NautilusViewFrame, NautilusView, and NautilusThrobber to destroy components when the corresponding widgets are destroyed. Since X destroys windows when processes go away, this tells us immediately when processes disappear. This does not help in the case where Nautilus happens to die after creating a component, but before attaching the widget to its parent. This is not a complete solution to the orphaned processes problem because of 2 other categories of orphaned processes: 1) the adapter factory 2) non-NautilusView components, which won't get the advantage of this fix because it's in Nautilus (a fix could go into Bonobo, or into each component) * libnautilus/nautilus-bonobo-workarounds.h: * libnautilus/nautilus-bonobo-workarounds.c: (set_gone_flag), (nautilus_bonobo_object_force_destroy), (object_is_gone), (remote_check_data_free), (remote_check_timed_callback), (remote_check_destroy_callback), (nautilus_bonobo_object_call_when_remote_object_disappears), (force_destroy_cover), (nautilus_bonobo_object_force_destroy_when_owner_disappears): New code, implementing the machinery to notice when remote objects go away and to self-destruct when they do. Also code that does the timeout that used to be in NautilusViewFrame. * libnautilus/nautilus-view.c: (widget_destroyed_callback), (nautilus_view_construct_from_bonobo_control): Connect to the widget's destroy signal, and self-destruct when it happens. * components/throbber/nautilus-throbber.c: (nautilus_throbber_destroy), (null_pointer_callback), (nautilus_throbber_initialize): Destroy the BonoboControl when the throbber (a widget) is destroyed. Requires noticing when the control goes away (the old code just had a stale pointer to it). * src/nautilus-view-frame.c: (destroy_view), (nautilus_view_frame_destroy), (view_frame_failed_callback), (queue_view_frame_failed), (view_frame_failed_cover), (check_socket_gone_idle_callback), (check_socket_gone_callback), (attach_view): Use the new machinery instead of doing it ourselves, but sadly had to add some fairly complex code to catch the case where the socket is destroyed because the plug is gone. |
||
Darin Adler | 6a3ac19781 |
reviewed by: John Sullivan <sullivan@eazel.com>
Fix bug 6613 (no way to delete files without using trash) by integrating Maciej's patch to add an optional Delete command (with some fixes to the patch). There may still be some loose ends. Fix bug 2206 (No way to move or copy a file to a different directory from keyboard) by implementing Cut, Copy, and Paste for files, in a way that will be familiar to Windows users. The positioning of the new files is not right yet (they inherit their position from the old files), there is no feedback when you have cut some files (Arlo's idea, which I might implement, is to make them translucent to show they are "on the way out") or when you have copied some files, and I think there are some other loose ends. Fixed cut, copy, and paste within the file names when you do a rename. This wasn't working at all. Got rid of configure-time checks that were looking at the existence of some special system files. Fixed a few minor bugs discovered by code inspection. * libnautilus-extensions/nautilus-global-preferences.h: * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_install_descriptions), (global_preferences_install_defaults), (global_preferences_install_visibility), (global_preferences_create_dialog): Add expert preference to add a Delete command that bypasses the Trash. * src/file-manager/nautilus-directory-view-ui.xml: Add Delete, Cut Files, Copy Files, and Paste Files. * src/file-manager/fm-directory-view.c: (confirm_delete_directly), (delete_callback): Add delete code. (bonobo_menu_empty_trash_callback): Get rid of extraneous cast. (fm_directory_view_initialize): Track the delete preference. Set the flags properly to indicate we have our own X window. Add a target so GTK knows that we accept pastes of copied files. (forget_clipboard_contents): Helper for when we are no longer the clipboard owner. (fm_directory_view_destroy): Remove the delete preference callback. Free the clipboard contents. (offset_drop_points): Change so it handles NULL for the list of points. (trash_or_delete_files_common): Remove unneeded parameters. (get_current_event_time): New function, placeholder that just returned GDK_CURRENT_TIME. Perhaps we should get the real event time here for use in clipboard manipulation calls. (copy_or_cut_files): New function. Save the selection for later use in a paste. (copy_files_callback), (cut_files_callback): Call the new copy_or_cut_files function. (paste_files_callback): Do the clipboard convert that results in the paste operation. (real_selection_clear_event): Forget the clipboard contents. (real_selection_get): Convert the selection into the appropriate format and put it on the clipboard. (convert_lines_to_str_list): Helper function for decoding incoming pasted files. (real_selection_received): Handle pasted files by parsing and then triggering a file copy operation. (real_merge_menus): Add verbs for cut, copy, and paste. (enable_delete_changed_callback): Keep track of delete command status in a boolean. (real_update_menus): Show delete command if the preference is on and we are not showing "Delete from Trash". Update names of the Cut and Copy command depending on how many files are selected. Also desensitize them when none are selected. (fm_directory_view_select_file): Initialize an uninitialized field. (fm_directory_view_move_copy_items): Allow relative_item_points to be NULL. (real_realize): Create our own X window. (real_size_allocate): Trick GtkScrolledWindow into doing the right thing despite the fact that we have our own X window. (fm_directory_view_initialize_class): Moved down to the bottom so we don't need so many forward declaractions. Added code to set up some needed atoms and new default handlers. * libnautilus-extensions/nautilus-icon-text-item.c: (send_focus_event), (iti_stop_editing), (iti_start_editing): Add code to send the appropriate focus events to the fake off-screen GtkEntry. This makes the clipboard code that tracks focus-related signals work properly with this entry. (iti_event): Tweak the sequence and simplify the code a bit. * libnautilus/nautilus-clipboard.c: (set_paste_sensitive_if_clipboard_contains_data): Add more FIXMEs. This function is very far from useful, and it's not clear that it can be implemented efficiently under X. (nautilus_clipboard_set_up_editable): Get rid of silly "grab_focus" hack that was an attempt to address the problems with the NautilusIconTextItem. The real solution was to do focusing for that item too. (nautilus_clipboard_set_up_editable_in_control): Fix this so it works when called on an editable that is already focused. * src/file-manager/fm-icon-view.c: (renaming_icon_callback): Get rid of "grab_focus" workaround, which wasn't working. * acconfig.h: * configure.in: Remove all configure checks that were checking the existence of files. * libnautilus-extensions/nautilus-medusa-support.c: (nautilus_medusa_check_cron_is_enabled): Simplify logic so there's less room for confusion (I did this as a fix for the bug that was reported on the mailing list, but Rebecka checked in the small patch first). Also change it so we don't need a configure-time check for the existence of the process directory and fix it so we won't get a core dump if the file doesn't have a space character in it. Also change the logic so we don't leave the directory open when we do find the cron process. * libnautilus-extensions/nautilus-volume-monitor.c: (nautilus_volume_monitor_initialize_class), (has_removable_mntent_options), (get_removable_volumes), (volume_is_removable), (volume_is_read_only), (mount_volume_get_cdrom_name), (mount_volume_activate_cdda), (mount_volume_activate_cdrom), (build_volume_list_delta), (get_current_mount_list), (mount_lists_are_identical), (verify_current_mount_state), (mount_volume_floppy_add), (get_cdrom_type_solaris), (mount_volume_iso9660_add), (display_mount_status), (close_error_pipe), (nautilus_volume_monitor_mount_unmount_removable), (mount_volume_add_filesystem): Make changes throughout to get rid of dependence on configure-time file checks and do things at runtime instead. Also use typedefs to make less code conditional. Also fix the Solaris CD-ROM code which was casting a GString to a (char *) before, so it used absurd file names, and failed to open and returned FALSE all the time. * libnautilus-extensions/nautilus-icon-container.c: (nautilus_icon_container_start_renaming_selected_item): Send the renaming signal before setting up the rest of the icon. This change is not really needed, but it's a better order to do things. * libnautilus/nautilus-clipboard-ui.xml: Move tips into the commands instead of the menu items (for style mostly, no practical implications at the moment). * src/nautilus-shell-ui.xml: Remove tips from Cut, Copy, and Paste, since tips from insensitive items aren't used, and if we had tips, we'd put them on the command, not the menu item, anyway. |
||
Darin Adler | dcb478cf7e |
reviewed by: John Sullivan <sullivan@eazel.com>
Fix bug 6495 (Emacs-style keybindings not working in location bar and other NautilusEntry fields) by adding an expert preference to control whether the Emacs shortcuts or the ones in the menu bar take precedence. I started with Maciej's patch and did many refinements. Fix bug 1788 ("Select All" needs to be implemented for text): I had to add Select All so it won't do the icon view's Select All when you do a select all with the location bar focused. Fix bug 5612 (clicking to deselect causes incorrect menu sensitivity) by adding another signal handler for button clicks. Fix bug 7581 (When trying to restart Nautilus after crash from bug 7579 I get a Segmentation Fault). I was just lucky enough to run into the problem on my machine. * libnautilus-extensions/nautilus-global-preferences.h: * libnautilus-extensions/nautilus-global-preferences.c: (global_preferences_install_descriptions), (global_preferences_install_defaults), (global_preferences_install_visibility), (global_preferences_create_dialog): Added the new Emacs-shortcut preference with the wording requested in the bug report. * libnautilus-extensions/nautilus-entry.h: * libnautilus-extensions/nautilus-entry.c: (emacs_shortcuts_preference_changed_callback): Track the preference. (nautilus_entry_initialize): Set up the callback to track the preference. (nautilus_entry_destroy): Tear down the callback to track the preference. (nautilus_entry_key_press): Allow the emacs shortcuts built into GtkEntry to work if the preference is set that way. Also, only emit the selection_changed signal if the key is actually handled. (nautilus_entry_motion_notify): Simplify the logic, since it's OK to send the selection_changed signal a little too often. (select_all_at_idle): Handle the case where the object is destroyed. (nautilus_entry_select_all_at_idle): Ref the object to handle the case where the object is destroyed before the idle happens. (nautilus_entry_button_press): Send a selection_changed message, since pressing the button can cause a selection change. (nautilus_entry_button_release): Send a selection_changed message, since pressing the button can cause a selection change. (nautilus_entry_initialize_class): Add new default handlers. Also, move to bottom of file so we don't need so many forward declarations. * libnautilus/nautilus-clipboard-ui.xml: Add a Select All Text command. * libnautilus/nautilus-clipboard.c: (select_all): New function to select all the text in a GtkEditable. Sadly it needs a special case for GtkText. (select_all_idle_callback): Callback used to select the text from idle. (select_all_callback): Callback that sets up the idle. Called from the bonobo verb. (initialize_clipboard_component_with_callback_data): Add the callback for Select All. * librsvg/rsvg.c: (rsvg_state_init): Initialize more fields, including font_size. (rsvg_text_handler_characters): Don't try to draw if the font size is 0 or negative. * librsvg/art_render_mask.c: (art_render_mask_render): Handle cases where x1 < x0. The old code would seg. fault. This was the reason we got a crash in bug 7581. * configure.in: Upped the required version of gnome-vfs. |
||
John Sullivan | 89cdddf39b |
Fixed bug 7597 (Cut Text's underline accelerator changes
to conflict with Copy Text's when a text field is focussed) * libnautilus/nautilus-clipboard-ui.xml: Changed _Cut Text to Cut _Text here, to match what it is when no text field is focussed. |
||
Darin Adler | bb5e1acb2f |
reviewed by: John Sullivan <sullivan@eazel.com>
Fix bug 7587 (Copying text in Notes with menu item kills Notes [also Text viewer, etc]): * libnautilus/nautilus-clipboard.c: (do_with_fake_current_event): Function to set up a non-NULL event so the code in GtkEditable won't die. (cut_callback), (copy_callback), (paste_callback): Use the new function. |
||
Darin Adler | 4536e0f5b3 |
reviewed by: John Sullivan <sullivan@eazel.com>
Fix another part of bug 7494 (History sidebar component spews assertions when closing nautilus window [and sometimes crashes]): * libnautilus/nautilus-idle-queue.c: (execute_queued_functions): Change logic so that queued functions no longer execute once the caller destroys the queue. Fix bug 7564 (opening and quickly closing window in list view leads to core dump): * src/file-manager/fm-directory-view.c: (fm_directory_view_destroy): Remove code to empty lists now that stop handles that. (load_error_callback): Added a FIXME about the fact that we throw away some pending files on an error. (fm_directory_view_stop): Don't display pending files any more. This is a problem when trying to destroy, and also the old code displayed only one "batch" of pending files, so it wasn't really making sure all the files were displayed anyway. If we re-add the code to display pending files here, we'll have to make sure it doesn't do this for the destroy case. * src/file-manager/fm-list-view.c: Added FIXME asking why the "add 100 items at a time" logic is only needed for list view, and not for icon view. If both kinds of views had it, it could be done more simply at the FMDirectoryView level. * libnautilus-extensions/nautilus-icon-factory.c: (nautilus_get_icon_size_for_zoom_level): Fix this code so that it doesn't do a core dump if it gets a bad size. This is not the cause of the problem, but it's good to fix this too, because a core dump is overreacting to a bad parameter. |
||
Darin Adler | d566827eb6 |
reviewed by: John Sullivan <sullivan@eazel.com>
Did most of the work for bug 5779, separating out the Eazel logos so they won't be used by non-Eazel folks making changes to Nautilus if they choose to do "non-approved" changes (allowed by GPL of course). * nautilus.spec.in: Add new logos. * configure.in: Add eazel-logos and eazel-logos/throbber. * Makefile.am: Add the eazel-logos subdirectory. * eazel-logos/Makefile.am: Created. * eazel-logos/throbber/Makefile.am: Created. * components/services/nautilus-dependent-shared/icons/eazel-logo-right-side-logo.png: * icons/About_Image.png: * icons/about_background.png: * icons/default.xml: * icons/druid_header.png: * icons/throbber/001.png: * icons/throbber/002.png: * icons/throbber/003.png: * icons/throbber/004.png: * icons/throbber/005.png: * icons/throbber/006.png: * icons/throbber/007.png: * icons/throbber/008.png: * icons/throbber/009.png: * icons/throbber/010.png: * icons/throbber/011.png: * icons/throbber/012.png: * icons/throbber/013.png: * icons/throbber/014.png: * icons/throbber/015.png: * icons/throbber/016.png: * icons/throbber/017.png: * icons/throbber/018.png: * icons/throbber/019.png: * icons/throbber/020.png: * icons/throbber/021.png: * icons/throbber/022.png: * icons/throbber/023.png: * icons/throbber/024.png: * icons/throbber/025.png: * icons/throbber/026.png: * icons/throbber/027.png: * icons/throbber/028.png: * icons/throbber/029.png: * icons/throbber/030.png: * icons/throbber/Makefile.am: * icons/throbber/rest.png: Updated with non-logo versions. Did 90% of the work for bug 6950 (need new report_redirect call in addition to report_location_change). While working on that, I also moved the deferral of outgoing calls that is done in the Mozilla component so that it is done by the NautilusView class instead. * libnautilus/nautilus-view-component.idl: Added report_redirect. * libnautilus/nautilus-view.h: Added report_redirect. * libnautilus/nautilus-view.c: (queue_outgoing_call): Added queing for the outgoing side. (nautilus_view_initialize): Allocate queue. (nautilus_view_destroy): Deallocate queue. (str_list_copy): Utility needed here because we can't use libnautilus-extensions. (list_free_deep_callback): New. Used in queuing code. (free_location_plus_callback): New. Used in queueing code. (call_open_location_in_this_window), (call_open_location_prefer_existing_window), (call_open_location_force_new_window), (call_report_location_change), (call_report_redirect), (call_report_selection_change), (call_report_status), (call_report_load_underway), (call_report_load_progress), (call_report_load_complete), (call_report_load_failed), (call_set_title), (call_go_back): Functions that get queued. These have the bulk of the code to do work. (nautilus_view_open_location_in_this_window), (nautilus_view_open_location_prefer_existing_window), (nautilus_view_open_location_force_new_window), (nautilus_view_report_location_change), (nautilus_view_report_redirect), (nautilus_view_report_selection_change), (nautilus_view_report_status), (nautilus_view_report_load_underway), (nautilus_view_report_load_progress), (nautilus_view_report_load_complete), (nautilus_view_report_load_failed), (nautilus_view_set_title), (nautilus_view_go_back): These functions now simply queue the work that needs to be done. * src/nautilus-view-frame-corba.c: (free_location_plus_callback): Add a new field for the "from_location" needed for redirect. (report_redirect): The actual function to do the work. (impl_Nautilus_ViewFrame_report_redirect): Queue function. * src/nautilus-view-frame.h: * src/nautilus-view-frame-private.h: * src/nautilus-view-frame.c: (nautilus_view_frame_initialize_class): Create report_redirect signal. (nautilus_view_frame_report_redirect): Emit the signal. * src/nautilus-window-manage-views.c: (report_redirect_callback): Code to implement the redirect. For now this does the exact same thing as report_location_change. This is where all the remaining work to fix the bug goes. * components/mozilla/nautilus-mozilla-content-view.c: (view_load_location_callback), (mozilla_title_changed_callback), (mozilla_net_start_callback), (mozilla_net_stop_callback), (mozilla_link_message_callback), (mozilla_progress_callback), (mozilla_dom_mouse_click_callback), (navigate_mozilla_to_nautilus_uri), (update_nautilus_uri), (eazel_services_scheme_from_http): Remove the "async" calls that defer calls until timeout time now that NautilusView itself does that for all components. * libnautilus-extensions/nautilus-gtk-extensions.h: * libnautilus-extensions/nautilus-gtk-extensions.c: (nautilus_gtk_marshal_NONE__POINTER_POINTER_POINTER_POINTER): Added new marshal function needed for report_redirect. Other changes. * THANKS: Add some more contributors, after running the script to detect new ChangeLog entries. |
||
Darin Adler | 764d936aa0 |
reviewed by: John Sullivan <sullivan@eazel.com>
Fix bug 6859 (GTK signal macros don't work in non-GCC compilers for void return types). * libnautilus-extensions/nautilus-gtk-macros.h: Replaced old macros that accidentally relied on gccisms with new ones that are portable to other compilers. NAUTILUS_CALL_PARENT_CLASS is replaced by NAUTILUS_CALL_PARENT and NAUTILUS_CALL_PARENT_WITH_RETURN_VALUE. NAUTILUS_CALL_VIRTUAL is replaced by NAUTILUS_CALL_METHOD and NAUTILUS_CALL_METHOD_WITH_RETURN_VALUE * components/adapter/nautilus-adapter-control-embed-strategy.c: (nautilus_adapter_control_embed_strategy_destroy): * components/adapter/nautilus-adapter-embed-strategy.c: (nautilus_adapter_embed_strategy_destroy), (nautilus_adapter_embed_strategy_get_widget), (nautilus_adapter_embed_strategy_get_zoomable): * components/adapter/nautilus-adapter-embeddable-embed-strategy.c: (nautilus_adapter_embeddable_embed_strategy_destroy): * components/adapter/nautilus-adapter-factory-server.c: (nautilus_adapter_factory_server_destroy): * components/adapter/nautilus-adapter-file-load-strategy.c: (nautilus_adapter_file_load_strategy_destroy): * components/adapter/nautilus-adapter-load-strategy.c: (nautilus_adapter_load_strategy_destroy), (nautilus_adapter_load_strategy_load_location), (nautilus_adapter_load_strategy_stop_loading): * components/adapter/nautilus-adapter-progressive-load-strategy.c: (nautilus_adapter_progressive_load_strategy_destroy): * components/adapter/nautilus-adapter-stream-load-strategy.c: (nautilus_adapter_stream_load_strategy_destroy): * components/adapter/nautilus-adapter.c: (nautilus_adapter_destroy): * components/hardware/nautilus-hardware-view.c: (nautilus_hardware_view_destroy): * components/history/nautilus-history-view.c: (nautilus_history_view_destroy): * components/loser/content/nautilus-content-loser.c: (nautilus_content_loser_destroy): * components/loser/sidebar/nautilus-sidebar-loser.c: (nautilus_sidebar_loser_destroy): * components/music/nautilus-music-view.c: (nautilus_music_view_destroy): * components/rpmview/nautilus-rpm-verify-window.c: (nautilus_rpm_verify_window_destroy): * components/rpmview/nautilus-rpm-view.c: (nautilus_rpm_view_destroy): * components/sample/nautilus-sample-content-view.c: (nautilus_sample_content_view_destroy): * components/services/install/nautilus-view/nautilus-service-instal l-view.c: (nautilus_service_install_view_destroy), (nautilus_service_install_view_finalize): * components/services/inventory-view/nautilus-inventory-config-page .c: (nautilus_inventory_config_page_destroy): * components/services/inventory-view/nautilus-inventory-view.c: (nautilus_inventory_view_destroy): * components/services/login/nautilus-view/nautilus-change-password- view.c: (nautilus_change_password_view_destroy): * components/services/nautilus-dependent-shared/eazel-services-foot er.c: (footer_destroy): * components/services/nautilus-dependent-shared/eazel-services-head er.c: (header_destroy): * components/services/summary/nautilus-summary-view.c: (nautilus_summary_view_destroy): * components/services/time/nautilus-view/trilobite-eazel-time-view. c: (trilobite_eazel_time_view_destroy): * components/text/nautilus-text-view.c: (nautilus_text_view_destroy): * components/throbber/nautilus-throbber.c: (nautilus_throbber_destroy), (nautilus_throbber_map), (nautilus_throbber_size_allocate): * components/tree/nautilus-tree-change-queue.c: (nautilus_tree_change_queue_destroy): * components/tree/nautilus-tree-expansion-state.c: (nautilus_tree_expansion_state_destroy): * components/tree/nautilus-tree-model.c: (nautilus_tree_model_destroy): * components/tree/nautilus-tree-node.c: (nautilus_tree_node_destroy): * components/tree/nautilus-tree-view.c: (nautilus_tree_view_destroy): * help/nautilus-quick-reference/.cvsignore: * help/nautilus-quick-reference/C/.cvsignore: * libnautilus-extensions/nautilus-background-canvas-group.c: (nautilus_background_canvas_group_update), (nautilus_background_canvas_group_draw), (nautilus_background_canvas_group_render): * libnautilus-extensions/nautilus-background.c: (nautilus_background_destroy): * libnautilus-extensions/nautilus-bookmark.c: (nautilus_bookmark_destroy): * libnautilus-extensions/nautilus-caption.c: (nautilus_caption_destroy), (nautilus_font_picker_show_all): * libnautilus-extensions/nautilus-clickable-image.c: (nautilus_clickable_image_destroy), (nautilus_clickable_image_realize), (nautilus_clickable_image_expose_event): * libnautilus-extensions/nautilus-debug-drawing.c: (debug_pixbuf_viewer_destroy): * libnautilus-extensions/nautilus-directory-metafile-monitor.c: (destroy): * libnautilus-extensions/nautilus-directory.c: (nautilus_directory_destroy), (nautilus_directory_get_name_for_self_as_new_file), (nautilus_directory_are_all_files_seen), (nautilus_directory_contains_file), (nautilus_directory_call_when_ready), (nautilus_directory_cancel_callback), (nautilus_directory_file_monitor_add), (nautilus_directory_file_monitor_remove), (nautilus_directory_force_reload), (nautilus_directory_is_not_empty): * libnautilus-extensions/nautilus-druid-page-eazel.c: (nautilus_druid_page_eazel_destroy), (nautilus_druid_page_eazel_finalize), (nautilus_druid_page_eazel_size_allocate), (nautilus_druid_page_eazel_size_request): * libnautilus-extensions/nautilus-ellipsizing-label.c: (real_size_request), (real_size_allocate), (real_style_set): * libnautilus-extensions/nautilus-entry.c: (nautilus_entry_destroy), (nautilus_entry_key_press), (nautilus_entry_motion_notify), (nautilus_entry_set_selection), (nautilus_entry_insert_text), (nautilus_entry_delete_text), (nautilus_entry_selection_clear): * libnautilus-extensions/nautilus-file.c: (destroy), (nautilus_file_monitor_add), (nautilus_file_monitor_remove), (nautilus_file_get_date), (nautilus_file_get_where_string), (nautilus_file_get_directory_item_count), (nautilus_file_get_deep_counts), (nautilus_file_get_file_type), (nautilus_file_check_if_ready), (nautilus_file_call_when_ready), (nautilus_file_cancel_call_when_ready): * libnautilus-extensions/nautilus-font-factory.c: (destroy): * libnautilus-extensions/nautilus-font-picker.c: (nautilus_font_picker_destroy): * libnautilus-extensions/nautilus-horizontal-splitter.c: (nautilus_horizontal_splitter_destroy), (nautilus_horizontal_splitter_button_press): * libnautilus-extensions/nautilus-icon-canvas-item.c: (nautilus_icon_canvas_item_destroy), (nautilus_icon_canvas_item_update): * libnautilus-extensions/nautilus-icon-container.c: (destroy), (size_allocate), (realize), (unrealize), (button_press_event), (button_release_event), (motion_notify_event), (key_press_event): * libnautilus-extensions/nautilus-icon-factory.c: (nautilus_icon_factory_destroy): * libnautilus-extensions/nautilus-image-table.c: (nautilus_image_table_destroy), (nautilus_image_table_expose_event), (nautilus_image_table_realize), (nautilus_image_table_unrealize), (nautilus_image_table_remove): * libnautilus-extensions/nautilus-image.c: (nautilus_image_destroy): * libnautilus-extensions/nautilus-keep-last-vertical-box.c: (nautilus_keep_last_vertical_box_size_allocate): * libnautilus-extensions/nautilus-label.c: (nautilus_label_destroy), (nautilus_label_size_request), (nautilus_label_size_allocate), (label_paint_pixbuf_callback): * libnautilus-extensions/nautilus-labeled-image.c: (nautilus_labeled_image_destroy): * libnautilus-extensions/nautilus-list-column-title.c: (nautilus_list_column_title_finalize): * libnautilus-extensions/nautilus-list.c: (nautilus_list_destroy), (nautilus_list_button_press), (nautilus_list_button_release), (nautilus_list_key_press), (nautilus_list_style_set), (nautilus_list_realize), (nautilus_list_unrealize), (draw_rows), (draw_all), (nautilus_list_draw), (nautilus_list_expose), (nautilus_list_resize_column), (nautilus_list_set_cell_contents), (set_list_cell), (nautilus_list_track_new_column_width), (nautilus_list_motion), (nautilus_list_clear), (insert_row): * libnautilus-extensions/nautilus-merged-directory.c: (merged_destroy): * libnautilus-extensions/nautilus-metafile-factory.c: (destroy): * libnautilus-extensions/nautilus-metafile.c: (destroy): * libnautilus-extensions/nautilus-preferences-box.c: (nautilus_preferences_box_destroy): * libnautilus-extensions/nautilus-preferences-pane.c: (nautilus_preferences_pane_destroy): * libnautilus-extensions/nautilus-scalable-font.c: (nautilus_scalable_font_destroy): * libnautilus-extensions/nautilus-string-picker.c: (nautilus_string_picker_destroy): * libnautilus-extensions/nautilus-tabs.c: (nautilus_tabs_destroy): * libnautilus-extensions/nautilus-text-caption.c: (nautilus_text_caption_destroy): * libnautilus-extensions/nautilus-trash-directory.c: (trash_destroy): * libnautilus-extensions/nautilus-trash-file.c: (trash_destroy): * libnautilus-extensions/nautilus-undo-context.c: (destroy): * libnautilus-extensions/nautilus-undo-manager.c: (destroy): * libnautilus-extensions/nautilus-vfs-directory.c: (vfs_destroy): * libnautilus-extensions/nautilus-vfs-file.c: (vfs_destroy): * libnautilus-extensions/nautilus-viewport.c: (nautilus_viewport_destroy), (nautilus_viewport_realize): * libnautilus-extensions/nautilus-volume-monitor.c: (nautilus_volume_monitor_destroy): * libnautilus-extensions/nautilus-wrap-table.c: (nautilus_wrap_table_destroy): * libnautilus/nautilus-undo-transaction.c: (nautilus_undo_transaction_destroy): * libnautilus/nautilus-view.c: (nautilus_view_destroy): * src/file-manager/fm-desktop-icon-view.c: (fm_desktop_icon_view_destroy), (real_update_menus), (real_merge_menus): * src/file-manager/fm-directory-view.c: (text_attribute_names_changed_callback), (image_display_policy_changed_callback), (directory_view_font_family_changed_callback), (click_policy_changed_callback), (smooth_graphics_mode_changed_callback), (fm_directory_view_destroy), (fm_directory_view_file_limit_reached), (fm_directory_view_bump_zoom_level), (fm_directory_view_zoom_to_level), (fm_directory_view_restore_default_zoom_level), (fm_directory_view_can_zoom_in), (fm_directory_view_can_zoom_out), (fm_directory_view_get_background_widget), (fm_directory_view_get_selection), (reveal_newly_added_folder), (fm_directory_view_get_emblem_names_to_exclude), (fm_directory_view_merge_menus), (fm_directory_view_select_all), (fm_directory_view_set_selection), (fm_directory_get_selected_icon_locations), (fm_directory_view_reveal_selection), (fm_directory_view_is_read_only), (fm_directory_view_is_empty), (fm_directory_view_supports_creating_files), (fm_directory_view_accepts_dragged_files), (fm_directory_view_supports_properties), (fm_directory_view_supports_zooming), (fm_directory_view_update_menus): * src/file-manager/fm-icon-view.c: (fm_icon_view_destroy), (fm_icon_view_clean_up), (fm_icon_view_get_directory_sort_by), (fm_icon_view_set_directory_sort_by), (fm_icon_view_get_directory_sort_reversed), (fm_icon_view_set_directory_sort_reversed), (fm_icon_view_get_directory_auto_layout), (fm_icon_view_set_directory_auto_layout), (fm_icon_view_get_directory_tighter_layout), (fm_icon_view_set_directory_tighter_layout), (fm_icon_view_supports_auto_layout), (fm_icon_view_start_renaming_item), (fm_icon_view_merge_menus), (fm_icon_view_update_menus): * src/file-manager/fm-list-view.c: (fm_list_view_adding_file), (fm_list_view_removing_file), (fm_list_view_file_still_belongs), (get_number_of_columns), (get_link_column), (get_default_sort_attribute), (get_column_specification): * src/file-manager/fm-properties-window.c: (real_shutdown), (real_destroy), (real_finalize): * src/file-manager/fm-search-list-view.c: (real_destroy), (real_add_file), (real_adding_file), (real_removing_file), (real_merge_menus), (real_update_menus): * src/nautilus-about.c: (nautilus_about_destroy): * src/nautilus-application.c: (nautilus_application_destroy), (nautilus_application_startup): * src/nautilus-complex-search-bar.c: (nautilus_complex_search_bar_destroy): * src/nautilus-desktop-window.c: (destroy), (realize): * src/nautilus-location-bar.c: (destroy): * src/nautilus-navigation-bar.c: (nautilus_navigation_bar_get_location), (nautilus_navigation_bar_set_location): * src/nautilus-property-browser.c: (nautilus_property_browser_destroy): * src/nautilus-search-bar-criterion.c: (nautilus_search_bar_criterion_destroy): * src/nautilus-shell.c: (destroy): * src/nautilus-sidebar-tabs.c: (nautilus_sidebar_tabs_destroy), (nautilus_sidebar_tabs_size_allocate): * src/nautilus-sidebar-title.c: (nautilus_sidebar_title_destroy), (nautilus_sidebar_title_size_allocate): * src/nautilus-sidebar.c: (nautilus_sidebar_destroy), (nautilus_sidebar_size_allocate), (nautilus_sidebar_realize): * src/nautilus-simple-search-bar.c: (nautilus_simple_search_bar_destroy): * src/nautilus-switchable-navigation-bar.c: (nautilus_switchable_navigation_bar_destroy): * src/nautilus-switchable-search-bar.c: (nautilus_switchable_search_bar_destroy): * src/nautilus-theme-selector.c: (nautilus_theme_selector_destroy): * src/nautilus-view-frame.c: (nautilus_view_frame_destroy), (nautilus_view_frame_finalize), (nautilus_view_frame_map): * src/nautilus-window.c: (nautilus_window_destroy), (nautilus_window_realize), (nautilus_window_size_request), (nautilus_window_add_current_location_to_history_list), (nautilus_window_show): * src/nautilus-zoom-control.c: (nautilus_zoom_control_destroy), (nautilus_zoom_control_size_allocate): Use the macros by their new names. * RENAMING: Updated for some name changes and name change ideas. * user-guide/C/.cvsignore: * user-guide/C/html/.cvsignore: * user-guide/C/img/.cvsignore: * user-guide/C/sgml/.cvsignore: Added missing cvsignores. |
||
Maciej Stachowiak | 9efcca8000 |
reviewed by: Gene Z. Ragan <gzr@eazel.com>
Added auto-prelighting feature to NautilusClickableImage, and fixed a major bug that occurs for clickable images in scrolled areas. * libnautilus-extensions/nautilus-clickable-image.h, libnautilus-extensions/nautilus-clickable-image.c: (nautilus_clickable_image_set_prelight): New public API call that allows for automatic prelight handling direct in NautilusClickableImage; made it settable because some users of this code want to manually prelight with an alternate image. (nautilus_clickable_image_set_up_pixbufs): helper function for the above that keeps track of the normal and prelit buffers. (label_enter, label_leave): When in prelight mode, switch images on enter and leave. Also, remove unnecessary queue_draw calls. (adjust_coordinates_for_window, ancestor_enter_notify_event, ancestor_leave_notify_event, ancestor_motion_notify_event): Do some coordinate adjustments so that if the NautilusClickableImage is in a scrolled area with NO_WINDOW widgets all the way in between, we do an appropriate coordinate adjustment. This should also handle other containers that put their children in a different window than their own. This was breaking for the summary view when I set it to use clickable images for the service icons. * libnautilus/nautilus-view-standard-main.c (nautilus_view_standard_main_multi): Do a g_thread_init to make views that use gnome-vfs happy. |
||
Darin Adler | 33e0bb3642 |
reviewed by: John Sullivan <sullivan@eazel.com>
Fixed bug 6477 (no way for intall view to send user "back where they came from") by adding a "go back" command for views. * libnautilus/nautilus-view-component.idl: Add "go back". * libnautilus/nautilus-view.h: * libnautilus/nautilus-view.c: (nautilus_view_go_back): Add "go back". * src/nautilus-view-frame-private.h: * src/nautilus-view-frame-corba.c: (go_back), (impl_Nautilus_ViewFrame_go_back): Add "go back". * src/nautilus-view-frame.h: * src/nautilus-view-frame.c: (nautilus_view_frame_initialize_class), (nautilus_view_frame_go_back): Add "go back". * src/nautilus-window-manage-views.c: (go_back_callback): Add code to either go back or go home. * src/nautilus-window-toolbars.c: (back_or_forward_button_pressed_callback): Formatting tweak. |
||
Darin Adler | 37f08cd6eb |
reviewed by: John Sullivan <sullivan@eazel.com>
Fix bug 6408 (nautilus_view_report_load_failed causes Nautilus to segfault in an idle callback): * libnautilus/nautilus-idle-queue.c: (execute_queued_functions), (nautilus_idle_queue_destroy): Changed the idle queue so it can handle being destroyed while inside one of the queued functions. Fix bug 6402 (Click desktop icon -> Nautilus window not moved to front): * src/nautilus-window-manage-views.c: (open_location): Bring the existing window up when it's reused in the "open icon on desktop" in single-window mode. Other changes: * libnautilus-extensions/nautilus-icon-factory.c: (is_theme_in_user_directory): Rename from "check_local_theme" and changed it to use a normal function result instead of taking a gboolean pointer. (set_theme): Use new function and booleans by their new names. "in_user_directory" instead of "local". (make_full_icon_path): Just the name change. (get_themed_icon_file_path): Take a boolean parameter instead of trying to figure out if the theme is in the user directory, because the old way would get it wrong for the default theme. (get_icon_file_path): Pass in the boolean to say if the theme is in the user directory or not. * libnautilus-extensions/nautilus-string.h: Remove repeated declaration for nautilus_str_get_prefix. reviewed by: Ramiro Estrugo <ramiro@eazel.com> * librsvg/rsvg-ft.c: (rsvg_ft_glyph_evict): Fix code that was looking at the "prev" pointer of a victim after freeing it. Also made some other code simplifications. * src/nautilus-theme-selector.c: (render_theme_name_and_description): Added an explicit call to gtk_widget_realize before grabbing the style field and expecting it to have gc's in it. Not sure why no one ran into this before. |
||
Darin Adler | 0605af8870 |
reviewed by: John Sullivan <sullivan@eazel.com>
Fixed bug 6163 (Need NautilusViewFrame :: report_location_changed). This is re-adding a feature we also had long ago, where a view reports a location change, but does not want the location change to come back to it in the form of a load_location call. * src/nautilus-applicable-views.h: * src/nautilus-applicable-views.c: (get_view_result_from_gnome_vfs_result), (got_file_info_callback), (got_minimum_file_info_callback), (nautilus_determine_initial_view), (nautilus_determine_initial_view_cancel): Changed this entire file to have a much easier-to-understand API. * src/nautilus-view-frame-private.h: * src/nautilus-view-frame-corba.c: (free_location_plus_callback): Change existing structure so it can be used for the location-change case, which includes a title too. (open_force_new_window): Use new structure. (report_location_change): Implement new call. (impl_Nautilus_ViewFrame_open_location_force_new_window): Use new structure. (impl_Nautilus_ViewFrame_report_location_change): Implement new call. * libnautilus/nautilus-view-component.idl: Add the new call. * libnautilus/nautilus-view.h: * libnautilus/nautilus-view.c: (nautilus_view_report_location_change): Add the new call. * src/nautilus-view-frame.h: * src/nautilus-view-frame.c: (nautilus_view_frame_initialize_class): Add new signal. (nautilus_view_frame_report_location_change): Implement new call. * src/nautilus-window-private.h: * src/nautilus-window-manage-views.h: * src/nautilus-window-manage-views.c: (update_for_new_location): Got rid of obsolete assert. Also, no longer clear the selection. The selection is set properly earlier, and clearing it at this point serves no purpose. (location_has_really_changed): Call free_location_change to share more code. Also no reason to free "pending_ni" any more, because we don't keep it around in the success case. (load_new_location_in_one_view): New name. (load_new_location_in_sidebar_panels): New name. Also take a parameter of a view to skip. (load_new_location_in_all_views): New function. (set_to_pending_location_and_selection): New name, and removed code to handle the case where there is no pending location, since that doesn't happen. Also take a parameter of a view to skip. Also broke out the guts into load_new_location_in_all_views. (free_location_change): Free things by their new names. There's also less to free now. (cancel_location_change): Key off pending_location instead of pending_ni. Also save code by using new function that skips a view. (determined_initial_view_callback): Changed name, and use new interface. No longer need "end_reached" trick, because the new interface handles that. (begin_location_change): Made a static after moving all the functions that use it in here. Also moved some of the reload code out into nautilus_window_reload. (report_location_change_callback): New function. Does all the steps neede for a location change in place. (nautilus_window_back_or_forward), (nautilus_window_reload): Moved these two functions in here from nautilus-window.c so we could make begin_location_change more private. * src/nautilus-window.h: * src/nautilus-window.c: (nautilus_window_go_to): Changed the name. (nautilus_window_get_location): New function for callers that used to get the location field directly. (go_to_callback): Changed name. * src/nautilus-desktop-window.c: (nautilus_desktop_window_new): * src/nautilus-location-bar.c: (drag_data_received_callback): * src/nautilus-shell.c: (open_window), (save_window_states), (restore_window_states): * src/nautilus-window-menus.c: (services_button_callback), (help_menu_nautilus_manual_callback), (help_menu_nautilus_license_callback), (help_menu_nautilus_feedback_callback), (activate_bookmark_in_menu_item): * src/nautilus-window-service-ui.c: (goto_services_summary), (goto_online_storage), (goto_software_catalog), (goto_services_support): * src/nautilus-window.c: (location_change_at_idle_callback), (nautilus_window_constructed), (view_as_menu_vfs_method_callback), (nautilus_window_go_web_search), (nautilus_window_go_home): Use nautilus_go_to under its new name. * src/nautilus-shell.c: (restore_window_states): Use nautilus_istr_has_prefix instead of g_strncasecmp. Also did other code cleanup. * libnautilus-extensions/nautilus-gtk-extensions.h: Added a new marshal function that I needed. * libnautilus-extensions/nautilus-thumbnails.c: Added a FIXME. * libnautilus-extensions/nautilus-view-identifier.h: * libnautilus-extensions/nautilus-view-identifier.c: (nautilus_view_identifier_copy), (nautilus_view_identifier_compare): Use const. * src/nautilus-application.c: (nautilus_application_startup): Only check for root if we are actually running nautilus, not if we are just killing off an existing copy. (confirm_ok_to_run_as_root): Changed name of the function and improved the wording of the message and button. Also added an environment variable you can set to get rid of this. (Probably should have been a preference instead, but I am officially being lazy about this.) Fixed bug that was revealed by the change in the loading sequence I made. John didn't review this part: * libnautilus-extensions/nautilus-directory-private.h: * libnautilus-extensions/nautilus-directory-async.c: (load_directory_state_destroy), (load_directory_done): Separate out code to free the partly-done state so it can be used in the cancel case. (dequeue_pending_idle_callback): Ref the directory object so that we won't get messed up if the callback destroys it. (directory_load_cancel): Separated out the old part of file_list_cancel so that we can cancel the idle part too when we want to. (file_list_cancel): Use the new calls to cancel the idle part of directory loading. (directory_load_done): Use directory_load_cancel instead of file_list_cancel. (nautilus_directory_stop_monitoring_file_list): Use directory_load_cancel instead of file_list_cancel. (nautilus_directory_async_state_changed): Added state variables to protect cases where we re-enter this function. |
||
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. |
||
Darin Adler | ce4e7c679d |
reviewed by: John Sullivan <sullivan@eazel.com>
Fix bug 6147 (selected icons flash unselected/selected rapidly): * src/nautilus-window-manage-views.c: (change_selection): Don't send out selection change notices to the view that reported the selection change. (change_selection_callback): Pass in view that requested the change so we can know not to send a selection change to that view. * src/file-manager/fm-directory-view.c: (fm_directory_view_send_selection_change): Clear flag that says we have a selection change for the shell. (selection_changed_callback): Add code to indicate this selection change is due to the shell, so we don't tell the shell about something it just told us. (done_loading): Set flag so we don't tell the shell about selection changes that are part of the first load of the directory. (display_selection_info_idle_callback): Only send a selection change to the shell if the change was initiated here. Also remove the code that ref's the NautilusView object -- wasn't helping. (update_menus_timeout_callback), (display_pending_idle_callback), (display_pending_timeout_callback): Remove the code that ref's the NautilusView object -- wasn't helping. (fm_directory_view_notify_selection_changed): Propagate flag that tells the idle code we have made the change to the selection and the shell should be notified. Fix bug 6158 (nautilus --quit shouldn't check for ~/.nautilus/first-time-wizard-flag). * src/nautilus-main.c: (main): Don't do the first-time druid check when the --quit or --restart option is used. Fix bug 803 (All metafile tags should be lower case). * libnautilus-extensions/nautilus-metadata.h: Use lower-case for metadata tags. * libnautilus-extensions/nautilus-directory-metafile.c: (create_metafile_root), (get_file_node), (nautilus_directory_rename_file_metadata), (nautilus_directory_copy_file_metadata), (nautilus_directory_set_metafile_contents): Change metadata tags to be lower-case. * libnautilus-extensions/nautilus-directory.c: (nautilus_self_check_directory): Use lower-case in metadata self-test for clarity. * libnautilus-extensions/nautilus-file.c: (nautilus_file_get_keywords), (nautilus_file_set_keywords): Change metadata tags to be lower-case. * data/top/.nautilus-metafile.xml * icons/ardmore/ardmore.xml: * icons/arlo/arlo.xml: * icons/arlo/i-directory.xml: * icons/arlo/i-regular.xml: * icons/crux_eggplant/crux_eggplant.xml: * icons/crux_eggplant/i-directory.xml: * icons/crux_eggplant/i-regular.xml: * icons/default.xml: * icons/gnome/gnome.xml: * icons/i-directory-accept.xml: * icons/i-directory.xml: * icons/i-regular.xml: * icons/villanova/villanova.xml: Change XML to use lower-case. * libnautilus-extensions/nautilus-link-set.c: (create_new_link): Use lower-case for link XML tags. * libnautilus-extensions/nautilus-link.c: (nautilus_link_local_create), (nautilus_link_local_set_link_uri), (nautilus_link_local_set_type), (nautilus_link_local_get_link_uri), (nautilus_link_local_get_link_type), (nautilus_link_get_link_uri_given_file_contents): Use lower-case for link XML tags. * src/nautilus-sidebar-title.c: (nautilus_sidebar_title_select_text_color), (nautilus_sidebar_title_theme_changed): Use lower-case for theme XML tags. * components/throbber/nautilus-throbber.c: (get_bonobo_properties), (nautilus_throbber_initialize), (nautilus_throbber_load_images), (nautilus_throbber_button_press_event): Change theme XML tags to be lower-case. * libnautilus-extensions/nautilus-icon-container.c: (start_rubberbanding): Use lower-case for theme XML tags. (nautilus_icon_container_initialize): Fix comment. (update_label_color), (nautilus_icon_container_theme_changed): Use lower-case for theme XML tags. * libnautilus-extensions/nautilus-icon-factory.c: (set_theme): Use lower-case for theme XML tags. (get_themed_icon_file_path): Use lower-case for icon XML file tags. (icon_theme_changed_callback): Use lower-case for theme XML tags. * src/nautilus-sidebar-tabs.c: (nautilus_sidebar_tabs_load_theme_data), (get_text_offset): Use lowe-case for theme XML tags. * src/nautilus-sidebar.c: (nautilus_sidebar_update_appearance): Use lower-case for theme XML tags. * src/nautilus-window-toolbars.c: (get_file_name_from_icon_name): Use lower-case for theme XML tags. * src/nautilus-zoom-control.c: (draw_number): Use lower-case for theme XML tags. Change code that used GSList when it should use GList. We use GList so that we can share utility functions. It's arbitrary. We could have decided to use all GSList instead, but we chose GList (because of its name, initially). * components/tree/nautilus-tree-expansion-state.c: (expansion_state_load_callback), (nautilus_tree_expansion_state_load_table_from_gconf), (hash_table_get_keys_callback), (hash_table_get_keys), (nautilus_tree_expansion_state_save_table_to_gconf): Update to use GList instead of GSList. * libnautilus-extensions/nautilus-gconf-extensions.h: * libnautilus-extensions/nautilus-gconf-extensions.c: (nautilus_gconf_handle_error), (nautilus_gconf_set_string_list), (nautilus_gconf_get_string_list): Change to work with GList instead of GSList to match the rest of Nautilus, so that the lists can be manipulated with all the GList utility functions. * libnautilus-extensions/nautilus-glib-extensions.h: * libnautilus-extensions/nautilus-glib-extensions.c: (nautilus_round): Changed name from nautilus_g_round -- "g" for "gratuitous". (nautilus_g_list_from_g_slist), (nautilus_g_slist_from_g_list): Added utility functions to help make GSLists from GLists and vice versa. Useful when dealing with functions that yield/expect GSLists. * libnautilus-extensions/nautilus-icon-text-item.c: (iti_destroy), (iti_update), (iti_paint_text), (iti_draw), (iti_render), (iti_event): Use nautilus_round by its new name. * libnautilus-extensions/nautilus-preferences.h: * libnautilus-extensions/nautilus-preferences.c: (nautilus_preferences_set_string_list), (nautilus_preferences_get_string_list), (nautilus_preferences_default_set_string_list), (nautilus_preferences_default_get_string_list): Change to use GList instead of GSList. * libnautilus-extensions/nautilus-search-uri.c: (free_tokenized_uri), (tokenize_uri), (get_translated_criterion), (get_nth_criterion_prefix), (parse_uri): Change to use GList instead of GSList. * src/nautilus-application.h: * src/nautilus-application.c: (nautilus_application_get_window_list): Renamed from nautilus_application_windows and changed to use GList instead of GSList. (nautilus_application_destroyed_window), (nautilus_application_create_window), (volume_unmounted_callback): Change to use GList instead of GSList. * src/nautilus-shell.c: (save_window_states), (restore_window_states): Use GList instead of GSList. * src/nautilus-window-manage-views.c: (just_one_window): Use GList instead of GSList. (open_location_prefer_existing_window_callback): Use GList instead of GSList. * src/nautilus-window.c: (nautilus_forget_history): Use GList instead of GSList and the new name for nautilus_application_get_window_list. Other changes. * src/nautilus-shell.c: (display_caveat_first_time): Turn off the caveat -- we're close enough to 1.0. * libnautilus-extensions/nautilus-view-identifier.c: (nautilus_view_identifier_new_from_oaf_server_info): Use free_deep call. * libnautilus/nautilus-view-standard-main.h: Use BEGIN/END_GNOME_DECLS. * src/file-manager/fm-desktop-icon-view.c: Remove unneeded include. |
||
Darin Adler | e37c17c07c |
reviewed by: Maciej Stachowiak <mjs@eazel.com>
Fixed bug 2131 (Change Nautilus to use OAF asynchronous activation interface). In making view activation work right, I also eliminated the state machine that was almost gone from NautilusWindow. There's still some additional simplification we can do, but it's simpler than it was. At the same time, made sure all incoming CORBA calls are deferred until idle time. This is most of what the old state machine was accomplishing, believe it or not, although it didn't do it 100%. Also fixes bug 2457 (Silent error loading content view), bug 2461 (progress from old and new content view sometimes confused), and bug 6109 (Assertion hit on clicking the refresh button many times very quickly). Perhaps others too, we need to test some old bugs to see if they have changed behavior. * libnautilus-extensions/nautilus-bonobo-extensions.c: (activation_handle_done), (activation_idle_callback), (activation_cancel), (oaf_activation_callback), (nautilus_bonobo_activate_cancel): Change implementation so that the actual callback happens at idle time, since CORBA callbacks can happen at almost any time. * libnautilus/Makefile.am: * libnautilus/nautilus-idle-queue.h: * libnautilus/nautilus-idle-queue.c: (execute_queued_functions), (nautilus_idle_queue_new), (nautilus_idle_queue_add), (nautilus_idle_queue_destroy): Factored out the idle queueing that I added to NautilusView so we can use it on the NautilusViewFrame side too. * libnautilus/nautilus-view.c: (queue_incoming_call), (nautilus_view_initialize), (nautilus_view_destroy): Change to use the new NautilusIdleQueue so we can share code. * src/nautilus-view-frame-private.h: * src/nautilus-view-frame-corba.c: (list_free_deep_callback), (free_location_and_selection_callback), (open_in_this_window), (open_prefer_existing_window), (open_force_new_window), (report_selection_change), (report_status), (report_load_underway), (report_load_progress), (report_load_complete), (report_load_failed), (set_title), (impl_Nautilus_ViewFrame_open_location_in_this_window), (impl_Nautilus_ViewFrame_open_location_prefer_existing_window), (impl_Nautilus_ViewFrame_open_location_force_new_window), (impl_Nautilus_ViewFrame_report_selection_change), (impl_Nautilus_ViewFrame_report_status), (impl_Nautilus_ViewFrame_report_load_underway), (impl_Nautilus_ViewFrame_report_load_progress), (impl_Nautilus_ViewFrame_report_load_complete), (impl_Nautilus_ViewFrame_report_load_failed), (impl_Nautilus_ViewFrame_set_title): Deal with all incoming CORBA calls through the idle queue. * src/nautilus-view-frame.h: Moved all the fields into details. Renamed client_loaded to view_loaded. Renamed load_client to load_view. Eliminated load_client_sync. Renamed get_iid to get_view_iid. Eliminated get_is_underway. Added get_is_view_loaded. * src/nautilus-view-frame.c: (nautilus_view_frame_queue_incoming_call): Simple cover for putting an incoming CORBA call on the idle queue. (nautilus_view_frame_initialize_class): Change client_loaded signal name to view_loaded. (nautilus_view_frame_initialize): Allocate the idle queue. (stop_activation): New function that stops a load_view that is underway. (destroy_view): Use the "view" field to tell if a view was loaded. The old code used the "iid" field, but now we set that even before the load is completed. (nautilus_view_frame_destroy): Destroy the idle queue. Also put the view into "failed" state once it's destroyed so additional calls are harmless. (nautilus_view_frame_finalize): Check that we're in the failed state. (emit_zoom_parameters_changed): New function so we can share more code. (view_frame_activated): Emit the zoom_parameters_changed signal here since a new view should always should get this signal. (view_frame_underway): Make this do nothing in the failed case instead of complaining. (view_frame_loaded): Make this do nothing in the failed case instead of complaining. (view_frame_failed): Stop whatever's in progress when the view fails. Also, allow calling this on a view that's already failed. (check_if_view_is_gone): Consolidate the calls to deregister_dead_components so we don't need an explicit call here. (emit_zoom_parameters_changed_callback), (zoom_parameters_changed_callback), (emit_zoom_level_changed_callback), (zoom_level_changed_callback): Redo these so they queue onto the idle queue, since they are triggered by incoming CORBA calls that can happen at any time. (create_corba_objects): Factor out the part of the code that makes the CORBA objects. Make error handling more complete and keep around pointers to the Bonobo objects for various parts of the aggregate so we can connect the appropriate signal handlers. (attach_view): Change code so it no longer connects signals to the BonoboObjectClient, since the signals won't go out on that GtkObject. Connect to the exception signals for all objects in the aggregate (any failure means "view failed"). Also connect to the "destroy" signal for one object (doesn't matter which since the entire aggregate goes away at once) and to the zoom-related signals. Report errors with signals rather than returning a boolean. (activation_callback): Add code to handle failure case. (nautilus_view_frame_load_view): Renamed. Got rid of "sync." version. (nautilus_view_frame_stop): Stop OAF activation of the view if it's in progress. (nautilus_view_frame_selection_changed): Make it a quiet no-op to send a selection change notice if no view is loaded. This helps keep the code simple for sidebars. Later we may make the view frame responsible for sending the selection on once the view is loaded. (nautilus_view_frame_title_changed): Same change as for selection, same idea. (nautilus_view_frame_get_is_zoomable), (nautilus_view_frame_get_zoom_level), (nautilus_view_frame_set_zoom_level), (nautilus_view_frame_get_min_zoom_level), (nautilus_view_frame_get_max_zoom_level), (nautilus_view_frame_get_has_min_zoom_level), (nautilus_view_frame_get_has_max_zoom_level), (nautilus_view_frame_get_is_continuous), (nautilus_view_frame_get_preferred_zoom_levels), (nautilus_view_frame_zoom_in), (nautilus_view_frame_zoom_out), (nautilus_view_frame_zoom_to_fit): Since a failed view has a zoomable_frame field set to NULL, got rid of all the explicit failure-case code for these functions. (nautilus_view_frame_get_view_iid): Renamed from get_iid. (nautilus_view_frame_report_load_underway), (nautilus_view_frame_report_load_complete), (nautilus_view_frame_report_load_failed): Moved the "quiet" handling of failed views down into the underlying functions, so these no longer need explicit failure-case code. (nautilus_view_frame_set_label): It's OK to allow this even for a failed view. (nautilus_view_frame_map): Use a kept-around reference to the control frame instead of relying on query_local_interface. (nautilus_view_frame_get_is_view_loaded): Add this so callers can tell when a sidebar view is not yet loaded. Might not need this when we clean things up more, but it's no big deal either way. * src/nautilus-window-manage-views.c: (update_title): No need to send the title change to the new content view -- it gets a title change once it comes up "for real". (set_displayed_location): Handle location of NULL here so we don't need to worry about it elsewhere. (check_bookmark_location_matches): Remove "uri" from name. (location_has_really_changed): Now that the state machine is gone, it's easy to see that this is never called with pending_ni equal to cancel_tag, so remove the code for that and add an assert. (set_view_location_and_selection): New name for what was called update_view. (set_sidebar_panels_location_and_selection): Cover since this loop occurs in two places. (update_for_new_location_and_selection): New name for what was called set_view_location_and_selection. Since it's now clear this can't be called with new_content_view equal to NULL, remove the code to handle that (fixes bug 2457). (load_content_view): Use async. view loading here. Get rid of "Avoid being fooled by extra done notifications from the last view. This is a HACK because the state machine SUCKS." by eliminating the "cv_progress_done" and "cv_progress_error" flags altogether. In the case where we reuse the same view, just call update_for_new_location_and_selection -- the old code set "view_activation_complete", but I eliminated that flag. (handle_view_failure): Remove the old view using nautilus_window_set_content_view_widget instead of having duplicate code here. Use a call to cancel_location_change instead of setting the "reset_to_idle" and "cv_progress_error" flags (both gone now). (free_location_change): No need to clean up "error_views" any more, because that field is gone. (end_location_change): New helper to stop the throbber from throbbing and then free the location change state. (cancel_location_change): Get rid of special case for NULL location now that set_displayed_location can handle it. (nautilus_window_end_location_change_callback): Remove "superstitiously" added call to update_state and call load_content_view_for_new_location directly. (nautilus_window_begin_location_change): Use a call to cancel_location_change to deal with the possibility that we may have a change already in progress. (nautilus_window_stop_loading): Use cancel_location_change to stop the loading. (nautilus_window_set_content_view): Remove calls to update_state -- there's no state to update any more. (nautilus_window_set_sidebar_panels): Do an async. load here and finish the setup in the view_loaded callback. (failed_callback): Do a handle_view_failed right here, now that we have no state machine to satisfy. (load_underway_callback): Change code to handle the two interesting cases separately without a state machine. When the new content view says "underway", it's time for location_has_really_changed. When an existing content view says "underway", we restart the throbber (fixes 1/2 of bug 2461). (load_complete_callback): Since view frames now ensure we get an underway call before a complete call, we can simplify the logic. If the main content view says "complete", it's time to stop the throbber (fixes other 1/2 of bug 2461). (view_loaded_callback): Renamed the client_loaded callback. Also made it update location and selection for sidebar panels when they are loaded. Also made it update the title for any view when it's loaded. * src/nautilus-window.h: * src/nautilus-window.c: (nautilus_window_synch_view_as_menu): Handle case of NULL content view. (nautilus_window_set_content_view_widget): Destroy the view when it's going away instead of removing it from the parent. Also make this function handle the NULL case so we can use it to remove the old view, not just to add the new one. * libnautilus-extensions/nautilus-bonobo-extensions.h: Whitespace tweak. * src/nautilus-sidebar.c: (nautilus_sidebar_active_panel_matches_id): Update for nautilus_view_frame_get_view_iid name change. |
||
Seth Nickell | b535c341a2 |
Holy piss sprinkled on this by Arik <arik@eazel.com>
Fri Jan 26 23:58:42 2001 George Lebl <jirka@5z.com> Holy piss sprinkled on this by Arik <arik@eazel.com> * components/adapter/main.c (main) components/help/hyperbola-main.c (main) components/image-viewer/nautilus-image-view.c (init_server_factory) components/mozilla/main.c (main) components/music/main.c (main) components/notes/nautilus-notes.c (main) components/services/install/nautilus-view/main.c (main) components/services/inventory/main.c (main) components/services/login/nautilus-view/main.c (main) components/services/summary/nautilus-view/main.c (main) components/shell/shell.c (init_bonobo) components/text/main.c (main) components/throbber/main.c (main) components/tree/main.c (main) libnautilus/nautilus-view-standard-main.c (nautilus_view_standard_main_multi): Add gnome_client_disable_master_connection call to all out of process component main functions since they should not register with the session manager. Fixes bug #6051 2001-01-26 Seth Nickell <seth@eazel.com> |
||
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. |
||
Darin Adler | 78ca16a050 |
Updated based on recent check-ins and other contributions.
* AUTHORS: * THANKS: * src/nautilus-window-menus.c: (help_menu_about_nautilus_callback): Updated based on recent check-ins and other contributions. * check-THANKS.pl: Updated to check the about list against the AUTHORS file and to fix some other things. * libnautilus/nautilus-view-component.idl: Fix a comment and remove a stray empty line. |
||
Maciej Stachowiak | 3e3deab1d3 |
reviewed by: Pavel Cisler <pavel@eazel.com>
Fixed bug 5943 (Throbber crashes on nautilus startup (crashing Nautilus) with some themes and configurations) * components/help/hyperbola-main.c: (main): * components/image-viewer/nautilus-image-view.c: (init_server_factory): * components/mozilla/main.c: (main): * components/music/main.c: (main): * components/notes/nautilus-notes.c: (main): * components/services/install/nautilus-view/main.c: (main): * components/services/login/nautilus-view/main.c: (main): * components/services/summary/nautilus-view/main.c: (main): * components/shell/shell.c: * components/text/main.c: (main): * components/throbber/main.c: (main): * components/tree/main.c: (main): * libnautilus/nautilus-view-standard-main.c: (nautilus_view_standard_main_multi): * nautilus-installer/src/main.c: (main): * src/nautilus-main.c: (main): Added gdk_rgb_init calls. The throbber one was causing a real 100% reproducible crash for me on Nautilus startup, the rest are pre-emptive. |
||
Darin Adler | e82bab8c49 |
reviewed by: John Sullivan <sullivan@eazel.com>
Fixed bug 2147 (NautilusFile for trash needs non-empty values for more properties), bug 5652 (MIME type field appears but shouldn't in properties window for Trash), and bug 4620 (trash sidebar should show number of items). * libnautilus-extensions/nautilus-file.h: * libnautilus-extensions/nautilus-file-private.h: * libnautilus-extensions/nautilus-file.c: (nautilus_file_new_from_relative_uri): Create trash file subclass when appropriate. (nautilus_file_info_missing): Rename so it can be used in other source files. (nautilus_file_get_date): New method that returns numeric dates. (nautilus_file_get_date_as_string): Change to call nautilus_file_get_date to get the numeric date. (nautilus_file_get_file_type): Turn into a method. * libnautilus-extensions/nautilus-merged-directory.h: * libnautilus-extensions/nautilus-merged-directory.c: (merged_call_when_ready): Rolled in the old merged_callback_connect_directory function. (merged_contains_file): Moved down to a more appropriate part of the source file. (nautilus_merged_directory_get_real_directories): New public function for use by trash. * libnautilus-extensions/nautilus-trash-file.c: (trash_callback_hash), (trash_callback_equal), (trash_callback_destroy), (trash_callback_check_done), (trash_callback_remove_file), (ready_callback), (real_file_changed_callback), (monitor_add_file), (add_real_file), (trash_callback_remove_file_cover), (monitor_remove_file), (remove_real_file), (add_real_file_given_directory), (add_directory_callback), (remove_directory_callback), (trash_file_call_when_ready), (trash_file_cancel_call_when_ready), (trash_file_check_if_ready), (trash_file_monitor_add), (trash_file_monitor_remove), (trash_file_get_file_type), (trash_file_get_item_count), (trash_file_get_deep_counts), (trash_file_get_date), (remove_all_real_files), (nautilus_trash_file_initialize), (trash_destroy), (nautilus_trash_file_initialize_class): New code. First implementation of getting some attributes for the merged trash. Gets list of directories from the NautilusTrashDirectory object. The code in here is similar to the NautilusMergedDirectory class and at some point perhaps we can make the two share more. * libnautilus-extensions/nautilus-vfs-file.c: (vfs_file_get_file_type), (vfs_file_get_date), (nautilus_vfs_file_initialize_class): Implement the two new methods for the standard vfs case. Fixed various things that affect the properties window for the trash that showed up while I was testing the above work: * libnautilus-extensions/nautilus-icon-factory.c: (nautilus_icon_factory_get_icon_name_for_regular_file), (nautilus_icon_factory_get_icon_name_for_file): Move trash special case out so it doesn't matter what type the trash seems to be. The old code relied on trash not being a directory. * src/file-manager/fm-properties-window.c: (create_properties_window), (create_properties_window_callback), (cancel_create_properties_window_callback), (directory_view_destroyed_callback), (remove_pending_file): Rework code to fix problems where the timed wait or the signal handler wasn't properly cleaned up. Fixed remaining bit of bug 5631 (Tear-offs of right-click menus don't work.): * src/file-manager/nautilus-desktop-icon-view-ui.xml: Mark Disks right-click submenu so it won't get a tear-off item. Fixed bug 5650 (nautilus --quit fails to return to prompt sometimes): * src/nautilus-application.c: (nautilus_application_startup): Add special case so "nautilus --quit" doesn't hang waiting for a response from the (now quit) "server" instance of Nautilus. * src/nautilus-shell-interface.idl: Had to make the quit call no longer be "oneway" to get it to work right, otherwise the quit message could be lost when the sending application exited too fast. Fix bug 5675 (Nitpicks in new "could not be moved to new special location" dialog): * libnautilus-extensions/nautilus-file-operations.c: (handle_transfer_overwrite): Updated message wording as Eli (and Vera) suggest. Other changes: * libnautilus-extensions/nautilus-view-identifier.c: (get_lang_list): Fix comment and a small storage leak in the case where lang_with_locale is non-NULL but empty. * po/POTFILES.ignore: Obsolete file, no longer used. * src/file-manager/fm-desktop-icon-view.c: (update_home_link_and_delete_copies): Update comment to help translators understand better. * libnautilus-extensions/nautilus-directory-async.c: (directory_load_callback): Added a new assertion that could help in future gnome-vfs debugging. * libnautilus/nautilus-view-component.idl: Removed long-ago-fixed FIXME comment. * src/nautilus-window-manage-views.c: Tweak spacing. |