return (gint_a - gint_b);
}
-void folder_item_process_open(FolderItem *item)
+void folder_item_process_open (FolderItem *item,
+ void (*before_proc_func)(gpointer data),
+ void (*after_proc_func)(gpointer data),
+ gpointer data)
{
gchar *buf;
if (item == NULL)
item->path ? item->path : item->name);
debug_print("%s\n", buf);
g_free(buf);
-
+
+ if (before_proc_func)
+ before_proc_func(data);
+
folder_item_apply_processing(item);
+ if (after_proc_func)
+ after_proc_func(data);
+
debug_print("done.\n");
+ item->processing_pending = FALSE;
return;
}
{
g_return_val_if_fail(item->no_select == FALSE, -1);
+ /* caller of folder_item_open *must* call
+ * folder_item_process_open after ! */
+ item->processing_pending = TRUE;
+
item->opened = TRUE;
return 0;