From f1fac55c2023bb0b99a5111167d98565badf48c5 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Thu, 25 Feb 2021 17:06:05 +0100 Subject: GUI: Factorise force_{peaks,refls}_on This should help avoid them getting out of sync. Again. --- src/crystfel_gui.c | 24 ++++++++++++++++++++++++ src/crystfel_gui.h | 3 +++ src/gui_import.c | 3 --- src/gui_index.c | 5 +---- src/gui_peaksearch.c | 7 +------ 5 files changed, 29 insertions(+), 13 deletions(-) diff --git a/src/crystfel_gui.c b/src/crystfel_gui.c index f3388aed..8b330bb9 100644 --- a/src/crystfel_gui.c +++ b/src/crystfel_gui.c @@ -1111,3 +1111,27 @@ GFile *make_job_folder(const char *job_title, const char *job_notes) return workdir_file; } + + +void force_peaks_on(struct crystfelproject *proj) +{ + GtkWidget *w; + proj->show_peaks = 1; + crystfel_image_view_set_show_peaks(CRYSTFEL_IMAGE_VIEW(proj->imageview), + proj->show_peaks); + + w = gtk_ui_manager_get_widget(proj->ui, "/ui/mainwindow/view/peaks"); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(w), 1); +} + + +void force_refls_on(struct crystfelproject *proj) +{ + GtkWidget *w; + proj->show_refls = 1; + crystfel_image_view_set_show_peaks(CRYSTFEL_IMAGE_VIEW(proj->imageview), + proj->show_refls); + + w = gtk_ui_manager_get_widget(proj->ui, "/ui/mainwindow/view/refls"); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(w), 1); +} diff --git a/src/crystfel_gui.h b/src/crystfel_gui.h index 69dffdda..c2332fca 100644 --- a/src/crystfel_gui.h +++ b/src/crystfel_gui.h @@ -67,4 +67,7 @@ extern struct gui_job_notes_page *add_job_notes_page(GtkWidget *notebook); extern GFile *make_job_folder(const char *job_title, const char *job_notes); +extern void force_peaks_on(struct crystfelproject *proj); +extern void force_refls_on(struct crystfelproject *proj); + #endif diff --git a/src/gui_import.c b/src/gui_import.c index 94d04d24..d257f746 100644 --- a/src/gui_import.c +++ b/src/gui_import.c @@ -291,9 +291,6 @@ static void import_stream(struct finddata_ctx *ctx) add_indexing_result(proj, result_name, streams, 1); select_result(proj, result_name); } - - crystfel_image_view_set_show_peaks(CRYSTFEL_IMAGE_VIEW(proj->imageview), - 1); } diff --git a/src/gui_index.c b/src/gui_index.c index 2e2779f5..4e4e2dff 100644 --- a/src/gui_index.c +++ b/src/gui_index.c @@ -574,15 +574,12 @@ static void index_one_response_sig(GtkWidget *dialog, gint resp, crystfel_image_view_set_refl_box_size(CRYSTFEL_IMAGE_VIEW(proj->imageview), proj->indexing_params.ir_inn); - crystfel_image_view_set_show_peaks(CRYSTFEL_IMAGE_VIEW(proj->imageview), - proj->show_peaks); + force_refls_on(proj); redraw_widget(proj->imageview); } gtk_widget_destroy(dialog); proj->indexing_opts = NULL; - w = gtk_ui_manager_get_widget(proj->ui, "/ui/mainwindow/view/refls"); - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(w), 1); } diff --git a/src/gui_peaksearch.c b/src/gui_peaksearch.c index fa63d8fa..37972e72 100644 --- a/src/gui_peaksearch.c +++ b/src/gui_peaksearch.c @@ -448,12 +448,7 @@ gint peaksearch_sig(GtkWidget *widget, struct crystfelproject *proj) if ( proj->peak_params != NULL ) return FALSE; - proj->show_peaks = 1; - crystfel_image_view_set_show_peaks(CRYSTFEL_IMAGE_VIEW(proj->imageview), - proj->show_peaks); - - w = gtk_ui_manager_get_widget(proj->ui, "/ui/mainwindow/view/peaks"); - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(w), 1); + force_peaks_on(proj); /* Take a copy of the original parameters, for reverting */ proj->original_params = proj->peak_search_params; -- cgit v1.2.3