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 | 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) | ... | ... |