diff --git a/src/gtk/actions.c b/src/gtk/actions.c index 08c91c5..1913127 100644 --- a/src/gtk/actions.c +++ b/src/gtk/actions.c @@ -33,6 +33,7 @@ #include "uiparser/parser.h" #include "v3270/v3270.h" #include + #include /*--[ Implement ]------------------------------------------------------------------------------------*/ @@ -191,6 +192,11 @@ static void action_fullscreen(GtkAction *action, GtkWidget *widget) lib3270_set_toggle(GTK_V3270(widget)->host,LIB3270_TOGGLE_FULL_SCREEN,1); } +static void action_reselect(GtkAction *action, GtkWidget *widget) +{ + lib3270_reselect(GTK_V3270(widget)->host); +} + static void action_unfullscreen(GtkAction *action, GtkWidget *widget) { lib3270_set_toggle(GTK_V3270(widget)->host,LIB3270_TOGGLE_FULL_SCREEN,0); @@ -219,6 +225,10 @@ void ui_connect_index_action(GtkAction *action, GtkWidget *widget, int ix, GtkAc g_signal_connect(action,"activate",G_CALLBACK(action_unfullscreen),widget); break; + case ACTION_RESELECT: + g_signal_connect(action,"activate",G_CALLBACK(action_reselect),widget); + break; + default: g_warning("Action \"%s\" has unexpected id %d",gtk_action_get_name(action),ix); gtk_action_set_sensitive(action,FALSE); diff --git a/src/lib3270/selection.c b/src/lib3270/selection.c index 6e3f4fe..fe243fd 100644 --- a/src/lib3270/selection.c +++ b/src/lib3270/selection.c @@ -302,8 +302,8 @@ LIB3270_ACTION( reselect ) { CHECK_SESSION_HANDLE(hSession); - if(hSession->selected || hSession->select.begin == hSession->select.end) - return 0; + if(!lib3270_connected(hSession) || hSession->select.begin == hSession->select.end || hSession->selected) + return; update_selection(hSession); set_selected(hSession); diff --git a/ui/00default.xml b/ui/00default.xml index 4f14233..1ca622d 100644 --- a/ui/00default.xml +++ b/ui/00default.xml @@ -61,7 +61,7 @@ - + -- libgit2 0.21.2