[Bf-blender-cvs] [e1293da0140] blender2.8: Splash: add themes to first time setup in splash screen.

Brecht Van Lommel noreply at git.blender.org
Mon Oct 8 19:49:40 CEST 2018


Commit: e1293da01404ce2ae865e8a184c444715f747431
Author: Brecht Van Lommel
Date:   Mon Oct 8 19:19:05 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBe1293da01404ce2ae865e8a184c444715f747431

Splash: add themes to first time setup in splash screen.

* Add default theme as Blender Dark.
* Rename Flatty Light to Blender Light.
* When setting theme, reset to default first for consistent results.

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

A	release/scripts/presets/interface_theme/blender_dark.xml
R100	release/scripts/presets/interface_theme/flatty_light.xml	release/scripts/presets/interface_theme/blender_light.xml
M	release/scripts/startup/bl_operators/presets.py
M	release/scripts/startup/bl_operators/wm.py
M	release/scripts/startup/bl_ui/space_userpref.py

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

diff --git a/release/scripts/presets/interface_theme/blender_dark.xml b/release/scripts/presets/interface_theme/blender_dark.xml
new file mode 100644
index 00000000000..8bbb747447b
--- /dev/null
+++ b/release/scripts/presets/interface_theme/blender_dark.xml
@@ -0,0 +1,6 @@
+<bpy>
+  <Theme>
+  </Theme>
+  <ThemeStyle>
+  </ThemeStyle>
+</bpy>
diff --git a/release/scripts/presets/interface_theme/flatty_light.xml b/release/scripts/presets/interface_theme/blender_light.xml
similarity index 100%
rename from release/scripts/presets/interface_theme/flatty_light.xml
rename to release/scripts/presets/interface_theme/blender_light.xml
diff --git a/release/scripts/startup/bl_operators/presets.py b/release/scripts/startup/bl_operators/presets.py
index 9cc1591494a..59bcae2a789 100644
--- a/release/scripts/startup/bl_operators/presets.py
+++ b/release/scripts/startup/bl_operators/presets.py
@@ -238,6 +238,13 @@ class ExecutePreset(Operator):
 
         ext = splitext(filepath)[1].lower()
 
+        if ext not in {".py", ".xml"}:
+            self.report({'ERROR'}, "unknown filetype: %r" % ext)
+            return {'CANCELLED'}
+
+        if hasattr(preset_class, "pre_cb"):
+            preset_class.pre_cb(context)
+
         # execute the preset using script.python_file_run
         if ext == ".py":
             bpy.ops.script.python_file_run(filepath=filepath)
@@ -246,9 +253,9 @@ class ExecutePreset(Operator):
             rna_xml.xml_file_run(context,
                                  filepath,
                                  preset_class.preset_xml_map)
-        else:
-            self.report({'ERROR'}, "unknown filetype: %r" % ext)
-            return {'CANCELLED'}
+
+        if hasattr(preset_class, "post_cb"):
+            preset_class.post_cb(context)
 
         return {'FINISHED'}
 
@@ -564,6 +571,9 @@ class AddPresetInterfaceTheme(AddPresetBase, Operator):
     preset_menu = "USERPREF_MT_interface_theme_presets"
     preset_subdir = "interface_theme"
 
+    def pre_cb(self, context):
+        bpy.ops.ui.reset_default_theme()
+
 
 class AddPresetKeyconfig(AddPresetBase, Operator):
     """Add or remove a Key-config Preset"""
diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py
index 52b645685ba..4fcadbf63e3 100644
--- a/release/scripts/startup/bl_operators/wm.py
+++ b/release/scripts/startup/bl_operators/wm.py
@@ -2559,8 +2559,6 @@ class WM_MT_splash(Menu):
 
         col = split.column()
 
-        col.label()
-
         sub = col.column(align=True)
         sub.label(text="Input and Shortcuts:")
         text = bpy.path.display_name(context.window_manager.keyconfigs.active.name)
@@ -2570,13 +2568,19 @@ class WM_MT_splash(Menu):
 
         col.separator()
 
+        sub = col.column(align=True)
+        sub.label(text="Theme:")
+        label = bpy.types.USERPREF_MT_interface_theme_presets.bl_label
+        if label == "Presets":
+            label = "Blender Dark"
+        sub.menu("USERPREF_MT_interface_theme_presets", text=label)
+
         # We need to make switching to a language easier first
         #sub = col.column(align=False)
         # sub.label(text="Language:")
         #userpref = context.user_preferences
         #sub.prop(userpref.system, "language", text="")
 
-        col.label()
         col.label()
 
         layout.label()
diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py
index ce52e8cb837..21c2e32e932 100644
--- a/release/scripts/startup/bl_ui/space_userpref.py
+++ b/release/scripts/startup/bl_ui/space_userpref.py
@@ -505,6 +505,9 @@ class USERPREF_MT_interface_theme_presets(Menu):
     )
     draw = Menu.draw_preset
 
+    def pre_cb(context):
+        bpy.ops.ui.reset_default_theme()
+
 
 class USERPREF_PT_theme(Panel):
     bl_space_type = 'USER_PREFERENCES'



More information about the Bf-blender-cvs mailing list