nautilus/libnautilus-private/nautilus-volume-monitor.h

115 lines
4.4 KiB
C
Raw Normal View History

Fixed bug 1866, Turn volume mounting code into an object. 2000-08-02 Gene Z. Ragan <gzr@eazel.com> Fixed bug 1866, Turn volume mounting code into an object. Monitor now emits a signal, volume_mounted, when a mount occurs. Removed the old fm-desktop-mounting files and added new nautilus-volume-monitor files. * libnautilus-extensions/Makefile.am: * src/file-manager/Makefile.am: Added new files and removed old ones. * libnautilus-extensions/nautilus-cdrom-extensions.h: New file * libnautilus-extensions/nautilus-iso9660.h: New file * libnautilus-extensions/nautilus-volume-monitor.c: New file (nautilus_volume_monitor_initialize), (nautilus_volume_monitor_initialize_class), (nautilus_volume_monitor_destroy), (nautilus_volume_monitor_get), (floppy_sort), (fm_desktop_get_removable_volume_list), (nautilus_volume_monitor_volume_is_mounted), (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_devices_check_status), (check_permissions), (mount_device_floppy_add), (mount_device_ext2_add), (cdrom_ioctl_frenzy), (mount_device_iso9660_add), (mount_device_add_aliases), (add_mount_device), (mntent_is_removable_fs), (mntent_has_option), (nautilus_volume_monitor_find_mount_devices), (nautilus_volume_monitor_mount_unmount_removable), (remove_mount_link), (free_device_info), (get_iso9660_volume_name), (get_ext2_volume_name), (get_floppy_volume_name): * libnautilus-extensions/nautilus-volume-monitor.h: New file * src/file-manager/fm-cdrom-extensions.h: * src/file-manager/fm-desktop-icon-view.c: (fm_desktop_icon_view_destroy), (fm_desktop_icon_view_initialize), (fm_desktop_icon_view_create_background_context_menu_items), (fm_desktop_icon_view_trash_state_changed_callback), (mount_unmount_removable), (place_home_directory): * src/file-manager/fm-desktop-icon-view.h: * src/file-manager/fm-desktop-mounting.c: * src/file-manager/fm-desktop-mounting.h: * src/file-manager/iso9660.h: All old files that have been removed from build.
2000-08-02 22:04:26 +00:00
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/* nautilus-volume-monitor.h - interface for desktop mounting functions.
Copyright (C) 2000 Eazel, Inc.
The Gnome Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The Gnome Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the Gnome Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
Authors: Gene Z. Ragan <gzr@eazel.com>
*/
#ifndef NAUTILUS_VOLUME_MONITOR_H
#define NAUTILUS_VOLUME_MONITOR_H
Fixed bug 2210 (GNOME is referred to as Gnome in the about dialog). It was * 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-18 18:44:37 +00:00
#include <gtk/gtkobject.h>
Fixed bug 1866, Turn volume mounting code into an object. 2000-08-02 Gene Z. Ragan <gzr@eazel.com> Fixed bug 1866, Turn volume mounting code into an object. Monitor now emits a signal, volume_mounted, when a mount occurs. Removed the old fm-desktop-mounting files and added new nautilus-volume-monitor files. * libnautilus-extensions/Makefile.am: * src/file-manager/Makefile.am: Added new files and removed old ones. * libnautilus-extensions/nautilus-cdrom-extensions.h: New file * libnautilus-extensions/nautilus-iso9660.h: New file * libnautilus-extensions/nautilus-volume-monitor.c: New file (nautilus_volume_monitor_initialize), (nautilus_volume_monitor_initialize_class), (nautilus_volume_monitor_destroy), (nautilus_volume_monitor_get), (floppy_sort), (fm_desktop_get_removable_volume_list), (nautilus_volume_monitor_volume_is_mounted), (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_devices_check_status), (check_permissions), (mount_device_floppy_add), (mount_device_ext2_add), (cdrom_ioctl_frenzy), (mount_device_iso9660_add), (mount_device_add_aliases), (add_mount_device), (mntent_is_removable_fs), (mntent_has_option), (nautilus_volume_monitor_find_mount_devices), (nautilus_volume_monitor_mount_unmount_removable), (remove_mount_link), (free_device_info), (get_iso9660_volume_name), (get_ext2_volume_name), (get_floppy_volume_name): * libnautilus-extensions/nautilus-volume-monitor.h: New file * src/file-manager/fm-cdrom-extensions.h: * src/file-manager/fm-desktop-icon-view.c: (fm_desktop_icon_view_destroy), (fm_desktop_icon_view_initialize), (fm_desktop_icon_view_create_background_context_menu_items), (fm_desktop_icon_view_trash_state_changed_callback), (mount_unmount_removable), (place_home_directory): * src/file-manager/fm-desktop-icon-view.h: * src/file-manager/fm-desktop-mounting.c: * src/file-manager/fm-desktop-mounting.h: * src/file-manager/iso9660.h: All old files that have been removed from build.
2000-08-02 22:04:26 +00:00
typedef struct NautilusVolumeMonitor NautilusVolumeMonitor;
typedef struct NautilusVolumeMonitorClass NautilusVolumeMonitorClass;
typedef struct NautilusVolumeMonitorDetails NautilusVolumeMonitorDetails;
#define NAUTILUS_TYPE_VOLUME_MONITOR (nautilus_volume_monitor_get_type())
#define NAUTILUS_VOLUME_MONITOR(obj) (GTK_CHECK_CAST ((obj), NAUTILUS_TYPE_VOLUME_MONITOR, NautilusVolumeMonitor))
#define NAUTILUS_VOLUME_MONITOR_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_VOLUME_MONITOR, NautilusVolumeMonitorClass))
#define IS_NAUTILUS_VOLUME_MONITOR(obj) (GTK_CHECK_TYPE ((obj), NAUTILUS_TYPE_VOLUME_MONITOR))
struct NautilusVolumeMonitor {
GtkObject parent;
NautilusVolumeMonitorDetails *details;
};
More naming fixes. Remove info from NautilusDeviceInfo and renamed it 2000-08-18 Gene Z. Ragan <gzr@eazel.com> * libnautilus-extensions/nautilus-volume-monitor.c: (nautilus_volume_monitor_initialize), (nautilus_volume_monitor_destroy), (mount_volume_is_mounted), (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_mount), (mount_volume_activate_cdrom), (mount_volume_activate_floppy), (mount_volume_activate_ext2), (mount_volume_activate), (eject_cdrom), (mount_volume_deactivate), (mount_volume_do_nothing), (mount_volume_check_change), (mount_volumes_update_is_mounted), (mount_volumes_check_status), (mount_volume_floppy_add), (mount_volume_ext2_add), (mount_volume_iso9660_add), (mount_volume_add_aliases), (add_mount_volume), (mntent_is_removable_fs), (nautilus_volume_monitor_find_volumes), (nautilus_volume_monitor_each_volume), (nautilus_volume_monitor_each_mounted_volume), (nautilus_volume_monitor_mount_unmount_removable), (free_volume_info), (get_iso9660_volume_name), (get_ext2_volume_name), (get_floppy_volume_name): * libnautilus-extensions/nautilus-volume-monitor.h: * src/file-manager/fm-desktop-icon-view.c: (fm_desktop_icon_view_initialize), (volume_mounted_callback), (volume_unmounted_callback): More naming fixes. Remove info from NautilusDeviceInfo and renamed it NautilusVolume. Removed device naming and use volume instead. Named other structs with Nautilus prepended.
2000-08-19 01:08:20 +00:00
typedef struct NautilusVolume NautilusVolume;
Fixed bug 2210 (GNOME is referred to as Gnome in the about dialog). It was * 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-18 18:44:37 +00:00
Fixed bug 1866, Turn volume mounting code into an object. 2000-08-02 Gene Z. Ragan <gzr@eazel.com> Fixed bug 1866, Turn volume mounting code into an object. Monitor now emits a signal, volume_mounted, when a mount occurs. Removed the old fm-desktop-mounting files and added new nautilus-volume-monitor files. * libnautilus-extensions/Makefile.am: * src/file-manager/Makefile.am: Added new files and removed old ones. * libnautilus-extensions/nautilus-cdrom-extensions.h: New file * libnautilus-extensions/nautilus-iso9660.h: New file * libnautilus-extensions/nautilus-volume-monitor.c: New file (nautilus_volume_monitor_initialize), (nautilus_volume_monitor_initialize_class), (nautilus_volume_monitor_destroy), (nautilus_volume_monitor_get), (floppy_sort), (fm_desktop_get_removable_volume_list), (nautilus_volume_monitor_volume_is_mounted), (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_devices_check_status), (check_permissions), (mount_device_floppy_add), (mount_device_ext2_add), (cdrom_ioctl_frenzy), (mount_device_iso9660_add), (mount_device_add_aliases), (add_mount_device), (mntent_is_removable_fs), (mntent_has_option), (nautilus_volume_monitor_find_mount_devices), (nautilus_volume_monitor_mount_unmount_removable), (remove_mount_link), (free_device_info), (get_iso9660_volume_name), (get_ext2_volume_name), (get_floppy_volume_name): * libnautilus-extensions/nautilus-volume-monitor.h: New file * src/file-manager/fm-cdrom-extensions.h: * src/file-manager/fm-desktop-icon-view.c: (fm_desktop_icon_view_destroy), (fm_desktop_icon_view_initialize), (fm_desktop_icon_view_create_background_context_menu_items), (fm_desktop_icon_view_trash_state_changed_callback), (mount_unmount_removable), (place_home_directory): * src/file-manager/fm-desktop-icon-view.h: * src/file-manager/fm-desktop-mounting.c: * src/file-manager/fm-desktop-mounting.h: * src/file-manager/iso9660.h: All old files that have been removed from build.
2000-08-02 22:04:26 +00:00
struct NautilusVolumeMonitorClass {
GtkObjectClass parent_class;
/* Signals */
New function. Identifies if link is a volume link. 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.
2000-08-18 22:33:52 +00:00
void (* volume_mounted) (NautilusVolumeMonitor *monitor,
More naming fixes. Remove info from NautilusDeviceInfo and renamed it 2000-08-18 Gene Z. Ragan <gzr@eazel.com> * libnautilus-extensions/nautilus-volume-monitor.c: (nautilus_volume_monitor_initialize), (nautilus_volume_monitor_destroy), (mount_volume_is_mounted), (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_mount), (mount_volume_activate_cdrom), (mount_volume_activate_floppy), (mount_volume_activate_ext2), (mount_volume_activate), (eject_cdrom), (mount_volume_deactivate), (mount_volume_do_nothing), (mount_volume_check_change), (mount_volumes_update_is_mounted), (mount_volumes_check_status), (mount_volume_floppy_add), (mount_volume_ext2_add), (mount_volume_iso9660_add), (mount_volume_add_aliases), (add_mount_volume), (mntent_is_removable_fs), (nautilus_volume_monitor_find_volumes), (nautilus_volume_monitor_each_volume), (nautilus_volume_monitor_each_mounted_volume), (nautilus_volume_monitor_mount_unmount_removable), (free_volume_info), (get_iso9660_volume_name), (get_ext2_volume_name), (get_floppy_volume_name): * libnautilus-extensions/nautilus-volume-monitor.h: * src/file-manager/fm-desktop-icon-view.c: (fm_desktop_icon_view_initialize), (volume_mounted_callback), (volume_unmounted_callback): More naming fixes. Remove info from NautilusDeviceInfo and renamed it NautilusVolume. Removed device naming and use volume instead. Named other structs with Nautilus prepended.
2000-08-19 01:08:20 +00:00
const NautilusVolume *volume);
New function. Identifies if link is a volume link. 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.
2000-08-18 22:33:52 +00:00
void (* volume_unmounted) (NautilusVolumeMonitor *monitor,
More naming fixes. Remove info from NautilusDeviceInfo and renamed it 2000-08-18 Gene Z. Ragan <gzr@eazel.com> * libnautilus-extensions/nautilus-volume-monitor.c: (nautilus_volume_monitor_initialize), (nautilus_volume_monitor_destroy), (mount_volume_is_mounted), (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_mount), (mount_volume_activate_cdrom), (mount_volume_activate_floppy), (mount_volume_activate_ext2), (mount_volume_activate), (eject_cdrom), (mount_volume_deactivate), (mount_volume_do_nothing), (mount_volume_check_change), (mount_volumes_update_is_mounted), (mount_volumes_check_status), (mount_volume_floppy_add), (mount_volume_ext2_add), (mount_volume_iso9660_add), (mount_volume_add_aliases), (add_mount_volume), (mntent_is_removable_fs), (nautilus_volume_monitor_find_volumes), (nautilus_volume_monitor_each_volume), (nautilus_volume_monitor_each_mounted_volume), (nautilus_volume_monitor_mount_unmount_removable), (free_volume_info), (get_iso9660_volume_name), (get_ext2_volume_name), (get_floppy_volume_name): * libnautilus-extensions/nautilus-volume-monitor.h: * src/file-manager/fm-desktop-icon-view.c: (fm_desktop_icon_view_initialize), (volume_mounted_callback), (volume_unmounted_callback): More naming fixes. Remove info from NautilusDeviceInfo and renamed it NautilusVolume. Removed device naming and use volume instead. Named other structs with Nautilus prepended.
2000-08-19 01:08:20 +00:00
const NautilusVolume *volume);
Fixed bug 1866, Turn volume mounting code into an object. 2000-08-02 Gene Z. Ragan <gzr@eazel.com> Fixed bug 1866, Turn volume mounting code into an object. Monitor now emits a signal, volume_mounted, when a mount occurs. Removed the old fm-desktop-mounting files and added new nautilus-volume-monitor files. * libnautilus-extensions/Makefile.am: * src/file-manager/Makefile.am: Added new files and removed old ones. * libnautilus-extensions/nautilus-cdrom-extensions.h: New file * libnautilus-extensions/nautilus-iso9660.h: New file * libnautilus-extensions/nautilus-volume-monitor.c: New file (nautilus_volume_monitor_initialize), (nautilus_volume_monitor_initialize_class), (nautilus_volume_monitor_destroy), (nautilus_volume_monitor_get), (floppy_sort), (fm_desktop_get_removable_volume_list), (nautilus_volume_monitor_volume_is_mounted), (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_devices_check_status), (check_permissions), (mount_device_floppy_add), (mount_device_ext2_add), (cdrom_ioctl_frenzy), (mount_device_iso9660_add), (mount_device_add_aliases), (add_mount_device), (mntent_is_removable_fs), (mntent_has_option), (nautilus_volume_monitor_find_mount_devices), (nautilus_volume_monitor_mount_unmount_removable), (remove_mount_link), (free_device_info), (get_iso9660_volume_name), (get_ext2_volume_name), (get_floppy_volume_name): * libnautilus-extensions/nautilus-volume-monitor.h: New file * src/file-manager/fm-cdrom-extensions.h: * src/file-manager/fm-desktop-icon-view.c: (fm_desktop_icon_view_destroy), (fm_desktop_icon_view_initialize), (fm_desktop_icon_view_create_background_context_menu_items), (fm_desktop_icon_view_trash_state_changed_callback), (mount_unmount_removable), (place_home_directory): * src/file-manager/fm-desktop-icon-view.h: * src/file-manager/fm-desktop-mounting.c: * src/file-manager/fm-desktop-mounting.h: * src/file-manager/iso9660.h: All old files that have been removed from build.
2000-08-02 22:04:26 +00:00
};
typedef enum {
NAUTILUS_VOLUME_AFFS,
NAUTILUS_VOLUME_CDDA,
NAUTILUS_VOLUME_CDROM,
Added helper. (floppy_sort): Simplified logic. * 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-25 21:08:31 +00:00
NAUTILUS_VOLUME_EXT2,
NAUTILUS_VOLUME_FAT,
NAUTILUS_VOLUME_FLOPPY,
NAUTILUS_VOLUME_HPFS,
NAUTILUS_VOLUME_MINIX,
NAUTILUS_VOLUME_MSDOS,
NAUTILUS_VOLUME_NFS,
NAUTILUS_VOLUME_SMB,
NAUTILUS_VOLUME_UDF,
NAUTILUS_VOLUME_UFS,
NAUTILUS_VOLUME_UNSDOS,
NAUTILUS_VOLUME_VFAT,
NAUTILUS_VOLUME_XENIX,
NAUTILUS_VOLUME_XIAFS,
NAUTILUS_VOLUME_UNKNOWN
More naming fixes. Remove info from NautilusDeviceInfo and renamed it 2000-08-18 Gene Z. Ragan <gzr@eazel.com> * libnautilus-extensions/nautilus-volume-monitor.c: (nautilus_volume_monitor_initialize), (nautilus_volume_monitor_destroy), (mount_volume_is_mounted), (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_mount), (mount_volume_activate_cdrom), (mount_volume_activate_floppy), (mount_volume_activate_ext2), (mount_volume_activate), (eject_cdrom), (mount_volume_deactivate), (mount_volume_do_nothing), (mount_volume_check_change), (mount_volumes_update_is_mounted), (mount_volumes_check_status), (mount_volume_floppy_add), (mount_volume_ext2_add), (mount_volume_iso9660_add), (mount_volume_add_aliases), (add_mount_volume), (mntent_is_removable_fs), (nautilus_volume_monitor_find_volumes), (nautilus_volume_monitor_each_volume), (nautilus_volume_monitor_each_mounted_volume), (nautilus_volume_monitor_mount_unmount_removable), (free_volume_info), (get_iso9660_volume_name), (get_ext2_volume_name), (get_floppy_volume_name): * libnautilus-extensions/nautilus-volume-monitor.h: * src/file-manager/fm-desktop-icon-view.c: (fm_desktop_icon_view_initialize), (volume_mounted_callback), (volume_unmounted_callback): More naming fixes. Remove info from NautilusDeviceInfo and renamed it NautilusVolume. Removed device naming and use volume instead. Named other structs with Nautilus prepended.
2000-08-19 01:08:20 +00:00
} NautilusVolumeType;
struct NautilusVolume {
NautilusVolumeType type;
Fixed bug 1866, Turn volume mounting code into an object. 2000-08-02 Gene Z. Ragan <gzr@eazel.com> Fixed bug 1866, Turn volume mounting code into an object. Monitor now emits a signal, volume_mounted, when a mount occurs. Removed the old fm-desktop-mounting files and added new nautilus-volume-monitor files. * libnautilus-extensions/Makefile.am: * src/file-manager/Makefile.am: Added new files and removed old ones. * libnautilus-extensions/nautilus-cdrom-extensions.h: New file * libnautilus-extensions/nautilus-iso9660.h: New file * libnautilus-extensions/nautilus-volume-monitor.c: New file (nautilus_volume_monitor_initialize), (nautilus_volume_monitor_initialize_class), (nautilus_volume_monitor_destroy), (nautilus_volume_monitor_get), (floppy_sort), (fm_desktop_get_removable_volume_list), (nautilus_volume_monitor_volume_is_mounted), (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_devices_check_status), (check_permissions), (mount_device_floppy_add), (mount_device_ext2_add), (cdrom_ioctl_frenzy), (mount_device_iso9660_add), (mount_device_add_aliases), (add_mount_device), (mntent_is_removable_fs), (mntent_has_option), (nautilus_volume_monitor_find_mount_devices), (nautilus_volume_monitor_mount_unmount_removable), (remove_mount_link), (free_device_info), (get_iso9660_volume_name), (get_ext2_volume_name), (get_floppy_volume_name): * libnautilus-extensions/nautilus-volume-monitor.h: New file * src/file-manager/fm-cdrom-extensions.h: * src/file-manager/fm-desktop-icon-view.c: (fm_desktop_icon_view_destroy), (fm_desktop_icon_view_initialize), (fm_desktop_icon_view_create_background_context_menu_items), (fm_desktop_icon_view_trash_state_changed_callback), (mount_unmount_removable), (place_home_directory): * src/file-manager/fm-desktop-icon-view.h: * src/file-manager/fm-desktop-mounting.c: * src/file-manager/fm-desktop-mounting.h: * src/file-manager/iso9660.h: All old files that have been removed from build.
2000-08-02 22:04:26 +00:00
reviewed by: Pavel Cisler <pavel@eazel.com> 2000-12-15 Gene Z. Ragan <gzr@eazel.com> reviewed by: Pavel Cisler <pavel@eazel.com> Fixed bug 2400, LABEL=/ lines in /etc/fstab (used in Red Hat Beta 7) prevents trash from working Fixed bug 4586, Nautilus does not properly detect zip drives as removable media Rearchitected the way the volume monitor works. It now examines /proc/mounts to determine what file systems are mounted. This solves several problems such as the use of LABEL and auto in fstab. By using /proc/mounts we do not have to worry about permissions and disk access. * libnautilus-extensions/nautilus-volume-monitor.c: * libnautilus-extensions/nautilus-volume-monitor.h: (nautilus_volume_monitor_initialize), (nautilus_volume_monitor_destroy), (floppy_sort), (nautilus_volume_monitor_get_removable_volumes), (nautilus_volume_monitor_get_volume_name), (mount_volume_get_cdrom_name), (mount_volume_activate_cdrom), (mount_volume_activate_floppy), (mount_volume_activate_ext2), (mount_volume_activate_msdos), (mount_volume_activate_generic), (mount_volume_get_name), (mount_volume_activate), (eject_cdrom), (free_mount_list), (create_differed_list), (get_current_mount_list), (verify_current_mount_state), (mount_volumes_check_status), (mount_volume_floppy_add), (mount_volume_ext2_add), (mount_volume_udf_add), (mount_volume_vfat_add), (mount_volume_msdos_add), (cdrom_ioctl_get_info), (mount_volume_iso9660_add), (mount_volume_proc_add), (find_volumes), (nautilus_volume_monitor_each_volume), (nautilus_volume_monitor_each_mounted_volume), (nautilus_volume_monitor_volume_is_mounted), (nautilus_volume_monitor_mount_unmount_removable), (copy_volume), (nautilus_volume_monitor_free_volume), (get_msdos_volume_name), (get_floppy_volume_name), (mount_volume_add_filesystem): * src/file-manager/fm-desktop-icon-view.c: (create_mount_link), (volume_unmounted_callback), (update_disks_menu):
2000-12-16 04:30:44 +00:00
char *device_path;
Fixed bug 1866, Turn volume mounting code into an object. 2000-08-02 Gene Z. Ragan <gzr@eazel.com> Fixed bug 1866, Turn volume mounting code into an object. Monitor now emits a signal, volume_mounted, when a mount occurs. Removed the old fm-desktop-mounting files and added new nautilus-volume-monitor files. * libnautilus-extensions/Makefile.am: * src/file-manager/Makefile.am: Added new files and removed old ones. * libnautilus-extensions/nautilus-cdrom-extensions.h: New file * libnautilus-extensions/nautilus-iso9660.h: New file * libnautilus-extensions/nautilus-volume-monitor.c: New file (nautilus_volume_monitor_initialize), (nautilus_volume_monitor_initialize_class), (nautilus_volume_monitor_destroy), (nautilus_volume_monitor_get), (floppy_sort), (fm_desktop_get_removable_volume_list), (nautilus_volume_monitor_volume_is_mounted), (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_devices_check_status), (check_permissions), (mount_device_floppy_add), (mount_device_ext2_add), (cdrom_ioctl_frenzy), (mount_device_iso9660_add), (mount_device_add_aliases), (add_mount_device), (mntent_is_removable_fs), (mntent_has_option), (nautilus_volume_monitor_find_mount_devices), (nautilus_volume_monitor_mount_unmount_removable), (remove_mount_link), (free_device_info), (get_iso9660_volume_name), (get_ext2_volume_name), (get_floppy_volume_name): * libnautilus-extensions/nautilus-volume-monitor.h: New file * src/file-manager/fm-cdrom-extensions.h: * src/file-manager/fm-desktop-icon-view.c: (fm_desktop_icon_view_destroy), (fm_desktop_icon_view_initialize), (fm_desktop_icon_view_create_background_context_menu_items), (fm_desktop_icon_view_trash_state_changed_callback), (mount_unmount_removable), (place_home_directory): * src/file-manager/fm-desktop-icon-view.h: * src/file-manager/fm-desktop-mounting.c: * src/file-manager/fm-desktop-mounting.h: * src/file-manager/iso9660.h: All old files that have been removed from build.
2000-08-02 22:04:26 +00:00
char *mount_path;
char *volume_name;
reviewed by: Pavel Cisler <pavel@eazel.com> 2000-12-15 Gene Z. Ragan <gzr@eazel.com> reviewed by: Pavel Cisler <pavel@eazel.com> Fixed bug 2400, LABEL=/ lines in /etc/fstab (used in Red Hat Beta 7) prevents trash from working Fixed bug 4586, Nautilus does not properly detect zip drives as removable media Rearchitected the way the volume monitor works. It now examines /proc/mounts to determine what file systems are mounted. This solves several problems such as the use of LABEL and auto in fstab. By using /proc/mounts we do not have to worry about permissions and disk access. * libnautilus-extensions/nautilus-volume-monitor.c: * libnautilus-extensions/nautilus-volume-monitor.h: (nautilus_volume_monitor_initialize), (nautilus_volume_monitor_destroy), (floppy_sort), (nautilus_volume_monitor_get_removable_volumes), (nautilus_volume_monitor_get_volume_name), (mount_volume_get_cdrom_name), (mount_volume_activate_cdrom), (mount_volume_activate_floppy), (mount_volume_activate_ext2), (mount_volume_activate_msdos), (mount_volume_activate_generic), (mount_volume_get_name), (mount_volume_activate), (eject_cdrom), (free_mount_list), (create_differed_list), (get_current_mount_list), (verify_current_mount_state), (mount_volumes_check_status), (mount_volume_floppy_add), (mount_volume_ext2_add), (mount_volume_udf_add), (mount_volume_vfat_add), (mount_volume_msdos_add), (cdrom_ioctl_get_info), (mount_volume_iso9660_add), (mount_volume_proc_add), (find_volumes), (nautilus_volume_monitor_each_volume), (nautilus_volume_monitor_each_mounted_volume), (nautilus_volume_monitor_volume_is_mounted), (nautilus_volume_monitor_mount_unmount_removable), (copy_volume), (nautilus_volume_monitor_free_volume), (get_msdos_volume_name), (get_floppy_volume_name), (mount_volume_add_filesystem): * src/file-manager/fm-desktop-icon-view.c: (create_mount_link), (volume_unmounted_callback), (update_disks_menu):
2000-12-16 04:30:44 +00:00
char *filesystem;
Fixed bug 1866, Turn volume mounting code into an object. 2000-08-02 Gene Z. Ragan <gzr@eazel.com> Fixed bug 1866, Turn volume mounting code into an object. Monitor now emits a signal, volume_mounted, when a mount occurs. Removed the old fm-desktop-mounting files and added new nautilus-volume-monitor files. * libnautilus-extensions/Makefile.am: * src/file-manager/Makefile.am: Added new files and removed old ones. * libnautilus-extensions/nautilus-cdrom-extensions.h: New file * libnautilus-extensions/nautilus-iso9660.h: New file * libnautilus-extensions/nautilus-volume-monitor.c: New file (nautilus_volume_monitor_initialize), (nautilus_volume_monitor_initialize_class), (nautilus_volume_monitor_destroy), (nautilus_volume_monitor_get), (floppy_sort), (fm_desktop_get_removable_volume_list), (nautilus_volume_monitor_volume_is_mounted), (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_devices_check_status), (check_permissions), (mount_device_floppy_add), (mount_device_ext2_add), (cdrom_ioctl_frenzy), (mount_device_iso9660_add), (mount_device_add_aliases), (add_mount_device), (mntent_is_removable_fs), (mntent_has_option), (nautilus_volume_monitor_find_mount_devices), (nautilus_volume_monitor_mount_unmount_removable), (remove_mount_link), (free_device_info), (get_iso9660_volume_name), (get_ext2_volume_name), (get_floppy_volume_name): * libnautilus-extensions/nautilus-volume-monitor.h: New file * src/file-manager/fm-cdrom-extensions.h: * src/file-manager/fm-desktop-icon-view.c: (fm_desktop_icon_view_destroy), (fm_desktop_icon_view_initialize), (fm_desktop_icon_view_create_background_context_menu_items), (fm_desktop_icon_view_trash_state_changed_callback), (mount_unmount_removable), (place_home_directory): * src/file-manager/fm-desktop-icon-view.h: * src/file-manager/fm-desktop-mounting.c: * src/file-manager/fm-desktop-mounting.h: * src/file-manager/iso9660.h: All old files that have been removed from build.
2000-08-02 22:04:26 +00:00
gboolean is_removable;
gboolean is_read_only;
Fixed bug 2210 (GNOME is referred to as Gnome in the about dialog). It was * 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-18 18:44:37 +00:00
};
Fixed bug 1866, Turn volume mounting code into an object. 2000-08-02 Gene Z. Ragan <gzr@eazel.com> Fixed bug 1866, Turn volume mounting code into an object. Monitor now emits a signal, volume_mounted, when a mount occurs. Removed the old fm-desktop-mounting files and added new nautilus-volume-monitor files. * libnautilus-extensions/Makefile.am: * src/file-manager/Makefile.am: Added new files and removed old ones. * libnautilus-extensions/nautilus-cdrom-extensions.h: New file * libnautilus-extensions/nautilus-iso9660.h: New file * libnautilus-extensions/nautilus-volume-monitor.c: New file (nautilus_volume_monitor_initialize), (nautilus_volume_monitor_initialize_class), (nautilus_volume_monitor_destroy), (nautilus_volume_monitor_get), (floppy_sort), (fm_desktop_get_removable_volume_list), (nautilus_volume_monitor_volume_is_mounted), (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_devices_check_status), (check_permissions), (mount_device_floppy_add), (mount_device_ext2_add), (cdrom_ioctl_frenzy), (mount_device_iso9660_add), (mount_device_add_aliases), (add_mount_device), (mntent_is_removable_fs), (mntent_has_option), (nautilus_volume_monitor_find_mount_devices), (nautilus_volume_monitor_mount_unmount_removable), (remove_mount_link), (free_device_info), (get_iso9660_volume_name), (get_ext2_volume_name), (get_floppy_volume_name): * libnautilus-extensions/nautilus-volume-monitor.h: New file * src/file-manager/fm-cdrom-extensions.h: * src/file-manager/fm-desktop-icon-view.c: (fm_desktop_icon_view_destroy), (fm_desktop_icon_view_initialize), (fm_desktop_icon_view_create_background_context_menu_items), (fm_desktop_icon_view_trash_state_changed_callback), (mount_unmount_removable), (place_home_directory): * src/file-manager/fm-desktop-icon-view.h: * src/file-manager/fm-desktop-mounting.c: * src/file-manager/fm-desktop-mounting.h: * src/file-manager/iso9660.h: All old files that have been removed from build.
2000-08-02 22:04:26 +00:00
More naming fixes. Remove info from NautilusDeviceInfo and renamed it 2000-08-18 Gene Z. Ragan <gzr@eazel.com> * libnautilus-extensions/nautilus-volume-monitor.c: (nautilus_volume_monitor_initialize), (nautilus_volume_monitor_destroy), (mount_volume_is_mounted), (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_mount), (mount_volume_activate_cdrom), (mount_volume_activate_floppy), (mount_volume_activate_ext2), (mount_volume_activate), (eject_cdrom), (mount_volume_deactivate), (mount_volume_do_nothing), (mount_volume_check_change), (mount_volumes_update_is_mounted), (mount_volumes_check_status), (mount_volume_floppy_add), (mount_volume_ext2_add), (mount_volume_iso9660_add), (mount_volume_add_aliases), (add_mount_volume), (mntent_is_removable_fs), (nautilus_volume_monitor_find_volumes), (nautilus_volume_monitor_each_volume), (nautilus_volume_monitor_each_mounted_volume), (nautilus_volume_monitor_mount_unmount_removable), (free_volume_info), (get_iso9660_volume_name), (get_ext2_volume_name), (get_floppy_volume_name): * libnautilus-extensions/nautilus-volume-monitor.h: * src/file-manager/fm-desktop-icon-view.c: (fm_desktop_icon_view_initialize), (volume_mounted_callback), (volume_unmounted_callback): More naming fixes. Remove info from NautilusDeviceInfo and renamed it NautilusVolume. Removed device naming and use volume instead. Named other structs with Nautilus prepended.
2000-08-19 01:08:20 +00:00
typedef gboolean (* NautilusEachVolumeFunction) (const NautilusVolume *, gpointer);
GtkType nautilus_volume_monitor_get_type (void);
NautilusVolumeMonitor *nautilus_volume_monitor_get (void);
char *nautilus_volume_monitor_get_volume_name (const NautilusVolume *volume);
reviewed by: Pavel Cisler <pavel@eazel.com> 2000-12-15 Gene Z. Ragan <gzr@eazel.com> reviewed by: Pavel Cisler <pavel@eazel.com> Fixed bug 2400, LABEL=/ lines in /etc/fstab (used in Red Hat Beta 7) prevents trash from working Fixed bug 4586, Nautilus does not properly detect zip drives as removable media Rearchitected the way the volume monitor works. It now examines /proc/mounts to determine what file systems are mounted. This solves several problems such as the use of LABEL and auto in fstab. By using /proc/mounts we do not have to worry about permissions and disk access. * libnautilus-extensions/nautilus-volume-monitor.c: * libnautilus-extensions/nautilus-volume-monitor.h: (nautilus_volume_monitor_initialize), (nautilus_volume_monitor_destroy), (floppy_sort), (nautilus_volume_monitor_get_removable_volumes), (nautilus_volume_monitor_get_volume_name), (mount_volume_get_cdrom_name), (mount_volume_activate_cdrom), (mount_volume_activate_floppy), (mount_volume_activate_ext2), (mount_volume_activate_msdos), (mount_volume_activate_generic), (mount_volume_get_name), (mount_volume_activate), (eject_cdrom), (free_mount_list), (create_differed_list), (get_current_mount_list), (verify_current_mount_state), (mount_volumes_check_status), (mount_volume_floppy_add), (mount_volume_ext2_add), (mount_volume_udf_add), (mount_volume_vfat_add), (mount_volume_msdos_add), (cdrom_ioctl_get_info), (mount_volume_iso9660_add), (mount_volume_proc_add), (find_volumes), (nautilus_volume_monitor_each_volume), (nautilus_volume_monitor_each_mounted_volume), (nautilus_volume_monitor_volume_is_mounted), (nautilus_volume_monitor_mount_unmount_removable), (copy_volume), (nautilus_volume_monitor_free_volume), (get_msdos_volume_name), (get_floppy_volume_name), (mount_volume_add_filesystem): * src/file-manager/fm-desktop-icon-view.c: (create_mount_link), (volume_unmounted_callback), (update_disks_menu):
2000-12-16 04:30:44 +00:00
void nautilus_volume_monitor_mount_unmount_removable (NautilusVolumeMonitor *monitor,
const char *mount_point,
gboolean should_mount);
reviewed by: Pavel Cisler <pavel@eazel.com> 2000-12-15 Gene Z. Ragan <gzr@eazel.com> reviewed by: Pavel Cisler <pavel@eazel.com> Fixed bug 2400, LABEL=/ lines in /etc/fstab (used in Red Hat Beta 7) prevents trash from working Fixed bug 4586, Nautilus does not properly detect zip drives as removable media Rearchitected the way the volume monitor works. It now examines /proc/mounts to determine what file systems are mounted. This solves several problems such as the use of LABEL and auto in fstab. By using /proc/mounts we do not have to worry about permissions and disk access. * libnautilus-extensions/nautilus-volume-monitor.c: * libnautilus-extensions/nautilus-volume-monitor.h: (nautilus_volume_monitor_initialize), (nautilus_volume_monitor_destroy), (floppy_sort), (nautilus_volume_monitor_get_removable_volumes), (nautilus_volume_monitor_get_volume_name), (mount_volume_get_cdrom_name), (mount_volume_activate_cdrom), (mount_volume_activate_floppy), (mount_volume_activate_ext2), (mount_volume_activate_msdos), (mount_volume_activate_generic), (mount_volume_get_name), (mount_volume_activate), (eject_cdrom), (free_mount_list), (create_differed_list), (get_current_mount_list), (verify_current_mount_state), (mount_volumes_check_status), (mount_volume_floppy_add), (mount_volume_ext2_add), (mount_volume_udf_add), (mount_volume_vfat_add), (mount_volume_msdos_add), (cdrom_ioctl_get_info), (mount_volume_iso9660_add), (mount_volume_proc_add), (find_volumes), (nautilus_volume_monitor_each_volume), (nautilus_volume_monitor_each_mounted_volume), (nautilus_volume_monitor_volume_is_mounted), (nautilus_volume_monitor_mount_unmount_removable), (copy_volume), (nautilus_volume_monitor_free_volume), (get_msdos_volume_name), (get_floppy_volume_name), (mount_volume_add_filesystem): * src/file-manager/fm-desktop-icon-view.c: (create_mount_link), (volume_unmounted_callback), (update_disks_menu):
2000-12-16 04:30:44 +00:00
gboolean nautilus_volume_monitor_volume_is_mounted (NautilusVolumeMonitor *monitor,
const NautilusVolume *mount_point);
gboolean nautilus_volume_monitor_volume_is_removable (NautilusVolumeMonitor *monitor,
const NautilusVolume *volume);
gboolean nautilus_volume_monitor_is_volume_link (const char *path);
reviewed by: Pavel Cisler <pavel@eazel.com> 2000-12-15 Gene Z. Ragan <gzr@eazel.com> reviewed by: Pavel Cisler <pavel@eazel.com> Fixed bug 2400, LABEL=/ lines in /etc/fstab (used in Red Hat Beta 7) prevents trash from working Fixed bug 4586, Nautilus does not properly detect zip drives as removable media Rearchitected the way the volume monitor works. It now examines /proc/mounts to determine what file systems are mounted. This solves several problems such as the use of LABEL and auto in fstab. By using /proc/mounts we do not have to worry about permissions and disk access. * libnautilus-extensions/nautilus-volume-monitor.c: * libnautilus-extensions/nautilus-volume-monitor.h: (nautilus_volume_monitor_initialize), (nautilus_volume_monitor_destroy), (floppy_sort), (nautilus_volume_monitor_get_removable_volumes), (nautilus_volume_monitor_get_volume_name), (mount_volume_get_cdrom_name), (mount_volume_activate_cdrom), (mount_volume_activate_floppy), (mount_volume_activate_ext2), (mount_volume_activate_msdos), (mount_volume_activate_generic), (mount_volume_get_name), (mount_volume_activate), (eject_cdrom), (free_mount_list), (create_differed_list), (get_current_mount_list), (verify_current_mount_state), (mount_volumes_check_status), (mount_volume_floppy_add), (mount_volume_ext2_add), (mount_volume_udf_add), (mount_volume_vfat_add), (mount_volume_msdos_add), (cdrom_ioctl_get_info), (mount_volume_iso9660_add), (mount_volume_proc_add), (find_volumes), (nautilus_volume_monitor_each_volume), (nautilus_volume_monitor_each_mounted_volume), (nautilus_volume_monitor_volume_is_mounted), (nautilus_volume_monitor_mount_unmount_removable), (copy_volume), (nautilus_volume_monitor_free_volume), (get_msdos_volume_name), (get_floppy_volume_name), (mount_volume_add_filesystem): * src/file-manager/fm-desktop-icon-view.c: (create_mount_link), (volume_unmounted_callback), (update_disks_menu):
2000-12-16 04:30:44 +00:00
reviewed by: Darin Adler <darin@eazel.com> 2000-12-12 Pavel Cisler <pavel@eazel.com> reviewed by: Darin Adler <darin@eazel.com> Fixed 4954 Nautilus crashes attempting to empty a .Trash containing undeletable files * libnautilus-extensions/nautilus-file-operations.c: (build_error_string), (handle_xfer_vfs_error) Reworked the error message building logic. Split up the routine into a part that decides what the interesting input for building the error message is and a part that actually builds the error message. Fixed a number of cases where a wrong error message would be used. The actual bug in the bug report was one of the cases -- an assert catching a case that was not handled properly. Fixed: part of -- 638 When a new volume gets mounted, integrate its Trash directory. part of -- 4143 Files dragged to trash icon on desktop seem to vanish, part of -- 4963 Files dragged to Trash from floppy don't appear in Trash, * libnautilus-extensions/nautilus-trash-monitor.c: * libnautilus-extensions/nautilus-trash-monitor.h: (add_one_volume_trash), (nautilus_trash_monitor_get_trash_directories): Added a new call that returns a list of all the Trash directories on all the mouted volumes. * libnautilus-extensions/nautilus-trash-directory.c: (add_volume): Got rid of get_volume_vfs_uri_if_writable. Used the new nautilus_volume_monitor_should_integrate_trash instead to pick the volumes that can support trash. * libnautilus-extensions/nautilus-volume-monitor.c: (nautilus_volume_monitor_should_integrate_trash), (nautilus_volume_monitor_get_volume_mount_uri): * libnautilus-extensions/nautilus-volume-monitor.h: Add new helper calls used by the routine that collects all the trash uris from all mouted volumes. * libnautilus-extensions/nautilus-file-operations.c: (do_empty_trash): Pass in a list of Trash directories instead of just the single trash in the user's home directory. Fixed: 2443 Trash is only found on EXT2 volumes 2444 Trash on read-only volumes is not displayed remaining part of -- 4143 Files dragged to trash icon on desktop seem to vanish, remaining part of -- 4963 Files dragged to Trash from floppy don't appear in Trash, * libnautilus-extensions/nautilus-volume-monitor.c: (nautilus_volume_monitor_should_integrate_trash): Removed the old logic from get_volume_vfs_uri_if_writable that only displayed trash from writable ext2 volumes. Enumerated all the file system types that we know can support trash.
2000-12-13 01:41:12 +00:00
gboolean nautilus_volume_monitor_should_integrate_trash (const NautilusVolume *volume);
const char *nautilus_volume_monitor_get_volume_mount_uri (const NautilusVolume *volume);
void nautilus_volume_monitor_each_mounted_volume (NautilusVolumeMonitor *monitor,
NautilusEachVolumeFunction function,
gpointer context);
GList *nautilus_volume_monitor_get_removable_volumes (NautilusVolumeMonitor *monitor);
reviewed by: Pavel Cisler <pavel@eazel.com> 2000-12-15 Gene Z. Ragan <gzr@eazel.com> reviewed by: Pavel Cisler <pavel@eazel.com> Fixed bug 2400, LABEL=/ lines in /etc/fstab (used in Red Hat Beta 7) prevents trash from working Fixed bug 4586, Nautilus does not properly detect zip drives as removable media Rearchitected the way the volume monitor works. It now examines /proc/mounts to determine what file systems are mounted. This solves several problems such as the use of LABEL and auto in fstab. By using /proc/mounts we do not have to worry about permissions and disk access. * libnautilus-extensions/nautilus-volume-monitor.c: * libnautilus-extensions/nautilus-volume-monitor.h: (nautilus_volume_monitor_initialize), (nautilus_volume_monitor_destroy), (floppy_sort), (nautilus_volume_monitor_get_removable_volumes), (nautilus_volume_monitor_get_volume_name), (mount_volume_get_cdrom_name), (mount_volume_activate_cdrom), (mount_volume_activate_floppy), (mount_volume_activate_ext2), (mount_volume_activate_msdos), (mount_volume_activate_generic), (mount_volume_get_name), (mount_volume_activate), (eject_cdrom), (free_mount_list), (create_differed_list), (get_current_mount_list), (verify_current_mount_state), (mount_volumes_check_status), (mount_volume_floppy_add), (mount_volume_ext2_add), (mount_volume_udf_add), (mount_volume_vfat_add), (mount_volume_msdos_add), (cdrom_ioctl_get_info), (mount_volume_iso9660_add), (mount_volume_proc_add), (find_volumes), (nautilus_volume_monitor_each_volume), (nautilus_volume_monitor_each_mounted_volume), (nautilus_volume_monitor_volume_is_mounted), (nautilus_volume_monitor_mount_unmount_removable), (copy_volume), (nautilus_volume_monitor_free_volume), (get_msdos_volume_name), (get_floppy_volume_name), (mount_volume_add_filesystem): * src/file-manager/fm-desktop-icon-view.c: (create_mount_link), (volume_unmounted_callback), (update_disks_menu):
2000-12-16 04:30:44 +00:00
void nautilus_volume_monitor_free_volume (NautilusVolume *volume);
char *nautilus_volume_monitor_get_target_uri (const NautilusVolume *volume);
reviewed by: Pavel Cisler <pavel@eazel.com> 2000-12-15 Gene Z. Ragan <gzr@eazel.com> reviewed by: Pavel Cisler <pavel@eazel.com> Fixed bug 2400, LABEL=/ lines in /etc/fstab (used in Red Hat Beta 7) prevents trash from working Fixed bug 4586, Nautilus does not properly detect zip drives as removable media Rearchitected the way the volume monitor works. It now examines /proc/mounts to determine what file systems are mounted. This solves several problems such as the use of LABEL and auto in fstab. By using /proc/mounts we do not have to worry about permissions and disk access. * libnautilus-extensions/nautilus-volume-monitor.c: * libnautilus-extensions/nautilus-volume-monitor.h: (nautilus_volume_monitor_initialize), (nautilus_volume_monitor_destroy), (floppy_sort), (nautilus_volume_monitor_get_removable_volumes), (nautilus_volume_monitor_get_volume_name), (mount_volume_get_cdrom_name), (mount_volume_activate_cdrom), (mount_volume_activate_floppy), (mount_volume_activate_ext2), (mount_volume_activate_msdos), (mount_volume_activate_generic), (mount_volume_get_name), (mount_volume_activate), (eject_cdrom), (free_mount_list), (create_differed_list), (get_current_mount_list), (verify_current_mount_state), (mount_volumes_check_status), (mount_volume_floppy_add), (mount_volume_ext2_add), (mount_volume_udf_add), (mount_volume_vfat_add), (mount_volume_msdos_add), (cdrom_ioctl_get_info), (mount_volume_iso9660_add), (mount_volume_proc_add), (find_volumes), (nautilus_volume_monitor_each_volume), (nautilus_volume_monitor_each_mounted_volume), (nautilus_volume_monitor_volume_is_mounted), (nautilus_volume_monitor_mount_unmount_removable), (copy_volume), (nautilus_volume_monitor_free_volume), (get_msdos_volume_name), (get_floppy_volume_name), (mount_volume_add_filesystem): * src/file-manager/fm-desktop-icon-view.c: (create_mount_link), (volume_unmounted_callback), (update_disks_menu):
2000-12-16 04:30:44 +00:00
Fixed bug 2210 (GNOME is referred to as Gnome in the about dialog). It was * 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-18 18:44:37 +00:00
#endif /* NAUTILUS_VOLUME_MONITOR_H */