static void search_window_close(SearchData *sd);
+static void search_notify_cb(FileData *fd, NotifyType type, gpointer data);
/*
*-------------------------------------------------------------------
g_free(sd->search_similarity_path);
string_list_free(sd->search_keyword_list);
+ file_data_unregister_notify_func(search_notify_cb, sd);
+
g_free(sd);
}
search_window_list = g_list_append(search_window_list, sd);
+ file_data_register_notify_func(search_notify_cb, sd, NOTIFY_PRIORITY_MEDIUM);
+
gtk_widget_show(sd->window);
}
}
}
-void search_maint_renamed(FileData *fd)
+static void search_notify_cb(FileData *fd, NotifyType type, gpointer data)
{
- GList *work;
+ SearchData *sd = data;
- work = search_window_list;
- while (work)
+ if (!fd->change) return;
+
+ switch(fd->change->type)
{
- SearchData *sd = work->data;
- work = work->next;
-
- search_result_change_path(sd, fd);
+ case FILEDATA_CHANGE_MOVE:
+ case FILEDATA_CHANGE_RENAME:
+ case FILEDATA_CHANGE_DELETE:
+ search_result_change_path(sd, fd);
+ break;
+ case FILEDATA_CHANGE_COPY:
+ case FILEDATA_CHANGE_UNSPECIFIED:
+ break;
}
}
-
-void search_maint_removed(FileData *fd)
-{
- search_maint_renamed(fd);
-}
layout_maint_moved(fd, NULL);
view_window_maint_moved(fd);
- search_maint_renamed(fd);
break;
case FILEDATA_CHANGE_COPY:
break;
layout_maint_renamed(fd);
view_window_maint_moved(fd);
- search_maint_renamed(fd);
break;
case FILEDATA_CHANGE_DELETE:
layout_maint_removed(fd, NULL);
view_window_maint_removed(fd, NULL);
- search_maint_removed(fd);
collection_maint_removed(fd);
break;