nautilus r13790 - in trunk: . src
- From: cosimoc svn gnome org
- To: svn-commits-list gnome org
- Subject: nautilus r13790 - in trunk: . src
- Date: Thu, 21 Feb 2008 09:29:20 +0000 (GMT)
Author: cosimoc
Date: Thu Feb 21 09:29:20 2008
New Revision: 13790
URL: http://svn.gnome.org/viewvc/nautilus?rev=13790&view=rev
Log:
2008-02-21 Cosimo Cecchi <cosimoc gnome org>
* src/nautilus-pathbar.c: (trash_state_changed_cb),
(nautilus_path_bar_init):
Update the trash icon on the pathbar according to the trash state.
(#332162).
Modified:
trunk/ChangeLog
trunk/src/nautilus-pathbar.c
Modified: trunk/src/nautilus-pathbar.c
==============================================================================
--- trunk/src/nautilus-pathbar.c (original)
+++ trunk/src/nautilus-pathbar.c Thu Feb 21 09:29:20 2008
@@ -38,6 +38,7 @@
#include <libnautilus-private/nautilus-file-utilities.h>
#include <libnautilus-private/nautilus-global-preferences.h>
#include <libnautilus-private/nautilus-icon-names.h>
+#include <libnautilus-private/nautilus-trash-monitor.h>
#include "nautilus-pathbar.h"
enum {
@@ -197,6 +198,32 @@
}
static void
+trash_state_changed_cb (NautilusTrashMonitor *monitor,
+ gboolean state,
+ NautilusPathBar *path_bar)
+{
+ GFile *file;
+ GList *list;
+
+ file = g_file_new_for_uri ("trash:///");
+ for (list = path_bar->button_list; list; list = list->next) {
+ ButtonData *button_data;
+ button_data = BUTTON_DATA (list->data);
+ if (g_file_equal (file, button_data->path)) {
+ GIcon *icon;
+ NautilusIconInfo *icon_info;
+ GdkPixbuf *pixbuf;
+
+ icon = nautilus_trash_monitor_get_icon ();
+ icon_info = nautilus_icon_info_lookup (icon, NAUTILUS_PATH_BAR_ICON_SIZE);
+ pixbuf = nautilus_icon_info_get_pixbuf_at_size (icon_info, NAUTILUS_PATH_BAR_ICON_SIZE);
+ gtk_image_set_from_pixbuf (GTK_IMAGE (button_data->image), pixbuf);
+ }
+ }
+ g_object_unref (file);
+}
+
+static void
nautilus_path_bar_init (NautilusPathBar *path_bar)
{
char *p;
@@ -228,6 +255,11 @@
g_signal_connect (path_bar->up_slider_button, "button_release_event", G_CALLBACK (nautilus_path_bar_slider_button_release), path_bar);
g_signal_connect (path_bar->down_slider_button, "button_press_event", G_CALLBACK (nautilus_path_bar_slider_button_press), path_bar);
g_signal_connect (path_bar->down_slider_button, "button_release_event", G_CALLBACK (nautilus_path_bar_slider_button_release), path_bar);
+
+ g_signal_connect (nautilus_trash_monitor_get (),
+ "trash_state_changed",
+ G_CALLBACK (trash_state_changed_cb),
+ path_bar);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]