From: John Melton - G0ORX/N6LYT Date: Mon, 14 Nov 2016 21:21:42 +0000 (+0000) Subject: fixed mouse release event getting through to Panadater/Waterfall from dialog. Fixed... X-Git-Url: https://git.rkrishnan.org/components/-?a=commitdiff_plain;h=e0158fc4a15759985b340442e5d0fa1e48f522fe;p=pihpsdr.git fixed mouse release event getting through to Panadater/Waterfall from dialog. Fixed saving PA Calibration values. --- diff --git a/ant_menu.c b/ant_menu.c index 861b1c6..ad6488e 100644 --- a/ant_menu.c +++ b/ant_menu.c @@ -39,6 +39,7 @@ static gboolean close_cb (GtkWidget *widget, GdkEventButton *event, gpointer dat dialog=NULL; sub_menu=NULL; } + return TRUE; } static void rx_ant_cb(GtkWidget *widget, gpointer data) { diff --git a/audio_menu.c b/audio_menu.c index 58cb6cf..c2e0971 100644 --- a/audio_menu.c +++ b/audio_menu.c @@ -39,6 +39,7 @@ static gboolean close_cb (GtkWidget *widget, GdkEventButton *event, gpointer dat dialog=NULL; sub_menu=NULL; } + return TRUE; } static void linein_cb(GtkWidget *widget, gpointer data) { diff --git a/band.c b/band.c index 7d88c60..9f7b5fe 100644 --- a/band.c +++ b/band.c @@ -18,6 +18,7 @@ */ #include +#include #include "bandstack.h" #include "band.h" @@ -391,7 +392,6 @@ void bandSaveState() { void bandRestoreState() { char* value; - int b; int stack; char name[128]; @@ -429,9 +429,11 @@ void bandRestoreState() { sprintf(name,"band.%d.pa_calibration",b); value=getProperty(name); - if(value) bands[b].pa_calibration=atof(value); - if(bands[b].pa_calibration<38.8 || bands[b].pa_calibration>100.0) { - bands[b].pa_calibration=38.8; + if(value) { + bands[b].pa_calibration=strtod(value,NULL); + if(bands[b].pa_calibration<38.8 || bands[b].pa_calibration>100.0) { + bands[b].pa_calibration=38.8; + } } sprintf(name,"band.%d.OCrx",b); diff --git a/cw_menu.c b/cw_menu.c index e46a097..57be2e2 100644 --- a/cw_menu.c +++ b/cw_menu.c @@ -41,6 +41,7 @@ static gboolean close_cb (GtkWidget *widget, GdkEventButton *event, gpointer dat dialog=NULL; sub_menu=NULL; } + return TRUE; } static void cw_keyer_internal_cb(GtkWidget *widget, gpointer data) { diff --git a/display_menu.c b/display_menu.c index fecb407..1030325 100644 --- a/display_menu.c +++ b/display_menu.c @@ -40,6 +40,7 @@ static gboolean close_cb (GtkWidget *widget, GdkEventButton *event, gpointer dat dialog=NULL; sub_menu=NULL; } + return TRUE; } static void detector_mode_cb(GtkWidget *widget, gpointer data) { diff --git a/dsp_menu.c b/dsp_menu.c index e3b3840..1878d79 100644 --- a/dsp_menu.c +++ b/dsp_menu.c @@ -41,6 +41,7 @@ static gboolean close_cb (GtkWidget *widget, GdkEventButton *event, gpointer dat dialog=NULL; sub_menu=NULL; } + return TRUE; } static void agc_hang_threshold_value_changed_cb(GtkWidget *widget, gpointer data) { diff --git a/exit_menu.c b/exit_menu.c index df2a4f9..4a97099 100644 --- a/exit_menu.c +++ b/exit_menu.c @@ -38,6 +38,7 @@ static gboolean close_cb (GtkWidget *widget, GdkEventButton *event, gpointer dat dialog=NULL; sub_menu=NULL; } + return TRUE; } static gboolean exit_cb (GtkWidget *widget, GdkEventButton *event, gpointer data) { diff --git a/freedv_menu.c b/freedv_menu.c index 22bae81..4ffbbdf 100644 --- a/freedv_menu.c +++ b/freedv_menu.c @@ -39,6 +39,7 @@ static gboolean close_cb (GtkWidget *widget, GdkEventButton *event, gpointer dat dialog=NULL; sub_menu=NULL; } + return TRUE; } static void freedv_text_changed_cb(GtkWidget *widget, gpointer data) { diff --git a/general_menu.c b/general_menu.c index 8700800..7f9ee7f 100644 --- a/general_menu.c +++ b/general_menu.c @@ -40,6 +40,7 @@ static gboolean close_cb (GtkWidget *widget, GdkEventButton *event, gpointer dat dialog=NULL; sub_menu=NULL; } + return TRUE; } static void vfo_divisor_value_changed_cb(GtkWidget *widget, gpointer data) { @@ -187,7 +188,7 @@ void general_menu(GtkWidget *parent) { //gtk_grid_set_column_homogeneous(GTK_GRID(grid),TRUE); GtkWidget *close_b=gtk_button_new_with_label("Close General"); - g_signal_connect (close_b, "pressed", G_CALLBACK(close_cb), NULL); + g_signal_connect (close_b, "button_press_event", G_CALLBACK(close_cb), NULL); gtk_grid_attach(GTK_GRID(grid),close_b,0,0,1,1); GtkWidget *vfo_divisor_label=gtk_label_new("VFO Encoder Divisor: "); diff --git a/new_menu.c b/new_menu.c index e810646..c308632 100644 --- a/new_menu.c +++ b/new_menu.c @@ -47,6 +47,7 @@ static gboolean close_cb (GtkWidget *widget, GdkEventButton *event, gpointer dat gtk_widget_destroy(dialog); dialog=NULL; } + return TRUE; } static gboolean exit_cb (GtkWidget *widget, GdkEventButton *event, gpointer data) { @@ -153,47 +154,47 @@ static gboolean new_menu_pressed_event_cb (GtkWidget *widget, gtk_grid_set_column_homogeneous(GTK_GRID(grid),TRUE); GtkWidget *close_b=gtk_button_new_with_label("Close Menu"); - g_signal_connect (close_b, "pressed", G_CALLBACK(close_cb), NULL); + g_signal_connect (close_b, "button-press-event", G_CALLBACK(close_cb), NULL); gtk_grid_attach(GTK_GRID(grid),close_b,0,0,2,1); GtkWidget *exit_b=gtk_button_new_with_label("Exit piHPSDR"); - g_signal_connect (exit_b, "pressed", G_CALLBACK(exit_cb), NULL); + g_signal_connect (exit_b, "button-press-event", G_CALLBACK(exit_cb), NULL); gtk_grid_attach(GTK_GRID(grid),exit_b,3,0,2,1); GtkWidget *general_b=gtk_button_new_with_label("General"); - g_signal_connect (general_b, "pressed", G_CALLBACK(general_cb), NULL); + g_signal_connect (general_b, "button-press-event", G_CALLBACK(general_cb), NULL); gtk_grid_attach(GTK_GRID(grid),general_b,0,1,1,1); GtkWidget *audio_b=gtk_button_new_with_label("Audio"); - g_signal_connect (audio_b, "pressed", G_CALLBACK(audio_cb), NULL); + g_signal_connect (audio_b, "button-press-event", G_CALLBACK(audio_cb), NULL); gtk_grid_attach(GTK_GRID(grid),audio_b,1,1,1,1); GtkWidget *ant_b=gtk_button_new_with_label("Ant"); - g_signal_connect (ant_b, "pressed", G_CALLBACK(ant_cb), NULL); + g_signal_connect (ant_b, "button-press-event", G_CALLBACK(ant_cb), NULL); gtk_grid_attach(GTK_GRID(grid),ant_b,2,1,1,1); GtkWidget *display_b=gtk_button_new_with_label("Display"); - g_signal_connect (display_b, "pressed", G_CALLBACK(display_cb), NULL); + g_signal_connect (display_b, "button-press-event", G_CALLBACK(display_cb), NULL); gtk_grid_attach(GTK_GRID(grid),display_b,3,1,1,1); GtkWidget *dsp_b=gtk_button_new_with_label("DSP"); - g_signal_connect (dsp_b, "pressed", G_CALLBACK(dsp_cb), NULL); + g_signal_connect (dsp_b, "button-press-event", G_CALLBACK(dsp_cb), NULL); gtk_grid_attach(GTK_GRID(grid),dsp_b,4,1,1,1); GtkWidget *pa_b=gtk_button_new_with_label("PA"); - g_signal_connect (pa_b, "pressed", G_CALLBACK(pa_cb), NULL); + g_signal_connect (pa_b, "button-press-event", G_CALLBACK(pa_cb), NULL); gtk_grid_attach(GTK_GRID(grid),pa_b,0,2,1,1); GtkWidget *cw_b=gtk_button_new_with_label("CW"); - g_signal_connect (cw_b, "pressed", G_CALLBACK(cw_cb), NULL); + g_signal_connect (cw_b, "button-press-event", G_CALLBACK(cw_cb), NULL); gtk_grid_attach(GTK_GRID(grid),cw_b,1,2,1,1); GtkWidget *oc_b=gtk_button_new_with_label("OC"); - g_signal_connect (oc_b, "pressed", G_CALLBACK(oc_cb), NULL); + g_signal_connect (oc_b, "button-press-event", G_CALLBACK(oc_cb), NULL); gtk_grid_attach(GTK_GRID(grid),oc_b,2,2,1,1); GtkWidget *freedv_b=gtk_button_new_with_label("FreeDV"); - g_signal_connect (freedv_b, "pressed", G_CALLBACK(freedv_cb), NULL); + g_signal_connect (freedv_b, "button-press-event", G_CALLBACK(freedv_cb), NULL); gtk_grid_attach(GTK_GRID(grid),freedv_b,3,2,1,1); gtk_container_add(GTK_CONTAINER(content),grid); @@ -215,7 +216,7 @@ GtkWidget* new_menu_init(int width,int height,GtkWidget *parent) { menu_b=gtk_button_new_with_label("Menu"); gtk_widget_override_font(menu_b, pango_font_description_from_string("FreeMono Bold 10")); gtk_widget_set_size_request (menu_b, width, height); - g_signal_connect (menu_b, "pressed", G_CALLBACK(new_menu_pressed_event_cb), NULL); + g_signal_connect (menu_b, "button-press-event", G_CALLBACK(new_menu_pressed_event_cb), NULL); gtk_widget_show(menu_b); return menu_b; diff --git a/oc_menu.c b/oc_menu.c index ddb1535..0db345a 100644 --- a/oc_menu.c +++ b/oc_menu.c @@ -41,6 +41,7 @@ static gboolean close_cb (GtkWidget *widget, GdkEventButton *event, gpointer dat dialog=NULL; sub_menu=NULL; } + return TRUE; } static void oc_rx_cb(GtkWidget *widget, gpointer data) { diff --git a/pa_menu.c b/pa_menu.c index 86c1af9..d223655 100644 --- a/pa_menu.c +++ b/pa_menu.c @@ -39,6 +39,7 @@ static gboolean close_cb (GtkWidget *widget, GdkEventButton *event, gpointer dat dialog=NULL; sub_menu=NULL; } + return TRUE; } static void pa_value_changed_cb(GtkWidget *widget, gpointer data) { diff --git a/panadapter.c b/panadapter.c index 2ac9faa..c113182 100644 --- a/panadapter.c +++ b/panadapter.c @@ -115,17 +115,19 @@ panadapter_button_release_event_cb (GtkWidget *widget, GdkEventButton *event, gpointer data) { - int x=(int)event->x; - if (event->button == 1) { - if(has_moved) { - // drag - vfo_move((int)((float)(x-last_x)*hz_per_pixel)); - } else { - // move to this frequency - vfo_move_to((int)((float)(x-(display_width/2))*hz_per_pixel)); + if(pressed) { + int x=(int)event->x; + if (event->button == 1) { + if(has_moved) { + // drag + vfo_move((int)((float)(x-last_x)*hz_per_pixel)); + } else { + // move to this frequency + vfo_move_to((int)((float)(x-(display_width/2))*hz_per_pixel)); + } + last_x=x; + pressed=FALSE; } - last_x=x; - pressed=FALSE; } return TRUE; } diff --git a/pihpsdr b/pihpsdr index 29061d8..16c0ab8 100755 Binary files a/pihpsdr and b/pihpsdr differ diff --git a/release/pihpsdr.tar b/release/pihpsdr.tar index 03c493f..ec7ccaa 100644 Binary files a/release/pihpsdr.tar and b/release/pihpsdr.tar differ diff --git a/release/pihpsdr/pihpsdr b/release/pihpsdr/pihpsdr index 29061d8..16c0ab8 100755 Binary files a/release/pihpsdr/pihpsdr and b/release/pihpsdr/pihpsdr differ diff --git a/waterfall.c b/waterfall.c index 8523cf1..b127dc6 100644 --- a/waterfall.c +++ b/waterfall.c @@ -110,17 +110,19 @@ waterfall_button_release_event_cb (GtkWidget *widget, GdkEventButton *event, gpointer data) { - int x=(int)event->x; - if (event->button == 1) { - if(has_moved) { - // drag - vfo_move((int)((float)(x-last_x)*hz_per_pixel)); - } else { - // move to this frequency - vfo_move_to((int)((float)(x-(display_width/2))*hz_per_pixel)); + if(pressed) { + int x=(int)event->x; + if (event->button == 1) { + if(has_moved) { + // drag + vfo_move((int)((float)(x-last_x)*hz_per_pixel)); + } else { + // move to this frequency + vfo_move_to((int)((float)(x-(display_width/2))*hz_per_pixel)); + } + last_x=x; + pressed=FALSE; } - last_x=x; - pressed=FALSE; } return TRUE; }