Commit e8d1ea40a0687c5d276c31dd2af2f824f79bb1ca

Authored by perry.werneck@gmail.com
1 parent 5051b86e

Titulo da janela não estava atualizando corretamente quando o toggle "autoconnect" estava ativo

src/pw3270/common/config.c
@@ -265,31 +265,6 @@ @@ -265,31 +265,6 @@
265 265
266 return ret; 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 #else 268 #else
294 269
295 if(program_config) 270 if(program_config)
src/pw3270/v3270/widget.c
@@ -716,6 +716,8 @@ static void update_connect(H3270 *session, unsigned char connected) @@ -716,6 +716,8 @@ static void update_connect(H3270 *session, unsigned char connected)
716 { 716 {
717 v3270 *widget = GTK_V3270(session->widget); 717 v3270 *widget = GTK_V3270(session->widget);
718 718
  719 + trace("%s - %s",__FUNCTION__,connected ? "Connected" : "Disconnected");
  720 +
719 if(connected) 721 if(connected)
720 { 722 {
721 widget->cursor.show |= 2; 723 widget->cursor.show |= 2;
@@ -1513,7 +1515,7 @@ gboolean v3270_is_connected(GtkWidget *widget) @@ -1513,7 +1515,7 @@ gboolean v3270_is_connected(GtkWidget *widget)
1513 g_return_val_if_fail(GTK_IS_V3270(widget),FALSE); 1515 g_return_val_if_fail(GTK_IS_V3270(widget),FALSE);
1514 return lib3270_connected(GTK_V3270(widget)->host) ? TRUE : FALSE; 1516 return lib3270_connected(GTK_V3270(widget)->host) ? TRUE : FALSE;
1515 } 1517 }
1516 - 1518 +
1517 GtkWidget * v3270_get_default_widget(void) 1519 GtkWidget * v3270_get_default_widget(void)
1518 { 1520 {
1519 H3270 * hSession = lib3270_get_default_session_handle(); 1521 H3270 * hSession = lib3270_get_default_session_handle();
src/pw3270/window.c
@@ -264,11 +264,34 @@ @@ -264,11 +264,34 @@
264 return g_get_application_name(); 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 LIB3270_EXPORT void pw3270_set_session_name(GtkWidget *widget, const gchar *name) 290 LIB3270_EXPORT void pw3270_set_session_name(GtkWidget *widget, const gchar *name)
268 { 291 {
269 g_return_if_fail(GTK_IS_PW3270(widget)); 292 g_return_if_fail(GTK_IS_PW3270(widget));
270 v3270_set_session_name(GTK_PW3270(widget)->terminal,name); 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 LIB3270_EXPORT void pw3270_set_session_options(GtkWidget *widget, LIB3270_OPTION options) 297 LIB3270_EXPORT void pw3270_set_session_options(GtkWidget *widget, LIB3270_OPTION options)
@@ -387,15 +410,16 @@ @@ -387,15 +410,16 @@
387 gtk_widget_set_sensitive(*(keypad++),FALSE); 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 static void connected(GtkWidget *terminal, const gchar *host, GtkWidget * window) 416 static void connected(GtkWidget *terminal, const gchar *host, GtkWidget * window)
394 { 417 {
395 - gchar * title;  
396 GtkActionGroup **group = g_object_get_data(G_OBJECT(window),"action_groups"); 418 GtkActionGroup **group = g_object_get_data(G_OBJECT(window),"action_groups");
397 GtkWidget **keypad = g_object_get_data(G_OBJECT(window),"keypads"); 419 GtkWidget **keypad = g_object_get_data(G_OBJECT(window),"keypads");
398 420
  421 + trace("%s(%s)",__FUNCTION__,host ? host : "NULL");
  422 +
399 if(group) 423 if(group)
400 { 424 {
401 gtk_action_group_set_sensitive(group[ACTION_GROUP_ONLINE],TRUE); 425 gtk_action_group_set_sensitive(group[ACTION_GROUP_ONLINE],TRUE);
@@ -411,9 +435,7 @@ @@ -411,9 +435,7 @@
411 435
412 set_string_to_config("host","uri","%s",host); 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,7 +650,6 @@
628 g_signal_connect(widget,"window_state_event",G_CALLBACK(window_state_event),widget->terminal); 650 g_signal_connect(widget,"window_state_event",G_CALLBACK(window_state_event),widget->terminal);
629 g_signal_connect(widget,"configure_event",G_CALLBACK(configure_event),widget->terminal); 651 g_signal_connect(widget,"configure_event",G_CALLBACK(configure_event),widget->terminal);
630 652
631 -  
632 // Finish setup 653 // Finish setup
633 #ifdef DEBUG 654 #ifdef DEBUG
634 lib3270_testpattern(host); 655 lib3270_testpattern(host);