Commit 2ce8f403343a6465c576be54065d10bb6bf07cc6
1 parent
7f2f69c0
Exists in
master
and in
1 other branch
Refactoring host settings dialog.
Showing
4 changed files
with
31 additions
and
164 deletions
Show diff stats
src/dialogs/settings/host.c
@@ -38,6 +38,7 @@ | @@ -38,6 +38,7 @@ | ||
38 | #include <lib3270/log.h> | 38 | #include <lib3270/log.h> |
39 | #include <lib3270/toggle.h> | 39 | #include <lib3270/toggle.h> |
40 | #include <lib3270/properties.h> | 40 | #include <lib3270/properties.h> |
41 | + #include <v3270/settings/url.h> | ||
41 | 42 | ||
42 | /*--[ Globals ]--------------------------------------------------------------------------------------*/ | 43 | /*--[ Globals ]--------------------------------------------------------------------------------------*/ |
43 | 44 | ||
@@ -52,21 +53,21 @@ | @@ -52,21 +53,21 @@ | ||
52 | { | 53 | { |
53 | { | 54 | { |
54 | .left = 2, | 55 | .left = 2, |
55 | - .top = 2, | 56 | + .top = 3, |
56 | .width = 2, | 57 | .width = 2, |
57 | .grid = CONNECTION, | 58 | .grid = CONNECTION, |
58 | .id = LIB3270_TOGGLE_CONNECT_ON_STARTUP, | 59 | .id = LIB3270_TOGGLE_CONNECT_ON_STARTUP, |
59 | }, | 60 | }, |
60 | { | 61 | { |
61 | .left = 4, | 62 | .left = 4, |
62 | - .top = 2, | 63 | + .top = 3, |
63 | .width = 1, | 64 | .width = 1, |
64 | .grid = CONNECTION, | 65 | .grid = CONNECTION, |
65 | .id = LIB3270_TOGGLE_RECONNECT, | 66 | .id = LIB3270_TOGGLE_RECONNECT, |
66 | }, | 67 | }, |
67 | { | 68 | { |
68 | .left = 5, | 69 | .left = 5, |
69 | - .top = 2, | 70 | + .top = 3, |
70 | .width = 1, | 71 | .width = 1, |
71 | .grid = CONNECTION, | 72 | .grid = CONNECTION, |
72 | .id = LIB3270_TOGGLE_KEEP_ALIVE, | 73 | .id = LIB3270_TOGGLE_KEEP_ALIVE, |
@@ -94,8 +95,6 @@ | @@ -94,8 +95,6 @@ | ||
94 | 95 | ||
95 | enum _entry | 96 | enum _entry |
96 | { | 97 | { |
97 | - ENTRY_HOSTNAME, | ||
98 | - ENTRY_SRVCNAME, | ||
99 | ENTRY_OVERSIZE, | 98 | ENTRY_OVERSIZE, |
100 | ENTRY_REMAP_FILE, | 99 | ENTRY_REMAP_FILE, |
101 | ENTRY_LU_NAMES, | 100 | ENTRY_LU_NAMES, |
@@ -206,32 +205,6 @@ | @@ -206,32 +205,6 @@ | ||
206 | 205 | ||
207 | static const struct EntryFieldDefinition entryfields[] = { | 206 | static const struct EntryFieldDefinition entryfields[] = { |
208 | { | 207 | { |
209 | - .left = 0, | ||
210 | - .top = 0, | ||
211 | - .width = 5, | ||
212 | - .height = 1, | ||
213 | - .grid = CONNECTION, | ||
214 | - | ||
215 | - .label = N_( "_Host" ), | ||
216 | - .tooltip = N_("Address or name of the host to connect."), | ||
217 | - .max_length = 0xFF, | ||
218 | - .width_chars = 50, | ||
219 | - | ||
220 | - }, | ||
221 | - { | ||
222 | - .left = 0, | ||
223 | - .top = 1, | ||
224 | - .width = 1, | ||
225 | - .height = 1, | ||
226 | - .grid = CONNECTION, | ||
227 | - | ||
228 | - .label = N_( "_Service" ), | ||
229 | - .tooltip = N_("Port or service name."), | ||
230 | - .max_length = 6, | ||
231 | - .width_chars = 7, | ||
232 | - }, | ||
233 | - | ||
234 | - { | ||
235 | .top = 1, | 208 | .top = 1, |
236 | .left = 3, | 209 | .left = 3, |
237 | .width = 2, | 210 | .width = 2, |
@@ -258,9 +231,9 @@ | @@ -258,9 +231,9 @@ | ||
258 | }, | 231 | }, |
259 | 232 | ||
260 | { | 233 | { |
261 | - .left = 2, | ||
262 | - .top = 1, | ||
263 | - .width = 3, | 234 | + .left = 0, |
235 | + .top = 2, | ||
236 | + .width = 5, | ||
264 | .height = 1, | 237 | .height = 1, |
265 | .grid = CONNECTION, | 238 | .grid = CONNECTION, |
266 | 239 | ||
@@ -279,12 +252,12 @@ | @@ -279,12 +252,12 @@ | ||
279 | struct | 252 | struct |
280 | { | 253 | { |
281 | GtkEntry * entry[G_N_ELEMENTS(entryfields)]; ///< @brief Entry fields for host & service name. | 254 | GtkEntry * entry[G_N_ELEMENTS(entryfields)]; ///< @brief Entry fields for host & service name. |
282 | - GtkComboBox * ssl; ///< @brief SSL Connection? | ||
283 | GtkComboBox * combos[G_N_ELEMENTS(combos)]; ///< @brief Combo-boxes. | 255 | GtkComboBox * combos[G_N_ELEMENTS(combos)]; ///< @brief Combo-boxes. |
284 | GtkComboBox * charset; ///< @brief Charset combo box. | 256 | GtkComboBox * charset; ///< @brief Charset combo box. |
285 | GtkToggleButton * toggles[G_N_ELEMENTS(toggleList)]; ///< @brief Toggle checks. | 257 | GtkToggleButton * toggles[G_N_ELEMENTS(toggleList)]; ///< @brief Toggle checks. |
286 | GtkSpinButton * auto_disconnect; ///< @brief Auto disconnect. | 258 | GtkSpinButton * auto_disconnect; ///< @brief Auto disconnect. |
287 | GtkSpinButton * unlock_delay; ///< @brief Unlock delay. | 259 | GtkSpinButton * unlock_delay; ///< @brief Unlock delay. |
260 | + GtkWidget * url; ///< @brief The URL entry widget. | ||
288 | 261 | ||
289 | } input; | 262 | } input; |
290 | 263 | ||
@@ -339,19 +312,7 @@ static gboolean oversize_validate(GtkEditable *editable) { | @@ -339,19 +312,7 @@ static gboolean oversize_validate(GtkEditable *editable) { | ||
339 | static void update_valid(V3270HostSelectWidget *settings, gboolean valid) { | 312 | static void update_valid(V3270HostSelectWidget *settings, gboolean valid) { |
340 | 313 | ||
341 | if(valid) { | 314 | if(valid) { |
342 | - | ||
343 | - // Check required inputs. | ||
344 | - | ||
345 | - static const int required[] = { ENTRY_HOSTNAME, ENTRY_SRVCNAME }; | ||
346 | - size_t ix; | ||
347 | - | ||
348 | - for(ix = 0; ix < G_N_ELEMENTS(required); ix++) { | ||
349 | - const gchar * chars = gtk_editable_get_chars(GTK_EDITABLE(settings->input.entry[required[ix]]),0,-1); | ||
350 | - if(!*chars) { | ||
351 | - valid = FALSE; | ||
352 | - break; | ||
353 | - } | ||
354 | - } | 315 | + valid = v3270_url_edit_is_valid(settings->input.url); |
355 | } | 316 | } |
356 | 317 | ||
357 | if(valid) { | 318 | if(valid) { |
@@ -362,12 +323,14 @@ static void update_valid(V3270HostSelectWidget *settings, gboolean valid) { | @@ -362,12 +323,14 @@ static void update_valid(V3270HostSelectWidget *settings, gboolean valid) { | ||
362 | 323 | ||
363 | } | 324 | } |
364 | 325 | ||
326 | +/* | ||
365 | static void required_changed(GtkEditable *editable, GtkWidget *settings) { | 327 | static void required_changed(GtkEditable *editable, GtkWidget *settings) { |
366 | 328 | ||
367 | const gchar * chars = gtk_editable_get_chars(editable,0,-1); | 329 | const gchar * chars = gtk_editable_get_chars(editable,0,-1); |
368 | update_valid(GTK_V3270HostSelectWidget(settings),(*chars ? TRUE : FALSE)); | 330 | update_valid(GTK_V3270HostSelectWidget(settings),(*chars ? TRUE : FALSE)); |
369 | 331 | ||
370 | } | 332 | } |
333 | +*/ | ||
371 | 334 | ||
372 | static void oversize_changed(GtkEditable *editable, GtkWidget *settings) { | 335 | static void oversize_changed(GtkEditable *editable, GtkWidget *settings) { |
373 | update_valid(GTK_V3270HostSelectWidget(settings), oversize_validate(editable)); | 336 | update_valid(GTK_V3270HostSelectWidget(settings), oversize_validate(editable)); |
@@ -454,18 +417,10 @@ static void V3270HostSelectWidget_init(V3270HostSelectWidget *widget) | @@ -454,18 +417,10 @@ static void V3270HostSelectWidget_init(V3270HostSelectWidget *widget) | ||
454 | { | 417 | { |
455 | GtkWidget *grids[GRID_COUNT]; | 418 | GtkWidget *grids[GRID_COUNT]; |
456 | 419 | ||
457 | - { | ||
458 | - size_t grid; | ||
459 | - | ||
460 | - for(grid = 0; grid < G_N_ELEMENTS(grids); grid++) | ||
461 | - grids[grid] = gtk_grid_new(); | ||
462 | - | ||
463 | - } | 420 | + grids[CONNECTION] = v3270_url_edit_new(); |
421 | + grids[EMULATION] = gtk_grid_new(); | ||
464 | 422 | ||
465 | // Connection properties | 423 | // Connection properties |
466 | - gtk_grid_set_row_spacing(GTK_GRID(grids[CONNECTION]),6); | ||
467 | - gtk_grid_set_column_spacing(GTK_GRID(grids[CONNECTION]),12); | ||
468 | - | ||
469 | gtk_grid_attach( | 424 | gtk_grid_attach( |
470 | GTK_GRID(widget), | 425 | GTK_GRID(widget), |
471 | v3270_dialog_section_new(_("Connection"),_("Network connection settings"),grids[CONNECTION]), | 426 | v3270_dialog_section_new(_("Connection"),_("Network connection settings"),grids[CONNECTION]), |
@@ -486,10 +441,6 @@ static void V3270HostSelectWidget_init(V3270HostSelectWidget *widget) | @@ -486,10 +441,6 @@ static void V3270HostSelectWidget_init(V3270HostSelectWidget *widget) | ||
486 | { | 441 | { |
487 | v3270_settings_create_entry_fields(entryfields, G_N_ELEMENTS(entryfields), grids, widget->input.entry); | 442 | v3270_settings_create_entry_fields(entryfields, G_N_ELEMENTS(entryfields), grids, widget->input.entry); |
488 | 443 | ||
489 | - // Custom settings | ||
490 | - // gtk_entry_set_placeholder_text(widget->input.entry[ENTRY_SRVCNAME],"telnet"); | ||
491 | - | ||
492 | - gtk_widget_set_hexpand(GTK_WIDGET(widget->input.entry[ENTRY_HOSTNAME]),TRUE); | ||
493 | gtk_widget_set_hexpand(GTK_WIDGET(widget->input.entry[ENTRY_REMAP_FILE]),TRUE); | 444 | gtk_widget_set_hexpand(GTK_WIDGET(widget->input.entry[ENTRY_REMAP_FILE]),TRUE); |
494 | 445 | ||
495 | gtk_entry_set_icon_from_icon_name(widget->input.entry[ENTRY_REMAP_FILE],GTK_ENTRY_ICON_SECONDARY,"document-open"); | 446 | gtk_entry_set_icon_from_icon_name(widget->input.entry[ENTRY_REMAP_FILE],GTK_ENTRY_ICON_SECONDARY,"document-open"); |
@@ -500,8 +451,6 @@ static void V3270HostSelectWidget_init(V3270HostSelectWidget *widget) | @@ -500,8 +451,6 @@ static void V3270HostSelectWidget_init(V3270HostSelectWidget *widget) | ||
500 | g_signal_connect(G_OBJECT(widget->input.entry[ENTRY_REMAP_FILE]),"changed",G_CALLBACK(remap_file_changed),widget); | 451 | g_signal_connect(G_OBJECT(widget->input.entry[ENTRY_REMAP_FILE]),"changed",G_CALLBACK(remap_file_changed),widget); |
501 | 452 | ||
502 | g_signal_connect(G_OBJECT(widget->input.entry[ENTRY_OVERSIZE]),"changed",G_CALLBACK(oversize_changed),widget); | 453 | g_signal_connect(G_OBJECT(widget->input.entry[ENTRY_OVERSIZE]),"changed",G_CALLBACK(oversize_changed),widget); |
503 | - g_signal_connect(G_OBJECT(widget->input.entry[ENTRY_HOSTNAME]),"changed",G_CALLBACK(required_changed),widget); | ||
504 | - g_signal_connect(G_OBJECT(widget->input.entry[ENTRY_SRVCNAME]),"changed",G_CALLBACK(required_changed),widget); | ||
505 | 454 | ||
506 | } | 455 | } |
507 | 456 | ||
@@ -516,8 +465,8 @@ static void V3270HostSelectWidget_init(V3270HostSelectWidget *widget) | @@ -516,8 +465,8 @@ static void V3270HostSelectWidget_init(V3270HostSelectWidget *widget) | ||
516 | 465 | ||
517 | gtk_spin_button_set_increments(widget->input.auto_disconnect,1,1); | 466 | gtk_spin_button_set_increments(widget->input.auto_disconnect,1,1); |
518 | 467 | ||
519 | - gtk_grid_attach(GTK_GRID(grids[CONNECTION]),label,0,2,1,1); | ||
520 | - gtk_grid_attach(GTK_GRID(grids[CONNECTION]),GTK_WIDGET(widget->input.auto_disconnect),1,2,1,1); | 468 | + gtk_grid_attach(GTK_GRID(grids[CONNECTION]),label,0,3,1,1); |
469 | + gtk_grid_attach(GTK_GRID(grids[CONNECTION]),GTK_WIDGET(widget->input.auto_disconnect),1,3,1,1); | ||
521 | g_signal_connect(G_OBJECT(widget->input.auto_disconnect),"output",G_CALLBACK(spin_format),widget); | 470 | g_signal_connect(G_OBJECT(widget->input.auto_disconnect),"output",G_CALLBACK(spin_format),widget); |
522 | } | 471 | } |
523 | 472 | ||
@@ -540,43 +489,6 @@ static void V3270HostSelectWidget_init(V3270HostSelectWidget *widget) | @@ -540,43 +489,6 @@ static void V3270HostSelectWidget_init(V3270HostSelectWidget *widget) | ||
540 | 489 | ||
541 | } | 490 | } |
542 | 491 | ||
543 | - // SSL input | ||
544 | - { | ||
545 | - GtkWidget *label = gtk_label_new_with_mnemonic(_( "_Security" )); | ||
546 | - gtk_widget_set_halign(label,GTK_ALIGN_END); | ||
547 | - gtk_grid_attach(GTK_GRID(grids[CONNECTION]),label,0,3,1,1); | ||
548 | - | ||
549 | - GtkTreeModel * model = (GtkTreeModel *) gtk_list_store_new(1,G_TYPE_STRING); | ||
550 | - | ||
551 | - widget->input.ssl = GTK_COMBO_BOX(gtk_combo_box_new_with_model(model)); | ||
552 | - | ||
553 | - GtkCellRenderer * text_renderer = gtk_cell_renderer_text_new(); | ||
554 | - gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(widget->input.ssl), text_renderer, TRUE); | ||
555 | - gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(widget->input.ssl), text_renderer, "text", 0, NULL); | ||
556 | - | ||
557 | - static const gchar * levels[] = | ||
558 | - { | ||
559 | - N_("Unsecure"), | ||
560 | - N_("SSL/TLS") | ||
561 | - }; | ||
562 | - | ||
563 | - size_t level; | ||
564 | - for(level = 0; level < G_N_ELEMENTS(levels); level++) | ||
565 | - { | ||
566 | - GtkTreeIter iter; | ||
567 | - gtk_list_store_append((GtkListStore *) model, &iter); | ||
568 | - gtk_list_store_set((GtkListStore *) model, &iter, 0, levels[level], -1); | ||
569 | - }; | ||
570 | - | ||
571 | - /* | ||
572 | - widget->input.ssl = GTK_TOGGLE_BUTTON(gtk_check_button_new_with_mnemonic(_( "_Secure connection." ))); | ||
573 | - gtk_widget_set_tooltip_text(GTK_WIDGET(widget->input.ssl),_( "Check for SSL secure connection." )); | ||
574 | - gtk_widget_set_halign(GTK_WIDGET(widget->input.ssl),GTK_ALIGN_START); | ||
575 | - */ | ||
576 | - | ||
577 | - gtk_grid_attach(GTK_GRID(grids[CONNECTION]),GTK_WIDGET(widget->input.ssl),1,3,2,1); | ||
578 | - } | ||
579 | - | ||
580 | // Toggle checkboxes | 492 | // Toggle checkboxes |
581 | v3270_settings_create_toggle_buttons(toggleList, G_N_ELEMENTS(toggleList), grids, widget->input.toggles); | 493 | v3270_settings_create_toggle_buttons(toggleList, G_N_ELEMENTS(toggleList), grids, widget->input.toggles); |
582 | 494 | ||
@@ -725,20 +637,7 @@ static void apply(GtkWidget *w, GtkWidget *terminal) | @@ -725,20 +637,7 @@ static void apply(GtkWidget *w, GtkWidget *terminal) | ||
725 | H3270 *hSession = v3270_get_session(terminal); | 637 | H3270 *hSession = v3270_get_session(terminal); |
726 | 638 | ||
727 | // Apply URL | 639 | // Apply URL |
728 | - { | ||
729 | - g_autofree gchar * url = | ||
730 | - g_strconcat( | ||
731 | - (gtk_combo_box_get_active(widget->input.ssl) > 0 ? "tn3270s://" : "tn3270://"), | ||
732 | - gtk_entry_get_text(widget->input.entry[ENTRY_HOSTNAME]), | ||
733 | - ":", | ||
734 | - gtk_entry_get_text(widget->input.entry[ENTRY_SRVCNAME]), | ||
735 | - NULL | ||
736 | - ); | ||
737 | - | ||
738 | - debug("URL=[%s]",url); | ||
739 | - lib3270_set_url(hSession,url); | ||
740 | - | ||
741 | - } | 640 | + lib3270_set_url(hSession,v3270_url_edit_get_url(widget->input.url)); |
742 | 641 | ||
743 | // Apply LU names | 642 | // Apply LU names |
744 | v3270_set_lunames(terminal,gtk_entry_get_text(widget->input.entry[ENTRY_LU_NAMES])); | 643 | v3270_set_lunames(terminal,gtk_entry_get_text(widget->input.entry[ENTRY_LU_NAMES])); |
@@ -801,42 +700,7 @@ static void load(GtkWidget *w, GtkWidget *terminal) | @@ -801,42 +700,7 @@ static void load(GtkWidget *w, GtkWidget *terminal) | ||
801 | H3270 *hSession = v3270_get_session(terminal); | 700 | H3270 *hSession = v3270_get_session(terminal); |
802 | V3270HostSelectWidget *widget = GTK_V3270HostSelectWidget(w); | 701 | V3270HostSelectWidget *widget = GTK_V3270HostSelectWidget(w); |
803 | 702 | ||
804 | - const gchar * u = lib3270_get_url(hSession); | ||
805 | - | ||
806 | - if(u) | ||
807 | - { | ||
808 | - | ||
809 | - g_autofree gchar * url = g_strdup(u); | ||
810 | - | ||
811 | - gtk_combo_box_set_active(widget->input.ssl,(g_str_has_prefix(u,"tn3270s") ? 1 : 0)); | ||
812 | -// gtk_toggle_button_set_active(widget->input.ssl,g_str_has_prefix(u,"tn3270s")); | ||
813 | - | ||
814 | - gchar *hostname = strstr(url,"://"); | ||
815 | - if(!hostname) | ||
816 | - { | ||
817 | - g_message("Invalid URL: \"%s\" (no scheme)",url); | ||
818 | - } | ||
819 | - else | ||
820 | - { | ||
821 | - hostname += 3; | ||
822 | - | ||
823 | - gchar *srvcname = strchr(hostname,':'); | ||
824 | - | ||
825 | - if(srvcname) | ||
826 | - { | ||
827 | - *(srvcname++) = 0; | ||
828 | - } | ||
829 | - else | ||
830 | - { | ||
831 | - srvcname = "23"; | ||
832 | - } | ||
833 | - | ||
834 | - gtk_entry_set_text(widget->input.entry[ENTRY_HOSTNAME],hostname); | ||
835 | - gtk_entry_set_text(widget->input.entry[ENTRY_SRVCNAME],srvcname); | ||
836 | - | ||
837 | - } | ||
838 | - | ||
839 | - } | 703 | + v3270_url_edit_set_url(widget->input.url,lib3270_get_url(hSession)); |
840 | 704 | ||
841 | // Load LU names | 705 | // Load LU names |
842 | g_autofree gchar * lunames = v3270_get_lunames(terminal); | 706 | g_autofree gchar * lunames = v3270_get_lunames(terminal); |
src/dialogs/settings/url.c
@@ -122,7 +122,7 @@ | @@ -122,7 +122,7 @@ | ||
122 | gtk_entry_set_width_chars(GTK_ENTRY(widget->entry.host),50); | 122 | gtk_entry_set_width_chars(GTK_ENTRY(widget->entry.host),50); |
123 | gtk_entry_set_placeholder_text(GTK_ENTRY(widget->entry.host),_("The tn3270 host name")); | 123 | gtk_entry_set_placeholder_text(GTK_ENTRY(widget->entry.host),_("The tn3270 host name")); |
124 | gtk_widget_set_tooltip_text(widget->entry.host,g_dgettext(GETTEXT_PACKAGE,labels[0].tooltip)); | 124 | gtk_widget_set_tooltip_text(widget->entry.host,g_dgettext(GETTEXT_PACKAGE,labels[0].tooltip)); |
125 | - gtk_grid_attach(GTK_GRID(widget),widget->entry.host,1,0,4,1); | 125 | + gtk_grid_attach(GTK_GRID(widget),widget->entry.host,1,0,5,1); |
126 | } | 126 | } |
127 | 127 | ||
128 | // Create the service/port field. | 128 | // Create the service/port field. |
@@ -160,7 +160,7 @@ | @@ -160,7 +160,7 @@ | ||
160 | }; | 160 | }; |
161 | 161 | ||
162 | gtk_widget_set_tooltip_text(widget->entry.ssl,g_dgettext(GETTEXT_PACKAGE,labels[2].tooltip)); | 162 | gtk_widget_set_tooltip_text(widget->entry.ssl,g_dgettext(GETTEXT_PACKAGE,labels[2].tooltip)); |
163 | - gtk_grid_attach(GTK_GRID(widget),widget->entry.ssl,3,1,2,1); | 163 | + gtk_grid_attach(GTK_GRID(widget),widget->entry.ssl,3,1,3,1); |
164 | } | 164 | } |
165 | 165 | ||
166 | // Create labels. | 166 | // Create labels. |
@@ -256,3 +256,14 @@ | @@ -256,3 +256,14 @@ | ||
256 | return edit->url; | 256 | return edit->url; |
257 | } | 257 | } |
258 | 258 | ||
259 | + gboolean v3270_url_edit_is_valid(GtkWidget *widget) { | ||
260 | + g_return_val_if_fail(GTK_IS_V3270URLEdit(widget),FALSE); | ||
261 | + | ||
262 | + V3270URLEdit *edit = GTK_V3270URLEdit(widget); | ||
263 | + | ||
264 | + const gchar *host = gtk_entry_get_text(GTK_ENTRY(edit->entry.host)); | ||
265 | + if(!*host) | ||
266 | + return FALSE; | ||
267 | + | ||
268 | + return TRUE; | ||
269 | + } |
src/include/v3270/settings/url.h
@@ -52,6 +52,7 @@ | @@ -52,6 +52,7 @@ | ||
52 | GtkWidget * v3270_url_edit_new(); | 52 | GtkWidget * v3270_url_edit_new(); |
53 | void v3270_url_edit_set_url(GtkWidget *widget, const gchar *url); | 53 | void v3270_url_edit_set_url(GtkWidget *widget, const gchar *url); |
54 | const gchar * v3270_url_edit_get_url(GtkWidget *widget); | 54 | const gchar * v3270_url_edit_get_url(GtkWidget *widget); |
55 | + gboolean v3270_url_edit_is_valid(GtkWidget *widget); | ||
55 | 56 | ||
56 | G_END_DECLS | 57 | G_END_DECLS |
57 | 58 |
src/testprogram/toolbar.c
@@ -34,7 +34,6 @@ | @@ -34,7 +34,6 @@ | ||
34 | #include <v3270/colorscheme.h> | 34 | #include <v3270/colorscheme.h> |
35 | #include <v3270/dialogs.h> | 35 | #include <v3270/dialogs.h> |
36 | #include <v3270/settings.h> | 36 | #include <v3270/settings.h> |
37 | - #include <v3270/settings/url.h> | ||
38 | #include <v3270/selection.h> | 37 | #include <v3270/selection.h> |
39 | #include <v3270/trace.h> | 38 | #include <v3270/trace.h> |
40 | #include <lib3270/log.h> | 39 | #include <lib3270/log.h> |
@@ -71,13 +70,6 @@ | @@ -71,13 +70,6 @@ | ||
71 | 70 | ||
72 | static void preferences_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *terminal) | 71 | static void preferences_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *terminal) |
73 | { | 72 | { |
74 | - GtkWidget * dialog = gtk_window_new(GTK_WINDOW_TOPLEVEL); | ||
75 | - | ||
76 | - gtk_container_add(GTK_CONTAINER(dialog),v3270_url_edit_new()); | ||
77 | - gtk_widget_show_all(dialog); | ||
78 | - | ||
79 | - | ||
80 | - /* | ||
81 | size_t ix; | 73 | size_t ix; |
82 | GtkWidget * dialog = v3270_settings_dialog_new(); | 74 | GtkWidget * dialog = v3270_settings_dialog_new(); |
83 | 75 | ||
@@ -103,7 +95,6 @@ | @@ -103,7 +95,6 @@ | ||
103 | g_signal_connect(dialog,"response",G_CALLBACK(v3270_setttings_dialog_response),NULL); | 95 | g_signal_connect(dialog,"response",G_CALLBACK(v3270_setttings_dialog_response),NULL); |
104 | 96 | ||
105 | gtk_widget_show_all(dialog); | 97 | gtk_widget_show_all(dialog); |
106 | - */ | ||
107 | 98 | ||
108 | } | 99 | } |
109 | 100 |