static void nautilus_trash_bar_init (NautilusTrashBar *bar) { GtkWidget *content_area, *action_area, *w; GtkWidget *label; PangoAttrList *attrs; bar->priv = NAUTILUS_TRASH_BAR_GET_PRIVATE (bar); content_area = gtk_info_bar_get_content_area (GTK_INFO_BAR (bar)); action_area = gtk_info_bar_get_action_area (GTK_INFO_BAR (bar)); gtk_orientable_set_orientation (GTK_ORIENTABLE (action_area), GTK_ORIENTATION_HORIZONTAL); attrs = pango_attr_list_new (); pango_attr_list_insert (attrs, pango_attr_weight_new (PANGO_WEIGHT_BOLD)); label = gtk_label_new (_("Trash")); gtk_label_set_attributes (GTK_LABEL (label), attrs); pango_attr_list_unref (attrs); gtk_widget_show (label); gtk_container_add (GTK_CONTAINER (content_area), label); w = gtk_info_bar_add_button (GTK_INFO_BAR (bar), _("_Restore"), TRASH_BAR_RESPONSE_RESTORE); gtk_widget_set_tooltip_text (w, _("Restore selected items to their original position")); w = gtk_info_bar_add_button (GTK_INFO_BAR (bar), /* Translators: "Empty" is an action (for the trash) , not a state */ _("_Empty"), TRASH_BAR_RESPONSE_EMPTY); gtk_widget_set_tooltip_text (w, _("Delete all items in the Trash")); g_signal_connect_object (nautilus_trash_monitor_get (), "trash-state-changed", G_CALLBACK (nautilus_trash_bar_trash_state_changed), bar, 0); nautilus_trash_bar_trash_state_changed (nautilus_trash_monitor_get (), FALSE, bar); g_signal_connect (bar, "response", G_CALLBACK (trash_bar_response_cb), bar); }
void nautilus_window_remove_trash_monitor_callback (NautilusWindow *window) { NautilusTrashMonitor *monitor; monitor = nautilus_trash_monitor_get (); g_signal_handlers_disconnect_by_func (monitor, trash_state_changed_cb, window); }
static void nautilus_window_initialize_trash_icon_monitor (NautilusWindow *window) { NautilusTrashMonitor *monitor; monitor = nautilus_trash_monitor_get (); trash_state_changed_cb (monitor, TRUE, window); g_signal_connect (monitor, "trash_state_changed", G_CALLBACK (trash_state_changed_cb), window); }
void nautilus_window_finalize_menus (NautilusWindow *window) { NautilusTrashMonitor *monitor; monitor = nautilus_trash_monitor_get (); g_signal_handlers_disconnect_by_func (monitor, trash_state_changed_cb, window); g_signal_handlers_disconnect_by_func (nautilus_preferences, show_hidden_files_preference_callback, window); }