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/> | ... | ... |