Commit 8dc00672fa382423e3643df3184a7ca5d7e496dd
1 parent
fa8e805e
Exists in
master
and in
5 other branches
Corrigindo incoerências nos diálogos e APIs
Showing
16 changed files
with
78 additions
and
101 deletions
Show diff stats
android/jni/main.cpp
@@ -337,7 +337,7 @@ JNIEXPORT void JNICALL Java_br_com_bb_pw3270_lib3270_setHost(JNIEnv *env, jobjec | @@ -337,7 +337,7 @@ JNIEXPORT void JNICALL Java_br_com_bb_pw3270_lib3270_setHost(JNIEnv *env, jobjec | ||
337 | { | 337 | { |
338 | PW3270_JNI_BEGIN | 338 | PW3270_JNI_BEGIN |
339 | 339 | ||
340 | - lib3270_set_host(PW3270_SESSION,env->GetStringUTFChars(hostname, 0)); | 340 | + lib3270_set_url(PW3270_SESSION,env->GetStringUTFChars(hostname, 0)); |
341 | 341 | ||
342 | PW3270_JNI_END | 342 | PW3270_JNI_END |
343 | } | 343 | } |
src/classlib/local.cc
@@ -280,7 +280,7 @@ | @@ -280,7 +280,7 @@ | ||
280 | LIB3270_CSTATE (*_get_connection_state)(H3270 *h); | 280 | LIB3270_CSTATE (*_get_connection_state)(H3270 *h); |
281 | int (*_disconnect)(H3270 *h); | 281 | int (*_disconnect)(H3270 *h); |
282 | int (*_connect)(H3270 *h,int wait); | 282 | int (*_connect)(H3270 *h,int wait); |
283 | - const char (*_set_host)(H3270 *h, const char *n); | 283 | + const char (*_set_url)(H3270 *h, const char *n); |
284 | int (*_is_connected)(H3270 *h); | 284 | int (*_is_connected)(H3270 *h); |
285 | void (*_main_iterate)(H3270 *h, int wait); | 285 | void (*_main_iterate)(H3270 *h, int wait); |
286 | int (*_wait)(H3270 *hSession, int seconds); | 286 | int (*_wait)(H3270 *hSession, int seconds); |
@@ -335,7 +335,7 @@ | @@ -335,7 +335,7 @@ | ||
335 | { (void **) & _get_version, "lib3270_get_version" }, | 335 | { (void **) & _get_version, "lib3270_get_version" }, |
336 | { (void **) & _disconnect, "lib3270_disconnect" }, | 336 | { (void **) & _disconnect, "lib3270_disconnect" }, |
337 | { (void **) & _connect, "lib3270_connect" }, | 337 | { (void **) & _connect, "lib3270_connect" }, |
338 | - { (void **) & _set_host, "lib3270_set_host" }, | 338 | + { (void **) & _set_url, "lib3270_set_url" }, |
339 | { (void **) & _main_iterate, "lib3270_main_iterate" }, | 339 | { (void **) & _main_iterate, "lib3270_main_iterate" }, |
340 | { (void **) & _wait, "lib3270_wait" }, | 340 | { (void **) & _wait, "lib3270_wait" }, |
341 | { (void **) & _enter, "lib3270_enter" }, | 341 | { (void **) & _enter, "lib3270_enter" }, |
@@ -423,9 +423,9 @@ | @@ -423,9 +423,9 @@ | ||
423 | return _connect(hSession,(int) wait); | 423 | return _connect(hSession,(int) wait); |
424 | } | 424 | } |
425 | 425 | ||
426 | - int set_host(const char *uri) | 426 | + int set_url(const char *uri) |
427 | { | 427 | { |
428 | - return (_set_host(hSession,uri) == NULL) ? 0 : 1; | 428 | + return (_set_url(hSession,uri) == NULL) ? 0 : 1; |
429 | } | 429 | } |
430 | 430 | ||
431 | int disconnect(void) | 431 | int disconnect(void) |
src/classlib/remote.cc
src/classlib/session.cc
@@ -469,12 +469,17 @@ | @@ -469,12 +469,17 @@ | ||
469 | return EINVAL; | 469 | return EINVAL; |
470 | } | 470 | } |
471 | 471 | ||
472 | + int session::set_host(const char *host) | ||
473 | + { | ||
474 | + return set_url(host); | ||
475 | + } | ||
476 | + | ||
472 | int session::connect(const char *host, bool wait) | 477 | int session::connect(const char *host, bool wait) |
473 | { | 478 | { |
474 | int rc = 0; | 479 | int rc = 0; |
475 | 480 | ||
476 | if(host && *host) | 481 | if(host && *host) |
477 | - rc = set_host(host); | 482 | + rc = set_url(host); |
478 | 483 | ||
479 | if(!rc) | 484 | if(!rc) |
480 | rc = connect(wait); | 485 | rc = connect(wait); |
src/include/lib3270.h
@@ -398,7 +398,7 @@ | @@ -398,7 +398,7 @@ | ||
398 | * @return Processed host url | 398 | * @return Processed host url |
399 | * | 399 | * |
400 | */ | 400 | */ |
401 | - LIB3270_EXPORT const char * lib3270_set_host(H3270 *h, const char *url); | 401 | + LIB3270_EXPORT const char * lib3270_set_url(H3270 *h, const char *url); |
402 | 402 | ||
403 | /** | 403 | /** |
404 | * Get hostname for the connect/reconnect operations. | 404 | * Get hostname for the connect/reconnect operations. |
src/include/pw3270.h
@@ -52,9 +52,9 @@ | @@ -52,9 +52,9 @@ | ||
52 | 52 | ||
53 | 53 | ||
54 | LIB3270_EXPORT GtkWidget * pw3270_new(const gchar *host, const gchar *systype, unsigned short colors); | 54 | LIB3270_EXPORT GtkWidget * pw3270_new(const gchar *host, const gchar *systype, unsigned short colors); |
55 | - LIB3270_EXPORT const gchar * pw3270_set_host(GtkWidget *widget, const gchar *uri); | 55 | + LIB3270_EXPORT const gchar * pw3270_set_url(GtkWidget *widget, const gchar *uri); |
56 | LIB3270_EXPORT const gchar * pw3270_get_hostname(GtkWidget *widget); | 56 | LIB3270_EXPORT const gchar * pw3270_get_hostname(GtkWidget *widget); |
57 | - LIB3270_EXPORT void pw3270_connect(GtkWidget *widget, const gchar *uri); | 57 | + LIB3270_EXPORT void pw3270_connect(GtkWidget *widget); |
58 | 58 | ||
59 | LIB3270_EXPORT gboolean pw3270_get_toggle(GtkWidget *widget, LIB3270_TOGGLE ix); | 59 | LIB3270_EXPORT gboolean pw3270_get_toggle(GtkWidget *widget, LIB3270_TOGGLE ix); |
60 | LIB3270_EXPORT gboolean pw3270_set_toggle_by_name(GtkWidget *widget, const gchar *name, gboolean flag); | 60 | LIB3270_EXPORT gboolean pw3270_set_toggle_by_name(GtkWidget *widget, const gchar *name, gboolean flag); |
@@ -69,7 +69,7 @@ | @@ -69,7 +69,7 @@ | ||
69 | 69 | ||
70 | LIB3270_EXPORT const gchar * pw3270_get_session_name(GtkWidget *widget); | 70 | LIB3270_EXPORT const gchar * pw3270_get_session_name(GtkWidget *widget); |
71 | LIB3270_EXPORT void pw3270_set_session_name(GtkWidget *widget, const gchar *name); | 71 | LIB3270_EXPORT void pw3270_set_session_name(GtkWidget *widget, const gchar *name); |
72 | - LIB3270_EXPORT void pw3270_set_session_options(GtkWidget *widget, LIB3270_OPTION options); | 72 | + LIB3270_EXPORT void pw3270_set_host_type(GtkWidget *widget, const gchar *name); |
73 | LIB3270_EXPORT int pw3270_set_session_color_type(GtkWidget *widget, unsigned short color_type); | 73 | LIB3270_EXPORT int pw3270_set_session_color_type(GtkWidget *widget, unsigned short color_type); |
74 | 74 | ||
75 | LIB3270_EXPORT gchar * pw3270_get_filename(GtkWidget *widget, const gchar *group, const gchar *key, GtkFileFilter **filter, const gchar *title); | 75 | LIB3270_EXPORT gchar * pw3270_get_filename(GtkWidget *widget, const gchar *group, const gchar *key, GtkFileFilter **filter, const gchar *title); |
src/include/pw3270/class.h
@@ -129,8 +129,9 @@ | @@ -129,8 +129,9 @@ | ||
129 | 129 | ||
130 | // Connection & Network | 130 | // Connection & Network |
131 | int connect(const char *host, bool wait = true); | 131 | int connect(const char *host, bool wait = true); |
132 | + int set_host(const char *host); | ||
132 | virtual int connect(bool wait = true) = 0; | 133 | virtual int connect(bool wait = true) = 0; |
133 | - virtual int set_host(const char *hostname) = 0; | 134 | + virtual int set_url(const char *hostname) = 0; |
134 | virtual int disconnect(void) = 0; | 135 | virtual int disconnect(void) = 0; |
135 | virtual int wait_for_ready(int seconds) = 0; | 136 | virtual int wait_for_ready(int seconds) = 0; |
136 | virtual int wait(int seconds) = 0; | 137 | virtual int wait(int seconds) = 0; |
src/include/pw3270/v3270.h
@@ -158,7 +158,7 @@ | @@ -158,7 +158,7 @@ | ||
158 | LIB3270_EXPORT H3270 * v3270_get_session(GtkWidget *widget); | 158 | LIB3270_EXPORT H3270 * v3270_get_session(GtkWidget *widget); |
159 | LIB3270_EXPORT gboolean v3270_is_connected(GtkWidget *widget); | 159 | LIB3270_EXPORT gboolean v3270_is_connected(GtkWidget *widget); |
160 | 160 | ||
161 | - LIB3270_EXPORT int v3270_connect(GtkWidget *widget, const gchar *host); | 161 | + LIB3270_EXPORT int v3270_connect(GtkWidget *widget); |
162 | LIB3270_EXPORT void v3270_disconnect(GtkWidget *widget); | 162 | LIB3270_EXPORT void v3270_disconnect(GtkWidget *widget); |
163 | 163 | ||
164 | LIB3270_EXPORT int v3270_set_host_charset(GtkWidget *widget, const gchar *name); | 164 | LIB3270_EXPORT int v3270_set_host_charset(GtkWidget *widget, const gchar *name); |
@@ -214,7 +214,7 @@ | @@ -214,7 +214,7 @@ | ||
214 | LIB3270_EXPORT void v3270_set_session_options(GtkWidget *widget, LIB3270_OPTION options); | 214 | LIB3270_EXPORT void v3270_set_session_options(GtkWidget *widget, LIB3270_OPTION options); |
215 | LIB3270_EXPORT int v3270_set_session_color_type(GtkWidget *widget, unsigned short colortype); | 215 | LIB3270_EXPORT int v3270_set_session_color_type(GtkWidget *widget, unsigned short colortype); |
216 | LIB3270_EXPORT int v3270_set_host_type(GtkWidget *widget, const char *name); | 216 | LIB3270_EXPORT int v3270_set_host_type(GtkWidget *widget, const char *name); |
217 | - LIB3270_EXPORT const gchar * v3270_set_host(GtkWidget *widget, const gchar *uri); | 217 | + LIB3270_EXPORT const gchar * v3270_set_url(GtkWidget *widget, const gchar *uri); |
218 | LIB3270_EXPORT const gchar * v3270_get_hostname(GtkWidget *widget); | 218 | LIB3270_EXPORT const gchar * v3270_get_hostname(GtkWidget *widget); |
219 | LIB3270_EXPORT GtkWidget * v3270_get_default_widget(void); | 219 | LIB3270_EXPORT GtkWidget * v3270_get_default_widget(void); |
220 | 220 |
src/lib3270/host.c
@@ -506,7 +506,7 @@ static void update_host(H3270 *h) | @@ -506,7 +506,7 @@ static void update_host(H3270 *h) | ||
506 | 506 | ||
507 | } | 507 | } |
508 | 508 | ||
509 | -LIB3270_EXPORT const char * lib3270_set_host(H3270 *h, const char *n) | 509 | +LIB3270_EXPORT const char * lib3270_set_url(H3270 *h, const char *n) |
510 | { | 510 | { |
511 | CHECK_SESSION_HANDLE(h); | 511 | CHECK_SESSION_HANDLE(h); |
512 | 512 |
src/lib3270/macros.c
@@ -258,12 +258,12 @@ | @@ -258,12 +258,12 @@ | ||
258 | break; | 258 | break; |
259 | 259 | ||
260 | case 2: | 260 | case 2: |
261 | - lib3270_set_host(hSession,argv[1]); | 261 | + lib3270_set_url(hSession,argv[1]); |
262 | rc = lib3270_connect(hSession,0); | 262 | rc = lib3270_connect(hSession,0); |
263 | break; | 263 | break; |
264 | 264 | ||
265 | case 3: | 265 | case 3: |
266 | - lib3270_set_host(hSession,argv[1]); | 266 | + lib3270_set_url(hSession,argv[1]); |
267 | rc = lib3270_connect(hSession,atoi(argv[2])); | 267 | rc = lib3270_connect(hSession,atoi(argv[2])); |
268 | break; | 268 | break; |
269 | 269 |
src/lib3270/testprogram.c
@@ -40,7 +40,7 @@ int main(int numpar, char *param[]) | @@ -40,7 +40,7 @@ int main(int numpar, char *param[]) | ||
40 | // rc = lib3270_connect_host(h, "127.0.0.1", "9090", LIB3270_CONNECT_OPTION_WAIT); | 40 | // rc = lib3270_connect_host(h, "127.0.0.1", "9090", LIB3270_CONNECT_OPTION_WAIT); |
41 | 41 | ||
42 | // lib3270_set_host_url(h,"tn3270://fandezhi.efglobe.com:9090?lu=default"); | 42 | // lib3270_set_host_url(h,"tn3270://fandezhi.efglobe.com:9090?lu=default"); |
43 | - lib3270_set_host(h,"tn3270://fandezhi.efglobe.com"); | 43 | + lib3270_set_url(h,"tn3270://fandezhi.efglobe.com"); |
44 | 44 | ||
45 | printf("\nConnect exits with rc=%d\n",rc); | 45 | printf("\nConnect exits with rc=%d\n",rc); |
46 | 46 |
src/plugins/rx3270/pluginmain.cc
@@ -89,7 +89,7 @@ | @@ -89,7 +89,7 @@ | ||
89 | const string get_version(void); | 89 | const string get_version(void); |
90 | LIB3270_CSTATE get_cstate(void); | 90 | LIB3270_CSTATE get_cstate(void); |
91 | int disconnect(void); | 91 | int disconnect(void); |
92 | - int set_host(const char *uri); | 92 | + int set_url(const char *uri); |
93 | int connect(bool wait = true); | 93 | int connect(bool wait = true); |
94 | bool is_connected(void); | 94 | bool is_connected(void); |
95 | bool is_ready(void); | 95 | bool is_ready(void); |
@@ -779,9 +779,9 @@ const char * plugin::asc2ebc(unsigned char *str, int sz) | @@ -779,9 +779,9 @@ const char * plugin::asc2ebc(unsigned char *str, int sz) | ||
779 | return lib3270_asc2ebc(hSession,str,sz); | 779 | return lib3270_asc2ebc(hSession,str,sz); |
780 | } | 780 | } |
781 | 781 | ||
782 | -int plugin::set_host(const char *uri) | 782 | +int plugin::set_url(const char *uri) |
783 | { | 783 | { |
784 | - return lib3270_set_host(hSession,uri) != NULL ? 1 : 0; | 784 | + return lib3270_set_url(hSession,uri) != NULL ? 1 : 0; |
785 | } | 785 | } |
786 | 786 | ||
787 | const char * plugin::ebc2asc(unsigned char *str, int sz) | 787 | const char * plugin::ebc2asc(unsigned char *str, int sz) |
src/pw3270/actions.c
@@ -75,39 +75,21 @@ static void connect_action(GtkAction *action, GtkWidget *widget) | @@ -75,39 +75,21 @@ static void connect_action(GtkAction *action, GtkWidget *widget) | ||
75 | 75 | ||
76 | trace_action(action,widget); | 76 | trace_action(action,widget); |
77 | 77 | ||
78 | - #warning Reimplementar | 78 | + if(host) |
79 | + v3270_set_url(widget,host); | ||
79 | 80 | ||
80 | - /* | ||
81 | - if(!systype) | ||
82 | - systype = get_string_from_config("host","systype","S390"); | 81 | + if(systype) |
82 | + v3270_set_host_type(widget,systype); | ||
83 | 83 | ||
84 | if(colortype) | 84 | if(colortype) |
85 | - colors = atoi(colortype); | ||
86 | - else | ||
87 | - colors = (unsigned short) get_integer_from_config("host","colortype",16); | ||
88 | - | ||
89 | - trace("System type=%s System colors=%d",systype,(int) colors); | 85 | + v3270_set_session_color_type(widget,atoi(colortype)); |
90 | 86 | ||
91 | - v3270_set_session_color_type(widget,colors); | ||
92 | - v3270_set_session_options(widget,pw3270_options_by_hosttype(systype)); | ||
93 | - */ | ||
94 | - | ||
95 | - if(host) | 87 | + host = v3270_get_hostname(widget); |
88 | + if(host && *host) | ||
96 | { | 89 | { |
97 | - v3270_connect(widget,host); | 90 | + v3270_connect(widget); |
98 | return; | 91 | return; |
99 | } | 92 | } |
100 | - else | ||
101 | - { | ||
102 | - gchar *ptr = get_string_from_config("host","uri",""); | ||
103 | - if(*ptr) | ||
104 | - { | ||
105 | - v3270_connect(widget,ptr); | ||
106 | - g_free(ptr); | ||
107 | - return; | ||
108 | - } | ||
109 | - g_free(ptr); | ||
110 | - } | ||
111 | 93 | ||
112 | hostname_action(action,widget); | 94 | hostname_action(action,widget); |
113 | } | 95 | } |
src/pw3270/ft/ftdialog.c
@@ -395,13 +395,19 @@ GtkWidget * v3270_ft_dialog_new(GtkWidget *parent, LIB3270_FT_OPTION options) | @@ -395,13 +395,19 @@ GtkWidget * v3270_ft_dialog_new(GtkWidget *parent, LIB3270_FT_OPTION options) | ||
395 | gtk_widget_set_tooltip_text(GTK_WIDGET(browse),_("Select file")); | 395 | gtk_widget_set_tooltip_text(GTK_WIDGET(browse),_("Select file")); |
396 | g_signal_connect(G_OBJECT(browse),"clicked",G_CALLBACK(browse_file),dialog); | 396 | g_signal_connect(G_OBJECT(browse),"clicked",G_CALLBACK(browse_file),dialog); |
397 | 397 | ||
398 | - gtk_dialog_add_button(GTK_DIALOG(dialog),_( "_Cancel" ), GTK_RESPONSE_CANCEL); | ||
399 | - | ||
400 | dialog->ready = gtk_dialog_add_button(GTK_DIALOG(dialog), | 398 | dialog->ready = gtk_dialog_add_button(GTK_DIALOG(dialog), |
401 | (dialog->options & LIB3270_FT_OPTION_RECEIVE) != 0 ? _( "_Receive") : _( "_Send" ), | 399 | (dialog->options & LIB3270_FT_OPTION_RECEIVE) != 0 ? _( "_Receive") : _( "_Send" ), |
402 | GTK_RESPONSE_ACCEPT); | 400 | GTK_RESPONSE_ACCEPT); |
403 | - | ||
404 | gtk_widget_set_sensitive(dialog->ready,FALSE); | 401 | gtk_widget_set_sensitive(dialog->ready,FALSE); |
402 | + | ||
403 | + gtk_widget_set_tooltip_text(GTK_WIDGET(dialog->ready), | ||
404 | + (dialog->options & LIB3270_FT_OPTION_RECEIVE) != 0 ? _("Start download.") : _("Start upload.")); | ||
405 | + | ||
406 | + | ||
407 | + gtk_widget_set_tooltip_text(gtk_dialog_add_button(GTK_DIALOG(dialog),_( "_Cancel" ), GTK_RESPONSE_CANCEL), | ||
408 | + (dialog->options & LIB3270_FT_OPTION_RECEIVE) != 0 ? _("Cancel download.") : _("Cancel upload.")); | ||
409 | + | ||
410 | + | ||
405 | g_signal_connect(G_OBJECT(dialog->filename[FILENAME_HOST]),"changed",G_CALLBACK(test_remote_file),dialog); | 411 | g_signal_connect(G_OBJECT(dialog->filename[FILENAME_HOST]),"changed",G_CALLBACK(test_remote_file),dialog); |
406 | 412 | ||
407 | if(options & LIB3270_FT_OPTION_RECEIVE) | 413 | if(options & LIB3270_FT_OPTION_RECEIVE) |
src/pw3270/v3270/widget.c
@@ -1389,25 +1389,11 @@ H3270 * v3270_get_session(GtkWidget *widget) | @@ -1389,25 +1389,11 @@ H3270 * v3270_get_session(GtkWidget *widget) | ||
1389 | return GTK_V3270(widget)->host; | 1389 | return GTK_V3270(widget)->host; |
1390 | } | 1390 | } |
1391 | 1391 | ||
1392 | -int v3270_connect(GtkWidget *widget, const gchar *uri) | 1392 | +int v3270_connect(GtkWidget *widget) |
1393 | { | 1393 | { |
1394 | - v3270 * terminal; | ||
1395 | - int rc = -1; | ||
1396 | - | ||
1397 | - trace("%s widget=%p host=%p",__FUNCTION__,widget,uri); | ||
1398 | - | ||
1399 | g_return_val_if_fail(GTK_IS_V3270(widget),EINVAL); | 1394 | g_return_val_if_fail(GTK_IS_V3270(widget),EINVAL); |
1400 | 1395 | ||
1401 | - terminal = GTK_V3270(widget); | ||
1402 | - | ||
1403 | - if(uri) | ||
1404 | - { | ||
1405 | - trace("%s(%s)",__FUNCTION__,uri); | ||
1406 | - lib3270_set_host(terminal->host,uri); | ||
1407 | - } | ||
1408 | - | ||
1409 | - return lib3270_connect(terminal->host,0); | ||
1410 | - | 1396 | + return lib3270_connect(GTK_V3270(widget)->host,0); |
1411 | } | 1397 | } |
1412 | 1398 | ||
1413 | static gboolean notify_focus(GtkWidget *widget, GdkEventFocus *event) | 1399 | static gboolean notify_focus(GtkWidget *widget, GdkEventFocus *event) |
@@ -1446,7 +1432,7 @@ static void v3270_activate(GtkWidget *widget) | @@ -1446,7 +1432,7 @@ static void v3270_activate(GtkWidget *widget) | ||
1446 | if(lib3270_connected(terminal->host)) | 1432 | if(lib3270_connected(terminal->host)) |
1447 | lib3270_enter(terminal->host); | 1433 | lib3270_enter(terminal->host); |
1448 | else if(lib3270_get_hostname(terminal->host)) | 1434 | else if(lib3270_get_hostname(terminal->host)) |
1449 | - v3270_connect(widget,NULL); | 1435 | + v3270_connect(widget); |
1450 | else | 1436 | else |
1451 | g_warning("Terminal widget %p activated without connection or valid hostname",terminal); | 1437 | g_warning("Terminal widget %p activated without connection or valid hostname",terminal); |
1452 | } | 1438 | } |
@@ -1500,11 +1486,11 @@ gboolean v3270_get_toggle(GtkWidget *widget, LIB3270_TOGGLE ix) | @@ -1500,11 +1486,11 @@ gboolean v3270_get_toggle(GtkWidget *widget, LIB3270_TOGGLE ix) | ||
1500 | * | 1486 | * |
1501 | * Since: 5.0 | 1487 | * Since: 5.0 |
1502 | **/ | 1488 | **/ |
1503 | -const gchar * v3270_set_host(GtkWidget *widget, const gchar *uri) | 1489 | +const gchar * v3270_set_url(GtkWidget *widget, const gchar *uri) |
1504 | { | 1490 | { |
1505 | g_return_if_fail(GTK_IS_V3270(widget)); | 1491 | g_return_if_fail(GTK_IS_V3270(widget)); |
1506 | g_return_if_fail(uri != NULL); | 1492 | g_return_if_fail(uri != NULL); |
1507 | - return lib3270_set_host(GTK_V3270(widget)->host,uri); | 1493 | + return lib3270_set_url(GTK_V3270(widget)->host,uri); |
1508 | } | 1494 | } |
1509 | 1495 | ||
1510 | const gchar * v3270_get_hostname(GtkWidget *widget) | 1496 | const gchar * v3270_get_hostname(GtkWidget *widget) |
src/pw3270/window.c
@@ -178,25 +178,38 @@ | @@ -178,25 +178,38 @@ | ||
178 | 178 | ||
179 | GtkWidget * pw3270_new(const gchar *host, const gchar *systype, unsigned short colors) | 179 | GtkWidget * pw3270_new(const gchar *host, const gchar *systype, unsigned short colors) |
180 | { | 180 | { |
181 | - GtkWidget * widget = g_object_new(GTK_TYPE_PW3270, NULL); | 181 | + GtkWidget * widget = g_object_new(GTK_TYPE_PW3270, NULL); |
182 | + gboolean connct = FALSE; | ||
182 | 183 | ||
183 | - #warning Reimplementar | 184 | + if(host) |
185 | + { | ||
186 | + set_string_to_config("host","uri","%s",host); | ||
187 | + pw3270_set_url(widget,host); | ||
188 | + connct = TRUE; | ||
189 | + } | ||
190 | + else | ||
191 | + { | ||
192 | + gchar *ptr = get_string_from_config("host","uri",""); | ||
193 | + if(*ptr) | ||
194 | + { | ||
195 | + pw3270_set_url(widget,ptr); | ||
196 | + connct = pw3270_get_toggle(widget,LIB3270_TOGGLE_CONNECT_ON_STARTUP) ? TRUE : FALSE; | ||
197 | + } | ||
198 | + g_free(ptr); | ||
199 | + } | ||
184 | 200 | ||
185 | - /* | ||
186 | if(systype) | 201 | if(systype) |
187 | { | 202 | { |
188 | set_string_to_config("host","uri","%s",systype); | 203 | set_string_to_config("host","uri","%s",systype); |
189 | - pw3270_set_session_options(widget,pw3270_options_by_hosttype(systype)); | 204 | + pw3270_set_host_type(widget,systype); |
190 | } | 205 | } |
191 | else | 206 | else |
192 | { | 207 | { |
193 | gchar *ptr = get_string_from_config("host","systype","S390"); | 208 | gchar *ptr = get_string_from_config("host","systype","S390"); |
194 | - pw3270_set_session_options(widget,pw3270_options_by_hosttype(ptr)); | 209 | + pw3270_set_host_type(widget,ptr); |
195 | g_free(ptr); | 210 | g_free(ptr); |
196 | } | 211 | } |
197 | 212 | ||
198 | - */ | ||
199 | - | ||
200 | if(colors) | 213 | if(colors) |
201 | set_integer_to_config("host","colortype",colors); | 214 | set_integer_to_config("host","colortype",colors); |
202 | else | 215 | else |
@@ -204,40 +217,24 @@ | @@ -204,40 +217,24 @@ | ||
204 | 217 | ||
205 | pw3270_set_session_color_type(widget,colors); | 218 | pw3270_set_session_color_type(widget,colors); |
206 | 219 | ||
207 | - if(host) | ||
208 | - { | ||
209 | - set_string_to_config("host","uri","%s",host); | ||
210 | - pw3270_connect(widget,host); | ||
211 | - } | ||
212 | - else | ||
213 | - { | ||
214 | - gchar *ptr = get_string_from_config("host","uri",""); | ||
215 | - | ||
216 | - if(*ptr) | ||
217 | - { | ||
218 | - if(pw3270_get_toggle(widget,LIB3270_TOGGLE_CONNECT_ON_STARTUP)) | ||
219 | - pw3270_connect(widget,ptr); | ||
220 | - else | ||
221 | - pw3270_set_host(widget,ptr); | ||
222 | - } | ||
223 | - g_free(ptr); | ||
224 | - } | ||
225 | - | ||
226 | v3270_set_scaled_fonts(GTK_PW3270(widget)->terminal,get_boolean_from_config("terminal","sfonts",FALSE)); | 220 | v3270_set_scaled_fonts(GTK_PW3270(widget)->terminal,get_boolean_from_config("terminal","sfonts",FALSE)); |
227 | 221 | ||
222 | + if(connct) | ||
223 | + pw3270_connect(widget); | ||
224 | + | ||
228 | return widget; | 225 | return widget; |
229 | } | 226 | } |
230 | 227 | ||
231 | - void pw3270_connect(GtkWidget *widget, const gchar *uri) | 228 | + void pw3270_connect(GtkWidget *widget) |
232 | { | 229 | { |
233 | g_return_if_fail(GTK_IS_PW3270(widget)); | 230 | g_return_if_fail(GTK_IS_PW3270(widget)); |
234 | - v3270_connect(GTK_PW3270(widget)->terminal,uri); | 231 | + v3270_connect(GTK_PW3270(widget)->terminal); |
235 | } | 232 | } |
236 | 233 | ||
237 | - const gchar * pw3270_set_host(GtkWidget *widget, const gchar *uri) | 234 | + const gchar * pw3270_set_url(GtkWidget *widget, const gchar *uri) |
238 | { | 235 | { |
239 | g_return_if_fail(GTK_IS_PW3270(widget)); | 236 | g_return_if_fail(GTK_IS_PW3270(widget)); |
240 | - return v3270_set_host(GTK_PW3270(widget)->terminal,uri); | 237 | + return v3270_set_url(GTK_PW3270(widget)->terminal,uri); |
241 | } | 238 | } |
242 | 239 | ||
243 | const gchar * pw3270_get_hostname(GtkWidget *widget) | 240 | const gchar * pw3270_get_hostname(GtkWidget *widget) |
@@ -295,10 +292,10 @@ | @@ -295,10 +292,10 @@ | ||
295 | update_window_title(widget); | 292 | update_window_title(widget); |
296 | } | 293 | } |
297 | 294 | ||
298 | - LIB3270_EXPORT void pw3270_set_session_options(GtkWidget *widget, LIB3270_OPTION options) | 295 | + LIB3270_EXPORT void pw3270_set_host_type(GtkWidget *widget, const gchar *name) |
299 | { | 296 | { |
300 | g_return_if_fail(GTK_IS_PW3270(widget)); | 297 | g_return_if_fail(GTK_IS_PW3270(widget)); |
301 | - v3270_set_session_options(GTK_PW3270(widget)->terminal,options); | 298 | + v3270_set_host_type(GTK_PW3270(widget)->terminal,name); |
302 | } | 299 | } |
303 | 300 | ||
304 | LIB3270_EXPORT int pw3270_set_session_color_type(GtkWidget *widget, unsigned short colortype) | 301 | LIB3270_EXPORT int pw3270_set_session_color_type(GtkWidget *widget, unsigned short colortype) |