[Bf-blender-cvs] [c8583415e58] blender-projects-basics: Add theme options for new project settings editor

Julian Eisel noreply at git.blender.org
Mon Oct 3 21:46:01 CEST 2022


Commit: c8583415e58130115f381bfad2c4341dd97c3a7e
Author: Julian Eisel
Date:   Mon Oct 3 21:45:10 2022 +0200
Branches: blender-projects-basics
https://developer.blender.org/rBc8583415e58130115f381bfad2c4341dd97c3a7e

Add theme options for new project settings editor

===================================================================

M	release/datafiles/userdef/userdef_default_theme.c
M	release/scripts/presets/interface_theme/Blender_Light.xml
M	source/blender/blenloader/intern/versioning_userdef.c
M	source/blender/editors/interface/resources.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 04ad04d4812..b1732b3bf5f 100644
--- a/release/datafiles/userdef/userdef_default_theme.c
+++ b/release/datafiles/userdef/userdef_default_theme.c
@@ -898,6 +898,33 @@ const bTheme U_theme_default = {
     .outline_width = 1,
     .facedot_size = 4,
   },
+  .space_project_settings = {
+    .back = RGBA(0x30303000),
+    .title = RGBA(0xeeeeeeff),
+    .text = RGBA(0xe6e6e6ff),
+    .text_hi = RGBA(0xffffffff),
+    .header = RGBA(0x303030b3),
+    .header_text = RGBA(0xeeeeeeff),
+    .header_text_hi = RGBA(0xffffffff),
+    .tab_active = RGBA(0x303030ff),
+    .tab_inactive = RGBA(0x1d1d1dff),
+    .tab_back = RGBA(0x181818ff),
+    .tab_outline = RGBA(0x3d3d3dff),
+    .button = RGBA(0x1d1d1dff),
+    .button_title = RGBA(0xffffffff),
+    .button_text = RGBA(0xccccccff),
+    .button_text_hi = RGBA(0xffffffff),
+    .navigation_bar = RGBA(0x303030ff),
+    .execution_buts = RGBA(0x303030ff),
+    .panelcolors = {
+      .header = RGBA(0x3d3d3dff),
+      .back = RGBA(0x3d3d3dff),
+      .sub_back = RGBA(0x0000001f),
+    },
+    .vertex_size = 3,
+    .outline_width = 1,
+    .facedot_size = 4,
+  },
   .space_console = {
     .back = RGBA(0x1d1d1d00),
     .title = RGBA(0xeeeeeeff),
diff --git a/release/scripts/presets/interface_theme/Blender_Light.xml b/release/scripts/presets/interface_theme/Blender_Light.xml
index 49955bc3ff9..17627debe83 100644
--- a/release/scripts/presets/interface_theme/Blender_Light.xml
+++ b/release/scripts/presets/interface_theme/Blender_Light.xml
@@ -1135,6 +1135,40 @@
         </space>
       </ThemePreferences>
     </preferences>
+    <project_settings>
+      <ThemeProjectSettings>
+        <space>
+          <ThemeSpaceGeneric
+            back="#b3b3b3"
+            title="#181818"
+            text="#000000"
+            text_hi="#ffffff"
+            header="#b3b3b3ff"
+            header_text="#000000"
+            header_text_hi="#ffffff"
+            button="#7272727f"
+            button_title="#000000"
+            button_text="#000000"
+            button_text_hi="#000000"
+            navigation_bar="#b3b3b3ff"
+            execution_buts="#b3b3b3ff"
+            tab_active="#6697e6"
+            tab_inactive="#535353"
+            tab_back="#404040ff"
+            tab_outline="#3c3c3c"
+            >
+            <panelcolors>
+              <ThemePanelColors
+                header="#b3b3b300"
+                back="#a3a3a3cc"
+                sub_back="#00000024"
+                >
+              </ThemePanelColors>
+            </panelcolors>
+          </ThemeSpaceGeneric>
+        </space>
+      </ThemeProjectSettings>
+    </project_settings>
     <console>
       <ThemeConsole
         line_output="#6080ff"
diff --git a/source/blender/blenloader/intern/versioning_userdef.c b/source/blender/blenloader/intern/versioning_userdef.c
index b4890131861..2014e1f93da 100644
--- a/source/blender/blenloader/intern/versioning_userdef.c
+++ b/source/blender/blenloader/intern/versioning_userdef.c
@@ -98,6 +98,7 @@ static void do_versions_theme(const UserDef *userdef, bTheme *btheme)
    */
   {
     /* Keep this block, even when empty. */
+    btheme->space_project_settings = btheme->space_preferences;
   }
 
 #undef FROM_DEFAULT_V4_UCHAR
diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c
index 93b94d42d39..2f460de4ebc 100644
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@ -129,6 +129,9 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
         case SPACE_USERPREF:
           ts = &btheme->space_preferences;
           break;
+        case SPACE_PROJECT_SETTINGS:
+          ts = &btheme->space_project_settings;
+          break;
         case SPACE_CONSOLE:
           ts = &btheme->space_console;
           break;
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h
index 9d8b75450ca..e743c416f77 100644
--- a/source/blender/makesdna/DNA_userdef_types.h
+++ b/source/blender/makesdna/DNA_userdef_types.h
@@ -487,6 +487,7 @@ typedef struct bTheme {
   ThemeSpace space_outliner;
   ThemeSpace space_node;
   ThemeSpace space_preferences;
+  ThemeSpace space_project_settings;
   ThemeSpace space_console;
   ThemeSpace space_clip;
   ThemeSpace space_topbar;
diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c
index c9e3822c996..fb2bc7b46ae 100644
--- a/source/blender/makesrna/intern/rna_userdef.c
+++ b/source/blender/makesrna/intern/rna_userdef.c
@@ -2514,6 +2514,21 @@ static void rna_def_userdef_theme_space_userpref(BlenderRNA *brna)
   rna_def_userdef_theme_spaces_main(srna);
 }
 
+static void rna_def_userdef_theme_space_project_settings(BlenderRNA *brna)
+{
+  StructRNA *srna;
+
+  /* space_userpref */
+
+  srna = RNA_def_struct(brna, "ThemeProjectSettings", NULL);
+  RNA_def_struct_sdna(srna, "ThemeSpace");
+  RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
+  RNA_def_struct_ui_text(
+      srna, "Theme Project Settings", "Theme settings for the Blender project settings editor");
+
+  rna_def_userdef_theme_spaces_main(srna);
+}
+
 static void rna_def_userdef_theme_space_console(BlenderRNA *brna)
 {
   StructRNA *srna;
@@ -3854,6 +3869,8 @@ static void rna_def_userdef_themes(BlenderRNA *brna)
       {11, "PROPERTIES", ICON_PROPERTIES, "Properties", ""},
       {12, "OUTLINER", ICON_OUTLINER, "Outliner", ""},
       {14, "PREFERENCES", ICON_PREFERENCES, "Preferences", ""},
+      /* TODO icon */
+      {24, "PROJECT_SETTINGS", ICON_PREFERENCES, "Project Settings", ""},
       {15, "INFO", ICON_INFO, "Info", ""},
       {16, "FILE_BROWSER", ICON_FILEBROWSER, "File Browser", ""},
       {17, "CONSOLE", ICON_CONSOLE, "Python Console", ""},
@@ -3966,6 +3983,12 @@ static void rna_def_userdef_themes(BlenderRNA *brna)
   RNA_def_property_struct_type(prop, "ThemePreferences");
   RNA_def_property_ui_text(prop, "Preferences", "");
 
+  prop = RNA_def_property(srna, "project_settings", PROP_POINTER, PROP_NONE);
+  RNA_def_property_flag(prop, PROP_NEVER_NULL);
+  RNA_def_property_pointer_sdna(prop, NULL, "space_project_settings");
+  RNA_def_property_struct_type(prop, "ThemeProjectSettings");
+  RNA_def_property_ui_text(prop, "Project Settings", "");
+
   prop = RNA_def_property(srna, "console", PROP_POINTER, PROP_NONE);
   RNA_def_property_flag(prop, PROP_NEVER_NULL);
   RNA_def_property_pointer_sdna(prop, NULL, "space_console");
@@ -4250,6 +4273,7 @@ static void rna_def_userdef_dothemes(BlenderRNA *brna)
   rna_def_userdef_theme_space_outliner(brna);
   rna_def_userdef_theme_space_info(brna);
   rna_def_userdef_theme_space_userpref(brna);
+  rna_def_userdef_theme_space_project_settings(brna);
   rna_def_userdef_theme_space_console(brna);
   rna_def_userdef_theme_space_clip(brna);
   rna_def_userdef_theme_space_topbar(brna);



More information about the Bf-blender-cvs mailing list