diff --git a/ChangeLog b/ChangeLog index 9d76fa5f9a1e00de9c15a38ce484b6a76be91fbc..0dd7f7d8006e3b8950e9770ebc873c218e1ab1e3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-01-08 Benedikt Meurer <benny@xfce.org> + + * thunar-vfs/thunar-vfs-volume-hal.c, + thunar-vfs/thunar-vfs-volume.{c,h}: Add support for memory cards and + generic removable disk drives. Bug #2652. + 2007-01-07 Benedikt Meurer <benny@xfce.org> * thunar-vfs/Makefile.am, thunar-vfs/thunar-vfs-volume-hal.c, diff --git a/thunar-vfs/thunar-vfs-volume-hal.c b/thunar-vfs/thunar-vfs-volume-hal.c index ae70a22a82159f48602df8e33eef00c101419dae..37feb5c218df0b74c9bd0c79dcb11e26f57e7af7 100644 --- a/thunar-vfs/thunar-vfs-volume-hal.c +++ b/thunar-vfs/thunar-vfs-volume-hal.c @@ -571,6 +571,11 @@ thunar_vfs_volume_hal_update (ThunarVfsVolumeHal *volume_hal, volume_hal->kind = THUNAR_VFS_VOLUME_KIND_AUDIO_PLAYER; break; + case LIBHAL_DRIVE_TYPE_SMART_MEDIA: + case LIBHAL_DRIVE_TYPE_SD_MMC: + volume_hal->kind = THUNAR_VFS_VOLUME_KIND_MEMORY_CARD; + break; + default: /* check if the drive is connected to the USB bus */ if (libhal_drive_get_bus (hd) == LIBHAL_DRIVE_BUS_USB) @@ -578,6 +583,11 @@ thunar_vfs_volume_hal_update (ThunarVfsVolumeHal *volume_hal, /* we consider the drive to be an USB stick */ volume_hal->kind = THUNAR_VFS_VOLUME_KIND_USBSTICK; } + else if (libhal_drive_uses_removable_media (hd)) + { + /* fallback to generic removable disk */ + volume_hal->kind = THUNAR_VFS_VOLUME_KIND_REMOVABLE_DISK; + } else { /* fallback to harddisk drive */ diff --git a/thunar-vfs/thunar-vfs-volume.c b/thunar-vfs/thunar-vfs-volume.c index 2fa32a0dc934d127500ed29dc7cf2c87bf063049..d7ac738959ad0fa9041535e5a696f52984281d21 100644 --- a/thunar-vfs/thunar-vfs-volume.c +++ b/thunar-vfs/thunar-vfs-volume.c @@ -335,6 +335,8 @@ thunar_vfs_volume_is_removable (ThunarVfsVolume *volume) case THUNAR_VFS_VOLUME_KIND_USBSTICK: case THUNAR_VFS_VOLUME_KIND_AUDIO_PLAYER: case THUNAR_VFS_VOLUME_KIND_AUDIO_CD: + case THUNAR_VFS_VOLUME_KIND_MEMORY_CARD: + case THUNAR_VFS_VOLUME_KIND_REMOVABLE_DISK: return TRUE; default: @@ -451,6 +453,12 @@ dvdr: if (gtk_icon_theme_has_icon (icon_theme, "gnome-dev-cdrom-audio")) return "gnome-dev-cdrom-audio"; goto cdrom; + + case THUNAR_VFS_VOLUME_KIND_MEMORY_CARD: + case THUNAR_VFS_VOLUME_KIND_REMOVABLE_DISK: + if (gtk_icon_theme_has_icon (icon_theme, "gnome-dev-removable")) + return "gnome-dev-removable"; + break; default: break; diff --git a/thunar-vfs/thunar-vfs-volume.h b/thunar-vfs/thunar-vfs-volume.h index cd065dc458c5fb5413056f1d0e636dacbf088130..234863f56236f8c4a139ec1dedc9f46b44873358 100644 --- a/thunar-vfs/thunar-vfs-volume.h +++ b/thunar-vfs/thunar-vfs-volume.h @@ -39,21 +39,23 @@ typedef struct _ThunarVfsVolume ThunarVfsVolume; /** * ThunarVfsVolumeKind: - * @THUNAR_VFS_VOLUME_KIND_UNKNOWN : Unknown volume. - * @THUNAR_VFS_VOLUME_KIND_CDROM : CD-ROMs. - * @THUNAR_VFS_VOLUME_KIND_CDR : CD-Rs. - * @THUNAR_VFS_VOLUME_KIND_CDRW : CD-RWs. - * @THUNAR_VFS_VOLUME_KIND_DVDROM : DVD-ROMs. - * @THUNAR_VFS_VOLUME_KIND_DVDRAM : DVD-RAMs. - * @THUNAR_VFS_VOLUME_KIND_DVDR : DVD-Rs. - * @THUNAR_VFS_VOLUME_KIND_DVDRW : DVD-RWs. - * @THUNAR_VFS_VOLUME_KIND_DVDPLUSR : DVD+Rs. - * @THUNAR_VFS_VOLUME_KIND_DVDPLUSRW : DVD+RWs. - * @THUNAR_VFS_VOLUME_KIND_FLOPPY : Floppy drives. - * @THUNAR_VFS_VOLUME_KIND_HARDDISK : Hard disk drives. - * @THUNAR_VFS_VOLUME_KIND_USBSTICK : USB sticks. - * @THUNAR_VFS_VOLUME_KIND_AUDIO_PLAYER : Portable audio players (i.e. iPod). - * @THUNAR_VFS_VOLUME_KIND_AUDIO_CD : Audio CDs. + * @THUNAR_VFS_VOLUME_KIND_UNKNOWN : Unknown volume. + * @THUNAR_VFS_VOLUME_KIND_CDROM : CD-ROMs. + * @THUNAR_VFS_VOLUME_KIND_CDR : CD-Rs. + * @THUNAR_VFS_VOLUME_KIND_CDRW : CD-RWs. + * @THUNAR_VFS_VOLUME_KIND_DVDROM : DVD-ROMs. + * @THUNAR_VFS_VOLUME_KIND_DVDRAM : DVD-RAMs. + * @THUNAR_VFS_VOLUME_KIND_DVDR : DVD-Rs. + * @THUNAR_VFS_VOLUME_KIND_DVDRW : DVD-RWs. + * @THUNAR_VFS_VOLUME_KIND_DVDPLUSR : DVD+Rs. + * @THUNAR_VFS_VOLUME_KIND_DVDPLUSRW : DVD+RWs. + * @THUNAR_VFS_VOLUME_KIND_FLOPPY : Floppy drives. + * @THUNAR_VFS_VOLUME_KIND_HARDDISK : Hard disk drives. + * @THUNAR_VFS_VOLUME_KIND_USBSTICK : USB sticks. + * @THUNAR_VFS_VOLUME_KIND_AUDIO_PLAYER : Portable audio players (i.e. iPod). + * @THUNAR_VFS_VOLUME_KIND_AUDIO_CD : Audio CDs. + * @THUNAR_VFS_VOLUME_KIND_MEMORY_CARD : Memory cards. + * @THUNAR_VFS_VOLUME_KIND_REMOVABLE_DISK : Other removable disks. * * Describes the type of a VFS volume. **/ @@ -74,6 +76,8 @@ typedef enum THUNAR_VFS_VOLUME_KIND_USBSTICK, THUNAR_VFS_VOLUME_KIND_AUDIO_PLAYER, THUNAR_VFS_VOLUME_KIND_AUDIO_CD, + THUNAR_VFS_VOLUME_KIND_MEMORY_CARD, + THUNAR_VFS_VOLUME_KIND_REMOVABLE_DISK, } ThunarVfsVolumeKind; /**