Mercurial > geeqie.yaz
comparison src/search.c @ 889:cb3b6238782a
Reduce code redundancy by moving common code to new menu_choice_get_match_type().
author | zas_ |
---|---|
date | Thu, 17 Jul 2008 22:36:58 +0000 |
parents | 06929cbcd796 |
children | 1698baa37871 |
comparison
equal
deleted
inserted
replaced
888:d8e1e820cee7 | 889:cb3b6238782a |
---|---|
2303 { | 2303 { |
2304 if (GTK_WIDGET_VISIBLE(widget)) gtk_widget_hide(widget); | 2304 if (GTK_WIDGET_VISIBLE(widget)) gtk_widget_hide(widget); |
2305 } | 2305 } |
2306 } | 2306 } |
2307 | 2307 |
2308 static void menu_choice_path_cb(GtkWidget *combo, gpointer data) | 2308 static gboolean menu_choice_get_match_type(GtkWidget *combo, MatchType *type) |
2309 { | 2309 { |
2310 SearchData *sd = data; | |
2311 GtkTreeModel *store; | 2310 GtkTreeModel *store; |
2312 GtkTreeIter iter; | 2311 GtkTreeIter iter; |
2313 | 2312 |
2314 store = gtk_combo_box_get_model(GTK_COMBO_BOX(combo)); | 2313 store = gtk_combo_box_get_model(GTK_COMBO_BOX(combo)); |
2315 if (!gtk_combo_box_get_active_iter(GTK_COMBO_BOX(combo), &iter)) return; | 2314 if (!gtk_combo_box_get_active_iter(GTK_COMBO_BOX(combo), &iter)) return FALSE; |
2316 gtk_tree_model_get(store, &iter, MENU_CHOICE_COLUMN_VALUE, &sd->search_type, -1); | 2315 gtk_tree_model_get(store, &iter, MENU_CHOICE_COLUMN_VALUE, type, -1); |
2316 return TRUE; | |
2317 } | |
2318 | |
2319 static void menu_choice_path_cb(GtkWidget *combo, gpointer data) | |
2320 { | |
2321 SearchData *sd = data; | |
2322 | |
2323 if (!menu_choice_get_match_type(combo, &sd->search_type)) return; | |
2317 | 2324 |
2318 menu_choice_set_visible(gtk_widget_get_parent(sd->check_recurse), | 2325 menu_choice_set_visible(gtk_widget_get_parent(sd->check_recurse), |
2319 (sd->search_type == SEARCH_MATCH_NONE)); | 2326 (sd->search_type == SEARCH_MATCH_NONE)); |
2320 } | 2327 } |
2321 | 2328 |
2322 static void menu_choice_name_cb(GtkWidget *combo, gpointer data) | 2329 static void menu_choice_name_cb(GtkWidget *combo, gpointer data) |
2323 { | 2330 { |
2324 SearchData *sd = data; | 2331 SearchData *sd = data; |
2325 GtkTreeModel *store; | 2332 |
2326 GtkTreeIter iter; | 2333 if (!menu_choice_get_match_type(combo, &sd->match_name)) return; |
2327 | |
2328 store = gtk_combo_box_get_model(GTK_COMBO_BOX(combo)); | |
2329 if (!gtk_combo_box_get_active_iter(GTK_COMBO_BOX(combo), &iter)) return; | |
2330 gtk_tree_model_get(store, &iter, MENU_CHOICE_COLUMN_VALUE, &sd->match_name, -1); | |
2331 } | 2334 } |
2332 | 2335 |
2333 static void menu_choice_size_cb(GtkWidget *combo, gpointer data) | 2336 static void menu_choice_size_cb(GtkWidget *combo, gpointer data) |
2334 { | 2337 { |
2335 SearchData *sd = data; | 2338 SearchData *sd = data; |
2336 GtkTreeModel *store; | 2339 |
2337 GtkTreeIter iter; | 2340 if (!menu_choice_get_match_type(combo, &sd->match_size)) return; |
2338 | |
2339 store = gtk_combo_box_get_model(GTK_COMBO_BOX(combo)); | |
2340 if (!gtk_combo_box_get_active_iter(GTK_COMBO_BOX(combo), &iter)) return; | |
2341 gtk_tree_model_get(store, &iter, MENU_CHOICE_COLUMN_VALUE, &sd->match_size, -1); | |
2342 | 2341 |
2343 menu_choice_set_visible(gtk_widget_get_parent(sd->spin_size_end), | 2342 menu_choice_set_visible(gtk_widget_get_parent(sd->spin_size_end), |
2344 (sd->match_size == SEARCH_MATCH_BETWEEN)); | 2343 (sd->match_size == SEARCH_MATCH_BETWEEN)); |
2345 } | 2344 } |
2346 | 2345 |
2347 static void menu_choice_date_cb(GtkWidget *combo, gpointer data) | 2346 static void menu_choice_date_cb(GtkWidget *combo, gpointer data) |
2348 { | 2347 { |
2349 SearchData *sd = data; | 2348 SearchData *sd = data; |
2350 GtkTreeModel *store; | 2349 |
2351 GtkTreeIter iter; | 2350 if (!menu_choice_get_match_type(combo, &sd->match_date)) return; |
2352 | |
2353 store = gtk_combo_box_get_model(GTK_COMBO_BOX(combo)); | |
2354 if (!gtk_combo_box_get_active_iter(GTK_COMBO_BOX(combo), &iter)) return; | |
2355 gtk_tree_model_get(store, &iter, MENU_CHOICE_COLUMN_VALUE, &sd->match_date, -1); | |
2356 | 2351 |
2357 menu_choice_set_visible(gtk_widget_get_parent(sd->date_sel_end), | 2352 menu_choice_set_visible(gtk_widget_get_parent(sd->date_sel_end), |
2358 (sd->match_date == SEARCH_MATCH_BETWEEN)); | 2353 (sd->match_date == SEARCH_MATCH_BETWEEN)); |
2359 } | 2354 } |
2360 | 2355 |
2361 static void menu_choice_dimensions_cb(GtkWidget *combo, gpointer data) | 2356 static void menu_choice_dimensions_cb(GtkWidget *combo, gpointer data) |
2362 { | 2357 { |
2363 SearchData *sd = data; | 2358 SearchData *sd = data; |
2364 GtkTreeModel *store; | 2359 |
2365 GtkTreeIter iter; | 2360 if (!menu_choice_get_match_type(combo, &sd->match_dimensions)) return; |
2366 | |
2367 store = gtk_combo_box_get_model(GTK_COMBO_BOX(combo)); | |
2368 if (!gtk_combo_box_get_active_iter(GTK_COMBO_BOX(combo), &iter)) return; | |
2369 gtk_tree_model_get(store, &iter, MENU_CHOICE_COLUMN_VALUE, &sd->match_dimensions, -1); | |
2370 | 2361 |
2371 menu_choice_set_visible(gtk_widget_get_parent(sd->spin_width_end), | 2362 menu_choice_set_visible(gtk_widget_get_parent(sd->spin_width_end), |
2372 (sd->match_dimensions == SEARCH_MATCH_BETWEEN)); | 2363 (sd->match_dimensions == SEARCH_MATCH_BETWEEN)); |
2373 } | 2364 } |
2374 | 2365 |
2375 static void menu_choice_keyword_cb(GtkWidget *combo, gpointer data) | 2366 static void menu_choice_keyword_cb(GtkWidget *combo, gpointer data) |
2376 { | 2367 { |
2377 SearchData *sd = data; | 2368 SearchData *sd = data; |
2378 GtkTreeModel *store; | 2369 |
2379 GtkTreeIter iter; | 2370 if (!menu_choice_get_match_type(combo, &sd->match_keywords)) return; |
2380 | |
2381 store = gtk_combo_box_get_model(GTK_COMBO_BOX(combo)); | |
2382 if (!gtk_combo_box_get_active_iter(GTK_COMBO_BOX(combo), &iter)) return; | |
2383 gtk_tree_model_get(store, &iter, MENU_CHOICE_COLUMN_VALUE, &sd->match_keywords, -1); | |
2384 } | 2371 } |
2385 | 2372 |
2386 static void menu_choice_spin_cb(GtkAdjustment *adjustment, gpointer data) | 2373 static void menu_choice_spin_cb(GtkAdjustment *adjustment, gpointer data) |
2387 { | 2374 { |
2388 gint *value = data; | 2375 gint *value = data; |