[Xfce4-commits] r25731 - in thunar/trunk: . thunar-vfs
Benedikt Meurer
benny at xfce.org
Sun May 20 15:06:03 CEST 2007
Author: benny
Date: 2007-05-20 13:06:03 +0000 (Sun, 20 May 2007)
New Revision: 25731
Modified:
thunar/trunk/ChangeLog
thunar/trunk/configure.in.in
thunar/trunk/thunar-vfs/thunar-vfs-volume-freebsd.c
thunar/trunk/thunar-vfs/thunar-vfs-volume-hal.c
thunar/trunk/thunar-vfs/thunar-vfs-volume.c
thunar/trunk/thunar-vfs/thunar-vfs-volume.h
thunar/trunk/thunar-vfs/thunar-vfs.symbols
Log:
2007-05-20 Benedikt Meurer <benny at xfce.org>
* thunar-vfs/thunar-vfs-volume-freebsd.c,
thunar-vfs/thunar-vfs-volume-hal.c,
thunar-vfs/thunar-vfs-volume.{c,h}, thunar-vfs/thunar-vfs.symbols:
Apply patch from Brian Tarricone <bjt23 at cornell.edu> to fix
invalid invocation of thunar-volman for devices that should be
ignored, and add a MOUNTABLE flag for volumes. Bug #2789.
* configure.in.in: Bump library interface version.
Modified: thunar/trunk/ChangeLog
===================================================================
--- thunar/trunk/ChangeLog 2007-05-20 12:52:55 UTC (rev 25730)
+++ thunar/trunk/ChangeLog 2007-05-20 13:06:03 UTC (rev 25731)
@@ -1,5 +1,15 @@
2007-05-20 Benedikt Meurer <benny at xfce.org>
+ * thunar-vfs/thunar-vfs-volume-freebsd.c,
+ thunar-vfs/thunar-vfs-volume-hal.c,
+ thunar-vfs/thunar-vfs-volume.{c,h}, thunar-vfs/thunar-vfs.symbols:
+ Apply patch from Brian Tarricone <bjt23 at cornell.edu> to fix
+ invalid invocation of thunar-volman for devices that should be
+ ignored, and add a MOUNTABLE flag for volumes. Bug #2789.
+ * configure.in.in: Bump library interface version.
+
+2007-05-20 Benedikt Meurer <benny at xfce.org>
+
* thunar/Makefile.am: Strip unused characters from the user
interface description files. Bug #3094.
Modified: thunar/trunk/configure.in.in
===================================================================
--- thunar/trunk/configure.in.in 2007-05-20 12:52:55 UTC (rev 25730)
+++ thunar/trunk/configure.in.in 2007-05-20 13:06:03 UTC (rev 25731)
@@ -9,7 +9,7 @@
dnl ***************************
dnl *** Version information ***
dnl ***************************
-m4_define([thunar_verinfo], [4:2:2])
+m4_define([thunar_verinfo], [5:0:3])
m4_define([thunar_version_api], [1])
m4_define([thunar_version_major], [0])
m4_define([thunar_version_minor], [8])
Modified: thunar/trunk/thunar-vfs/thunar-vfs-volume-freebsd.c
===================================================================
--- thunar/trunk/thunar-vfs/thunar-vfs-volume-freebsd.c 2007-05-20 12:52:55 UTC (rev 25730)
+++ thunar/trunk/thunar-vfs/thunar-vfs-volume-freebsd.c 2007-05-20 13:06:03 UTC (rev 25731)
@@ -317,6 +317,9 @@
g_strchomp (label);
if (G_LIKELY (*label != '\0'))
volume_freebsd->label = g_strdup (label);
+
+ /* if we got this far, the CD should be mountable */
+ status |= THUNAR_VFS_VOLUME_STATUS_MOUNTABLE;
}
}
}
@@ -324,6 +327,11 @@
close (fd);
}
}
+ else
+ {
+ /* FIXME: not sure how to determine mountability */
+ status |= THUNAR_VFS_VOLUME_STATUS_MOUNTABLE;
+ }
/* determine the absolute path to the mount point */
if (thunar_vfs_path_to_string (volume_freebsd->mount_point, buffer, sizeof (buffer), NULL) > 0)
Modified: thunar/trunk/thunar-vfs/thunar-vfs-volume-hal.c
===================================================================
--- thunar/trunk/thunar-vfs/thunar-vfs-volume-hal.c 2007-05-20 12:52:55 UTC (rev 25730)
+++ thunar/trunk/thunar-vfs/thunar-vfs-volume-hal.c 2007-05-20 13:06:03 UTC (rev 25731)
@@ -536,6 +536,10 @@
* a drive, which means non-pollable then, so it's present
*/
volume_hal->status |= THUNAR_VFS_VOLUME_STATUS_PRESENT;
+
+ /* figure out if the volume is mountable */
+ if(hv != NULL && libhal_volume_get_fsusage (hv) == LIBHAL_VOLUME_USAGE_MOUNTABLE_FILESYSTEM)
+ volume_hal->status |= THUNAR_VFS_VOLUME_STATUS_MOUNTABLE;
/* check if the drive requires eject */
volume_hal->requires_eject = libhal_drive_requires_eject (hd);
@@ -999,11 +1003,19 @@
_thunar_vfs_return_if_fail (THUNAR_VFS_IS_VOLUME_MANAGER_HAL (manager_hal));
_thunar_vfs_return_if_fail (manager_hal->context == context);
+ /* check if we have a volume here */
+ hv = libhal_volume_from_udi (context, udi);
+
+ /* HAL might want us to ignore this volume for some reason */
+ if (G_UNLIKELY (hv != NULL && libhal_volume_should_ignore (hv)))
+ {
+ libhal_volume_free (hv);
+ return;
+ }
+
/* emit the "device-added" signal (to support thunar-volman) */
g_signal_emit_by_name (G_OBJECT (manager_hal), "device-added", udi);
- /* check if we have a volume here */
- hv = libhal_volume_from_udi (context, udi);
if (G_LIKELY (hv != NULL))
{
/* determine the UDI of the drive to which this volume belongs */
Modified: thunar/trunk/thunar-vfs/thunar-vfs-volume.c
===================================================================
--- thunar/trunk/thunar-vfs/thunar-vfs-volume.c 2007-05-20 12:52:55 UTC (rev 25730)
+++ thunar/trunk/thunar-vfs/thunar-vfs-volume.c 2007-05-20 13:06:03 UTC (rev 25731)
@@ -1,6 +1,6 @@
/* $Id$ */
/*-
- * Copyright (c) 2005-2006 Benedikt Meurer <benny at xfce.org>
+ * Copyright (c) 2005-2007 Benedikt Meurer <benny at xfce.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -245,6 +245,24 @@
/**
+ * thunar_vfs_volume_is_mountable:
+ * @volume : a #ThunarVfsVolume instance.
+ *
+ * Determines whether @volume has a valid filesystem and
+ * if it can be mounted.
+ *
+ * Return value: %TRUE if @volume is mountable, else %FALSE.
+ **/
+gboolean
+thunar_vfs_volume_is_mountable (ThunarVfsVolume *volume)
+{
+ g_return_val_if_fail (THUNAR_VFS_IS_VOLUME (volume), FALSE);
+ return (*THUNAR_VFS_VOLUME_GET_CLASS (volume)->get_status) (volume) & THUNAR_VFS_VOLUME_STATUS_MOUNTABLE;
+}
+
+
+
+/**
* thunar_vfs_volume_is_mounted:
* @volume : a #ThunarVfsVolume instance.
*
Modified: thunar/trunk/thunar-vfs/thunar-vfs-volume.h
===================================================================
--- thunar/trunk/thunar-vfs/thunar-vfs-volume.h 2007-05-20 12:52:55 UTC (rev 25730)
+++ thunar/trunk/thunar-vfs/thunar-vfs-volume.h 2007-05-20 13:06:03 UTC (rev 25731)
@@ -1,6 +1,6 @@
/* $Id$ */
/*-
- * Copyright (c) 2005-2006 Benedikt Meurer <benny at xfce.org>
+ * Copyright (c) 2005-2007 Benedikt Meurer <benny at xfce.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -82,15 +82,17 @@
/**
* ThunarVfsVolumeStatus:
- * @THUNAR_VFS_VOLUME_STATUS_PRESENT : Whether or not a medium is present.
- * @THUNAR_VFS_VOLUME_STATUS_MOUNTED : Whether or not the media is currently mounted.
+ * @THUNAR_VFS_VOLUME_STATUS_PRESENT : Whether or not a medium is present.
+ * @THUNAR_VFS_VOLUME_STATUS_MOUNTED : Whether or not the media is currently mounted.
+ * @THUNAR_VFS_VOLUME_STATUS_MOUNTABLE : Whether or not the media can be mounted.
*
* Describes the current status of a VFS volume.
**/
typedef enum /*< flags >*/
{
- THUNAR_VFS_VOLUME_STATUS_MOUNTED = 1 << 0,
- THUNAR_VFS_VOLUME_STATUS_PRESENT = 1 << 1,
+ THUNAR_VFS_VOLUME_STATUS_MOUNTED = 1 << 0,
+ THUNAR_VFS_VOLUME_STATUS_PRESENT = 1 << 1,
+ THUNAR_VFS_VOLUME_STATUS_MOUNTABLE = 1 << 2,
} ThunarVfsVolumeStatus;
GType thunar_vfs_volume_get_type (void) G_GNUC_CONST;
@@ -101,6 +103,7 @@
ThunarVfsPath *thunar_vfs_volume_get_mount_point (ThunarVfsVolume *volume);
gboolean thunar_vfs_volume_is_disc (ThunarVfsVolume *volume);
+gboolean thunar_vfs_volume_is_mountable (ThunarVfsVolume *volume);
gboolean thunar_vfs_volume_is_mounted (ThunarVfsVolume *volume);
gboolean thunar_vfs_volume_is_present (ThunarVfsVolume *volume);
gboolean thunar_vfs_volume_is_ejectable (ThunarVfsVolume *volume);
Modified: thunar/trunk/thunar-vfs/thunar-vfs.symbols
===================================================================
--- thunar/trunk/thunar-vfs/thunar-vfs.symbols 2007-05-20 12:52:55 UTC (rev 25730)
+++ thunar/trunk/thunar-vfs/thunar-vfs.symbols 2007-05-20 13:06:03 UTC (rev 25731)
@@ -1,6 +1,6 @@
/* $Id$ */
/*-
- * Copyright (c) 2005-2006 Benedikt Meurer <benny at xfce.org>.
+ * Copyright (c) 2005-2007 Benedikt Meurer <benny at xfce.org>.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -318,6 +318,7 @@
thunar_vfs_volume_get_status
thunar_vfs_volume_get_mount_point
thunar_vfs_volume_is_disc
+thunar_vfs_volume_is_mountable
thunar_vfs_volume_is_mounted
thunar_vfs_volume_is_present
thunar_vfs_volume_is_ejectable
More information about the Xfce4-commits
mailing list