View | Details | Raw Unified | Return to bug 114914
Collapse All | Expand All

(-)libnautilus-private/nautilus-merged-directory.c (+29 lines)
Lines 27-32 Link Here
27
#include "nautilus-merged-directory.h"
27
#include "nautilus-merged-directory.h"
28
28
29
#include "nautilus-directory-private.h"
29
#include "nautilus-directory-private.h"
30
#include "nautilus-directory-notify.h"
30
#include "nautilus-file.h"
31
#include "nautilus-file.h"
31
#include <eel/eel-glib-extensions.h>
32
#include <eel/eel-glib-extensions.h>
32
#include <gtk/gtksignal.h>
33
#include <gtk/gtksignal.h>
Lines 540-551 Link Here
540
}
541
}
541
542
542
static void
543
static void
544
real_directory_notify_files_removed (NautilusDirectory *real_directory)
545
{
546
	GList *files, *l;
547
548
	files = nautilus_directory_get_file_list (real_directory);
549
550
	for (l = files; l; l = l->next) {
551
		NautilusFile *file;
552
		char *uri;
553
554
		file = NAUTILUS_FILE (l->data);
555
		uri = nautilus_file_get_uri (file);
556
		nautilus_file_unref (file);
557
558
		l->data = uri;
559
	}
560
561
	if (files) {
562
		nautilus_directory_notify_files_removed (files);
563
	}
564
565
	eel_g_list_free_deep (files);
566
}
567
568
static void
543
merged_remove_real_directory (NautilusMergedDirectory *merged,
569
merged_remove_real_directory (NautilusMergedDirectory *merged,
544
			      NautilusDirectory *real_directory)
570
			      NautilusDirectory *real_directory)
545
{
571
{
546
	g_return_if_fail (NAUTILUS_IS_MERGED_DIRECTORY (merged));
572
	g_return_if_fail (NAUTILUS_IS_MERGED_DIRECTORY (merged));
547
	g_return_if_fail (NAUTILUS_IS_DIRECTORY (real_directory));
573
	g_return_if_fail (NAUTILUS_IS_DIRECTORY (real_directory));
548
	g_return_if_fail (g_list_find (merged->details->directories, real_directory) != NULL);
574
	g_return_if_fail (g_list_find (merged->details->directories, real_directory) != NULL);
575
576
	/* Since the real directory will be going away, act as if files were removed */
577
	real_directory_notify_files_removed (real_directory);
549
578
550
	/* Remove this directory from callbacks and monitors. */
579
	/* Remove this directory from callbacks and monitors. */
551
	eel_g_hash_table_safe_for_each (merged->details->callbacks,
580
	eel_g_hash_table_safe_for_each (merged->details->callbacks,
(-)libnautilus-private/nautilus-trash-directory.c (+10 lines)
Lines 265-270 Link Here
265
}
265
}
266
266
267
static void
267
static void
268
volume_unmounted_callback (GnomeVFSVolumeMonitor *monitor,
269
			   GnomeVFSVolume *volume,
270
			   NautilusTrashDirectory *trash)
271
{
272
	remove_volume (trash, volume);
273
}
274
275
static void
268
nautilus_trash_directory_instance_init (NautilusTrashDirectory *trash)
276
nautilus_trash_directory_instance_init (NautilusTrashDirectory *trash)
269
{
277
{
270
	GnomeVFSVolumeMonitor *volume_monitor;
278
	GnomeVFSVolumeMonitor *volume_monitor;
Lines 278-283 Link Here
278
				 G_CALLBACK (volume_mounted_callback), trash, 0);
286
				 G_CALLBACK (volume_mounted_callback), trash, 0);
279
	g_signal_connect_object (volume_monitor, "volume_pre_unmount",
287
	g_signal_connect_object (volume_monitor, "volume_pre_unmount",
280
				 G_CALLBACK (volume_unmount_started_callback), trash, 0);
288
				 G_CALLBACK (volume_unmount_started_callback), trash, 0);
289
	g_signal_connect_object (volume_monitor, "volume_unmounted",
290
				 G_CALLBACK (volume_unmounted_callback), trash, 0);
281
}
291
}
282
292
283
/* Finish initializing a new NautilusTrashDirectory. We have to do the
293
/* Finish initializing a new NautilusTrashDirectory. We have to do the

Return to bug 114914