Commit 8a4e45488a53e851f9fef6860a9d4de211f22d42
1 parent
cfae1c9c
Exists in
master
and in
5 other branches
Incluindo opção de linha de comando para ativar/desativar toggles
Showing
4 changed files
with
44 additions
and
2 deletions
Show diff stats
src/include/pw3270.h
| ... | ... | @@ -56,6 +56,7 @@ |
| 56 | 56 | LIB3270_EXPORT const gchar * pw3270_get_host(GtkWidget *widget); |
| 57 | 57 | |
| 58 | 58 | LIB3270_EXPORT gboolean pw3270_get_toggle(GtkWidget *widget, LIB3270_TOGGLE ix); |
| 59 | + LIB3270_EXPORT gboolean pw3270_set_toggle_by_name(GtkWidget *widget, const gchar *name, gboolean flag); | |
| 59 | 60 | LIB3270_EXPORT H3270 * pw3270_get_session(GtkWidget *widget); |
| 60 | 61 | LIB3270_EXPORT GtkWidget * pw3270_get_terminal_widget(GtkWidget *widget); |
| 61 | 62 | ... | ... |
src/pw3270/main.c
| ... | ... | @@ -53,6 +53,8 @@ |
| 53 | 53 | static GtkWidget * toplevel = NULL; |
| 54 | 54 | static unsigned int syscolors = 16; |
| 55 | 55 | static const gchar * systype = NULL; |
| 56 | + static const gchar * toggleset = NULL; | |
| 57 | + static const gchar * togglereset = NULL; | |
| 56 | 58 | |
| 57 | 59 | #ifdef HAVE_GTKMAC |
| 58 | 60 | GtkOSXApplication * osxapp = NULL; |
| ... | ... | @@ -308,6 +310,9 @@ int main(int argc, char *argv[]) |
| 308 | 310 | { "host", 'h', 0, G_OPTION_ARG_STRING, &host, N_( "Host to connect"), NULL }, |
| 309 | 311 | { "colors", 'c', 0, G_OPTION_ARG_CALLBACK, optcolors, N_( "Set reported colors (8/16)" ), "16" }, |
| 310 | 312 | { "systype", 't', 0, G_OPTION_ARG_STRING, &system, N_( "Host system type" ), "S390" }, |
| 313 | + { "toggleset", 'S', 0, G_OPTION_ARG_STRING, &toggleset, N_( "Set toggles ON" ), NULL }, | |
| 314 | + { "togglereset", 'R', 0, G_OPTION_ARG_STRING, &togglereset, N_( "Set toggles OFF" ), NULL }, | |
| 315 | + | |
| 311 | 316 | #if defined( HAVE_SYSLOG ) |
| 312 | 317 | { "syslog", 'l', 0, G_OPTION_ARG_NONE, &log_to_syslog, N_( "Send messages to syslog" ), NULL }, |
| 313 | 318 | #endif |
| ... | ... | @@ -408,7 +413,31 @@ int main(int argc, char *argv[]) |
| 408 | 413 | |
| 409 | 414 | toplevel = pw3270_new(host,systype,syscolors); |
| 410 | 415 | pw3270_set_session_name(toplevel,session_name); |
| 411 | - // pw3270_set_session_options(toplevel,cmdline_opt.host); | |
| 416 | + | |
| 417 | + if(toggleset) | |
| 418 | + { | |
| 419 | + gchar **str = g_strsplit(toggleset,",",-1); | |
| 420 | + int f; | |
| 421 | + | |
| 422 | + for(f=0;str[f];f++) | |
| 423 | + pw3270_set_toggle_by_name(toplevel,str[f],TRUE); | |
| 424 | + | |
| 425 | + | |
| 426 | + g_strfreev(str); | |
| 427 | + } | |
| 428 | + | |
| 429 | + if(togglereset) | |
| 430 | + { | |
| 431 | + gchar **str = g_strsplit(togglereset,",",-1); | |
| 432 | + int f; | |
| 433 | + | |
| 434 | + for(f=0;str[f];f++) | |
| 435 | + pw3270_set_toggle_by_name(toplevel,str[f],FALSE); | |
| 436 | + | |
| 437 | + g_strfreev(str); | |
| 438 | + } | |
| 439 | + | |
| 440 | + | |
| 412 | 441 | |
| 413 | 442 | toplevel_setup(GTK_WINDOW(toplevel)); |
| 414 | 443 | ... | ... |
src/pw3270/tools.c
| ... | ... | @@ -119,3 +119,15 @@ LIB3270_EXPORT void pw3270_set_boolean(GtkWidget *widget, const gchar *group, co |
| 119 | 119 | { |
| 120 | 120 | set_boolean_to_config(group, key, val); |
| 121 | 121 | } |
| 122 | + | |
| 123 | +LIB3270_EXPORT gboolean pw3270_set_toggle_by_name(GtkWidget *widget, const gchar *name, gboolean flag) | |
| 124 | +{ | |
| 125 | + H3270 * hSession = pw3270_get_session(widget); | |
| 126 | + LIB3270_TOGGLE id = lib3270_get_toggle_id(name); | |
| 127 | + | |
| 128 | + if(!hSession || id == (LIB3270_TOGGLE) -1) | |
| 129 | + return FALSE; | |
| 130 | + | |
| 131 | + lib3270_set_toggle(hSession,id,(int) flag); | |
| 132 | + return TRUE; | |
| 133 | +} | ... | ... |
ui/00default.xml
| ... | ... | @@ -46,7 +46,7 @@ |
| 46 | 46 | <menuitem action='save' src='copy' group='clipboard' label='Save copy' /> |
| 47 | 47 | |
| 48 | 48 | <separator/> |
| 49 | - <menuitem action='print' src='all' key='Print' group='online' icon='print' label='Print' /> | |
| 49 | + <menuitem action='print' src='all' key='Print' icon='print' label='Print' /> | |
| 50 | 50 | <menuitem action='print' src='selected' group='selection' label='Print selected' /> |
| 51 | 51 | <menuitem action='print' src='copy' group='clipboard' label='Print copy' /> |
| 52 | 52 | <separator/> | ... | ... |