Commit fc3bbab1487b71efc127b5849b0775973c93a351
1 parent
9169a2de
Exists in
master
and in
1 other branch
Updating host select dialog.
Showing
1 changed file
with
41 additions
and
63 deletions
Show diff stats
src/dialogs/hostselect.c
... | ... | @@ -55,11 +55,7 @@ |
55 | 55 | |
56 | 56 | struct _V3270HostSelectWidget |
57 | 57 | { |
58 | -#if GTK_CHECK_VERSION(3,0,0) | |
59 | - GtkBin parent; | |
60 | -#else | |
61 | - GtkVBox parent; | |
62 | -#endif // GTK_CHECK_VERSION | |
58 | + GtkGrid parent; | |
63 | 59 | |
64 | 60 | LIB3270_HOST_TYPE type; /**< @brief Connect option */ |
65 | 61 | |
... | ... | @@ -78,11 +74,11 @@ |
78 | 74 | |
79 | 75 | struct _V3270HostSelectWidgetClass |
80 | 76 | { |
81 | - GtkBinClass parent_class; | |
77 | + GtkGridClass parent_class; | |
82 | 78 | }; |
83 | 79 | |
84 | 80 | |
85 | - G_DEFINE_TYPE(V3270HostSelectWidget, V3270HostSelectWidget, GTK_TYPE_BIN); | |
81 | + G_DEFINE_TYPE(V3270HostSelectWidget, V3270HostSelectWidget, GTK_TYPE_GRID); | |
86 | 82 | |
87 | 83 | /*--[ Implement ]------------------------------------------------------------------------------------*/ |
88 | 84 | |
... | ... | @@ -120,26 +116,21 @@ static void colortable_changed(GtkComboBox *widget, V3270HostSelectWidget *dialo |
120 | 116 | |
121 | 117 | static void V3270HostSelectWidget_init(V3270HostSelectWidget *widget) |
122 | 118 | { |
123 | - GtkGrid * grid = GTK_GRID(gtk_grid_new()); | |
119 | + int f; | |
120 | + | |
121 | + gtk_container_set_border_width(GTK_CONTAINER(widget),10); | |
122 | + | |
123 | + gtk_grid_set_row_spacing(GTK_GRID(widget),5); | |
124 | + gtk_grid_set_column_spacing(GTK_GRID(widget),10); | |
124 | 125 | |
126 | + // Entry fields | |
125 | 127 | GtkWidget * label[ENTRY_COUNT] = |
126 | 128 | { |
127 | 129 | gtk_label_new_with_mnemonic( _( "_Host:" ) ), |
128 | 130 | gtk_label_new_with_mnemonic( _( "_Service:" ) ) |
129 | 131 | }; |
130 | 132 | |
131 | - int f; | |
132 | - | |
133 | - gtk_container_set_border_width(GTK_CONTAINER(grid),10); | |
134 | - | |
135 | - gtk_grid_set_row_spacing(grid,5); | |
136 | - gtk_grid_set_column_spacing(grid,10); | |
137 | - | |
138 | - gtk_grid_set_row_homogeneous(grid,FALSE); | |
139 | - gtk_grid_set_column_homogeneous(grid,FALSE); | |
140 | - | |
141 | - | |
142 | - for(f=0;f<ENTRY_COUNT;f++) | |
133 | + for(f=0;f<ENTRY_COUNT;f++) | |
143 | 134 | { |
144 | 135 | widget->input.entry[f] = GTK_ENTRY(gtk_entry_new()); |
145 | 136 | gtk_widget_set_halign(label[f],GTK_ALIGN_START); |
... | ... | @@ -149,12 +140,31 @@ static void V3270HostSelectWidget_init(V3270HostSelectWidget *widget) |
149 | 140 | gtk_widget_set_tooltip_text(GTK_WIDGET(widget->input.entry[ENTRY_HOSTNAME]),_("Address or name of the host to connect.") ); |
150 | 141 | gtk_widget_set_tooltip_text(GTK_WIDGET(widget->input.entry[ENTRY_SRVCNAME]),_("Port or service name (empty for \"telnet\").") ); |
151 | 142 | |
143 | + gtk_entry_set_max_length(widget->input.entry[ENTRY_HOSTNAME],0xFF); | |
144 | + gtk_entry_set_width_chars(widget->input.entry[ENTRY_HOSTNAME],50); | |
145 | + | |
146 | + gtk_entry_set_max_length(widget->input.entry[ENTRY_SRVCNAME],6); | |
147 | + gtk_entry_set_width_chars(widget->input.entry[ENTRY_SRVCNAME],7); | |
148 | + | |
149 | + gtk_entry_set_placeholder_text(widget->input.entry[ENTRY_SRVCNAME],"telnet"); | |
150 | + | |
151 | + gtk_widget_set_hexpand(GTK_WIDGET(widget->input.entry[ENTRY_HOSTNAME]),TRUE); | |
152 | + | |
153 | + gtk_grid_attach(GTK_GRID(widget),label[0],0,0,1,1); | |
154 | + gtk_grid_attach(GTK_GRID(widget),GTK_WIDGET(widget->input.entry[ENTRY_HOSTNAME]),1,0,5,1); | |
155 | + | |
156 | + gtk_grid_attach(GTK_GRID(widget),label[1],0,1,1,1); | |
157 | + gtk_grid_attach(GTK_GRID(widget),GTK_WIDGET(widget->input.entry[ENTRY_SRVCNAME]),1,1,1,1); | |
158 | + | |
159 | + // gtk_widget_set_hexpand(GTK_WIDGET(widget->input.ssl),TRUE); | |
160 | + | |
152 | 161 | // SSL checkbox |
153 | - widget->input.ssl = GTK_TOGGLE_BUTTON(gtk_check_button_new_with_mnemonic(_( "_Secure connection." ))); | |
154 | - gtk_widget_set_tooltip_text(GTK_WIDGET(widget->input.ssl),_( "Check for SSL secure connection." )); | |
162 | + { | |
163 | + widget->input.ssl = GTK_TOGGLE_BUTTON(gtk_check_button_new_with_mnemonic(_( "_Secure connection." ))); | |
164 | + gtk_widget_set_tooltip_text(GTK_WIDGET(widget->input.ssl),_( "Check for SSL secure connection." )); | |
155 | 165 | |
156 | - // Extended options | |
157 | - GtkWidget * expander = gtk_expander_new_with_mnemonic(_( "_Host options")); | |
166 | + gtk_grid_attach(GTK_GRID(widget),GTK_WIDGET(widget->input.ssl),3,1,1,1); | |
167 | + } | |
158 | 168 | |
159 | 169 | // Host type |
160 | 170 | { |
... | ... | @@ -199,49 +209,17 @@ static void V3270HostSelectWidget_init(V3270HostSelectWidget *widget) |
199 | 209 | |
200 | 210 | } |
201 | 211 | |
202 | - gtk_entry_set_max_length(widget->input.entry[ENTRY_HOSTNAME],0xFF); | |
203 | - gtk_entry_set_width_chars(widget->input.entry[ENTRY_HOSTNAME],50); | |
204 | - | |
205 | - gtk_entry_set_max_length(widget->input.entry[ENTRY_SRVCNAME],6); | |
206 | - gtk_entry_set_width_chars(widget->input.entry[ENTRY_SRVCNAME],7); | |
207 | - | |
208 | - gtk_entry_set_placeholder_text(widget->input.entry[ENTRY_SRVCNAME],"telnet"); | |
209 | - | |
210 | - gtk_widget_set_hexpand(GTK_WIDGET(widget->input.entry[ENTRY_HOSTNAME]),TRUE); | |
211 | - gtk_widget_set_hexpand(GTK_WIDGET(widget->input.ssl),TRUE); | |
212 | - gtk_widget_set_hexpand(GTK_WIDGET(expander),TRUE); | |
213 | - | |
214 | - | |
215 | - gtk_grid_attach(grid,label[ENTRY_HOSTNAME],0,0,1,1); | |
216 | - gtk_grid_attach(grid,GTK_WIDGET(widget->input.entry[ENTRY_HOSTNAME]),1,0,3,1); | |
217 | - | |
218 | - gtk_grid_attach(grid,label[ENTRY_SRVCNAME],4,0,1,1); | |
219 | - gtk_grid_attach(grid,GTK_WIDGET(widget->input.entry[ENTRY_SRVCNAME]),5,0,1,1); | |
220 | - | |
221 | - gtk_grid_attach(grid,GTK_WIDGET(widget->input.ssl),1,1,3,1); | |
222 | - | |
223 | - | |
224 | 212 | // Host options |
213 | + for(f=0;f< (int) G_N_ELEMENTS(comboLabel);f++) | |
225 | 214 | { |
226 | - GtkGrid *opt = GTK_GRID(gtk_grid_new()); | |
227 | - | |
228 | - gtk_grid_set_column_spacing(opt,5); | |
229 | - gtk_grid_set_row_spacing(opt,5); | |
230 | - | |
231 | - for(f=0;f< (int) G_N_ELEMENTS(comboLabel);f++) | |
232 | - { | |
233 | - GtkWidget *label = gtk_label_new_with_mnemonic(gettext(comboLabel[f])); | |
234 | - gtk_widget_set_halign(label,GTK_ALIGN_START); | |
235 | - gtk_grid_attach(opt,label,0,f+1,1,1); | |
236 | - gtk_grid_attach(opt,GTK_WIDGET(widget->input.combo[f]),1,f+1,2,1); | |
237 | - } | |
238 | - | |
239 | - gtk_container_add(GTK_CONTAINER(expander),GTK_WIDGET(opt)); | |
215 | + GtkWidget *label = gtk_label_new_with_mnemonic(gettext(comboLabel[f])); | |
216 | + gtk_widget_set_halign(label,GTK_ALIGN_START); | |
217 | + gtk_grid_attach(GTK_GRID(widget),label,0,f+2,1,1); | |
218 | + gtk_grid_attach(GTK_GRID(widget),GTK_WIDGET(widget->input.combo[f]),1,f+2,2,1); | |
240 | 219 | } |
241 | - gtk_grid_attach(grid,GTK_WIDGET(expander),1,2,5,2); | |
242 | 220 | |
243 | - gtk_widget_show_all(GTK_WIDGET(grid)); | |
244 | - gtk_container_add(GTK_CONTAINER(widget),GTK_WIDGET(grid)); | |
221 | + gtk_widget_show_all(GTK_WIDGET(widget)); | |
222 | + | |
245 | 223 | } |
246 | 224 | |
247 | 225 | LIB3270_EXPORT GtkWidget * v3270_host_select_new(GtkWidget *widget) | ... | ... |