* components/news/nautilus-news.c: (draw_rss_logo_image),
(draw_rss_items), (nautilus_news_configure_event),
(nautilus_news_button_release_event), (update_size_and_redraw),
(nautilus_news_size_allocate), (make_news_view):
attach to size_allocate signal to properly resize the panel
when the width changes, as well as for the first time when the
size isn't allocated yet; don't draw the time when it overlaps
the logo, plus other clean-ups.
* nautilus-clean.sh:
fixed recently introduced problem in nautilus-clean by replacing
'==' with '=' as suggested by Darin.
Fix bug 7963 (exiting Nautilus [with Ctrl-C for example] leaves
nautilus-adapter behind):
* src/nautilus-component-adapter-factory.c: (activate_factory),
(unref_factory), (release_factory), (get_corba_factory),
(nautilus_component_adapter_factory_initialize),
(nautilus_component_adapter_factory_destroy),
(nautilus_component_adapter_factory_initialize_class),
(component_adapter_factory_at_exit_destructor),
(nautilus_component_adapter_factory_get),
(nautilus_component_adapter_factory_create_adapter): Redo so it
creates the factory as needed, and doesn't keep a Bonobo reference
to the factory so it will die if Nautilus goes away.
* nautilus-clean.sh: Redo option parsing to use loop.
* components/throbber/main.c: (main): Fix main function to match
standard main. Tweak formatting.
Fix bug where theme selector would not show themes when the theme
directory is a symlink.
* src/nautilus-theme-selector.c:
(nautilus_theme_selector_destroy): Small code cleanup.
(vfs_file_exists): Pass GNOME_VFS_FILE_INFO_FOLLOW_LINKS.
(populate_list_with_themes_from_directory): Pass
GNOME_VFS_FILE_INFO_FOLLOW_LINKS.
More work on making components go away if Nautilus is prematurely
terminated.
* src/nautilus-window-toolbars.c:
(nautilus_window_initialize_toolbars): Don't create a throbber for
the desktop, since it doesn't get killed reliably since it never
gets an X window.
* src/nautilus-window.c: (nautilus_window_constructed),
(nautilus_window_destroy), (nautilus_window_allow_stop): Do some
minor cleanup of throbber code.
* nautilus-clean.sh: Add an option to just display the processes
and not kill them. Useful for me when I'm writing code that's
designed to make the processes go away. Also remove the gconfd
saved state file if we kill gconfd (only nautilus-clean.sh -x) for
maximum cleanliness (but also maximum unhappiness for any
remaining gconf clients).
fixed bug 4369, throbber frozen during long refresh, by making the
throbber a bonobo component so it's driven by its own thread.
Note that clicking on the throbber is temporarily broken; I'll
fix that soon. Also, made the frame delay be specified by the
theme and set the default to spin somewhat slower than before.
* configure.in:
* components/Makefile.am:
* components/throbber/.cvsignore:
* components/throbber/Makefile.am:
* components/throbber/nautilus-throbber.oafinfo:
added throbber component
* components/throbber/main.c: (throbber_object_destroyed),
(throbber_make_object), (main):
factory for the throbber component
* components/throbber/nautilus-throbber.c,h:
(nautilus_throbber_initialize_class), (is_throbbing),
(get_bonobo_properties), (set_bonobo_properties),
(nautilus_throbber_destroy), (nautilus_throbber_get_control),
(get_throbber_dimensions), (nautilus_throbber_initialize),
(nautilus_throbber_new), (nautilus_throbber_theme_changed),
(draw_pixbuf), (select_throbber_image), (draw_throbber_image),
(nautilus_throbber_draw), (nautilus_throbber_expose),
(nautilus_throbber_map), (bump_throbber_frame),
(nautilus_throbber_start),
(nautilus_throbber_remove_update_callback),
(nautilus_throbber_stop), (nautilus_throbber_unload_images),
(load_themed_image), (make_throbber_frame_name),
(nautilus_throbber_load_images),
(nautilus_throbber_button_press_event),
(nautilus_throbber_set_small_mode),
(nautilus_throbber_size_allocate),
(nautilus_throbber_size_request):
throbber widget for the bonobo component
* src/nautilus-window-toolbars.c: (theme_changed_callback),
(nautilus_window_initialize_toolbars):
set up throbber component in the toolbar
* src/nautilus-window.c,h: (nautilus_window_constructed),
(nautilus_window_allow_stop):
use property interface to start and stop the throbber
* icons/default.xml:
added delay specification to throbber in default theme
* nautilus-clean.sh:
clean throbber component as necessary
* src/Makefile.am:
* src/nautilus-throbber.c,h
removed old throbber widget
* components/text/nautilus-text-view.c:
(nautilus_text_view_initialize), (add_one_service),
(update_service_menu_items), (merge_bonobo_menu_items):
fixed problem with "command/verb separation", and added support
for the clipboard to the text view.
* nautilus-clean.sh:
added nautilus-text-view to nautilus-clean.sh
* data/emblems/Makefile.am:
* data/emblems/danger.png:
* icons/Makefile.am:
* icons/emblem-danger.svg:
added danger emblem from Susan
* icons/i-executable.png:
* icons/i-executable-aa.png:
fixed bug 4691, executable icon looks like KDE icon, by using
a new icon from Susan
* src/file-manager/fm-icon-view.c:
(icon_container_preview_callback):
fixed bug 4926, Nautilus tries to preview realaudio files but
can't, by special casing the realaudio mime type. Also, cleaned
things up a little by removing redundant is_local call.
* components/music/Makefile.am: Install a nautilus-mpg123 symlink
that points to the real mpg123 if it exists on the system.
* components/music/mpg123_handler.c (start_playing_file): Run nautilus-mpg123
* nautilus-clean.sh: Kill nautilus-mpg123
* nautilus-spec.in: Install the nautilus-mpg123 symlink
2000-11-02 Rebecca Schulman <rebecka@eazel.com>
Clean up some of the "human" strings for search uris,
mostly so the translation scheme doesn't fail and
leave a search uri sitting around
* libnautilus-extensions/nautilus-search-uri.c:
update structures to correspond to latest search uri
spec
* nautilus-clean.sh:
removed mpg123 (it kept interrupting my cds) and
a duplicate summary view copy
[New Thread 2371]
[New Thread 2372]
2000-10-27 Josh Barrow <josh@eazel.com>
* README:
Add more info to what Robin just checked in.
* nautilus-clean.sh:
Add more things to clean up after.
* README: libunicode, libglade, and eog are no longer required.
* components/history/nautilus-history-view.c:
(history_title_changed):
* libnautilus/nautilus-view-component.idl:
* libnautilus/nautilus-view.c: (impl_Nautilus_View_title_changed),
(nautilus_view_initialize_class):
* libnautilus/nautilus-view.h:
* src/nautilus-view-frame.c: (nautilus_view_frame_title_changed):
* src/nautilus-view-frame.h:
Added title parameter for the title_changed function.
* src/nautilus-view-frame.c:
(nautilus_view_frame_report_load_complete): Got rid of extra
emission of report_load_complete, which is handled by
view_frame_loaded now.
* libnautilus-extensions/nautilus-background.c:
(nautilus_background_initialize_class):
* libnautilus-extensions/nautilus-entry.c:
(nautilus_entry_initialize_class):
* libnautilus-extensions/nautilus-icon-text-item.c:
(iti_class_init):
* libnautilus-extensions/nautilus-list.c:
(nautilus_list_initialize_class):
* src/nautilus-bookmark-list.c:
(nautilus_bookmark_list_initialize_class):
* src/nautilus-navigation-bar.c:
(nautilus_navigation_bar_initialize_class):
* src/nautilus-search-bar-criterion.c:
(nautilus_search_bar_criterion_initialize_class):
* src/nautilus-sidebar.c: (nautilus_sidebar_initialize_class):
* src/nautilus-switchable-navigation-bar.c:
(nautilus_switchable_navigation_bar_initialize_class):
Use GTK_RUN_LAST instead of GTK_RUN_FIRST.
* libnautilus-extensions/nautilus-directory-background.c:
* libnautilus-extensions/nautilus-link-set.c:
* libnautilus-extensions/nautilus-link.c:
* src/file-manager/fm-icon-text-window.c:
* src/file-manager/fm-icon-view.c:
* src/file-manager/fm-properties-window.c:
* src/nautilus-complex-search-bar.c:
* src/nautilus-link-set-window.c:
* src/nautilus-simple-search-bar.c:
* src/nautilus-switchable-search-bar.c:
Add includes needed now that the #include <gnome.h> was removed
from nautilus-global-preferences.h.
* libnautilus-extensions/nautilus-string.h:
* libnautilus-extensions/nautilus-string.c:
(nautilus_strcmp_case_breaks_ties): Added function, like
g_strcasecmp, but falls back on strcmp for strings that match
case-insensitive-wise.
(nautilus_istr_compare): Use nautilus_strcmp_case_breaks_ties
instead of nautilus_strcasecmp.
* libnautilus-extensions/nautilus-file.c:
(nautilus_file_compare_by_name): Use
nautilus_strcmp_case_breaks_ties instead of g_strcasecmp.
(nautilus_file_compare_by_directory_name): Use
nautilus_strcmp_case_breaks_ties instead of g_strcasecmp.
(get_automatic_emblems_as_integer): Convert automatic emblems to
integer form for simple sorting.
(prepend_automatic_emblem_names): Separate out the code that puts
on automatic emblem names, and make it put them first, before any
keyword-based emblems.
(nautilus_file_compare_by_emblems): Compare the automatic emblems
first, using the integer form.
(nautilus_file_compare_by_type): Use
nautilus_strcmp_case_breaks_ties instead of nautilus_strcmp.
(nautilus_file_compare_for_sort): Use
nautilus_strcmp_case_breaks_ties instead of g_strcasecmp.
(nautilus_file_compare_name): Use nautilus_strcmp_case_breaks_ties
instead of g_strcasecmp.
(nautilus_file_is_mime_type): Use nautilus_strcasecmp instead of
nautilus_strcmp.
(nautilus_file_get_emblem_names): Use
prepend_automatic_emblem_names.
(sort_keyword_list_and_remove_duplicates): Sort with
nautilus_strcmp_case_breaks_ties instead of
compare_emblem_names. Automatic emblem names are now dealt with
elsewhere.
* libnautilus-extensions/nautilus-icon-container.c:
(compare_icons_by_name): Use nautilus_strcmp_case_breaks_ties
instead of nautilus_strcasecmp.
* libnautilus-extensions/nautilus-glib-extensions.c:
(nautilus_g_str_list_sort): Use nautilus_str_compare.
(nautilus_g_str_list_sort_case_insensitive): Use
nautilus_istr_compare.
* components/services/vault/command-line/main.c: (main):
* test/test-nautilus-mime-actions-set.c: (str_to_action_type):
Use g_strcasecmp, not strcasecmp, for portability.
* libnautilus-extensions/nautilus-global-preferences.h:
* libnautilus-extensions/nautilus-global-preferences.c:
Removed _get_disabled_sidebar_panel_view_identifiers since the
logic now removes any not in the enabled list instead.
* libnautilus-extensions/nautilus-view-identifier.h:
* libnautilus-extensions/nautilus-view-identifier.c:
(nautilus_view_identifier_list_copy): New function.
(nautilus_view_identifier_compare): Now sorts properly instead of
returning 1 for any two identifiers that are !=.
* nautilus-clean.sh: Removed unadorned gconfd now that it's
ancient history and because it makes the script seem to fail all
the time.
* src/nautilus-window-manage-views.h:
* src/nautilus-window-manage-views.c:
(compute_title): Renamed to a shorter name since it's a local function.
(update_title): Renamed to a shorter name since it's a local
function and made it do nothing if the title is already correct.
(nautilus_window_update_internals): Simplified code by using the
new cached title.
(nautilus_window_has_really_changed): Removed sidebar panel logic
that is no longer needed.
(nautilus_window_free_load_info): Remove some unused fields.
(nautilus_window_open_location): Removed unused parameter.
(nautilus_window_open_location_in_new_window): Removed unused
parameter.
(load_content_view): Renamed to shorter name since it's a local
function.
(handle_view_failure), (cancel_location_change),
(load_view_for_new_location), (set_view_location_and_selection):
Broke out big pieces of code used by the state machine. Soon we
won't have a state machine at all, but we'll still need functions
like these.
(nautilus_window_update_state): Removed a lot of the code and
broke the remaining bits into the above functions.
(nautilus_window_set_state_info): Removed sidebar management code
and some now-unused state variables.
(nautilus_window_stop_loading): Moved this function in here and
renamed it so the whole state machine is in one place.
(nautilus_window_set_content_view): Moved this function in here
and renamed it so the whole state machine is in one place.
(compare_view_identifier_with_iid),
(nautilus_window_set_sidebar_panels): Wrote new code to set up the
sidebar panels based on a list of view identifiers, based on the
code that was used before when preferences change. Moved here so
the whole state machine is in one place.
* src/nautilus-window-toolbars.c: (toolbar_stop_callback): Call
the new function nautilus_window_stop_loading.
* src/nautilus-window-private.h:
* src/nautilus-window.h:
* src/nautilus-window.c: (nautilus_window_initialize_class):
Removed the "content_view" argument.
(nautilus_window_goto_uri): Removed the view frame parameter from
the open_location call.
(nautilus_window_constructed): Set up sidebars based on
preferences when the window is created.
(nautilus_window_set_arg): Removed the "content_view" argument.
(nautilus_window_get_arg): Removed the "content_view" argument.
(view_menu_switch_views_callback): Call the new function
nautilus_window_set_content_view.
(chose_component_callback), Call the new function
nautilus_window_set_content_view.
(nautilus_window_open_location_callback): Removed the view frame
parameter from the open_location call.
(nautilus_window_open_location_in_new_window_callback): Removed
the view frame parameter from the open_location_in_new_window
call.
(nautilus_window_connect_view): Don't connect to
report_load_progress any more. The view frame now handles this for
us.
(nautilus_window_set_content_view_widget): Renamed this to avoid
confusion with the new nautilus_window_set_content_view which is
used to change content views, given a new view identifier.
(update_sidebar_panels_from_preferences): Renamed and changed to
use the new nautilus_window_set_sidebar_panels call.
fixing 2576, 2577, 2578, 2579 and 2580.
* components/adapter/nautilus-adapter-embed-strategy.h,
components/adapter/nautilus-adapter-embed-strategy.c: Abstract
interface for embedding various kinds of Bonobo components.
* components/adapter/nautilus-adapter-embed-strategy-private.h:
Header inclusing a `protected' call to emit a signal.
* components/adapter/nautilus-adapter-control-embed-strategy.h,
components/adapter/nautilus-adapter-control-embed-strategy.c:
Concrete subclass for embedding a Control.
* components/adapter/nautilus-adapter-embeddable-embed-strategy.h,
components/adapter/nautilus-adapter-embeddable-embed-strategy.c:
Concrete subclass for embedding an Embeddable.
* components/adapter/Makefile.am: Add new files.
* components/adapter/nautilus-adapter-progressive-load-strategy.c
(nautilus_adapter_progressive_load_strategy_load_location): Fixed
incorrect GnomeVFSFIleInfo handling and removed a printf.
* components/adapter/nautilus-adapter-stream-load-strategy.c:
(nautilus_adapter_stream_load_strategy_load_location,
nautilus_adapter_stream_load_strategy_stop_loading): Removed print
statements.
* components/adapter/nautilus-adapter.c:
(nautilus_adapter_destroy): Free stuff.
(nautilus_adapter_new): Use the new embed strategy stuff.
(nautilus_adapter_open_location_callback): callback for signal
handler attached to embed strategy.
* src/nautilus-view-frame-bonobo-control.c,
src/nautilus-view-frame-bonobo-embeddable.c: Removed.
* src/nautilus-view-frame-private.h, src/Makefile.am: Remove
mentions of the two preceding files.
* src/nautilus-view-frame.c (nautilus_view_frame_load_client): Use
the adapter to host non-nautilus-native components.
* nautilus-clean.sh: Added image view.
actually use the adapter yet, but it sort of works on my system.
* nautilus-clean.sh: Added nautilus-adapter
* components/adapter/main.c (main): Do the stop in debugger
trick. Also, initialize gnome-vfs (and threads). Duh!
* components/adapter/nautilus-adapter-factory-server.c
(impl_Nautilus_ComponentAdapterFactory_create_adapter):
CORBA_Object_duplicate the object reference we return, because
CORBA's just cool like that.
* components/adapter/nautilus-adapter.c
(nautilus_adapter_new): Show me the widgets, Lebowski. That's
right, a few missing gtk_widget_show calls were the only bugs in
this hairy mess of CORBA/Bonobo code (well, other than the obvious
resource leaks).
* components/adapter/nautilus-adapter.oafinfo: Updated to match
reality.
* libnautilus-extensions/nautilus-icon-factory.c
(vfs_file_exists, nautilus_make_directory_and_parents,
make_thumbnail_path, nautilus_icon_factory_get_thumbnail_uri,
check_for_thumbnails): Put FIXMEs for a bunch of synchronous I/O
that is making it a pain in the ass to test 1994.
* src/nautilus-component-adapter-factory.c:
Fill in the right IID.
(nautilus_component_adapter_factory_initialize): Allocate the details.
(nautilus_component_adapter_factory_create_adapter): Return the
actual adapted view, not CORBA_OOBJECT_BIL (hello?).
* src/nautilus-main.c (main): Add "ORBit" log domain to ones that
stop in the debugger.
* components/hardware/nautilus-hardware-view.c:
(nautilus_hardware_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/mozilla/nautilus-mozilla-content-view.c:
(nautilus_mozilla_content_view_destroy):
* components/music/nautilus-music-view.c:
(nautilus_music_view_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/time/nautilus-view/trilobite-eazel-time-view.c:
(trilobite_eazel_time_view_destroy):
* components/tree/nautilus-tree-view.c:
(nautilus_tree_view_destroy):
Removed a bunch of incorrect calls to bonobo_object_unref.
An error in the sample can be an insidious thing.
* components/tree/main.c: (tree_object_destroyed),
(tree_make_object), (main): Removed some stray debugging stuff.
* libnautilus-extensions/Makefile.am: Got rid of the grid
* libnautilus-extensions/nautilus-icon-private.h: Got rid of the
grid.
* libnautilus-extensions/nautilus-icon-container.c:
(keyboard_icon_reveal_timeout_callback): Took out unneeded use of
thread locking macros. Maybe someday I'll regret this, but we can
add them back then.
(get_all_icon_bounds): Added shared function.
(update_scroll_region): Renamed set_scroll_region and made it use
the shared function. Also got rid of grid code.
(resort): Got rid of grid code.
(lay_down_icons): Got rid of grid code.
(relayout): Made it lay down new icons before doing any layout
work. Also made sure it doesn't do the resort while stretching.
(reload_icon_positions): Got rid of grid code.
(rubberband_select): Got rid of grid code. This was the one place
that it might have made things a little faster but probably not
due to the complexity of what it was doing.
(rubberband_timeout_callback): Took out unneeded use of thread
locking macros. Maybe someday I'll regret this, but we can add
them back then.
(destroy): Got rid of grid code.
(world_width_changed): Got rid of grid code.
(nautilus_icon_container_initialize): Got rid of grid code and
an extra idle cycle that wasn't needed.
(nautilus_icon_container_clear): Got rid of grid code and added
code to update the scroll region on clear.
(icon_destroy): Got rid of grid code.
(assign_icon_position), (finish_adding_icon),
(finish_adding_new_icons), (finish_adding_new_icons_callback),
(nautilus_icon_container_add): Replaced old idle code with
something specific to adding new icons. This does the proper
layout for manual as well as automatic layout cases.
* libnautilus-extensions/nautilus-background.h:
* libnautilus-extensions/nautilus-background.c:
(nautilus_background_initialize_class): Made two signals instead
of one. One for when the background's settings change and another
for when the appearance changes.
(nautilus_background_set_color): Emit both signals.
(load_image_callback): Emit only the appearance change signal.
(nautilus_background_set_tile_image_uri): Emit both signals.
(nautilus_get_widget_background): Connect to the
appearance_changed signal.
* libnautilus-extensions/nautilus-directory-background.c:
(nautilus_connect_background_to_directory_metadata):
Connect to the settings_changed signal.
* src/file-manager/fm-directory-view.c:
(fm_directory_view_real_merge_menus): Connect to the
settings_changed signal.
* src/nautilus-sidebar.c: (nautilus_sidebar_update_info): Connect
to the appearance_changed signal.
* components/music/nautilus-music-view.c:
(nautilus_music_view_set_up_background): Connect to the
settings_changed signal.
* HACKING: Gratuitious reformatting.
* RENAMING: Added notes about how we do renaming, at the request
of one of the hackers.
* nautilus-clean.sh: Added nautilus-tree-view to the things that
are killed, and made gratuitous changes to the script.
cases. Two new components called "Content Loser" and "Sidebar
Loser" will fail on startup based on environment variables or in
response to menu or toolbar items (Darin suggested using silly
names, though not these specific ones).
* components/loser/README: Some docs on making the new components
fail.
* components/loser/content/main.c,
components/loser/content/nautilus-content-loser.c,
components/loser/content/nautilus-content-loser.h: New content
view which fails on demand.
* components/loser/content/nautilus-content-loser.oafinfo: oaf
activation record for it.
* components/loser/sidebar/main.c,
components/loser/sidebar/nautilus-sidebar-loser.c,
components/loser/sidebar/nautilus-sidebar-loser.h: New sidebar
panel that fails on demand.
* components/loser/sidebar/nautilus-sidebar-loser.oafinfo: oaf
activation record for it.
* components/Makefile.am, components/loser/Makefile.am,
components/loser/content/Makefile.am,
components/loser/sidebar/Makefile.am, configure.in: Added loser
components to build.
* nautilus-clean.sh: Added loser components to nautilus-clean.sh
* nautilus-clean.sh: Simple shell script to check if any of the
auxiliary processes nautilus might launch are still running, and
if so, report which ones and kill them. Total hack for dev/testing
use only; should not be distributed.