Commit e8d1ea40a0687c5d276c31dd2af2f824f79bb1ca
1 parent
5051b86e
Exists in
master
and in
5 other branches
Titulo da janela não estava atualizando corretamente quando o toggle "autoconnect" estava ativo
Showing
3 changed files
with
31 additions
and
33 deletions
Show diff stats
src/pw3270/common/config.c
... | ... | @@ -265,31 +265,6 @@ |
265 | 265 | |
266 | 266 | return ret; |
267 | 267 | |
268 | -/* | |
269 | - HKEY key_handle; | |
270 | - | |
271 | - if(registry_open_key(group,key,KEY_READ,&key_handle)) | |
272 | - { | |
273 | - DWORD data; | |
274 | - gboolean ret = def; | |
275 | - unsigned long datalen = sizeof(data); | |
276 | - unsigned long datatype; | |
277 | - | |
278 | - if(RegQueryValueExA(key_handle,key,NULL,&datatype,(BYTE *) &data,&datalen) == ERROR_SUCCESS) | |
279 | - { | |
280 | - if(datatype == REG_DWORD) | |
281 | - ret = data ? TRUE : FALSE; | |
282 | - else | |
283 | - g_warning("Unexpected registry data type in %s\\%s\\%s\\%s",registry_path,g_get_application_name(),group,key); | |
284 | - } | |
285 | - | |
286 | - RegCloseKey(key_handle); | |
287 | - | |
288 | - return ret; | |
289 | - | |
290 | - } | |
291 | -*/ | |
292 | - | |
293 | 268 | #else |
294 | 269 | |
295 | 270 | if(program_config) | ... | ... |
src/pw3270/v3270/widget.c
... | ... | @@ -716,6 +716,8 @@ static void update_connect(H3270 *session, unsigned char connected) |
716 | 716 | { |
717 | 717 | v3270 *widget = GTK_V3270(session->widget); |
718 | 718 | |
719 | + trace("%s - %s",__FUNCTION__,connected ? "Connected" : "Disconnected"); | |
720 | + | |
719 | 721 | if(connected) |
720 | 722 | { |
721 | 723 | widget->cursor.show |= 2; |
... | ... | @@ -1513,7 +1515,7 @@ gboolean v3270_is_connected(GtkWidget *widget) |
1513 | 1515 | g_return_val_if_fail(GTK_IS_V3270(widget),FALSE); |
1514 | 1516 | return lib3270_connected(GTK_V3270(widget)->host) ? TRUE : FALSE; |
1515 | 1517 | } |
1516 | - | |
1518 | + | |
1517 | 1519 | GtkWidget * v3270_get_default_widget(void) |
1518 | 1520 | { |
1519 | 1521 | H3270 * hSession = lib3270_get_default_session_handle(); | ... | ... |
src/pw3270/window.c
... | ... | @@ -264,11 +264,34 @@ |
264 | 264 | return g_get_application_name(); |
265 | 265 | } |
266 | 266 | |
267 | + static void update_window_title(GtkWidget *window) | |
268 | + { | |
269 | + gchar * title; | |
270 | + GtkWidget * widget = GTK_PW3270(window)->terminal; | |
271 | + | |
272 | + if(v3270_is_connected(widget)) | |
273 | + { | |
274 | + const gchar *host = v3270_get_host(widget); | |
275 | + | |
276 | + if(host && *host) | |
277 | + title = g_strdup_printf("%s - %s",v3270_get_session_name(widget),host); | |
278 | + else | |
279 | + title = g_strdup_printf("%s",v3270_get_session_name(widget)); | |
280 | + } | |
281 | + else | |
282 | + { | |
283 | + title = g_strdup_printf(_( "%s - Disconnected" ),v3270_get_session_name(widget)); | |
284 | + } | |
285 | + | |
286 | + gtk_window_set_title(GTK_WINDOW(window),title); | |
287 | + g_free(title); | |
288 | + } | |
289 | + | |
267 | 290 | LIB3270_EXPORT void pw3270_set_session_name(GtkWidget *widget, const gchar *name) |
268 | 291 | { |
269 | 292 | g_return_if_fail(GTK_IS_PW3270(widget)); |
270 | 293 | v3270_set_session_name(GTK_PW3270(widget)->terminal,name); |
271 | - gtk_window_set_title(GTK_WINDOW(widget),name); | |
294 | + update_window_title(widget); | |
272 | 295 | } |
273 | 296 | |
274 | 297 | LIB3270_EXPORT void pw3270_set_session_options(GtkWidget *widget, LIB3270_OPTION options) |
... | ... | @@ -387,15 +410,16 @@ |
387 | 410 | gtk_widget_set_sensitive(*(keypad++),FALSE); |
388 | 411 | } |
389 | 412 | |
390 | - gtk_window_set_title(GTK_WINDOW(window),v3270_get_session_name(terminal)); | |
413 | + update_window_title(window); | |
391 | 414 | } |
392 | 415 | |
393 | 416 | static void connected(GtkWidget *terminal, const gchar *host, GtkWidget * window) |
394 | 417 | { |
395 | - gchar * title; | |
396 | 418 | GtkActionGroup **group = g_object_get_data(G_OBJECT(window),"action_groups"); |
397 | 419 | GtkWidget **keypad = g_object_get_data(G_OBJECT(window),"keypads"); |
398 | 420 | |
421 | + trace("%s(%s)",__FUNCTION__,host ? host : "NULL"); | |
422 | + | |
399 | 423 | if(group) |
400 | 424 | { |
401 | 425 | gtk_action_group_set_sensitive(group[ACTION_GROUP_ONLINE],TRUE); |
... | ... | @@ -411,9 +435,7 @@ |
411 | 435 | |
412 | 436 | set_string_to_config("host","uri","%s",host); |
413 | 437 | |
414 | - title = g_strdup_printf("%s - %s",v3270_get_session_name(terminal),host); | |
415 | - gtk_window_set_title(GTK_WINDOW(window),title); | |
416 | - g_free(title); | |
438 | + update_window_title(window); | |
417 | 439 | |
418 | 440 | } |
419 | 441 | |
... | ... | @@ -628,7 +650,6 @@ |
628 | 650 | g_signal_connect(widget,"window_state_event",G_CALLBACK(window_state_event),widget->terminal); |
629 | 651 | g_signal_connect(widget,"configure_event",G_CALLBACK(configure_event),widget->terminal); |
630 | 652 | |
631 | - | |
632 | 653 | // Finish setup |
633 | 654 | #ifdef DEBUG |
634 | 655 | lib3270_testpattern(host); | ... | ... |