Patch [#28608] Add search match colour to theme settings

Submitted by Shane Ambler (sambler)

From patch description:
As a follow on from #23443 - committed in r40066 I have added the outliner
filter match highlight colour to the theme settings.

Default colour is a light green matching what was originally hard coded.
This commit is contained in:
Joshua Leung 2012-01-22 06:10:21 +00:00
parent 57d48d4493
commit d8d2dc552a
5 changed files with 43 additions and 10 deletions

@ -193,8 +193,10 @@ enum {
TH_STITCH_PREVIEW_VERT,
TH_STITCH_PREVIEW_STITCHABLE,
TH_STITCH_PREVIEW_UNSTITCHABLE,
TH_STITCH_PREVIEW_ACTIVE
TH_STITCH_PREVIEW_ACTIVE,
TH_MATCH, /* highlight color for search matches */
TH_SELECT_HIGHLIGHT /* highlight color for selected outliner item */
};
/* XXX WARNING: previous is saved in file, so do not change order! */

@ -452,6 +452,14 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
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;
}
}
}
@ -792,6 +800,9 @@ void ui_theme_init_default(void)
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);
@ -1696,17 +1707,17 @@ void init_userdef_do_versions(void)
BLI_addtail(&U.addons, baddon);
}
}
if (bmain->versionfile < 260 || (bmain->versionfile == 260 && bmain->subversionfile < 5)) {
bTheme *btheme;
for(btheme= U.themes.first; btheme; btheme= btheme->next) {
SETCOL(btheme->tui.panel.header, 0, 0, 0, 25);
btheme->tui.icon_alpha= 1.0;
}
}
if (bmain->versionfile < 262){
if (bmain->versionfile < 261 || (bmain->versionfile == 261 && bmain->subversionfile < 4)) {
bTheme *btheme;
for(btheme= U.themes.first; btheme; btheme= btheme->next) {
SETCOLF(btheme->tima.preview_stitch_face, 0.071, 0.259, 0.694, 0.150);
@ -1715,10 +1726,14 @@ void init_userdef_do_versions(void)
SETCOLF(btheme->tima.preview_stitch_stitchable, 0.0, 1.0, 0.0, 1.0);
SETCOLF(btheme->tima.preview_stitch_unstitchable, 1.0, 0.0, 0.0, 1.0);
SETCOLF(btheme->tima.preview_stitch_active, 0.886, 0.824, 0.765, 0.140);
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);
}
U.use_16bit_textures = 0;
}
/* GL Texture Garbage Collection (variable abused above!) */
if (U.textimeout == 0) {
U.texcollectrate = 60;

@ -1258,8 +1258,10 @@ static void outliner_draw_tree_element(bContext *C, uiBlock *block, Scene *scene
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 @@ static void outliner_draw_tree(bContext *C, uiBlock *block, Scene *scene, ARegio
}
/* 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);

@ -258,6 +258,9 @@ typedef struct ThemeSpace {
char preview_stitch_stitchable[4];
char preview_stitch_unstitchable[4];
char preview_stitch_active[4];
char match[4]; /* outliner - filter match */
char selected_highlight[4]; /* outliner - selected item */
} ThemeSpace;

@ -1312,6 +1312,7 @@ static void rna_def_userdef_theme_space_file(BlenderRNA *brna)
static void rna_def_userdef_theme_space_outliner(BlenderRNA *brna)
{
StructRNA *srna;
PropertyRNA *prop;
/* space_outliner */
@ -1321,6 +1322,16 @@ static void rna_def_userdef_theme_space_outliner(BlenderRNA *brna)
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)