Commit c9d59970d3a3660a63d76517a5626e83bd5ba74e
1 parent
e6dbb5cd
Exists in
master
and in
1 other branch
Session name is now a widget property.
Showing
5 changed files
with
33 additions
and
5 deletions
Show diff stats
src/testprogram/testprogram.c
| ... | ... | @@ -95,11 +95,15 @@ static void activate(GtkApplication* app, gpointer user_data) { |
| 95 | 95 | |
| 96 | 96 | const gchar *url = getenv("LIB3270_DEFAULT_HOST"); |
| 97 | 97 | if(url) { |
| 98 | + | |
| 98 | 99 | v3270_set_url(terminal,url); |
| 99 | 100 | v3270_connect(terminal); |
| 100 | - gtk_window_set_title(GTK_WINDOW(window), url); | |
| 101 | + gchar * title = g_strdup_printf("%s - %s", v3270_get_session_name(terminal), url); | |
| 102 | + gtk_window_set_title(GTK_WINDOW(window), title); | |
| 103 | + g_free(title); | |
| 104 | + | |
| 101 | 105 | } else { |
| 102 | - gtk_window_set_title(GTK_WINDOW(window), "Window"); | |
| 106 | + gtk_window_set_title(GTK_WINDOW(window), v3270_get_session_name(terminal)); | |
| 103 | 107 | } |
| 104 | 108 | |
| 105 | 109 | g_signal_connect(terminal,"popup",G_CALLBACK(popup_menu),NULL); | ... | ... |
src/v3270/private.h
src/v3270/properties.c
| ... | ... | @@ -70,6 +70,10 @@ |
| 70 | 70 | v3270_set_url(GTK_WIDGET(object),g_value_get_string(value)); |
| 71 | 71 | break; |
| 72 | 72 | |
| 73 | + case PROP_SESSION_NAME: | |
| 74 | + v3270_set_session_name(GTK_WIDGET(object),g_value_get_string(value)); | |
| 75 | + break; | |
| 76 | + | |
| 73 | 77 | default: |
| 74 | 78 | if(prop_id < (PROP_TOGGLE + LIB3270_TOGGLE_COUNT)) |
| 75 | 79 | { |
| ... | ... | @@ -117,6 +121,10 @@ |
| 117 | 121 | } |
| 118 | 122 | break; |
| 119 | 123 | |
| 124 | + case PROP_SESSION_NAME: | |
| 125 | + g_value_set_string(value,v3270_get_session_name(GTK_WIDGET(object))); | |
| 126 | + break; | |
| 127 | + | |
| 120 | 128 | default: |
| 121 | 129 | if(prop_id < (PROP_TOGGLE + LIB3270_TOGGLE_COUNT)) |
| 122 | 130 | { |
| ... | ... | @@ -185,6 +193,14 @@ |
| 185 | 193 | G_PARAM_READABLE|G_PARAM_WRITABLE); |
| 186 | 194 | g_object_class_install_property(gobject_class,PROP_AUTO_DISCONNECT,v3270_properties[PROP_URL]); |
| 187 | 195 | |
| 196 | + v3270_properties[PROP_SESSION_NAME] = g_param_spec_string( | |
| 197 | + "session_name", | |
| 198 | + "session_name", | |
| 199 | + "The TN3270 Session Name", | |
| 200 | + g_get_application_name(), | |
| 201 | + G_PARAM_READABLE|G_PARAM_WRITABLE); | |
| 202 | + g_object_class_install_property(gobject_class,PROP_SESSION_NAME,v3270_properties[PROP_SESSION_NAME]); | |
| 203 | + | |
| 188 | 204 | // Toggle properties |
| 189 | 205 | int f; |
| 190 | 206 | ... | ... |
src/v3270/widget.c
| ... | ... | @@ -1629,8 +1629,14 @@ const gchar * v3270_get_luname(GtkWidget *widget) |
| 1629 | 1629 | |
| 1630 | 1630 | const gchar * v3270_get_session_name(GtkWidget *widget) |
| 1631 | 1631 | { |
| 1632 | - if(!GTK_IS_V3270(widget) || GTK_V3270(widget)->session_name == NULL) | |
| 1632 | +#ifdef DEBUG | |
| 1633 | + v3270 * terminal = GTK_V3270(widget); | |
| 1634 | + debug("Session name: [%s] Application name: [%s]",terminal->session_name, g_get_application_name()); | |
| 1635 | +#endif // DEBUG | |
| 1636 | + | |
| 1637 | + if(!(GTK_IS_V3270(widget) && GTK_V3270(widget)->session_name)) | |
| 1633 | 1638 | return g_get_application_name(); |
| 1639 | + | |
| 1634 | 1640 | return GTK_V3270(widget)->session_name; |
| 1635 | 1641 | } |
| 1636 | 1642 | ... | ... |
v3270.cbp
| ... | ... | @@ -8,10 +8,11 @@ |
| 8 | 8 | <Option compiler="gcc" /> |
| 9 | 9 | <Build> |
| 10 | 10 | <Target title="Debug"> |
| 11 | - <Option output=".bin/Debug/v3270" imp_lib="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).a" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).def" prefix_auto="1" extension_auto="1" /> | |
| 11 | + <Option output=".bin/Debug/libv3270" prefix_auto="1" extension_auto="1" /> | |
| 12 | 12 | <Option object_output=".obj/Debug/" /> |
| 13 | - <Option type="3" /> | |
| 13 | + <Option type="1" /> | |
| 14 | 14 | <Option compiler="gcc" /> |
| 15 | + <Option use_console_runner="0" /> | |
| 15 | 16 | <Compiler> |
| 16 | 17 | <Add option="-g" /> |
| 17 | 18 | <Add option="-DDEBUG=1" /> | ... | ... |