views that have 0 files)
* src/file-manager/fm-directory-view.c:
(no_items_showing): New function, checks directory item
count. I can trust this now that the directory item count
filters the same way the directory view does, thanks to
rebecka's recent change.
(compute_menu_item_info): Use no_items_showing to set the
sensitivity of "Select All Files".
* libnautilus-extensions/nautilus-preference.c:
(nautilus_self_check_preference): Unref an object that was
leaking.
* libnautilus-extensions/nautilus-string-list.c:
(nautilus_self_check_string_list): Unref an object that was
leaking.
* libnautilus-extensions/nautilus-user-level-manager.c:
(user_level_manager_destroy): Allow destroying.
(unref_user_level_manager): Unref the user level manager.
(user_level_manager_ensure_global_manager): Unref the user level
manager at exit time.
* src/nautilus-main.c: (main): Free the context even in the
self-check case.
* tools/leak-checker/nautilus-leak-checker.c:
(nautilus_leak_record_malloc), (nautilus_leak_record_realloc),
(nautilus_leak_record_free) : Don't gather stats on the blocks as
the leaks are recorded. Instead build them at print time.
(total_one_leak): Compute totals for printing.
(create_bad_names_hash_table): Make a hash table to use to check
if a name is one of the "allowed to leak" functions.
(is_stack_crawl_good): Reject stack crawls from things that are
allowed to leak. "good" here means "worth keeping".
(print_one_leak): Don't print any "?" if there's only a single
leak, since all levels of the stack crawl are valid then.
(nautilus_leak_print_leaks): Filter out expected leaks.
(g_list_alloc), (g_list_free), (g_list_free_1), (g_node_new),
(g_nodes_free), (g_node_destroy): Versions of these functions that
use malloc/free instead of mem. chunks so we can accurately gauge
leaks of these data types.
* tools/leak-checker/nautilus-leak-hash-table.h:
* tools/leak-checker/nautilus-leak-hash-table.c:
(nautilus_leak_hash_table_filter): Function for use by new
filtering code.
* tools/leak-checker/nautilus-leak-symbol-lookup.h:
* tools/leak-checker/nautilus-leak-symbol-lookup.c:
(nautilus_leak_get_function_name): Function for use by new
filtering code.
2000-09-21 Mathieu Lacage <mathieu@eazel.com>
* libnautilus-extensions/nautilus-bookmark.c:
(bookmark_file_changed_callback): replace strcmp by
nautilus_uri_matchs: this took me a lot of time to find
out.
* libnautilus-extensions/nautilus-directory.c:
(nautilus_directory_get_internal): remove is_canonical_uri
* libnautilus-extensions/nautilus-file-utilities.c:
(nautilus_uri_is_local_scheme), (nautilus_handle_trailing_slashes),
(nautilus_make_uri_canonical), (nautilus_uri_is_canonical_uri),
(nautilus_self_check_file_utilities): make nautilus know the difference
between foo and foo/ so that we do not cache too aggressively.
* libnautilus-extensions/nautilus-file-utilities.h: add prototype for
nautilus_uri_is_canonical.
2000-09-21 Rebecca Schulman <rebecka@eazel.com>
Cut and pasted the gtkclist widget into
nautilus. Fixed bugzilla.eazel.com 481,
to reflect user file filtering preferences
in directory counts, and in the process,
fixed bug 480.
* configure.in:
* cut-n-paste-code/widgets/.cvsignore:
* cut-n-paste-code/widgets/Makefile.am:
* cut-n-paste-code/widgets/gtkclist/.cvsignore:
* cut-n-paste-code/widgets/gtkclist/Makefile.am:
* cut-n-paste-code/widgets/gtkclist/gtkclist.c:
* cut-n-paste-code/widgets/gtkclist/gtkclist.h:
(COLUMN_FROM_XPIXEL), (LIST_WIDTH), (gtk_clist_get_type),
(gtk_clist_class_init), (gtk_clist_set_arg), (gtk_clist_get_arg),
(gtk_clist_init), (gtk_clist_construct), (gtk_clist_new),
(gtk_clist_new_with_titles), (gtk_clist_set_hadjustment),
(gtk_clist_get_hadjustment), (gtk_clist_set_vadjustment),
(gtk_clist_get_vadjustment), (gtk_clist_set_scroll_adjustments),
(gtk_clist_set_shadow_type), (gtk_clist_set_selection_mode),
(gtk_clist_freeze), (gtk_clist_thaw),
(gtk_clist_column_titles_show), (gtk_clist_column_titles_hide),
(gtk_clist_column_title_active), (gtk_clist_column_title_passive),
(gtk_clist_column_titles_active),
(gtk_clist_column_titles_passive), (gtk_clist_set_column_title),
(gtk_clist_get_column_title), (gtk_clist_set_column_widget),
(gtk_clist_get_column_widget),
(gtk_clist_set_column_justification),
(gtk_clist_set_column_visibility),
(gtk_clist_set_column_resizeable),
(gtk_clist_set_column_auto_resize), (gtk_clist_columns_autosize),
(gtk_clist_optimal_column_width):
* src/file-manager/Makefile.am:
Add include of the cut-n-paste-code directory,
so we can access the clist.
* libnautilus-extensions/Makefile.am:
include the new static gtkclist library
* libnautilus-extensions/nautilus-list.h:
include the cut and pasted widget instead
of the gtk one.
* libnautilus-extensions/nautilus-directory-async.c:
(get_filter_options_for_directory_count),
(start_getting_directory_counts):
Add command to get filtering options for gnome-vfs
based on user preferences. This works niftily
when preferences change thanks to the callbacks
in fm_directory_view
2000-09-21 Gene Z. Ragan <gzr@eazel.com>
Fixed bug 2090, Sidebar panel shrinks when back from text
or image view to directory view.
* src/nautilus-sidebar.c: (make_button_box),
(nautilus_sidebar_update_buttons):
Fixed logic where button centering was being shown
at the wrong time, messing up spacing of sidebar panels.
* components/image-viewer/nautilus-image-view.c: (redraw_view),
(configure_size), (view_factory_common):
Fixed cases where image data might be NULL.
* components/services/install/lib/eazel-install-rpm-glue.c:
* nautilus-installer/src/Makefile.am:
* nautilus-installer/src/installer.c: (eazel_install_get_depends),
(eazel_installer_initialize):
* nautilus-installer/src/link.sh:
* nautilus-installer/src/prescript:
* nautilus-installer/src/proxy.c:
* nautilus-installer/src/proxy.h:
Add proxy autodetect from the nautilus first-time druid, and
support for the install lib to use proxies. Clean up some of the
temp dir stuff for security reasons.
fixed bugs 3084, 3119, 3134, icon stretch handles are not drawn
in the right place or hit-tested properly, by removing some
bogus offsets.
fixed bugs 764 and 2626, icon stretching is way too slow, by only
doing the relayout and update position when the stretching is
finished, instead of doing it every time the mouse moves during
the stretch. Also, made it relayout if necessary after stretching
is finished, like it was intending to do.
2000-09-21 Pavel Cisler <pavel@eazel.com>
* libnautilus-extensions/nautilus-gdk-pixbuf-extensions.c:
(nautilus_gdk_pixbuf_load):
Handle GNOME_VFS_ERROR_EOF properly, now that we get this result
instead of just relying on getting 0 bytes read.
* components/tree/nautilus-tree-model.c: (report_node_changed):
Add ref/unref to fix problem with renaming.
* src/check-nautilus: Add "--g-fatal-warnings" so tests fail if
there are warning messages.
* icons/theme_preview.png:
Goofed up the last icon and put the document icon to
far to the right. This made it where the icon was
being cut off when viewed.
2000-09-21 Pavel Cisler <pavel@eazel.com>
* tools/profiler/Makefile:
* tools/profiler/funcsummary.C:
* tools/profiler/funcsummary.h:
* tools/profiler/machine-profile.S:
* tools/profiler/machine-profile.h:
* tools/profiler/machine-profileP.h:
* tools/profiler/nautilus-leak-symbol-lookup.C:
* tools/profiler/nautilus-leak-symbol-lookup.h:
* tools/profiler/profile.C:
* tools/profiler/profile.h:
* tools/profiler/profileP.h:
* tools/profiler/profiledata.C:
* tools/profiler/profiledata.h:
* tools/profiler/symbol-table.h:
* tools/profiler/test.cpp:
* tools/profiler/totaltime.C:
* tools/profiler/totaltime.h:
First pass at a profiler that handles threading and shared libraries.
Adapted from Corel's cprof.
It works on my machine but there are still a quite a few hardcoded
things.
2000-09-20 Pavel Cisler <pavel@eazel.com>
* libnautilus-extensions/nautilus-file-operations.c:
(parse_previous_duplicate_name), (make_next_duplicate_name):
Fix a duplicate name generator bug that caused make check to fail.
Remove some string pasting that would make localization impossible.
Add better comments to duplicate name string fragments to make it clearer
to localizers.
fixed problem where background images were not being displayed.
Maciej recently fixed gnome-vfs to return EOF errors when appropriate;
unfortunately, that broke nautilus_gdk_pixbuf_load_async, which was
reading until it got an EOF but not returning the pixbuf if it got
an error of any kind. Fixed by checking for EOF and allowing it; a
better fix might be to read the file size and only reading the
proper amount, which we might consider doing later.
* components/services/trilobite/libtrilobite/trilobite-core-distrib
ution.c: (determine_turbolinux_version):
Add code to detect turbolinux version.
* components/rpmview/nautilus-rpm-view-install.c:
(nautilus_rpm_view_install_package_callback):
* components/services/install/lib/eazel-install-protocols.c:
(get_url_for_package), (get_search_url_for_package):
Don't set an RPM server in the RPM view. Detect no-server in the
install lib and don't try to connect.
* components/services/install/lib/eazel-install-rpm-glue.c:
(uninstall_all_packages), (eazel_install_start_transaction):
* components/services/trilobite/libtrilobite/trilobite-root-helper.
c: (trilobite_root_helper_destroy), (trilobite_root_helper_start),
(trilobite_root_helper_get_exit_code):
* components/services/trilobite/libtrilobite/trilobite-root-helper.
h:
Fix result code of uninstall. Try to check rpm child exitcode
(though this won't work under userhelper, thanks userhelper).
bug 2894:
* libnautilus-extensions/nautilus-directory-async.c
(request_is_satisfied): Check for
directory_loaded_set_notification as well as directory_loaded.
(nautilus_directory_stop_monitoring_file_list): When we dump the
file list, we also need to indicate that the directory is no
longer loaded.
* src/Makefile.am:
* src/nautilus-view-frame-nautilus-view.c:
* src/nautilus-view-frame-private.h:
* src/nautilus-view-frame.h:
* src/nautilus-view-frame.c: (nautilus_view_frame_destroy_client),
(nautilus_view_frame_load_client),
(nautilus_view_frame_load_location),
(nautilus_view_frame_stop_loading),
(nautilus_view_frame_selection_changed),
(nautilus_view_frame_title_changed):
Removed some of the remains of the component_class machinery.
NautilusViewFrame now is the frame for a NautilusView only.
* src/file-manager/nautilus-indexing-info.c:
(nautilus_indexing_info_show_dialog): Fixed a misplaced statement
that results in bad code and an uninitialized variable warning.
* tools/leak-checker/nautilus-leak-symbol-lookup.c:
(nautilus_leak_find_symbol_in_map): Fixed handling of symbols for
libraries where the bfd library doesn't find the information.
fixed bug 1471, need real icons for bookmark and missing bookmark,
by adding these new ones from Susan.
plus, added a new theme from Susan with realistic folders.
2000-09-20 Rebecca Schulman <rebecka@eazel.com>
* src/nautilus-window-manage-views.c:
(nautilus_window_end_location_change_callback):
Added new "advice" for bug 1874, to provide advice.
I am not sure what sort of advice we should be
giving, so I welcome recommendations on this matter.
NautilusFile, NautilusDirectory, and NautilusScalableIcon.
* components/tree/nautilus-tree-model.c: (remove_all_nodes):
Unref the root node when we are done with it.
(report_root_node_if_possible): Use report_node_changed for
new nodes as well.
(report_node_changed): Since a new node and a changed node are
really the same, just use this instead of using a different call
for added vs. changed.
(nautilus_tree_model_directory_files_changed_callback): Ref
the node when it's being added to the hash table. Get rid of
the misguided code that would ref "because remove will unref"
and instead use a more normal model.
(nautilus_tree_model_directory_files_added_callback): Fix a
storage leak in the case where we generate a warning. Changed it
from a printf to a g_warning. Use report_node_changed for new
nodes as well. Unref the node after adding it to use a more normal
ref model; handles cases where it's already in there properly, for
one thing.
* components/tree/nautilus-tree-node.c:
(nautilus_tree_node_set_parent): Changed an assert to a
return_if_fail.
* libnautilus-extensions/nautilus-bookmark.c:
(nautilus_bookmark_update_icon): Change the code to take the fact
that nautilus_icon_factory_get_icon_for_file yields a new ref into
account to plug a NautilusScalableIcon leak.
* src/nautilus-bookmark-parsing.c:
(nautilus_bookmark_new_from_node): Unref the icon after creating a
new bookmark. If the bookmark needs to keep it, it will ref it.
* src/file-manager/fm-icon-view.c: (get_icon_images_callback):
Extra space in here.
* components/adapter/Makefile.am:
* cut-n-paste-code/freetype/Makefile.am: Make the tinderbox a bit
happier by mentioning some files that were missing from these
makefiles.
* cut-n-paste-code/freetype/ftdebug.h: Fixed compiling with newer
gcc. Freetype was trying to use token pasting to attach the name
of a function (FTMessage) onto the parameters to that
function. There's no need to attempt this, and it's incorrect. I
removed the token pasting attempt. Perhaps Raph should get this
rolled back into the main freetype soruces.
* libnautilus-extensions/bonobo-stream-vfs.c: Cleaned up the code
a bit to match Nautilus coding style and remove some redundant
stuff.
* libnautilus-extensions/nautilus-bookmark.c:
(nautilus_bookmark_update_icon): Fixed a place where we unref the
old value before ref'ing the new one. It's not really a bug, but
it's a good habit to ref the new value first. Ran into this when
I started looking for NautilusScalableIcon leaks.
* src/nautilus-complex-search-bar.c: (fewer_options_callback):
Reinstated a less vile form of the queue_resize hack that had
been here now that Rebecca and I discovered that without it the
toolbar doesn't shrink correctly when the window is very wide.
2000-09-20 Rebecca Schulman <rebecka@eazel.com>
* po/POTFILES.in:
Fixed a build problem that was caused by a removed
file not being removed from here.
* src/file-manager/nautilus-indexing-info.c:
(nautilus_indexing_info_show_dialog):
Add place-holder index progress indicator in the indexing
info menu. This will go when Arlo give
* src/nautilus-location-bar.c: (real_activate),
(nautilus_location_bar_initialize_class): Wired
up the location bar such that when it is swapped in
its text field gets keyboard focus, just like the
search fields.
2000-09-20 J Shane Culpepper <pepper@eazel.com>
* components/services/summary/nautilus-view/nautilus-summary-view.c
: (generate_summary_form):
Fixed several annoying gtk bugs while drawing boxes in the tables.
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.
* src/nautilus-location-bar.c: (drag_data_received_callback),
(drag_data_get_callback): Fixed bug that happens when you drag the
"Location:" part of the location bar. I still think the feature is
of questionable value, but it was easy to fix it to keep it
working. The bug resulted from making assumptions about the widget
hierarchy.
* libnautilus-extensions/nautilus-icon-factory.c: (cache_icon_new):
Allow NULL for details to mean default details; keeps the fallback
icon code simpler.
(set_theme): A little more simplification.
(load_icon_for_scaling): Fix the fallback icon to create the cache
icon with cache_icon_new instead of rolling its own.
* components/help/help-method.c: (shell_quote),
(help_uri_to_string): Moved the shell quote function in here
instead of trying to share the one in libnautilus-extensions. This
fixes bug 3163 (Nautilus crashes any time a help item in the
sidebar pane is double-clicked).
* components/adapter/nautilus-adapter-file-load-strategy.c
(nautilus_adapter_file_load_strategy_destroy): Another
uninitialized variable.
* components/adapter/nautilus-adapter-stream-load-strategy.c
(nautilus_adapter_stream_load_strategy_destroy): Another
uninitialized variable. Thanks to Will LaShell for pointing these
out.
* components/adapter/nautilus-adapter-progressive-load-strategy.c
(nautilus_adapter_progressive_load_strategy_destroy): Fix
unuinitialized variable use (thanks to Will LaShell).
also end up fixing 2576, 2577, 2578 and 2579 (might also end up
fixing 2580 later).
* components/adapter/Makefile.am:
* components/adapter/nautilus-adapter-load-strategy.h,
components/adapter/nautilus-adapter-load-strategy.c: Abstract
class that gives the interface for loading up a component that
presents some particular interface.
* components/adapter/nautilus-adapter-file-load-strategy.h,
components/adapter/nautilus-adapter-file-load-strategy.c:
Concrete subclass for loading a component that has the
Bonobo::PersistFile interface.
* components/adapter/nautilus-adapter-progressive-load-strategy.h,
components/adapter/nautilus-adapter-progressive-load-strategy.c:
Concrete subclass for loading a component that has the
Bonobo::ProgressiveDataSink interface.
* components/adapter/nautilus-adapter-stream-load-strategy.c,
components/adapter/nautilus-adapter-stream-load-strategy.h:
Concrete subclass for loading a component that has the
Bonobo::PersistStream interface.
* components/adapter/nautilus-adapter.h,
components/adapter/nautilus-adapter.c:
(nautilus_adapter_destroy, nautilus_adapter_new,
nautilus_adapter_load_location_callback,
nautilus_adapter_stop_loading_callback): Use load strategies.
* libnautilus-extensions/bonobo-stream-vfs.c (vfs_read): Minor
formatting correction.
* components/music/nautilus-music-view.c: (play_current_file):
fixed bug 2374, music view crashes when attempting to play non-local
files, by checking for non-local files and putting up a dialog instead.
* src/nautilus-property-browser.c: (ensure_uri_is_image),
(emblem_image_file_changed), (add_background_to_browser):
fixed bug 3173, adding an svg background fails, by checking for it
and not permitting it. Also made a few clean-ups. We still need to
be more robust when non-images get places in ~/.nautilus/backgrounds,
which I'll work on soon.
* libnautilus-extensions/nautilus-icon-factory.c (set_theme):
Fixed an uninitialized variable use and cleaned up some nearby
logic while I was at it.
* src/nautilus-main.c (main): Removed a gratuitous puts call.