Commit 6d3f2ca7e116e6858445dedb8c54202f97b3ce5b
1 parent
24e1c589
Exists in
master
and in
5 other branches
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) |