[Bf-blender-cvs] [28a72c63f1e] soc-2020-info-editor: UI: indicate active report in info editor
Mateusz GrzeliÅski
noreply at git.blender.org
Sat Jun 6 23:57:56 CEST 2020
Commit: 28a72c63f1e8c97fa55f8d2b4d5b8fa813580bb6
Author: Mateusz Grzeliński
Date: Sat Jun 6 21:31:57 2020 +0200
Branches: soc-2020-info-editor
https://developer.blender.org/rB28a72c63f1e8c97fa55f8d2b4d5b8fa813580bb6
UI: indicate active report in info editor
- use the same color scheme as outliner
- no not show zebra in selected reports (be consistent with outliner)
- add new info_active (report) theme setting
===================================================================
M release/datafiles/userdef/userdef_default_theme.c
M source/blender/editors/include/UI_resources.h
M source/blender/editors/interface/resources.c
M source/blender/editors/space_info/info_draw.c
M source/blender/makesdna/DNA_userdef_types.h
M source/blender/makesrna/intern/rna_userdef.c
===================================================================
diff --git a/release/datafiles/userdef/userdef_default_theme.c b/release/datafiles/userdef/userdef_default_theme.c
index 4d48bb8eaac..3f81e230a57 100644
--- a/release/datafiles/userdef/userdef_default_theme.c
+++ b/release/datafiles/userdef/userdef_default_theme.c
@@ -483,7 +483,8 @@ const bTheme U_theme_default = {
.vertex_size = 3,
.outline_width = 1,
.facedot_size = 4,
- .info_selected = RGBA(0x3b5689ff),
+ .info_selected = RGBA(0x223A5Bff),
+ .info_active = RGBA(0x3B5689ff),
.info_selected_text = RGBA(0xffffffff),
.info_error = RGBA(0xff613dff),
.info_error_text = RGBA(0xffffffff),
diff --git a/source/blender/editors/include/UI_resources.h b/source/blender/editors/include/UI_resources.h
index c5c4ca79f14..c26df3a75e3 100644
--- a/source/blender/editors/include/UI_resources.h
+++ b/source/blender/editors/include/UI_resources.h
@@ -326,6 +326,7 @@ typedef enum ThemeColorID {
TH_BACKGROUND_TYPE,
TH_INFO_SELECTED,
+ TH_INFO_ACTIVE,
TH_INFO_SELECTED_TEXT,
TH_INFO_ERROR,
TH_INFO_ERROR_TEXT,
diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c
index 01c9716ec86..78c4caa6937 100644
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@ -974,6 +974,9 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
case TH_INFO_SELECTED:
cp = ts->info_selected;
break;
+ case TH_INFO_ACTIVE:
+ cp = ts->info_active;
+ break;
case TH_INFO_SELECTED_TEXT:
cp = ts->info_selected_text;
break;
diff --git a/source/blender/editors/space_info/info_draw.c b/source/blender/editors/space_info/info_draw.c
index 3685e5de852..1ea660f3886 100644
--- a/source/blender/editors/space_info/info_draw.c
+++ b/source/blender/editors/space_info/info_draw.c
@@ -21,6 +21,7 @@
* \ingroup spinfo
*/
+#include <BLI_blenlib.h>
#include <limits.h>
#include <string.h>
@@ -47,13 +48,24 @@ static enum eTextViewContext_LineFlag report_line_data(TextViewContext *tvc,
uchar r_icon_bg[4])
{
const Report *report = tvc->iter;
+ const SpaceInfo *sinfo = tvc->arg1;
+ const ReportList *reports = tvc->arg2;
+ const Report *active_report = BLI_findlink((const struct ListBase *)reports,
+ sinfo->active_report_index);
/* Same text color no matter what type of report. */
UI_GetThemeColor4ubv((report->flag & SELECT) ? TH_INFO_SELECTED_TEXT : TH_TEXT, fg);
- /* Zebra striping for background. */
- int bg_id = (report->flag & SELECT) ? TH_INFO_SELECTED : TH_BACK;
- int shade = (tvc->iter_tmp % 2) ? 4 : -4;
+ /* Zebra striping for background, only for deselected reports. */
+ int bg_id, shade;
+ if (report->flag & SELECT) {
+ bg_id = (report == active_report) ? TH_INFO_ACTIVE : TH_INFO_SELECTED;
+ shade = 0;
+ }
+ else {
+ bg_id = TH_BACK;
+ shade = (tvc->iter_tmp % 2) ? 4 : -4;
+ }
UI_GetThemeColorShade4ubv(bg_id, shade, bg);
/* Icon color and backgound depend of report type. */
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h
index 63e7a90547e..5d3207116e5 100644
--- a/source/blender/makesdna/DNA_userdef_types.h
+++ b/source/blender/makesdna/DNA_userdef_types.h
@@ -415,7 +415,7 @@ typedef struct ThemeSpace {
unsigned char nla_sound[4], nla_sound_sel[4];
/* info */
- unsigned char info_selected[4], info_selected_text[4];
+ unsigned char info_selected[4], info_active[4], info_selected_text[4];
unsigned char info_error[4], info_error_text[4];
unsigned char info_warning[4], info_warning_text[4];
unsigned char info_info[4], info_info_text[4];
@@ -428,6 +428,7 @@ typedef struct ThemeSpace {
unsigned char metadatabg[4];
unsigned char metadatatext[4];
+ char _pad2[4];
} ThemeSpace;
diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c
index 49a0121dadb..41c41a0dc93 100644
--- a/source/blender/makesrna/intern/rna_userdef.c
+++ b/source/blender/makesrna/intern/rna_userdef.c
@@ -2605,6 +2605,11 @@ static void rna_def_userdef_theme_space_info(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Selected Line Background", "Background color of selected line");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
+ prop = RNA_def_property(srna, "info_active", PROP_FLOAT, PROP_COLOR_GAMMA);
+ RNA_def_property_array(prop, 3);
+ RNA_def_property_ui_text(prop, "Active Line Background", "Background color of active line");
+ RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
+
prop = RNA_def_property(srna, "info_selected_text", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_array(prop, 3);
RNA_def_property_ui_text(prop, "Selected Line Text Color", "Text color of selected line");
More information about the Bf-blender-cvs
mailing list