diff --git a/release/datafiles/icons_svg/record_on.svg b/release/datafiles/icons_svg/record_on.svg
index fbd2812475b..95a19dc5e99 100644
--- a/release/datafiles/icons_svg/record_on.svg
+++ b/release/datafiles/icons_svg/record_on.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/release/datafiles/userdef/userdef_default_theme.c b/release/datafiles/userdef/userdef_default_theme.c
index a3da4c79482..2a3ed7ceef7 100644
--- a/release/datafiles/userdef/userdef_default_theme.c
+++ b/release/datafiles/userdef/userdef_default_theme.c
@@ -244,6 +244,7 @@ const bTheme U_theme_default = {
.icon_modifier = RGBA(0x74a2ffff),
.icon_shading = RGBA(0xcc6670ff),
.icon_folder = RGBA(0xccad63ff),
+ .icon_autokey = RGBA(0xab3c48ff),
.panel_roundness = 0.4f,
},
.space_properties = {
diff --git a/scripts/startup/bl_ui/space_userpref.py b/scripts/startup/bl_ui/space_userpref.py
index 96c44b61f6b..26022bccb79 100644
--- a/scripts/startup/bl_ui/space_userpref.py
+++ b/scripts/startup/bl_ui/space_userpref.py
@@ -1203,6 +1203,7 @@ class USERPREF_PT_theme_interface_icons(ThemePanel, CenterAlignMixIn, Panel):
flow.prop(ui, "icon_modifier")
flow.prop(ui, "icon_shading")
flow.prop(ui, "icon_folder")
+ flow.prop(ui, "icon_autokey")
flow.prop(ui, "icon_border_intensity")
diff --git a/source/blender/blenkernel/BKE_blender_version.h b/source/blender/blenkernel/BKE_blender_version.h
index dd36a60494c..8f2a98c7120 100644
--- a/source/blender/blenkernel/BKE_blender_version.h
+++ b/source/blender/blenkernel/BKE_blender_version.h
@@ -31,7 +31,7 @@ extern "C" {
/* Blender file format version. */
#define BLENDER_FILE_VERSION BLENDER_VERSION
-#define BLENDER_FILE_SUBVERSION 17
+#define BLENDER_FILE_SUBVERSION 18
/* Minimum Blender version that supports reading file written with the current
* version. Older Blender versions will test this and cancel loading the file, showing a warning to
diff --git a/source/blender/blenloader/intern/versioning_userdef.cc b/source/blender/blenloader/intern/versioning_userdef.cc
index bc4e91205b7..be57049f83f 100644
--- a/source/blender/blenloader/intern/versioning_userdef.cc
+++ b/source/blender/blenloader/intern/versioning_userdef.cc
@@ -190,6 +190,10 @@ static void do_versions_theme(const UserDef *userdef, bTheme *btheme)
FROM_DEFAULT_V4_UCHAR(space_sequencer.after_current_frame);
}
+ if (!USER_VERSION_ATLEAST(403, 18)) {
+ FROM_DEFAULT_V4_UCHAR(tui.icon_autokey);
+ }
+
/**
* Always bump subversion in BKE_blender_version.h when adding versioning
* code here, and wrap it inside a USER_VERSION_ATLEAST check.
diff --git a/source/blender/editors/include/UI_icons.hh b/source/blender/editors/include/UI_icons.hh
index 7f51ab9315d..3e9bbfdff6c 100644
--- a/source/blender/editors/include/UI_icons.hh
+++ b/source/blender/editors/include/UI_icons.hh
@@ -137,7 +137,7 @@ DEF_ICON_SCENE(TOOL_SETTINGS)
DEF_ICON_MODIFIER(SHADERFX)
DEF_ICON_MODIFIER(MODIFIER)
DEF_ICON(RECORD_OFF)
-DEF_ICON(RECORD_ON)
+DEF_ICON_COLOR(RECORD_ON)
DEF_ICON(BLANK1) /* Not actually blank - this is used all over the place */
DEF_ICON(FAKE_USER_OFF)
DEF_ICON(FAKE_USER_ON)
diff --git a/source/blender/editors/include/UI_resources.hh b/source/blender/editors/include/UI_resources.hh
index 9a76da80b08..21e580ae471 100644
--- a/source/blender/editors/include/UI_resources.hh
+++ b/source/blender/editors/include/UI_resources.hh
@@ -297,6 +297,7 @@ enum ThemeColorID {
TH_ICON_MODIFIER,
TH_ICON_SHADING,
TH_ICON_FOLDER,
+ TH_ICON_AUTOKEY,
TH_ICON_FUND,
TH_SCROLL_TEXT,
diff --git a/source/blender/editors/interface/interface_icons.cc b/source/blender/editors/interface/interface_icons.cc
index 349b99b320a..860e04dba60 100644
--- a/source/blender/editors/interface/interface_icons.cc
+++ b/source/blender/editors/interface/interface_icons.cc
@@ -1344,6 +1344,7 @@ static void svg_replace_color_attributes(std::string &svg,
{"blender.shading", nullptr, TH_ICON_SHADING},
{"blender.folder", nullptr, TH_ICON_FOLDER},
{"blender.fund", nullptr, TH_ICON_FUND},
+ {"blender.autokey", nullptr, TH_ICON_AUTOKEY},
{"blender.tool_add", tool_add},
{"blender.tool_remove", tool_remove},
{"blender.tool_select", tool_select},
diff --git a/source/blender/editors/interface/resources.cc b/source/blender/editors/interface/resources.cc
index 73e7226dd34..fa43149e588 100644
--- a/source/blender/editors/interface/resources.cc
+++ b/source/blender/editors/interface/resources.cc
@@ -1013,6 +1013,9 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
case TH_ICON_FOLDER:
cp = btheme->tui.icon_folder;
break;
+ case TH_ICON_AUTOKEY:
+ cp = btheme->tui.icon_autokey;
+ break;
case TH_ICON_FUND: {
/* Development fund icon color is not part of theme. */
static const uchar red[4] = {204, 48, 72, 255};
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h
index cf52a8c5f44..280582b6aba 100644
--- a/source/blender/makesdna/DNA_userdef_types.h
+++ b/source/blender/makesdna/DNA_userdef_types.h
@@ -202,6 +202,9 @@ typedef struct ThemeUI {
unsigned char icon_shading[4];
/** File folders. */
unsigned char icon_folder[4];
+ /** Auto Keying indicator. */
+ unsigned char icon_autokey[4];
+ char _pad3[4];
/** Intensity of the border icons. >0 will render an border around themed
* icons. */
float icon_border_intensity;
diff --git a/source/blender/makesrna/intern/rna_userdef.cc b/source/blender/makesrna/intern/rna_userdef.cc
index 9dd88854710..e8bda53254d 100644
--- a/source/blender/makesrna/intern/rna_userdef.cc
+++ b/source/blender/makesrna/intern/rna_userdef.cc
@@ -2021,6 +2021,13 @@ static void rna_def_userdef_theme_ui(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "File Folders", "Color of folders in the file browser");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
+ prop = RNA_def_property(srna, "icon_autokey", PROP_FLOAT, PROP_COLOR_GAMMA);
+ RNA_def_property_float_sdna(prop, nullptr, "icon_autokey");
+ RNA_def_property_array(prop, 4);
+ RNA_def_property_ui_text(
+ prop, "Auto Keying Indicator", "Color of Auto Keying indicator when enabled");
+ RNA_def_property_update(prop, 0, "rna_userdef_gpu_update");
+
prop = RNA_def_property(srna, "icon_border_intensity", PROP_FLOAT, PROP_FACTOR);
RNA_def_property_float_sdna(prop, nullptr, "icon_border_intensity");
RNA_def_property_ui_text(