Index: source/blender/makesdna/DNA_userdef_types.h =================================================================== --- source/blender/makesdna/DNA_userdef_types.h (revision 43366) +++ source/blender/makesdna/DNA_userdef_types.h (working copy) @@ -253,6 +253,9 @@ char preview_back[4]; + char match[4]; /* outliner - filter match */ + char selected_highlight[4]; /* outliner - selected item */ + } ThemeSpace; Index: source/blender/makesrna/intern/rna_userdef.c =================================================================== --- source/blender/makesrna/intern/rna_userdef.c (revision 43366) +++ source/blender/makesrna/intern/rna_userdef.c (working copy) @@ -1305,6 +1305,7 @@ static void rna_def_userdef_theme_space_outliner(BlenderRNA *brna) { StructRNA *srna; + PropertyRNA *prop; /* space_outliner */ @@ -1314,6 +1315,16 @@ RNA_def_struct_ui_text(srna, "Theme Outliner", "Theme settings for the Outliner"); rna_def_userdef_theme_spaces_main(srna); + + prop= RNA_def_property(srna, "match", PROP_FLOAT, PROP_COLOR_GAMMA); + RNA_def_property_array(prop, 3); + RNA_def_property_ui_text(prop, "Filter Match", ""); + RNA_def_property_update(prop, 0, "rna_userdef_update"); + + prop= RNA_def_property(srna, "selected_highlight", PROP_FLOAT, PROP_COLOR_GAMMA); + RNA_def_property_array(prop, 3); + RNA_def_property_ui_text(prop, "Selected Highlight", ""); + RNA_def_property_update(prop, 0, "rna_userdef_update"); } static void rna_def_userdef_theme_space_userpref(BlenderRNA *brna) Index: source/blender/editors/include/UI_resources.h =================================================================== --- source/blender/editors/include/UI_resources.h (revision 43366) +++ source/blender/editors/include/UI_resources.h (working copy) @@ -255,7 +255,10 @@ TH_PATH_BEFORE, TH_PATH_AFTER, TH_CAMERA_PATH, - TH_LOCK_MARKER + TH_LOCK_MARKER, + + TH_MATCH, /* highlight colour for search matches */ + TH_SELECT_HIGHLIGHT /* highlight colour for selected outliner item */ }; /* XXX WARNING: previous is saved in file, so do not change order! */ Index: source/blender/editors/space_outliner/outliner_draw.c =================================================================== --- source/blender/editors/space_outliner/outliner_draw.c (revision 43366) +++ source/blender/editors/space_outliner/outliner_draw.c (working copy) @@ -1258,8 +1258,10 @@ if ( (SEARCHING_OUTLINER(soops) || (soops->outlinevis==SO_DATABLOCKS && soops->search_string[0]!=0)) && (tselem->flag & TSE_SEARCHMATCH)) { - /* TODO - add search highlight color to theme? */ - glColor4f(0.2f, 0.5f, 0.2f, 0.3f); + char col[4]; + UI_GetThemeColorType4ubv(TH_MATCH, SPACE_OUTLINER, col); + col[3]=100; + glColor4ubv((GLubyte *)col); glRecti(startx, *starty+1, ar->v2d.cur.xmax, *starty+UI_UNIT_Y-1); } @@ -1513,8 +1515,8 @@ } /* always draw selection fill before hierarchy */ - UI_GetThemeColor3fv(TH_BACK, col); - glColor3f(col[0]+0.06f, col[1]+0.08f, col[2]+0.10f); + UI_GetThemeColor3fv(TH_SELECT_HIGHLIGHT, col); + glColor3fv(col); starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET; outliner_draw_selection(ar, soops, &soops->tree, &starty); Index: source/blender/editors/interface/resources.c =================================================================== --- source/blender/editors/interface/resources.c (revision 43366) +++ source/blender/editors/interface/resources.c (working copy) @@ -430,6 +430,14 @@ cp= ts->camera_path; break; case TH_LOCK_MARKER: cp= ts->lock_marker; break; + + case TH_MATCH: + cp= ts->match; + break; + + case TH_SELECT_HIGHLIGHT: + cp= ts->selected_highlight; + break; } } } @@ -765,6 +773,9 @@ btheme->toops= btheme->tv3d; SETCOLF(btheme->toops.back, 0.45, 0.45, 0.45, 1.0); + SETCOLF(btheme->toops.match, 0.2, 0.5, 0.2, 0.3); /* highlighting search match - soft green*/ + SETCOLF(btheme->toops.selected_highlight, 0.51, 0.53, 0.55, 0.3); + /* space info */ btheme->tinfo= btheme->tv3d; SETCOLF(btheme->tinfo.back, 0.45, 0.45, 0.45, 1.0); @@ -1679,6 +1690,14 @@ } } + if (bmain->versionfile < 261 || (bmain->versionfile == 261 && bmain->subversionfile < 2)) { + bTheme *btheme; + for(btheme= U.themes.first; btheme; btheme= btheme->next) { + SETCOLF(btheme->toops.match, 0.2, 0.5, 0.2, 0.3); + SETCOLF(btheme->toops.selected_highlight, 0.51, 0.53, 0.55, 0.3); + } + } + /* GL Texture Garbage Collection (variable abused above!) */ if (U.textimeout == 0) { U.texcollectrate = 60;