Commit 7bff2b66142f13c550daf726d7e9b2ca9d2f7d20

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

Addint set_toggle method to widget, testing auto-reconnect.

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