All pastes #234388 Raw Edit

Miscellany

public text v1 · immutable
·published 2006-11-02 14:33 UTC
rendered paste body
/* Check if we should empty the trash */
	if (gnome_vfs_volume_handles_trash(volume))
	{
    GnomeVFSDeviceType type = gnome_vfs_volume_get_device_type(volume);
    switch (type)
    {
      /* Case: is removable */
      case GNOME_VFS_DEVICE_TYPE_CAMERA:
	    case GNOME_VFS_DEVICE_TYPE_MEMORY_STICK:
	    case GNOME_VFS_DEVICE_TYPE_APPLE:
	    case GNOME_VFS_DEVICE_TYPE_MUSIC_PLAYER:
	    case GNOME_VFS_DEVICE_TYPE_FLOPPY:
	    case GNOME_VFS_DEVICE_TYPE_ZIP:
	    case GNOME_VFS_DEVICE_TYPE_JAZ:
	    {
	      gint result;
	      GtkWidget* dialog = gtk_message_dialog_new(GTK_WINDOW(application), 
	          GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_YES_NO, 
	          _("Do you want to empty the trash before you umount %s?"), 
	          gnome_vfs_volume_display_name(drive));
	      result = gtk_dialog_run(GTK_DIALOG(dialog));
	      if (result == GTK_RESPONSE_YES)
	      {
	        GList* trash_dir = nautilus_trash_monitor_get_trash_directories();
	        if (trash_dir)
	        {
	          GList* I;
	          for (I = trash_dir; trash_dir != NULL; I = I->next)
	          { 
	            const gchar* path = gnome_vfs_uri_get_path(GNOME_VFS_URI(I->data));
	            GnomeVfsVolume* trash_volume = gnome_vfs_volume_monitor_get_volume_for_path(path)
	             if (gnome_vfs_volume_compare(volume, volume_trash) == 0)
	             {
	                /* Found trash on this volume, empty it */
	             }
	          }
	      }
              gtk_widget_destroy(dialog);
	      break;
	    }
	    default:
	      break;
	   }