Comment 4 for bug 376445

Revision history for this message
Sergey Fukanchik (fuxx) wrote :

Probably this related to gnome theme or russian language or both.
In libnautilus-private/nautilus-trash-monitor.c:238 in update_info_cb there is following code:

empty = TRUE;
if (G_IS_THEMED_ICON (icon)) {
                                names = g_themed_icon_get_names (G_THEMED_ICON (icon));
                                for (i = 0; names[i] != NULL; i++) {
                                        if (strcmp (names[i], NAUTILUS_ICON_TRASH_FULL) == 0) {
                                                empty = FALSE;
                                                break;
                                        }
                                }
}
if (trash_monitor->details->empty != empty) {
    /* Change emptyness status and notify
        via signal everyone who cares. */
}

I wonder why this code checks trashcan icon to see if the trash is full. Isn't there some trashcan API?!

Let's look into code which works: trashapplet from gnome-applets. Yes there is such API, g_file_query_info(GFileInfo.G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT):

info = g_file_query_info (applet->trash,
                            G_FILE_ATTRIBUTE_STANDARD_ICON","
                            G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT,
                            0, NULL, &error);

  icon = g_file_info_get_icon (info);
  items = g_file_info_get_attribute_uint32 (info,
                                            G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT);
  if (items != applet->items) {
     /* Update UI here. */
  }