Commit 909fc2fa5db8fabe137a6fd3782f0bf4326defca
1 parent
b6979d1f
Exists in
master
and in
1 other branch
Adjustments in the color selection widget.
Showing
2 changed files
with
41 additions
and
8 deletions
Show diff stats
src/dialogs/colors.c
| @@ -27,6 +27,11 @@ | @@ -27,6 +27,11 @@ | ||
| 27 | * | 27 | * |
| 28 | */ | 28 | */ |
| 29 | 29 | ||
| 30 | + /** | ||
| 31 | + * @brief Implements the V3270 Color selection widget. | ||
| 32 | + * | ||
| 33 | + */ | ||
| 34 | + | ||
| 30 | #include "private.h" | 35 | #include "private.h" |
| 31 | #include <v3270/colorscheme.h> | 36 | #include <v3270/colorscheme.h> |
| 32 | #include <v3270/settings.h> | 37 | #include <v3270/settings.h> |
| @@ -312,7 +317,7 @@ static void load(GtkWidget G_GNUC_UNUSED(*w), GtkWidget *terminal) | @@ -312,7 +317,7 @@ static void load(GtkWidget G_GNUC_UNUSED(*w), GtkWidget *terminal) | ||
| 312 | gtk_widget_set_vexpand(box,TRUE); | 317 | gtk_widget_set_vexpand(box,TRUE); |
| 313 | gtk_widget_set_hexpand(box,TRUE); | 318 | gtk_widget_set_hexpand(box,TRUE); |
| 314 | 319 | ||
| 315 | - gtk_grid_attach(GTK_GRID(widget),box,0,0,1,5); | 320 | + gtk_grid_attach(GTK_GRID(widget),box,0,0,3,5); |
| 316 | 321 | ||
| 317 | } | 322 | } |
| 318 | 323 | ||
| @@ -324,7 +329,7 @@ static void load(GtkWidget G_GNUC_UNUSED(*w), GtkWidget *terminal) | @@ -324,7 +329,7 @@ static void load(GtkWidget G_GNUC_UNUSED(*w), GtkWidget *terminal) | ||
| 324 | gtk_widget_set_sensitive(widget->colors.chooser,0); | 329 | gtk_widget_set_sensitive(widget->colors.chooser,0); |
| 325 | g_signal_connect(G_OBJECT(widget->colors.chooser),"color-activated",G_CALLBACK(color_activated),widget); | 330 | g_signal_connect(G_OBJECT(widget->colors.chooser),"color-activated",G_CALLBACK(color_activated),widget); |
| 326 | 331 | ||
| 327 | - gtk_grid_attach(GTK_GRID(widget),widget->colors.chooser,1,0,5,5); | 332 | + gtk_grid_attach(GTK_GRID(widget),widget->colors.chooser,3,0,5,5); |
| 328 | } | 333 | } |
| 329 | #else | 334 | #else |
| 330 | { | 335 | { |
| @@ -335,16 +340,25 @@ static void load(GtkWidget G_GNUC_UNUSED(*w), GtkWidget *terminal) | @@ -335,16 +340,25 @@ static void load(GtkWidget G_GNUC_UNUSED(*w), GtkWidget *terminal) | ||
| 335 | gtk_widget_set_sensitive(widget->colors.editor,0); | 340 | gtk_widget_set_sensitive(widget->colors.editor,0); |
| 336 | g_signal_connect(G_OBJECT(widget->colors.editor),"color-changed",G_CALLBACK(color_changed),widget); | 341 | g_signal_connect(G_OBJECT(widget->colors.editor),"color-changed",G_CALLBACK(color_changed),widget); |
| 337 | 342 | ||
| 338 | - gtk_grid_attach(GTK_GRID(widget),widget->colors.editor,1,0,5,5); | 343 | + gtk_grid_attach(GTK_GRID(widget),widget->colors.editor,3,0,5,5); |
| 339 | } | 344 | } |
| 340 | #endif // USE_GTK_COLOR_CHOOSER | 345 | #endif // USE_GTK_COLOR_CHOOSER |
| 341 | 346 | ||
| 342 | { | 347 | { |
| 343 | // Create scheme selector | 348 | // Create scheme selector |
| 349 | + GtkWidget * label = gtk_label_new_with_mnemonic(_("Color _theme")); | ||
| 350 | + gtk_widget_set_halign(label,GTK_ALIGN_END); | ||
| 351 | + | ||
| 344 | widget->colors.scheme = v3270_color_scheme_new(); | 352 | widget->colors.scheme = v3270_color_scheme_new(); |
| 345 | - gtk_widget_set_tooltip_markup(widget->colors.scheme,_("Predefined color schemes")); | ||
| 346 | - gtk_grid_attach(GTK_GRID(widget),widget->colors.scheme,0,6,6,1); | 353 | + gtk_widget_set_tooltip_markup(widget->colors.scheme,_("Predefined color theme")); |
| 354 | + | ||
| 355 | + gtk_label_set_mnemonic_widget(GTK_LABEL(label),widget->colors.scheme); | ||
| 356 | + | ||
| 357 | + gtk_widget_set_margin_top(label,6); | ||
| 358 | + gtk_widget_set_margin_top(widget->colors.scheme,6); | ||
| 347 | 359 | ||
| 360 | + gtk_grid_attach(GTK_GRID(widget),label,0,6,1,1); | ||
| 361 | + gtk_grid_attach(GTK_GRID(widget),widget->colors.scheme,1,6,8,1); | ||
| 348 | g_signal_connect(G_OBJECT(widget->colors.scheme),"update-colors",G_CALLBACK(color_scheme_changed),widget); | 362 | g_signal_connect(G_OBJECT(widget->colors.scheme),"update-colors",G_CALLBACK(color_scheme_changed),widget); |
| 349 | 363 | ||
| 350 | } | 364 | } |
src/dialogs/hostselect.c
| @@ -275,15 +275,21 @@ static void oversize_changed(GtkEditable *editable, GtkWidget *settings) | @@ -275,15 +275,21 @@ static void oversize_changed(GtkEditable *editable, GtkWidget *settings) | ||
| 275 | v3270_settings_set_valid(settings,valid); | 275 | v3270_settings_set_valid(settings,valid); |
| 276 | } | 276 | } |
| 277 | 277 | ||
| 278 | -static void remap_file_changed(GtkEditable *editable, GtkWidget *settings) | 278 | +static void remap_file_changed(GtkEditable *editable, V3270HostSelectWidget *settings) |
| 279 | { | 279 | { |
| 280 | const gchar * filename = gtk_editable_get_chars(editable,0,-1); | 280 | const gchar * filename = gtk_editable_get_chars(editable,0,-1); |
| 281 | 281 | ||
| 282 | debug("%s(%s)",__FUNCTION__,filename); | 282 | debug("%s(%s)",__FUNCTION__,filename); |
| 283 | if(*filename) | 283 | if(*filename) |
| 284 | - v3270_settings_set_valid(settings,g_file_test(filename,G_FILE_TEST_IS_REGULAR)); | 284 | + { |
| 285 | + v3270_settings_set_valid(GTK_WIDGET(settings),g_file_test(filename,G_FILE_TEST_IS_REGULAR)); | ||
| 286 | + gtk_widget_set_sensitive(GTK_WIDGET(settings->input.charset),FALSE); | ||
| 287 | + } | ||
| 285 | else | 288 | else |
| 286 | - v3270_settings_set_valid(settings,TRUE); | 289 | + { |
| 290 | + v3270_settings_set_valid(GTK_WIDGET(settings),TRUE); | ||
| 291 | + gtk_widget_set_sensitive(GTK_WIDGET(settings->input.charset),TRUE); | ||
| 292 | + } | ||
| 287 | 293 | ||
| 288 | } | 294 | } |
| 289 | 295 | ||
| @@ -302,6 +308,12 @@ static void select_remap_file(GtkEditable *editable, G_GNUC_UNUSED GtkEntryIconP | @@ -302,6 +308,12 @@ static void select_remap_file(GtkEditable *editable, G_GNUC_UNUSED GtkEntryIconP | ||
| 302 | gtk_window_set_deletable(GTK_WINDOW(dialog),FALSE); | 308 | gtk_window_set_deletable(GTK_WINDOW(dialog),FALSE); |
| 303 | g_signal_connect(G_OBJECT(dialog),"close",G_CALLBACK(v3270_dialog_close),NULL); | 309 | g_signal_connect(G_OBJECT(dialog),"close",G_CALLBACK(v3270_dialog_close),NULL); |
| 304 | 310 | ||
| 311 | + // Setup file filter | ||
| 312 | + GtkFileFilter * filter = gtk_file_filter_new(); | ||
| 313 | + gtk_file_filter_set_name(filter,_("TN3270 Custom charset")); | ||
| 314 | + gtk_file_filter_add_pattern(filter,"*.xml"); | ||
| 315 | + gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog),filter); | ||
| 316 | + | ||
| 305 | // Get current file name. | 317 | // Get current file name. |
| 306 | const gchar * filename = gtk_editable_get_chars(editable,0,-1); | 318 | const gchar * filename = gtk_editable_get_chars(editable,0,-1); |
| 307 | 319 | ||
| @@ -596,6 +608,9 @@ static void apply(GtkWidget *w, GtkWidget *terminal) | @@ -596,6 +608,9 @@ static void apply(GtkWidget *w, GtkWidget *terminal) | ||
| 596 | g_value_unset(&value); | 608 | g_value_unset(&value); |
| 597 | 609 | ||
| 598 | } | 610 | } |
| 611 | + | ||
| 612 | + v3270_set_remap_filename(terminal, gtk_entry_get_text(widget->input.entry[ENTRY_REMAP_FILE])); | ||
| 613 | + | ||
| 599 | } | 614 | } |
| 600 | 615 | ||
| 601 | } | 616 | } |
| @@ -706,6 +721,10 @@ static void load(GtkWidget *w, GtkWidget *terminal) | @@ -706,6 +721,10 @@ static void load(GtkWidget *w, GtkWidget *terminal) | ||
| 706 | 721 | ||
| 707 | } | 722 | } |
| 708 | 723 | ||
| 724 | + const gchar * remap_file = v3270_get_remap_filename(terminal); | ||
| 725 | + gtk_entry_set_text(widget->input.entry[ENTRY_REMAP_FILE],remap_file ? remap_file : ""); | ||
| 726 | + | ||
| 727 | + | ||
| 709 | } | 728 | } |
| 710 | 729 | ||
| 711 | } | 730 | } |