[nautilus/places-sidebar] Inform the places sidebar about changes in the trash state
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus/places-sidebar] Inform the places sidebar about changes in the trash state
- Date: Fri, 26 Oct 2012 23:54:39 +0000 (UTC)
commit a163301e0ead07d54f666fc73ddf9c15abd9d15e
Author: Federico Mena Quintero <federico gnome org>
Date: Fri Oct 26 18:51:59 2012 -0500
Inform the places sidebar about changes in the trash state
Signed-off-by: Federico Mena Quintero <federico gnome org>
src/nautilus-window.c | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
---
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index 31d81c1..f1c9256 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -67,6 +67,7 @@
#include <libnautilus-private/nautilus-clipboard.h>
#include <libnautilus-private/nautilus-search-directory.h>
#include <libnautilus-private/nautilus-signaller.h>
+#include <libnautilus-private/nautilus-trash-monitor.h>
#define DEBUG_FLAG NAUTILUS_DEBUG_WINDOW
#include <libnautilus-private/nautilus-debug.h>
@@ -627,6 +628,19 @@ window_loading_uri_cb (NautilusWindow *window,
gtk_places_sidebar_set_current_uri (GTK_PLACES_SIDEBAR (window->details->places_sidebar), location);
}
+/* Callback used when the trash state changes; we update the places sidebar to reflect this */
+static void
+trash_state_changed_cb (NautilusTrashMonitor *trash_monitor,
+ gboolean state,
+ gpointer user_data)
+{
+ NautilusWindow *window = NAUTILUS_WINDOW (user_data);
+
+ if (window->details->places_sidebar)
+ gtk_places_sidebar_set_trash_is_full (GTK_PLACES_SIDEBAR (window->details->places_sidebar),
+ !nautilus_trash_monitor_is_empty ());
+}
+
static void
nautilus_window_set_up_sidebar (NautilusWindow *window)
{
@@ -648,7 +662,10 @@ nautilus_window_set_up_sidebar (NautilusWindow *window)
gtk_places_sidebar_set_multiple_tabs_supported (GTK_PLACES_SIDEBAR (window->details->places_sidebar), TRUE);
gtk_places_sidebar_set_multiple_windows_supported (GTK_PLACES_SIDEBAR (window->details->places_sidebar), TRUE);
gtk_places_sidebar_set_show_properties (GTK_PLACES_SIDEBAR (window->details->places_sidebar), TRUE);
+
gtk_places_sidebar_set_show_trash (GTK_PLACES_SIDEBAR (window->details->places_sidebar), TRUE);
+ g_signal_connect_object (nautilus_trash_monitor_get (), "trash_state_changed",
+ G_CALLBACK (trash_state_changed_cb), window, 0);
g_signal_connect (window->details->places_sidebar, "location-selected",
G_CALLBACK (places_sidebar_location_selected_cb), window);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]