Commit c9d59970d3a3660a63d76517a5626e83bd5ba74e

Authored by Perry Werneck
1 parent e6dbb5cd
Exists in master and in 1 other branch develop

Session name is now a widget property.

src/testprogram/testprogram.c
@@ -95,11 +95,15 @@ static void activate(GtkApplication* app, gpointer user_data) { @@ -95,11 +95,15 @@ static void activate(GtkApplication* app, gpointer user_data) {
95 95
96 const gchar *url = getenv("LIB3270_DEFAULT_HOST"); 96 const gchar *url = getenv("LIB3270_DEFAULT_HOST");
97 if(url) { 97 if(url) {
  98 +
98 v3270_set_url(terminal,url); 99 v3270_set_url(terminal,url);
99 v3270_connect(terminal); 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 } else { 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 g_signal_connect(terminal,"popup",G_CALLBACK(popup_menu),NULL); 109 g_signal_connect(terminal,"popup",G_CALLBACK(popup_menu),NULL);
src/v3270/private.h
@@ -216,6 +216,7 @@ G_BEGIN_DECLS @@ -216,6 +216,7 @@ G_BEGIN_DECLS
216 PROP_LUNAME, 216 PROP_LUNAME,
217 PROP_AUTO_DISCONNECT, 217 PROP_AUTO_DISCONNECT,
218 PROP_URL, 218 PROP_URL,
  219 + PROP_SESSION_NAME,
219 220
220 /* Toggles - always the last one, the real values are PROP_TOGGLE+LIB3270_TOGGLE */ 221 /* Toggles - always the last one, the real values are PROP_TOGGLE+LIB3270_TOGGLE */
221 PROP_TOGGLE 222 PROP_TOGGLE
src/v3270/properties.c
@@ -70,6 +70,10 @@ @@ -70,6 +70,10 @@
70 v3270_set_url(GTK_WIDGET(object),g_value_get_string(value)); 70 v3270_set_url(GTK_WIDGET(object),g_value_get_string(value));
71 break; 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 default: 77 default:
74 if(prop_id < (PROP_TOGGLE + LIB3270_TOGGLE_COUNT)) 78 if(prop_id < (PROP_TOGGLE + LIB3270_TOGGLE_COUNT))
75 { 79 {
@@ -117,6 +121,10 @@ @@ -117,6 +121,10 @@
117 } 121 }
118 break; 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 default: 128 default:
121 if(prop_id < (PROP_TOGGLE + LIB3270_TOGGLE_COUNT)) 129 if(prop_id < (PROP_TOGGLE + LIB3270_TOGGLE_COUNT))
122 { 130 {
@@ -185,6 +193,14 @@ @@ -185,6 +193,14 @@
185 G_PARAM_READABLE|G_PARAM_WRITABLE); 193 G_PARAM_READABLE|G_PARAM_WRITABLE);
186 g_object_class_install_property(gobject_class,PROP_AUTO_DISCONNECT,v3270_properties[PROP_URL]); 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 // Toggle properties 204 // Toggle properties
189 int f; 205 int f;
190 206
src/v3270/widget.c
@@ -1629,8 +1629,14 @@ const gchar * v3270_get_luname(GtkWidget *widget) @@ -1629,8 +1629,14 @@ const gchar * v3270_get_luname(GtkWidget *widget)
1629 1629
1630 const gchar * v3270_get_session_name(GtkWidget *widget) 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 return g_get_application_name(); 1638 return g_get_application_name();
  1639 +
1634 return GTK_V3270(widget)->session_name; 1640 return GTK_V3270(widget)->session_name;
1635 } 1641 }
1636 1642
@@ -8,10 +8,11 @@ @@ -8,10 +8,11 @@
8 <Option compiler="gcc" /> 8 <Option compiler="gcc" />
9 <Build> 9 <Build>
10 <Target title="Debug"> 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 <Option object_output=".obj/Debug/" /> 12 <Option object_output=".obj/Debug/" />
13 - <Option type="3" /> 13 + <Option type="1" />
14 <Option compiler="gcc" /> 14 <Option compiler="gcc" />
  15 + <Option use_console_runner="0" />
15 <Compiler> 16 <Compiler>
16 <Add option="-g" /> 17 <Add option="-g" />
17 <Add option="-DDEBUG=1" /> 18 <Add option="-DDEBUG=1" />