Commit 909fc2fa5db8fabe137a6fd3782f0bf4326defca

Authored by Perry Werneck
1 parent b6979d1f
Exists in master and in 1 other branch develop

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 }