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 52  
53 53 LIB3270_EXPORT GtkWidget * pw3270_new(const gchar *host, const gchar *systype, unsigned short colors);
54 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 56 LIB3270_EXPORT void pw3270_connect(GtkWidget *widget);
57 57  
58 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 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 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 332 gboolean pw3270_get_toggle(GtkWidget *widget, LIB3270_TOGGLE ix)
... ... @@ -350,25 +350,47 @@ static GtkWidget * trace_window = NULL;
350 350  
351 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 379 else
363 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 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 392 gtk_window_set_title(GTK_WINDOW(window),title);
371   - g_free(title);
  393 +
372 394 }
373 395  
374 396 static void session_changed(GtkWidget *widget, GtkWidget *window)
... ... @@ -466,15 +488,8 @@ static GtkWidget * trace_window = NULL;
466 488  
467 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 492 return GTK_PW3270(widget)->terminal;
477   -
478 493 }
479 494  
480 495 static void setup_input_method(GtkWidget *widget, GtkWidget *obj)
... ...