2000-09-16 Gene Z. Ragan <gzr@eazel.com>
Fixed bug 2450, We don't detect zip drives, etc.
I added all filesystem types listed in man fstab and
others that I found by reading various linux articles.
There may be even more! We can test these for now.
* libnautilus-extensions/nautilus-volume-monitor.c:
(nautilus_volume_monitor_volume_is_removable),
(mount_volume_generic_set_state), (mount_volume_set_state),
(mount_volume_activate_generic), (mount_volume_activate),
(mount_volume_udf_add), (mount_volume_vfat_add),
(mount_volume_msdos_add), (mount_volume_iso9660_add),
(mount_volume_affs_add), (mount_volume_fat_add),
(mount_volume_hpfs_add), (mount_volume_minix_add),
(mount_volume_nfs_add), (mount_volume_proc_add),
(mount_volume_smb_add), (mount_volume_unsdos_add),
(mount_volume_xenix_add), (mount_volume_xiafs_add),
(mnttab_add_mount_volume), (mntent_add_mount_volume):
* libnautilus-extensions/nautilus-volume-monitor.h:
2000-09-07 Gene Z. Ragan <gzr@eazel.com>
Fixed bug 2445, Some volume monitor code applies only to desktop case.
Fixed bug 2452, find_volumes confused about which volumes to include.
Fixed bug 2451, Incorrect test for removability of ISO9660 volumes.
* libnautilus-extensions/nautilus-volume-monitor.c:
* libnautilus-extensions/nautilus-volume-monitor.h:
(floppy_sort):
Changed function to use NautilusVolumes as opposed to paths
(nautilus_volume_monitor_volume_is_removable):
New function to check and see if volume is removable.
(nautilus_volume_monitor_get_removable_volumes):
New function to return a list of removable NautilusVolumes
(nautilus_volume_monitor_get_volume_name):
New function to return a human readable name of volume
(nautilus_volume_monitor_volume_is_mounted),
(mount_volume_floppy_set_state), (mount_volume_mount),
(find_volumes), (nautilus_volume_monitor_mount_unmount_removable):
Clean up and bug fix work.
* src/file-manager/fm-desktop-icon-view.c: (create_mount_link),
(fm_desktop_icon_view_create_background_context_menu_items),
(volume_unmounted_callback):
Use new functions in NautilusVolumeMonitor.
* libnautilus-extensions/nautilus-volume-monitor.h:
* libnautilus-extensions/nautilus-volume-monitor.c:
(is_floppy_mount_path): Added helper.
(floppy_sort): Simplified logic.
(nautilus_volume_monitor_get_removable_volume_names): Used the
prepend/reverse idiom instead of append.
(nautilus_volume_monitor_volume_is_mounted): Fixed extremely
unlikely but possible buffer overflow and checked result from
sscanf.
(mount_volume_mount): Use g_strchomp instead of rolling our own.
Took out some dead code.
(mount_volumes_update_is_mounted): Fixed extremely unlikely but
possible buffer overflow and checked result from sscanf.
(mount_volume_add_aliases): Fixed possible buffer overflow and
storage leak.
(mount_volume_ext2_add): Removed code to ignore all ext2 volumes
other than "/". Moved the hack into FMDesktopIconView.
(mount_volume_cdrom_set_state), (mount_volume_floppy_set_state),
(mount_volume_ext2_set_state), (mount_volume_set_state),
(volume_set_state_empty) (mount_volume_activate_cdrom),
(mount_volume_activate_floppy), (mount_volume_activate_ext2),
(mount_volume_activate), (eject_cdrom), (mount_volume_deactivate),
(mount_volume_check_change), (check_permissions),
(mount_volume_floppy_add),
(cdrom_ioctl_frenzy), (mount_volume_iso9660_add),
(add_mount_volume), (mntent_is_removable_fs), (find_volumes),
(nautilus_volume_monitor_mount_unmount_removable),
(free_volume_info), (get_iso9660_volume_name),
(get_ext2_volume_name), (get_floppy_volume_name):
Removed mount_type and volume_fd. Made a bunch of formerly-
public things private and added NAUTILUS_ prefix to some public
identifier that didn't have it.
* libnautilus-extensions/nautilus-trash-directory.c:
(get_volume_vfs_uri_if_writable):
Changed callers to use the constants with the NAUTILUS_ prefix.
* src/file-manager/fm-desktop-icon-view.c: (create_mount_link):
Moved the "/" hack here (marked with a FIXME and bug number) and
made the two cases that create mount links share code. Also
made it use type instead of the now-gone mount_type.
(startup_create_mount_links), (volume_mounted_callback): Call the
new common routine instead of having two copies of the same code.
2000-08-18 Gene Z. Ragan <gzr@eazel.com>
* libnautilus-extensions/nautilus-volume-monitor.c:
* libnautilus-extensions/nautilus-volume-monitor.h:
(nautilus_volume_monitor_initialize), (find_volumes):
Removed public call to nautilus_volume_monitor_find_volumes
and replaced with find_volumes which is called internally
when class is initialized.
* src/file-manager/fm-desktop-icon-view.c:
(startup_create_mount_links), (fm_desktop_icon_view_initialize),
(volume_mounted_callback):
Create a callback that is called for each mounted volume
to create mounted volume icons when desktop is created.
* icons/trash-empty.png:
* icons/trash-full.png:
Added new Trash icons to try and make text appear centered.
2000-08-18 Gene Z. Ragan <gzr@eazel.com>
* libnautilus-extensions/nautilus-link.c:
* libnautilus-extensions/nautilus-link.h:
(nautilus_link_is_volume_link):
New function. Identifies if link is a volume link.
* libnautilus-extensions/nautilus-volume-monitor.c:
* libnautilus-extensions/nautilus-volume-monitor.h:
(nautilus_volume_monitor_initialize_class),
(mount_device_is_mounted), (mount_device_cdrom_set_state),
(mount_device_floppy_set_state), (mount_device_ext2_set_state),
(mount_device_set_state), (device_set_state_empty),
(mount_device_mount), (mount_device_activate_cdrom),
(mount_device_activate_floppy), (mount_device_activate_ext2),
(mount_device_activate), (eject_cdrom), (mount_device_deactivate),
(mount_device_do_nothing), (mount_device_check_change),
(mount_devices_update_is_mounted), (mount_device_floppy_add),
(mount_device_ext2_add), (mount_device_iso9660_add),
(mount_device_add_aliases), (add_mount_device),
(nautilus_volume_monitor_each_device),
(nautilus_volume_monitor_each_mounted_device),
(nautilus_volume_monitor_mount_unmount_removable),
(free_device_info), (get_iso9660_volume_name),
(get_ext2_volume_name), (get_floppy_volume_name):
Renamed DeviceInfo to NautilusDeviceInfo.
Removed all code that handled links and moved to
FMDesktopIconView. Fixed creation of volume mounted signal
to have proper signature,
* src/file-manager/fm-desktop-icon-view.c:
(fm_desktop_icon_view_initialize), (volume_mounted_callback),
(volume_unmounted_callback), (remove_old_mount_links):
Added signal handlers for mount and unmount signals emitted
by NautilusVolumeMonitor. These handlers create and remove
mount links.
* src/nautilus-window-menus.c: (help_menu_about_nautilus_callback):
* libnautilus-extensions/nautilus-program-chooser.c:
(nautilus_program_chooser_new),
(nautilus_program_chooser_show_no_choices_message):
Fixed bug 2210 (GNOME is referred to as Gnome in the about
dialog). It was in one other place too.
* libnautilus/nautilus-view-component.idl:
Fixed some comments.
* libnautilus-extensions/nautilus-directory-private.h:
* libnautilus-extensions/nautilus-directory-async.c:
(dequeue_pending_idle_callback):
* libnautilus-extensions/nautilus-directory.c:
(nautilus_directory_emit_files_changed),
(nautilus_directory_emit_change_signals_deep),
(nautilus_directory_emit_metadata_changed),
(call_files_changed_free_list),
(call_files_changed_unref_free_list):
* libnautilus-extensions/nautilus-file.c: (nautilus_file_changed):
Separated out the call so you can emit a files_changed without
also emitting a changed signal on each file.
* libnautilus-extensions/nautilus-trash-directory.h:
* libnautilus-extensions/nautilus-trash-directory.c:
(trash_callback_remove_directory), (directory_ready_callback),
(forward_files_added_cover), (forward_files_changed_cover),
(nautilus_trash_directory_add_real_directory),
(trash_callback_remove_directory_cover),
(nautilus_trash_directory_remove_real_directory),
(remove_all_real_directories),
(fm_desktop_icon_view_discover_trash_callback),
(add_one_writable_device), (get_trashable_volume_uris),
(nautilus_trash_monitor_async_get_trash_directories):
More trash work. A bunch is commented out. I'm doing this *so*
slowly, but I need to check in at this point for Gene's sake.
* libnautilus-extensions/nautilus-volume-monitor.h:
* libnautilus-extensions/nautilus-volume-monitor.c:
(nautilus_volume_monitor_initialize_class),
(mount_device_activate), (mount_device_deactivate):
Changed the signals to be both more useful and easier to use.
* src/file-manager/fm-desktop-icon-view.c:
(fm_desktop_icon_view_initialize):
* src/file-manager/nautilus-trash-monitor.c:
Moved 1/2-written trash code out of here.
* HACKING: Spell checking.
2000-08-14 Pavel Cisler <pavel@eazel.com>
* src/file-manager/fm-desktop-icon-view.c:
(fm_desktop_icon_view_discover_trash_callback),
(fm_desktop_icon_view_initialize):
* src/file-manager/nautilus-trash-monitor.c:
(add_one_writable_device), (get_trashable_volume_uris),
(nautilus_trash_monitor_async_get_trash_directories):
* src/file-manager/nautilus-trash-monitor.h:
Fix bugzilla 1855 - nautilus_trash_monitor_async_get_trash_directories
returns the list of URIs of all the available trash directories, finding
and creating them as needed.
* libnautilus-extensions/nautilus-volume-monitor.c: (floppy_sort),
(mount_device_check_change), (mount_devices_update_is_mounted),
(check_permissions), (mount_device_iso9660_add),
(mount_device_add_aliases), (add_mount_device),
(mntent_is_removable_fs),
(nautilus_volume_monitor_find_mount_devices),
(nautilus_volume_monitor_each_device),
(nautilus_volume_monitor_each_mounted_device),
(nautilus_volume_monitor_mount_unmount_removable):
* libnautilus-extensions/nautilus-volume-monitor.h:
Made nautilus_volume_monitor_find_mount_device call
mount_devices_check_status explicitly so that the mounted volume state
is correct when the call returns.
Add nautilus_volume_monitor_each_device and
nautilus_volume_monitor_each_mounted_device.
Moved NautilusVolumeMonitorDetails into nautilus-volume-monitor.c,
away from prying eyes.
Tweak some string matching code.
2000-08-09 Gene Z. Ragan <gzr@eazel.com>
* libnautilus-extensions/nautilus-link.c: (nautilus_link_create),
(nautilus_link_set_icon), (nautilus_link_set_type):
Added ability to set the type of a NautilusLink, such as
mount link, trash link, home link, etc.
* libnautilus-extensions/nautilus-volume-monitor.c:
(mount_device_mount), (nautilus_volume_monitor_is_volume_link):
Specify that link is a mount link.
* src/file-manager/fm-desktop-icon-view.c: (place_home_directory):
Specify that link is a home link.
* src/nautilus-desktop-window.c: (nautilus_desktop_window_new):
Specify that trash is a trash link.
2000-08-03 Gene Z. Ragan <gzr@eazel.com>
Fixed bug 1927, Need a way to identify mount links as special
type of link.
Fixed bug 1926, Old mount links should be cleaned up
when desktop launches.
* libnautilus-extensions/nautilus-volume-monitor.c:
(nautilus_volume_monitor_destroy), (add_mount_link_property),
(nautilus_volume_monitor_is_volume_link):
Mount links are now tagged with a special XML attribute
when they are created.
* libnautilus-extensions/nautilus-volume-monitor.h:
* src/file-manager/fm-desktop-icon-view.c:
(fm_desktop_icon_view_destroy), (fm_desktop_icon_view_initialize),
(remove_old_mount_links):
Old mount links are now removed when the desktop launches and quits.
2000-08-03 Gene Z. Ragan <gzr@eazel.com>
* libnautilus-extensions/nautilus-volume-monitor.c:
(nautilus_volume_monitor_initialize_class), (mount_device_mount),
(mount_device_deactivate), (get_floppy_volume_name),
Some cleanup. Added a signal for volume_unmount
as well.
(add_mount_link_property), (is_volume_link):
Functions that set and test if a nautilus link
is also a volume mount link.
* src/file-manager/fm-desktop-icon-view.c:
(fm_desktop_icon_view_initialize):
Added a test call to identify volume links.