diff --git a/src/dialogs/settings/clipboard.c b/src/dialogs/settings/clipboard.c index 7d80cec..3c90068 100644 --- a/src/dialogs/settings/clipboard.c +++ b/src/dialogs/settings/clipboard.c @@ -300,6 +300,7 @@ static void V3270ClipboardSettings_init(V3270ClipboardSettings *widget) { } // Load color schemes +#ifdef DEBUG { lib3270_autoptr(char) filename = lib3270_build_data_filename("colors.conf",NULL); if(g_file_test(filename,G_FILE_TEST_IS_REGULAR)) { @@ -342,6 +343,7 @@ static void V3270ClipboardSettings_init(V3270ClipboardSettings *widget) { g_key_file_free(keyfile); } } +#endif // DEBUG // Copy format combo static const gchar * copy_formats[] = { @@ -485,10 +487,6 @@ static void load(GtkWidget *w, GtkWidget *t) { } -#ifndef DEBUG - gtk_widget_set_sensitive(GTK_WIDGET(widget->input.combos[1]),FALSE); -#endif // DEBUG - } static gchar get_active_id(V3270ClipboardSettings *widget, size_t combo) { diff --git a/src/dialogs/settings/host.c b/src/dialogs/settings/host.c index bac3312..91a5d9c 100644 --- a/src/dialogs/settings/host.c +++ b/src/dialogs/settings/host.c @@ -75,18 +75,20 @@ { .left = 6, .top = 1, - .width = 1, + .width = 2, .grid = EMULATION, .id = LIB3270_TOGGLE_ALTSCREEN, }, + /* { - .left = 7, - .top = 1, + .left = 1, + .top = 3, .width = 1, .grid = EMULATION, .id = LIB3270_TOGGLE_MONOCASE, }, + */ }; diff --git a/src/include/terminal.h b/src/include/terminal.h index 99512ef..4a4cacf 100644 --- a/src/include/terminal.h +++ b/src/include/terminal.h @@ -174,6 +174,7 @@ G_BEGIN_DECLS struct { gchar * scheme; ///< @brief Name of the selection color scheme + gchar * value; ///< @brief List of colors for selection. } color; } selection; diff --git a/src/selection/selection.c b/src/selection/selection.c index 44fe872..d02ce36 100644 --- a/src/selection/selection.c +++ b/src/selection/selection.c @@ -163,11 +163,16 @@ void v3270_selection_set_color_scheme(GtkWidget *widget, const gchar *name) { v3270 * terminal = GTK_V3270(widget); - if(terminal->selection.font_family) { + if(terminal->selection.color.scheme) { g_free(terminal->selection.color.scheme); terminal->selection.color.scheme = NULL; } + if(terminal->selection.color.scheme) { + g_free(terminal->selection.color.value); + terminal->selection.color.value = NULL; + } + if(name) { terminal->selection.color.scheme = g_strdup(name); } diff --git a/src/terminal/keyfile.c b/src/terminal/keyfile.c index e1aa7e4..899de44 100644 --- a/src/terminal/keyfile.c +++ b/src/terminal/keyfile.c @@ -302,6 +302,7 @@ // Save internal properties save_string(key_file, group_name, "selection-font-family", terminal->selection.font_family); + save_string(key_file, group_name, "selection-color-scheme", terminal->selection.color.scheme); // Save Toggles for(ix = 0; ix < G_N_ELEMENTS(klass->properties.toggle); ix++) @@ -335,6 +336,12 @@ // Load internal properties. load_string(key_file, group_name, "selection-font-family", &terminal->selection.font_family); + load_string(key_file, group_name, "selection-color-scheme", &terminal->selection.color.scheme); + + if(terminal->selection.color.value) { + g_free(terminal->selection.color.value); + terminal->selection.color.value = NULL; + } // Load session_name if(g_key_file_has_key(key_file,group_name,"session-name",NULL)) { diff --git a/src/terminal/widget.c b/src/terminal/widget.c index 48b5cf4..12deb0b 100644 --- a/src/terminal/widget.c +++ b/src/terminal/widget.c @@ -193,6 +193,11 @@ static void finalize(GObject *object) { terminal->selection.color.scheme = NULL; } + if(terminal->selection.color.value) { + g_free(terminal->selection.color.value); + terminal->selection.color.value = NULL; + } + G_OBJECT_CLASS(v3270_parent_class)->finalize(object); } diff --git a/src/terminal/windows/registry.c b/src/terminal/windows/registry.c index abd3c6d..9bd827a 100644 --- a/src/terminal/windows/registry.c +++ b/src/terminal/windows/registry.c @@ -257,6 +257,7 @@ // Save internal properties save_string(hKey, "selection-font-family", terminal->selection.font_family); + save_string(hKey, "selection-color-scheme", &terminal->selection.color.scheme); // Save Toggles for(ix = 0; ix < G_N_ELEMENTS(klass->properties.toggle); ix++) @@ -315,6 +316,13 @@ // Load internal properties. load_string(hKey, "selection-font-family", &terminal->selection.font_family); + load_string(hKey, "selection-color-scheme", &terminal->selection.color.scheme); + + if(terminal->selection.color.value) { + g_free(terminal->selection.color.value); + terminal->selection.color.value = NULL; + } + // Load Toggles for(ix = 0; ix < G_N_ELEMENTS(klass->properties.toggle); ix++) -- libgit2 0.21.2