Commit 7bff2b66142f13c550daf726d7e9b2ca9d2f7d20
1 parent
cc57b4fb
Exists in
master
and in
1 other branch
Addint set_toggle method to widget, testing auto-reconnect.
Showing
3 changed files
with
33 additions
and
19 deletions
Show diff stats
src/include/v3270.h
... | ... | @@ -230,7 +230,10 @@ |
230 | 230 | |
231 | 231 | // Misc |
232 | 232 | GtkIMContext * v3270_get_im_context(GtkWidget *widget); |
233 | + | |
233 | 234 | gboolean v3270_get_toggle(GtkWidget *widget, LIB3270_TOGGLE ix); |
235 | + gboolean v3270_set_toggle(GtkWidget *widget, LIB3270_TOGGLE ix, gboolean state); | |
236 | + | |
234 | 237 | void v3270_popup_message(GtkWidget *widget, LIB3270_NOTIFY type, const gchar *title, const gchar *message, const gchar *text); |
235 | 238 | const gchar * v3270_get_session_name(GtkWidget *widget); |
236 | 239 | void v3270_set_session_name(GtkWidget *widget, const gchar *name); | ... | ... |
src/testprogram/testprogram.c
... | ... | @@ -109,36 +109,33 @@ static void activate(GtkApplication* app, G_GNUC_UNUSED gpointer user_data) { |
109 | 109 | GtkWidget *trace = v3270_new_trace_window(terminal); |
110 | 110 | if(trace) { |
111 | 111 | g_signal_connect(trace, "destroy", G_CALLBACK(trace_window_destroy), v3270_get_session(terminal)); |
112 | - lib3270_toggle(v3270_get_session(terminal),LIB3270_TOGGLE_DS_TRACE); | |
112 | + lib3270_toggle(v3270_get_session(terminal),LIB3270_TOGGLE_SSL_TRACE); | |
113 | 113 | gtk_widget_show_all(trace); |
114 | 114 | } |
115 | 115 | |
116 | - const gchar *url = getenv("LIB3270_DEFAULT_HOST"); | |
117 | - if(url) { | |
118 | 116 | |
119 | - /* | |
120 | - v3270_set_url(terminal,url); | |
121 | - v3270_connect(terminal); | |
122 | - */ | |
123 | - | |
124 | - g_value_init (&val, G_TYPE_STRING); | |
125 | - g_value_set_string(&val,url); | |
126 | - g_object_set_property(G_OBJECT(terminal), "url", &val); | |
127 | - g_value_unset(&val); | |
128 | - | |
129 | - gchar * title = g_strdup_printf("%s - %s", v3270_get_session_name(terminal), url); | |
130 | - gtk_window_set_title(GTK_WINDOW(window), title); | |
131 | - g_free(title); | |
117 | + /* | |
118 | + v3270_set_url(terminal,url); | |
119 | + v3270_connect(terminal); | |
120 | + */ | |
132 | 121 | |
133 | - } else { | |
134 | - gtk_window_set_title(GTK_WINDOW(window), v3270_get_session_name(terminal)); | |
135 | - } | |
122 | + /* | |
123 | + g_value_init (&val, G_TYPE_STRING); | |
124 | + g_value_set_string(&val,url); | |
125 | + g_object_set_property(G_OBJECT(terminal), "url", &val); | |
126 | + g_value_unset(&val); | |
127 | + */ | |
136 | 128 | |
137 | 129 | g_value_init(&val, G_TYPE_STRING); |
138 | 130 | g_object_get_property(G_OBJECT(terminal),"url",&val); |
139 | 131 | g_message("URL=%s",g_value_get_string(&val)); |
132 | + | |
133 | + gchar * title = g_strdup_printf("%s - %s", v3270_get_session_name(terminal), g_value_get_string(&val)); | |
134 | + gtk_window_set_title(GTK_WINDOW(window), title); | |
135 | + g_free(title); | |
140 | 136 | g_value_unset(&val); |
141 | 137 | |
138 | + | |
142 | 139 | g_value_init(&val, G_TYPE_BOOLEAN); |
143 | 140 | g_object_get_property(G_OBJECT(terminal),"tso",&val); |
144 | 141 | g_message("TSO=%s",g_value_get_boolean(&val) ? "Yes" : "No"); |
... | ... | @@ -162,6 +159,8 @@ static void activate(GtkApplication* app, G_GNUC_UNUSED gpointer user_data) { |
162 | 159 | gtk_container_add(GTK_CONTAINER(window),terminal); |
163 | 160 | gtk_widget_show_all (window); |
164 | 161 | |
162 | + v3270_set_toggle(terminal,LIB3270_TOGGLE_RECONNECT,1); | |
163 | + | |
165 | 164 | } |
166 | 165 | |
167 | 166 | int main (int argc, char **argv) { | ... | ... |
src/v3270/widget.c
... | ... | @@ -704,6 +704,7 @@ static void update_toggle(H3270 *session, LIB3270_TOGGLE ix, unsigned char value |
704 | 704 | break; |
705 | 705 | |
706 | 706 | case LIB3270_TOGGLE_DS_TRACE: |
707 | + case LIB3270_TOGGLE_SSL_TRACE: | |
707 | 708 | case LIB3270_TOGGLE_SCREEN_TRACE: |
708 | 709 | case LIB3270_TOGGLE_EVENT_TRACE: |
709 | 710 | case LIB3270_TOGGLE_RECONNECT: |
... | ... | @@ -1585,6 +1586,17 @@ LIB3270_EXPORT gboolean v3270_get_toggle(GtkWidget *widget, LIB3270_TOGGLE ix) |
1585 | 1586 | return FALSE; |
1586 | 1587 | } |
1587 | 1588 | |
1589 | +LIB3270_EXPORT gboolean v3270_set_toggle(GtkWidget *widget, LIB3270_TOGGLE ix, gboolean state) | |
1590 | +{ | |
1591 | + g_return_val_if_fail(GTK_IS_V3270(widget),FALSE); | |
1592 | + | |
1593 | + if(ix < LIB3270_TOGGLE_COUNT) | |
1594 | + return lib3270_set_toggle(GTK_V3270(widget)->host,ix,state ? 1 : 0) ? TRUE : FALSE; | |
1595 | + | |
1596 | + return FALSE; | |
1597 | + | |
1598 | +} | |
1599 | + | |
1588 | 1600 | /** |
1589 | 1601 | * v3270_set_url: |
1590 | 1602 | * | ... | ... |