Commit 6d3f2ca7e116e6858445dedb8c54202f97b3ce5b

Authored by Perry Werneck
1 parent 24e1c589

Removing use of deprecated function "get_hostname".

Showing 2 changed files with 34 additions and 19 deletions   Show diff stats
src/include/pw3270.h
@@ -52,7 +52,7 @@ @@ -52,7 +52,7 @@
52 52
53 LIB3270_EXPORT GtkWidget * pw3270_new(const gchar *host, const gchar *systype, unsigned short colors); 53 LIB3270_EXPORT GtkWidget * pw3270_new(const gchar *host, const gchar *systype, unsigned short colors);
54 LIB3270_EXPORT void pw3270_set_url(GtkWidget *widget, const gchar *uri); 54 LIB3270_EXPORT void pw3270_set_url(GtkWidget *widget, const gchar *uri);
55 - LIB3270_EXPORT const gchar * pw3270_get_hostname(GtkWidget *widget); 55 + LIB3270_EXPORT const gchar * pw3270_get_url(GtkWidget *widget);
56 LIB3270_EXPORT void pw3270_connect(GtkWidget *widget); 56 LIB3270_EXPORT void pw3270_connect(GtkWidget *widget);
57 57
58 LIB3270_EXPORT gboolean pw3270_get_toggle(GtkWidget *widget, LIB3270_TOGGLE ix); 58 LIB3270_EXPORT gboolean pw3270_get_toggle(GtkWidget *widget, LIB3270_TOGGLE ix);
src/pw3270/window.c
@@ -323,10 +323,10 @@ static GtkWidget * trace_window = NULL; @@ -323,10 +323,10 @@ static GtkWidget * trace_window = NULL;
323 v3270_set_url(GTK_PW3270(widget)->terminal,uri); 323 v3270_set_url(GTK_PW3270(widget)->terminal,uri);
324 } 324 }
325 325
326 - const gchar * pw3270_get_hostname(GtkWidget *widget) 326 + const gchar * pw3270_get_url(GtkWidget *widget)
327 { 327 {
328 g_return_val_if_fail(GTK_IS_PW3270(widget),""); 328 g_return_val_if_fail(GTK_IS_PW3270(widget),"");
329 - return v3270_get_hostname(GTK_PW3270(widget)->terminal); 329 + return v3270_get_url(GTK_PW3270(widget)->terminal);
330 } 330 }
331 331
332 gboolean pw3270_get_toggle(GtkWidget *widget, LIB3270_TOGGLE ix) 332 gboolean pw3270_get_toggle(GtkWidget *widget, LIB3270_TOGGLE ix)
@@ -350,25 +350,47 @@ static GtkWidget * trace_window = NULL; @@ -350,25 +350,47 @@ static GtkWidget * trace_window = NULL;
350 350
351 static void update_window_title(GtkWidget *window) 351 static void update_window_title(GtkWidget *window)
352 { 352 {
353 - gchar * title;  
354 - GtkWidget * widget = GTK_PW3270(window)->terminal; 353 + GtkWidget * widget = GTK_PW3270(window)->terminal;
  354 + const gchar * url = v3270_get_url(widget);
  355 + g_autofree gchar * title = NULL;
355 356
356 - if(v3270_is_connected(widget)) 357 + if(url)
357 { 358 {
358 - const gchar *host = v3270_get_hostname(widget); 359 + g_autofree gchar * base = g_strdup(url);
  360 + gchar *hostname = strstr(base,"://");
  361 + if(hostname)
  362 + {
  363 + gchar *ptr;
  364 +
  365 + hostname += 3;
  366 +
  367 + ptr = strchr(hostname,':');
  368 + if(ptr)
  369 + *ptr = 0;
  370 +
  371 + ptr = strchr(hostname,'?');
  372 + if(ptr)
  373 + *ptr = 0;
359 374
360 - if(host && *host)  
361 - title = g_strdup_printf("%s - %s",v3270_get_session_name(widget),host); 375 + }
  376 +
  377 + if(hostname && *hostname)
  378 + title = g_strdup_printf("%s - %s",v3270_get_session_name(widget),hostname);
362 else 379 else
363 title = g_strdup_printf("%s",v3270_get_session_name(widget)); 380 title = g_strdup_printf("%s",v3270_get_session_name(widget));
  381 +
  382 + }
  383 + else if(v3270_is_connected(widget))
  384 + {
  385 + title = g_strdup_printf("%s - disconnected",v3270_get_session_name(widget));
364 } 386 }
365 else 387 else
366 { 388 {
367 - title = g_strdup_printf(_( "%s - Disconnected" ),v3270_get_session_name(widget)); 389 + title = g_strdup(v3270_get_session_name(widget));
368 } 390 }
369 391
370 gtk_window_set_title(GTK_WINDOW(window),title); 392 gtk_window_set_title(GTK_WINDOW(window),title);
371 - g_free(title); 393 +
372 } 394 }
373 395
374 static void session_changed(GtkWidget *widget, GtkWidget *window) 396 static void session_changed(GtkWidget *widget, GtkWidget *window)
@@ -466,15 +488,8 @@ static GtkWidget * trace_window = NULL; @@ -466,15 +488,8 @@ static GtkWidget * trace_window = NULL;
466 488
467 LIB3270_EXPORT GtkWidget * pw3270_get_terminal_widget(GtkWidget *widget) 489 LIB3270_EXPORT GtkWidget * pw3270_get_terminal_widget(GtkWidget *widget)
468 { 490 {
469 - if(!widget)  
470 - {  
471 - // No widget, get the default one  
472 - return v3270_get_default_widget();  
473 - }  
474 -  
475 - g_return_val_if_fail(GTK_IS_PW3270(widget),NULL); 491 + g_return_val_if_fail(GTK_IS_PW3270(widget),NULL);
476 return GTK_PW3270(widget)->terminal; 492 return GTK_PW3270(widget)->terminal;
477 -  
478 } 493 }
479 494
480 static void setup_input_method(GtkWidget *widget, GtkWidget *obj) 495 static void setup_input_method(GtkWidget *widget, GtkWidget *obj)