static void search_window_close(SearchData *sd);
static void search_notify_cb(FileData *fd, NotifyType type, gpointer data);
+static void search_start_cb(GtkWidget *widget, gpointer data);
+void mfd_list_free(GList *list);
/*
*-------------------------------------------------------------------
file_util_copy_path_list_to_clipboard(search_result_selection_list(sd), FALSE);
}
-static void sr_menu_remove_cb(GtkWidget *widget, gpointer data)
-{
- SearchData *sd = data;
-
- search_result_remove_selection(sd);
-}
-
-static void sr_menu_clear_cb(GtkWidget *widget, gpointer data)
-{
- SearchData *sd = data;
-
- search_result_clear(sd);
-}
-
static void sr_menu_play_cb(GtkWidget *widget, gpointer data)
{
SearchData *sd = data;
GtkWidget *menu;
GtkWidget *item;
GList *editmenu_fd_list;
- GtkWidget *submenu;
gboolean video;
menu = popup_menu_short_lived();
case 'W': case 'w':
search_window_close(sd);
break;
+ case GDK_KEY_Return: case GDK_KEY_KP_Enter:
+ search_start_cb(NULL, sd);
+ break;
default:
stop_signal = FALSE;
break;
{
search_class = FORMAT_CLASS_VIDEO;
}
+ else if (g_strcmp0(gtk_combo_box_text_get_active_text(
+ GTK_COMBO_BOX_TEXT(sd->class_type)), _("Document")) == 0)
+ {
+ search_class = FORMAT_CLASS_DOCUMENT;
+ }
else if (g_strcmp0(gtk_combo_box_text_get_active_text(
GTK_COMBO_BOX_TEXT(sd->class_type)), _("Metadata")) == 0)
{
search_result_update_idle_cancel(sd);
- filelist_free(sd->search_buffer_list);
+ mfd_list_free(sd->search_buffer_list);
sd->search_buffer_list = NULL;
search_stop(sd);
file_data_unref(sd->search_dir_fd);
g_free(sd->search_name);
- g_regex_unref(sd->search_name_regex);
+ if(sd->search_name_regex)
+ {
+ g_regex_unref(sd->search_name_regex);
+ }
g_free(sd->search_comment);
- g_regex_unref(sd->search_comment_regex);
+ if(sd->search_comment_regex)
+ {
+ g_regex_unref(sd->search_comment_regex);
+ }
g_free(sd->search_similarity_path);
string_list_free(sd->search_keyword_list);
}
sd->window = window_new(GTK_WINDOW_TOPLEVEL, "search", NULL, NULL, _("Image search"));
+ DEBUG_NAME(sd->window);
gtk_window_set_resizable(GTK_WINDOW(sd->window), TRUE);
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(sd->class_type), _("Image"));
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(sd->class_type), _("Raw Image"));
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(sd->class_type), _("Video"));
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(sd->class_type), _("Document"));
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(sd->class_type), _("Metadata"));
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(sd->class_type), _("Unknown"));
gtk_box_pack_start(GTK_BOX(hbox), sd->class_type, FALSE, FALSE, 0);
G_CALLBACK(search_thumb_toggle_cb), sd);
frame = gtk_frame_new(NULL);
+ DEBUG_NAME(frame);
gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN);
gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, PREF_PAD_SPACE);
gtk_widget_show(frame);
break;
}
}
+
+void mfd_list_free(GList *list)
+{
+ GList *work;
+
+ work = list;
+ while (work)
+ {
+ MatchFileData *mfd = work->data;
+ file_data_unref((FileData *)mfd->fd);
+ work = work->next;
+ }
+
+ g_list_free(list);
+}
+
/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */