Commit c0f8961445d74a6a2380381189bd3ae4257eff37
1 parent
78b64d95
Exists in
master
and in
1 other branch
Working on new FT dialog.
Showing
2 changed files
with
48 additions
and
13 deletions
Show diff stats
src/v3270ft/settings.c
... | ... | @@ -79,24 +79,22 @@ |
79 | 79 | return entry; |
80 | 80 | } |
81 | 81 | |
82 | - static GtkWidget * create_frame(V3270FTSettings *widget, const gchar *title, GtkWidget *box, gint left, gint top, gint width, gint height, gint margin_top) | |
82 | + static GtkWidget * create_frame(GtkWidget *container, const gchar *title, GtkWidget *box, GtkAlign align) | |
83 | 83 | { |
84 | 84 | GtkFrame * frame = GTK_FRAME(gtk_frame_new("")); |
85 | 85 | g_autofree gchar * markup = g_strdup_printf("<b>%s</b>",title); |
86 | 86 | GtkWidget * label = gtk_label_new(NULL); |
87 | 87 | |
88 | - if(margin_top) | |
89 | - g_object_set(G_OBJECT(frame),"margin-top",margin_top,NULL); | |
90 | - | |
91 | 88 | gtk_frame_set_shadow_type(GTK_FRAME(frame),GTK_SHADOW_NONE); |
92 | 89 | gtk_label_set_markup(GTK_LABEL(label),markup); |
93 | 90 | gtk_frame_set_label_widget(GTK_FRAME(frame),label); |
94 | 91 | |
95 | 92 | gtk_container_add(GTK_CONTAINER(frame),GTK_WIDGET(box)); |
93 | + gtk_widget_set_halign(GTK_WIDGET(frame),align); | |
96 | 94 | |
97 | - gtk_grid_attach(GTK_GRID(widget),GTK_WIDGET(frame),left,top,width,height); | |
95 | + g_object_set(G_OBJECT(frame),"margin-top",6,NULL); | |
98 | 96 | |
99 | - g_object_set(G_OBJECT(box),"margin-top",6,NULL); | |
97 | + gtk_box_pack_start(GTK_BOX(container),GTK_WIDGET(frame),TRUE,TRUE,0); | |
100 | 98 | |
101 | 99 | return box; |
102 | 100 | } |
... | ... | @@ -112,7 +110,7 @@ |
112 | 110 | // Operation type |
113 | 111 | { |
114 | 112 | GtkTreeModel * model = GTK_TREE_MODEL(gtk_list_store_new(2,G_TYPE_STRING,G_TYPE_ULONG)); |
115 | - GtkWidget * entry = create_entry(widget,"_Operation",gtk_combo_box_new_with_model(model),0,0,10); | |
113 | + GtkWidget * entry = create_entry(widget,"_Operation",gtk_combo_box_new_with_model(model),0,0,9); | |
116 | 114 | GtkCellRenderer * renderer = gtk_cell_renderer_text_new(); |
117 | 115 | |
118 | 116 | gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(entry), renderer, TRUE); |
... | ... | @@ -131,7 +129,7 @@ |
131 | 129 | // Local and remote file names. |
132 | 130 | { |
133 | 131 | // Local file name |
134 | - widget->file.local = GTK_ENTRY(create_entry(widget,"_Local file",gtk_entry_new(),0,1,10)); | |
132 | + widget->file.local = GTK_ENTRY(create_entry(widget,"_Local file",gtk_entry_new(),0,1,9)); | |
135 | 133 | gtk_entry_set_icon_from_icon_name(widget->file.local,GTK_ENTRY_ICON_SECONDARY,"document-open"); |
136 | 134 | gtk_entry_set_icon_activatable(widget->file.local,GTK_ENTRY_ICON_SECONDARY,TRUE); |
137 | 135 | gtk_entry_set_icon_tooltip_text(widget->file.local,GTK_ENTRY_ICON_SECONDARY,_("Select file")); |
... | ... | @@ -139,15 +137,20 @@ |
139 | 137 | // g_signal_connect(G_OBJECT(widget->file.local),"icon-press",G_CALLBACK(open_select_file_dialog),dialog); |
140 | 138 | |
141 | 139 | // Remote file name |
142 | - widget->file.remote = GTK_ENTRY(create_entry(widget,"_Remote file",gtk_entry_new(),0,2,10)); | |
143 | - | |
144 | - | |
140 | + widget->file.remote = GTK_ENTRY(create_entry(widget,"_Remote file",gtk_entry_new(),0,2,9)); | |
145 | 141 | |
146 | 142 | } |
147 | 143 | |
144 | + // Options box | |
145 | + GtkWidget * options = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,6); | |
146 | + gtk_box_set_homogeneous(GTK_BOX(options),FALSE); | |
147 | + g_object_set(G_OBJECT(options),"margin-top",8,NULL); | |
148 | + gtk_widget_set_hexpand(options,TRUE); | |
149 | + gtk_grid_attach(GTK_GRID(widget),options,0,3,10,5); | |
150 | + | |
148 | 151 | // Transfer options |
149 | 152 | { |
150 | - GtkWidget * box = create_frame(widget, _("Transfer options"), gtk_box_new(GTK_ORIENTATION_VERTICAL,6), 0, 3, 5, 5, 8); | |
153 | + GtkWidget * box = create_frame(options, _("Transfer options"), gtk_box_new(GTK_ORIENTATION_VERTICAL,6),GTK_ALIGN_START); | |
151 | 154 | |
152 | 155 | for(ix=0;ix<4;ix++) |
153 | 156 | { |
... | ... | @@ -160,6 +163,38 @@ |
160 | 163 | |
161 | 164 | } |
162 | 165 | |
166 | + // Record format | |
167 | + { | |
168 | + GtkWidget * box = create_frame(options, _("Record format"), gtk_box_new(GTK_ORIENTATION_VERTICAL,6),GTK_ALIGN_CENTER); | |
169 | + GSList * group = NULL; | |
170 | + | |
171 | + for(ix=4;ix<8;ix++) | |
172 | + { | |
173 | + widget->options[ix] = gtk_radio_button_new_with_label(group,gettext(ft_option[ix].label)); | |
174 | + gtk_widget_set_tooltip_markup(widget->options[ix],gettext(ft_option[ix].tooltip)); | |
175 | + group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(widget->options[ix])); | |
176 | + // g_signal_connect(G_OBJECT(widget->options[ix]),"toggled",G_CALLBACK(option_toggled),widget); | |
177 | + gtk_box_pack_start(GTK_BOX(box),widget->options[ix],FALSE,TRUE,0); | |
178 | + | |
179 | + } | |
180 | + } | |
181 | + | |
182 | + // Space allocation units | |
183 | + { | |
184 | + GtkWidget * box = create_frame(options, _("Space allocation units"), gtk_box_new(GTK_ORIENTATION_VERTICAL,6),GTK_ALIGN_END); | |
185 | + GSList * group = NULL; | |
186 | + | |
187 | + for(ix=8;ix<12;ix++) | |
188 | + { | |
189 | + widget->options[ix] = gtk_radio_button_new_with_label(group,gettext(ft_option[ix].label)); | |
190 | + gtk_widget_set_tooltip_markup(widget->options[ix],gettext(ft_option[ix].tooltip)); | |
191 | + group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(widget->options[ix])); | |
192 | + // g_signal_connect(G_OBJECT(widget->options[ix]),"toggled",G_CALLBACK(option_toggled),widget); | |
193 | + gtk_box_pack_start(GTK_BOX(box),widget->options[ix],FALSE,TRUE,0); | |
194 | + | |
195 | + } | |
196 | + } | |
197 | + | |
163 | 198 | gtk_widget_show_all(GTK_WIDGET(widget)); |
164 | 199 | |
165 | 200 | } | ... | ... |
src/v3270ft/tables.c
... | ... | @@ -46,7 +46,7 @@ const struct v3270ft_option ft_option[NUM_OPTIONS_WIDGETS] = { |
46 | 46 | { |
47 | 47 | LIB3270_FT_OPTION_CRLF, |
48 | 48 | "crlf", |
49 | - N_("Follow the convention for _ASCII text files."), | |
49 | + N_("_ASCII text"), | |
50 | 50 | #ifdef _WIN32 |
51 | 51 | N_( "Following the convention for ASCII text files, CR/LF pairs are used to terminate records in the PC file, and a CTRL-Z (x'1A') marks the end of file.") |
52 | 52 | #else | ... | ... |