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