Index: trunk/doc/conf/tree/appearance_color.html =================================================================== --- trunk/doc/conf/tree/appearance_color.html (revision 17981) +++ trunk/doc/conf/tree/appearance_color.html (revision 17982) @@ -8,6 +8,7 @@ background color 0 background and cursor color ... crosshair color 0 different object colors cross color 0 + selected color 0 generic object selection color via color 0 via_selected color 0 pin color 0 @@ -28,7 +29,6 @@ off_limit color 0 grid color 0 layer color 0 - layer_selected color 0 warn color 0 mask color 0 paste color 0 Index: trunk/src/board.c =================================================================== --- trunk/src/board.c (revision 17981) +++ trunk/src/board.c (revision 17982) @@ -160,10 +160,8 @@ int i; /* copy default settings */ - for (i = 0; i < PCB_MAX_LAYER; i++) { + for (i = 0; i < PCB_MAX_LAYER; i++) ptr->Data->Layer[i].meta.real.color = conf_core.appearance.color.layer[i]; - ptr->Data->Layer[i].meta.real.selected_color = conf_core.appearance.color.layer_selected[i]; - } } typedef struct { Index: trunk/src/conf_core.h =================================================================== --- trunk/src/conf_core.h (revision 17981) +++ trunk/src/conf_core.h (revision 17982) @@ -180,6 +180,7 @@ CFT_COLOR background; /* background and cursor color ... */ CFT_COLOR crosshair; /* different object colors */ CFT_COLOR cross; + CFT_COLOR selected; /* generic object selection color */ CFT_COLOR via; CFT_COLOR via_selected; CFT_COLOR pin; @@ -200,7 +201,6 @@ CFT_COLOR off_limit; CFT_COLOR grid; CFT_COLOR layer[PCB_MAX_LAYER]; - CFT_COLOR layer_selected[PCB_MAX_LAYER]; CFT_COLOR warn; CFT_COLOR mask; CFT_COLOR paste; Index: trunk/src/layer.c =================================================================== --- trunk/src/layer.c (revision 17981) +++ trunk/src/layer.c (revision 17982) @@ -492,7 +492,6 @@ lp->meta.real.vis = 1; lp->name = pcb_strdup("New Layer"); lp->meta.real.color = conf_core.appearance.color.layer[idx]; - lp->meta.real.selected_color = conf_core.appearance.color.layer_selected[idx]; if ((gid >= 0) && (pcb->LayerGroups.grp[gid].len == 0)) { /*When adding the first layer in a group, set up comb flags automatically */ switch((pcb->LayerGroups.grp[gid].ltype) & PCB_LYT_ANYTHING) { case PCB_LYT_MASK: lp->comb = PCB_LYC_AUTO | PCB_LYC_SUB; break; Index: trunk/src/layer.h =================================================================== --- trunk/src/layer.h (revision 17981) +++ trunk/src/layer.h (revision 17982) @@ -119,7 +119,6 @@ pcb_layergrp_id_t grp; /* the group this layer is in (cross-reference) */ pcb_bool vis; /* visible flag */ const char *color; /* color */ - const char *selected_color; int no_drc; /* whether to ignore the layer when checking the design rules */ const char *cookie; /* for UI layers: registration cookie; NULL for unused UI layers */ } real; Index: trunk/src/layer_vis.c =================================================================== --- trunk/src/layer_vis.c (revision 17981) +++ trunk/src/layer_vis.c (revision 17982) @@ -299,10 +299,8 @@ { if (PCB != NULL) { pcb_layer_t *lp = pcb_get_layer(PCB->Data, arr_idx); - if (lp != NULL) { + if (lp != NULL) lp->meta.real.color = conf_core.appearance.color.layer[arr_idx]; - lp->meta.real.selected_color = conf_core.appearance.color.layer_selected[arr_idx]; - } } } @@ -312,8 +310,7 @@ { conf_native_t *n_mask = conf_get_field("editor/show_mask"); conf_native_t *n_c1 = conf_get_field("appearance/color/layer"); - conf_native_t *n_c2 = conf_get_field("appearance/color/layer_selected"); - static conf_hid_callbacks_t cbs_mask, cbs_c1, cbs_c2; + static conf_hid_callbacks_t cbs_mask, cbs_c1; layer_vis_conf_id = conf_hid_reg(layer_vis_cookie, NULL); @@ -324,13 +321,9 @@ } memset(&cbs_c1, 0, sizeof(conf_hid_callbacks_t)); - memset(&cbs_c2, 0, sizeof(conf_hid_callbacks_t)); cbs_c1.val_change_post = pcb_layer_confchg_color; - cbs_c2.val_change_post = pcb_layer_confchg_color; conf_hid_set_cb(n_c1, layer_vis_conf_id, &cbs_c1); - conf_hid_set_cb(n_c2, layer_vis_conf_id, &cbs_c2); - pcb_event_bind(PCB_EVENT_BOARD_CHANGED, layer_vis_grp_defaults, NULL, layer_vis_cookie); } Index: trunk/src/obj_arc.c =================================================================== --- trunk/src/obj_arc.c (revision 17981) +++ trunk/src/obj_arc.c (revision 17982) @@ -896,7 +896,7 @@ if (layer->is_bound) PCB_OBJ_COLOR_ON_BOUND_LAYER(color, layer, 1); else - color = layer->meta.real.selected_color; + color = conf_core.appearance.color.selected; } else color = conf_core.appearance.color.connected; Index: trunk/src/obj_common.h =================================================================== --- trunk/src/obj_common.h (revision 17981) +++ trunk/src/obj_common.h (revision 17982) @@ -218,7 +218,7 @@ lid = g->lid[0]; \ if ((lid >= 0) && (lid <= PCB_MAX_LAYER)) { \ if (sel) \ - dst = conf_core.appearance.color.layer_selected[lid]; \ + dst = conf_core.appearance.color.selected; \ else \ dst = conf_core.appearance.color.layer[lid]; \ break; \ Index: trunk/src/obj_line.c =================================================================== --- trunk/src/obj_line.c (revision 17981) +++ trunk/src/obj_line.c (revision 17982) @@ -1044,7 +1044,7 @@ if (layer->is_bound) PCB_OBJ_COLOR_ON_BOUND_LAYER(color, layer, 1); else - color = layer->meta.real.selected_color; + color = conf_core.appearance.color.selected; } else color = conf_core.appearance.color.connected; Index: trunk/src/obj_poly.c =================================================================== --- trunk/src/obj_poly.c (revision 17981) +++ trunk/src/obj_poly.c (revision 17982) @@ -1067,7 +1067,7 @@ if (layer->is_bound) PCB_OBJ_COLOR_ON_BOUND_LAYER(color, layer, 1); else - color = layer->meta.real.selected_color; + color = conf_core.appearance.color.selected; } else if (PCB_FLAG_TEST(PCB_FLAG_FOUND, polygon)) color = conf_core.appearance.color.connected; Index: trunk/src/obj_text.c =================================================================== --- trunk/src/obj_text.c (revision 17981) +++ trunk/src/obj_text.c (revision 17982) @@ -1080,7 +1080,7 @@ pcb_gui->set_color(pcb_draw_out.fgGC, color); } else - pcb_gui->set_color(pcb_draw_out.fgGC, layer->meta.real.selected_color); + pcb_gui->set_color(pcb_draw_out.fgGC, conf_core.appearance.color.selected); } else if (PCB_HAS_COLOROVERRIDE(text)) { pcb_gui->set_color(pcb_draw_out.fgGC, text->override_color); Index: trunk/src/pcb-conf.lht =================================================================== --- trunk/src/pcb-conf.lht (revision 17981) +++ trunk/src/pcb-conf.lht (revision 17982) @@ -153,6 +153,7 @@ background = {#e5e5e5} crosshair = {#ff0000} cross = {#cdcd00} + selected = {#00ffff} via = {#7f7f7f} via_selected = {#00ffff} pin = {#4d4d4d} @@ -184,18 +185,6 @@ {#8b2323}; {#3a5fcd}; {#104e8b}; {#cd3700}; {#548b54}; {#8b7355}; } - li:layer_selected = { - {#00ffff}; {#00ffff}; {#00ffff}; {#00ffff}; {#00ffff}; - {#00ffff}; {#00ffff}; {#00ffff}; {#00ffff}; {#00ffff}; - {#00ffff}; {#00ffff}; {#00ffff}; {#00ffff}; {#00ffff}; - {#00ffff}; - {#00ffff}; {#00ffff}; {#00ffff}; {#00ffff}; {#00ffff}; - {#00ffff}; {#00ffff}; {#00ffff}; {#00ffff}; {#00ffff}; - {#00ffff}; {#00ffff}; {#00ffff}; {#00ffff}; {#00ffff}; - {#00ffff}; - {#00ffff}; {#00ffff}; {#00ffff}; {#00ffff}; {#00ffff}; - {#00ffff}; - } warn = {#ff8000} mask = {#ff0000} paste = {#cd00cd} Index: trunk/src_plugins/lib_gtk_config/gui-config.c =================================================================== --- trunk/src_plugins/lib_gtk_config/gui-config.c (revision 17981) +++ trunk/src_plugins/lib_gtk_config/gui-config.c (revision 17982) @@ -1165,12 +1165,12 @@ static void config_color_set_cb(GtkWidget * button, cfg_color_idx_t * ci) { pcb_gtk_color_t new_color; - const char *str, *lcpath = "appearance/color/layer", *lspath = "appearance/color/layer_selected"; + const char *str, *lcpath = "appearance/color/layer"; gtkc_color_button_get_color(button, &new_color); str = ci->com->get_color_name(&new_color); - if ((strcmp(ci->cfg->hash_path, lcpath) == 0) || (strcmp(ci->cfg->hash_path, lspath) == 0)) { + if (strcmp(ci->cfg->hash_path, lcpath) == 0) { /* if the design color list is empty, we should create it and copy all current colors. If we don't, and conf_set() does it for items lower than ci->idx, it will create all colors with empty string value, @@ -1246,7 +1246,7 @@ conf_fields_foreach(e) { conf_native_t *cfg = e->value; if ((strncmp(e->key, path_prefix, pl) == 0) && (cfg->type == CFN_COLOR) && (cfg->array_size == 1)) { - int is_selected = (strstr(e->key, "_selected") != NULL); + int is_selected = (strstr(e->key, "_selected") != NULL) || (strcmp(e->key + strlen(e->key) - 8, "selected") == 0); if (is_selected == selected) config_color_button_create(com, parent_vbox, cfg, 0); } @@ -1314,7 +1314,6 @@ config_colors_tab_create_scalar(com, vbox, "appearance/color", 1); - config_colors_tab_create_array(com, vbox, "appearance/color/layer_selected"); config_user_role_section(com, config_colors_vbox, config_colors_save, 0); gtk_widget_show_all(config_colors_vbox);