[Bf-blender-cvs] [c8daddf7db4] blender-projects-basics: Rename File->New Project to Set up Project, open settings after

Julian Eisel noreply at git.blender.org
Fri Oct 7 15:38:37 CEST 2022


Commit: c8daddf7db44246274871e017856bf1e6271c0af
Author: Julian Eisel
Date:   Fri Oct 7 15:37:54 2022 +0200
Branches: blender-projects-basics
https://developer.blender.org/rBc8daddf7db44246274871e017856bf1e6271c0af

Rename File->New Project to Set up Project, open settings after

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

M	release/scripts/startup/bl_ui/space_topbar.py
M	source/blender/editors/include/ED_screen.h
M	source/blender/editors/screen/screen_ops.c
M	source/blender/windowmanager/intern/wm_files.c

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

diff --git a/release/scripts/startup/bl_ui/space_topbar.py b/release/scripts/startup/bl_ui/space_topbar.py
index 89870371740..8af91030cd0 100644
--- a/release/scripts/startup/bl_ui/space_topbar.py
+++ b/release/scripts/startup/bl_ui/space_topbar.py
@@ -278,7 +278,8 @@ class TOPBAR_MT_file(Menu):
         layout.operator("wm.revert_mainfile")
         layout.menu("TOPBAR_MT_file_recover")
 
-        layout.operator("wm.new_project", text="New Project...")
+        props = layout.operator("wm.new_project", text="Set up Project...")
+        props.open_settings_after = True
 
         layout.separator()
 
diff --git a/source/blender/editors/include/ED_screen.h b/source/blender/editors/include/ED_screen.h
index e1fd53ccdee..69ad6f8abba 100644
--- a/source/blender/editors/include/ED_screen.h
+++ b/source/blender/editors/include/ED_screen.h
@@ -28,6 +28,7 @@ struct Depsgraph;
 struct IDProperty;
 struct Main;
 struct MenuType;
+struct ReportList;
 struct Scene;
 struct SpaceLink;
 struct WorkSpace;
@@ -491,6 +492,9 @@ int ED_screen_animation_play(struct bContext *C, int sync, int mode);
 bScreen *ED_screen_animation_playing(const struct wmWindowManager *wm);
 bScreen *ED_screen_animation_no_scrub(const struct wmWindowManager *wm);
 
+/** \return True on success. */
+bool ED_project_settings_window_show(struct bContext *C, struct ReportList *reports);
+
 /* screen keymaps */
 /* called in spacetypes.c */
 void ED_operatortypes_screen(void);
diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c
index 22a4c33e10b..dc1f092ff16 100644
--- a/source/blender/editors/screen/screen_ops.c
+++ b/source/blender/editors/screen/screen_ops.c
@@ -5131,10 +5131,15 @@ static void SCREEN_OT_userpref_show(struct wmOperatorType *ot)
 /** \name Show Project Settings Operator
  * \{ */
 
+bool ED_project_settings_window_show(bContext *C, ReportList *reports)
+{
+  return settings_window_show(
+      C, SPACE_PROJECT_SETTINGS, IFACE_("Blender Project Settings"), reports);
+}
+
 static int project_settings_show_exec(bContext *C, wmOperator *op)
 {
-  if (settings_window_show(
-          C, SPACE_PROJECT_SETTINGS, IFACE_("Blender Project Settings"), op->reports)) {
+  if (ED_project_settings_window_show(C, op->reports)) {
     return OPERATOR_FINISHED;
   }
 
diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c
index a8e39c425f2..45e5c59b0b9 100644
--- a/source/blender/windowmanager/intern/wm_files.c
+++ b/source/blender/windowmanager/intern/wm_files.c
@@ -2422,6 +2422,12 @@ static int wm_new_project_exec(bContext *C, wmOperator *op)
                 "project is not active");
   }
 
+  PropertyRNA *prop_open_settings = RNA_struct_find_property(op->ptr, "open_settings_after");
+  if (RNA_property_is_set(op->ptr, prop_open_settings) &&
+      RNA_property_boolean_get(op->ptr, prop_open_settings)) {
+    ED_project_settings_window_show(C, op->reports);
+  }
+
   return OPERATOR_FINISHED;
 }
 
@@ -2455,6 +2461,14 @@ void WM_OT_new_project(wmOperatorType *ot)
                                  WM_FILESEL_DIRECTORY,
                                  FILE_DEFAULTDISPLAY,
                                  FILE_SORT_DEFAULT);
+
+  PropertyRNA *prop;
+  prop = RNA_def_boolean(ot->srna,
+                         "open_settings_after",
+                         false,
+                         "",
+                         "Open the project settings window after successfully creating a project");
+  RNA_def_property_flag(prop, PROP_HIDDEN);
 }
 
 /** \} */



More information about the Bf-blender-cvs mailing list