3737struct NemoTrashMonitorDetails {
3838 gboolean empty ;
3939 GIcon * icon ;
40+ GIcon * symbolic_icon ;
4041 GFileMonitor * file_monitor ;
4142};
4243
@@ -60,6 +61,9 @@ nemo_trash_monitor_finalize (GObject *object)
6061 if (trash_monitor -> details -> icon ) {
6162 g_object_unref (trash_monitor -> details -> icon );
6263 }
64+ if (trash_monitor -> details -> symbolic_icon ) {
65+ g_object_unref (trash_monitor -> details -> icon );
66+ }
6367 if (trash_monitor -> details -> file_monitor ) {
6468 g_object_unref (trash_monitor -> details -> file_monitor );
6569 }
@@ -95,9 +99,11 @@ update_icon (NemoTrashMonitor *trash_monitor)
9599 g_clear_object (& trash_monitor -> details -> icon );
96100
97101 if (trash_monitor -> details -> empty ) {
98- trash_monitor -> details -> icon = g_themed_icon_new (NEMO_ICON_SYMBOLIC_TRASH );
102+ trash_monitor -> details -> icon = g_themed_icon_new (NEMO_ICON_TRASH );
103+ trash_monitor -> details -> symbolic_icon = g_themed_icon_new (NEMO_ICON_SYMBOLIC_TRASH );
99104 } else {
100- trash_monitor -> details -> icon = g_themed_icon_new (NEMO_ICON_SYMBOLIC_TRASH_FULL );
105+ trash_monitor -> details -> icon = g_themed_icon_new (NEMO_ICON_TRASH_FULL );
106+ trash_monitor -> details -> symbolic_icon = g_themed_icon_new (NEMO_ICON_SYMBOLIC_TRASH_FULL );
101107 }
102108}
103109
@@ -243,6 +249,18 @@ nemo_trash_monitor_get_icon (void)
243249 return NULL ;
244250}
245251
252+ GIcon *
253+ nemo_trash_monitor_get_symbolic_icon (void )
254+ {
255+ NemoTrashMonitor * monitor ;
256+
257+ monitor = nemo_trash_monitor_get ();
258+ if (monitor -> details -> symbolic_icon ) {
259+ return g_object_ref (monitor -> details -> symbolic_icon );
260+ }
261+ return NULL ;
262+ }
263+
246264void
247265nemo_trash_monitor_add_new_trash_directories (void )
248266{
0 commit comments