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