* libnautilus-private/nautilus-global-preferences.c: Added a
default for the ADD_TO_SESSION preference. This should fix the
problem where some people don't get any session
management. Miguel's patch removed the code to set this preference
in the first time druid so we need to default to TRUE.
* libnautilus-private/nautilus-file.c:
(nautilus_file_get_string_attribute_with_default): Used return
statements to simplify the logic a bit.
2001-05-22 John Harper <jsh@pixelslut.com>
Fallout from fixing bug 8220 (Having Ctrl as default "modifier
key used for default WM shortcuts" breaks everything...):
* libnautilus-private/nautilus-icon-container.c
(keyboard_space, keyboard_move_to): changed to use Control
modifier instead of Alt
* 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 Rodríguez Pérez <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 Rodríguez Pérez <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.
made the news panel flash less by defering async updates with a timer
task, so ones that fire close together are coalesced.
* components/news/nautilus-news.c: (do_destroy),
(rss_logo_callback), (update_timeout_callback),
(queue_update_size_and_redraw), (rss_read_done_callback),
(make_remove_widgets), (make_news_view):
2001-05-18 Yoann Vandoorselaere <yoann@mandrakesoft.com>
Code reviewed by Darin Adler <darin@bentspoon.com>.
* src/file-manager/fm-directory-view.c (display_pending_idle_callback):
return TRUE if real_display_pending_files() return FALSE which mean
that there is other icon to be drawn (the idle won't be removed until
the idle callback return FALSE).
return FALSE if real_display_pending_files() return TRUE, which mean
all files were drawn.
2001-05-18 Jon K Hellan <hellan@acm.org>
Code reviewed by Darin Adler <darin@bentspoon.com>
* components/music/mpg123.h (struct id3v1tag_t): Fix track info.
(struct id3tag_t): Fix track info. Not tested for v2, but big
enough for what can be represented in v1.1.
* components/music/mpg123.c (mpg123_id3v1_to_id3v2): Fix track
info. Track in id3v1.1 is an 8 bit integer, not a string.
Track is still unimplemented for id3v2. I did not fix it, as I
don't have examples to test with.
2001-05-18 Yoann Vandoorselaere <yoann@mandrakesoft.com>
Code reviewed by Darin Adler <darin@bentspoon.com>,
also, thanks for the help solving this issue.
* src/file-manager/fm-directory-view.c (g_list_split_off_first_n):
moved from fm-list-view.c.
(real_display_pending_files): move the fm-list-view.c function to
display pending file, but remove the clist sorting code.
(FILES_TO_PROCESS_AT_ONCE): new constant, appear to be a better name
than LIST_VIEW_DISPLAY_PENDING_FILES_GROUP_SIZE.
* src/file-manager/fm-list-view.c (LIST_VIEW_DISPLAY_PENDING_FILES_GROUP_SIZE):
removed this constant.
(fm_list_view_display_pending_files): just sort the list by the clist criteria
then call the parent function to display_pending_file.
(g_list_split_off_first_n): removed.
This should fix the issue where UI response (icon drawing) would take
a long time because the directory loaded was cached by the kernel.
We now draw with a fixed maximum number of files at once.
The list view code was already doing that, so the code was just moved,
and adaptated for use in directory view, so list view has the same
behavior as before without any code being duplicated.
over a bug that was responsible for some big slowdowns.
* libnautilus-private/nautilus-directory-async.c:
(activation_uri_start): Fixed bug that was causing activation URI
reads to work strangely.
* src/file-manager/nautilus-directory-view-ui.xml:
* src/file-manager/fm-directory-view.c: (delete_callback),
(bonobo_control_activate_callback), (fm_directory_view_destroy):
* src/nautilus-shell-ui.xml:
* src/nautilus-window.c: (nautilus_window_initialize_class),
(nautilus_window_realize):
Rip out keybinding hack and use Bonobo's (undocumented as far as I
can tell) keybinding machinery instead.
* libnautilus-private/nautilus-metafile.c: (schedule_next_read):
Use (void), not ().
* configure.in:
* nautilus.spec.in:
Don't require ammonite any more in the default Nautilus RPM. I
left the ability to compile ammonite support in for now. That can
be removed at any time, but it doesn't hurt anybody.
* libnautilus-private/nautilus-global-preferences.c: Change default
web search to use google instead of the defunct Eazel search page.
* configure.in: Up version to 1.0.3.1 so we don't confuse cvs
builds with the release.
* libnautilus-private/nautilus-file.c:
(nautilus_file_fit_date_as_string): Fix i18n problem by calling
_() on strings before using.
* src/file-manager/fm-directory-view.c: (key_press_event_callback),
(bonobo_control_activate_callback), (fm_directory_view_destroy):
* src/nautilus-window.c: (nautilus_window_key_press_event):
Change key press event callbacks to run only after the parent
class. This makes keys go to the focused text field first, so
hitting delete while editing a file name doesn't delete the file.
* src/file-manager/fm-directory-view.c:
(fm_directory_view_destroy), (activate_callback),
(cancel_activate_callback), (fm_directory_view_activate_file),
Got rid of monitor_file_for_activation, another example of this
same loose end as last time.
* src/nautilus-window-manage-views.c:
(set_to_pending_location_and_selection): There was an overzealous
assert in here. Looked into why it fired, and fixed it up.
* src/nautilus-window-private.h:
* src/nautilus-window-manage-views.c: (free_location_change),
(begin_location_change):
Finished up a loose end from when I made the change to
determine_initial_view to not get full attributes. This leftover
code was causing an extra directory load.
* THANKS: Added Yoann.
* src/nautilus-sidebar.c: (notify_current_sidebar_view),
(nautilus_sidebar_activate_panel),
(nautilus_sidebar_deactivate_panel):
at Darin's urging, coalesced the open and closed properties into a
single one with a value.
* components/news/nautilus-news.c: (get_bonobo_properties),
(set_bonobo_properties), (nautilus_news_load_location):
made it maintain the closed state and made load_location only redraw
when opened.
2001-05-13 Yoann Vandoorselaere <yoann@mandrakesoft.com>
* libnautilus-private/nautilus-directory-async.c (DIRECTORY_LOAD_ITEMS_PER_CALLBACK):
Change from 32 item by callback to 10.
This is much better for UI response time and will prevent having
too much latency time when loading the directory.
* src/file-manager/fm-directory-view.c (DISPLAY_TIMEOUT_INTERVAL_MSECS):
Change from 700 ms to 100 ms, this is much better for the user
as he won't see any latency time before drawing start.
Theses are the better experienced setting for now.
<yoann@mandrakesoft.com>. Yoann found that double-clicking on on a
directory would wait for all the files to be read in before
displaying anything, while typing the path in the location bar
would should proper progressive loading. This checkin solves that
problem.
* src/file-manager/fm-directory-view.c:
(fm_directory_view_activate_file): Only call_when_ready on the
minimum attributes, not full. All the checks in activate_callback
only depend on the minimum attributes, and do not need the extra
directory item mime types attribute.
code to load a directory was accidentally waiting for all the
files to be read in before displaying anything. This fixes the two
problems that caused that, but there are remaining loose ends
(it's not entirely clear why View As Music is still showing
properly in the View menu).
* libnautilus-private/nautilus-directory-private.h:
* libnautilus-private/nautilus-directory-async.c:
(nautilus_directory_call_when_ready_internal): Take a parameter to
say whether to wait for all the files in the file list, instead of
deducing it from other parameters.
* libnautilus-private/nautilus-directory.h:
* libnautilus-private/nautilus-directory.c:
(nautilus_directory_call_when_ready): Take a parameter to say
whether to wait for all the files in the file list, instead of
deducing it from other parameters.
(nautilus_self_check_directory): Pass TRUE so we wait for the file
list.
* libnautilus-private/nautilus-merged-directory.c:
(merged_call_when_ready): Pass through the new boolean.
* libnautilus-private/nautilus-trash-file.c:
(real_call_when_ready): Pass FALSE since there is no file list for
a single file.
* libnautilus-private/nautilus-vfs-directory.c:
(vfs_call_when_ready): Pass through the new boolean.
* libnautilus-private/nautilus-vfs-file.c:
(vfs_file_call_when_ready): Pass FALSE since there is no file list
for a single file.
* src/nautilus-applicable-views.c:
(nautilus_determine_initial_view),
(nautilus_determine_initial_view_cancel): Removed the code to get
full file attributes after getting the minimum required if
nautilus_mime_actions_file_needs_full_file_attributes return
TRUE. We want to make the choice fast, and it's OK if we choose
poorly as a result. The question is whether this will cause any
real end-user problems.
* src/file-manager/fm-directory-view.c:
(call_when_ready_on_scripts_directory): Pass TRUE so we read the
entire scripts directory.
(load_directory): Pass FALSE so we don't wait for all the files to
be loaded before starting to display them. This is the core of the
fix.
* components/tree/nautilus-tree-change-queue.c:
(nautilus_tree_change_queue_enqueue): A place where we can use
g_slist_prepend instead of g_slist_append.
* src/nautilus-complex-search-bar.c:
(nautilus_complex_search_bar_initialize): A place where we can use
g_slist_prepend instead of g_slist_append.
preference, so if you change "Make Folder Appearance Details
Public" to Never (in Speed Tradeoffs at Advanced user level),
thumbnails will always be created in ~/.nautilus/thumbnails,
instead of in a .thumbnails subdirectory in each directory.
Thanks to Michael Rothwell <rothwell@holly-springs.nc.us> for
the idea and a first pass at the code.
* libnautilus-private/nautilus-thumbnails.h:
* libnautilus-private/nautilus-thumbnails.c:
(uri_is_local):
New convenience function, calls gnome_vfs_uri_is_local
(prefer_global_thumbnails_location): New function that
checks preference value.
(make_thumbnail_uri): Call preference-checking function.
(first_file_more_recent),
(nautilus_thumbnail_has_invalid_thumbnail),
(nautilus_get_thumbnail_uri),
(nautilus_update_thumbnail_file_renamed_one),
(nautilus_update_thumbnail_file_renamed),
(nautilus_remove_thumbnail_for_file_one),
(nautilus_remove_thumbnail_for_file): Use uri_is_local () to
reduce duplicated code; change some parameter names for clarity.
MOZILLA_FIVE_HOME-setting code from the main Nautilus program
(where it does no good) to the Mozilla component (which is a nicer
place for it anyway).
While integrating the patch I made some other small cleanups to
the Mozilla component and the patch itself. I removed the code to
set up LD_LIBRARY_PATH, since it's not needed, and changed the name
of some things and simplified others.
* components/mozilla/Makefile.am: Define PREFIX.
* components/mozilla/main.c: (is_good_mozilla_path),
(get_mozilla_path), (set_up_MOZILLA_FIVE_HOME), (main): Add the
new code to set up MOZILLA_FIVE_HOME.
* src/nautilus-application.c: (finish_startup): Remove the code
from the old place.
* check-THANKS.pl: Updated.
* libnautilus-private/nautilus-metafile-factory.c:
* libnautilus-private/nautilus-vfs-directory.c:
* libnautilus-private/nautilus-vfs-file.c:
Added dummy members so we have no illegal empty structures.
* src/nautilus-sidebar-title.c: (update_emblems): Get rid of some
dead code.
<yoann@mandrakesoft.com> to not re-open /proc/mounts each time,
but to simply rewind it instead. The patch had a lot of problems
on Solaris and when HAVE_CDDA is true, but I reworked it so it
should be OK.
* libnautilus-private/nautilus-volume-monitor.c: (get_mount_list),
(get_current_mount_list): Use rewind.
FreeBSD.
* libnautilus-private/nautilus-volume-monitor.c:
(has_removable_mntent_options), (get_removable_volumes),
(volume_is_removable), (volume_is_read_only),
(nautilus_volume_monitor_mount_unmount_removable),
(nautilus_volume_monitor_get_mount_name_for_display): Added more
ifdefs all over the place. This could be done more elegantly some
day.
to fix a problem where we would try to get metadata for all files
in the home directory if it was set to be used as the desktop
directory.
* libnautilus-private/nautilus-file-utilities.h:
* libnautilus-private/nautilus-file-utilities.c:
(nautilus_get_desktop_directory): Changed this to not bother with
the call to create the directory when the home directory is used
as the desktop.
(nautilus_get_gmc_desktop_directory): New function.
* libnautilus-private/nautilus-icon-factory.c:
(nautilus_icon_factory_get_icon_for_file): Use
nautilus_get_gmc_desktop_directory for the check when deciding to
look for old-fashioned gmc metadata.
* components/mozilla/Makefile.am:
* configure.in:
* README:
Remove some Mozilla Milestone cruft. Make the Mozilla component
build with the newly released Mozilla 0.9. Update the README with
the latest Mozilla 0.9 support.