[Bf-blender-cvs] [ab1c9809140] soc-2017-package_manager: Add a tab to user preferences

gandalf3 noreply at git.blender.org
Sat Jun 10 09:03:26 CEST 2017


Commit: ab1c98091408480f6a630676ab94cbe6fbac23a6
Author: gandalf3
Date:   Sat Jun 10 00:01:05 2017 -0700
Branches: soc-2017-package_manager
https://developer.blender.org/rBab1c98091408480f6a630676ab94cbe6fbac23a6

Add a tab to user preferences

Not sure if this is fully correct; getting crashes with non-factory
settings.

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

M	release/scripts/startup/bl_ui/space_userpref.py
M	source/blender/makesdna/DNA_userdef_types.h
M	source/blender/makesrna/RNA_access.h
M	source/blender/makesrna/intern/rna_userdef.c

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

diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py
index 5ed481a215a..1cffbafe6c3 100644
--- a/release/scripts/startup/bl_ui/space_userpref.py
+++ b/release/scripts/startup/bl_ui/space_userpref.py
@@ -1310,6 +1310,23 @@ class USERPREF_MT_addons_online_resources(Menu):
                 ).url = bpy.types.WM_OT_doc_view._prefix + "/info_quickstart.html"
         layout.operator("wm.url_open", text="Add-on Tutorial", icon='URL',
                 ).url = bpy.types.WM_OT_doc_view._prefix + "/info_tutorial_addon.html"
+                
+
+class USERPREF_PT_packages(Panel):
+    bl_space_type = 'USER_PREFERENCES'
+    bl_label = "Packages"
+    bl_region_type = 'WINDOW'
+    bl_options = {'HIDE_HEADER'}
+    
+    def draw(self, context):
+        @classmethod
+        def poll(cls, context):
+            userpref = context.user_preferences
+            return (userpref.active_section == 'PACKAGES')
+        
+        def draw(self, context):
+            pass
+
 
 
 class USERPREF_PT_addons(Panel):
@@ -1557,6 +1574,7 @@ classes = (
     USERPREF_MT_splash_footer,
     USERPREF_PT_interface,
     USERPREF_PT_edit,
+    USERPREF_PT_packages,
     USERPREF_PT_system,
     USERPREF_MT_interface_theme_presets,
     USERPREF_PT_theme,
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h
index 5e7e7366e35..11b9c1b48d2 100644
--- a/source/blender/makesdna/DNA_userdef_types.h
+++ b/source/blender/makesdna/DNA_userdef_types.h
@@ -591,6 +591,7 @@ typedef enum eUserPref_Section {
 	USER_SECTION_THEME		= 4,
 	USER_SECTION_INPUT		= 5,
 	USER_SECTION_ADDONS 	= 6,
+	USER_SECTION_PACKAGES 	= 7,
 } eUserPref_Section;
 
 /* flag */
diff --git a/source/blender/makesrna/RNA_access.h b/source/blender/makesrna/RNA_access.h
index a1af3f98274..6587bb03983 100644
--- a/source/blender/makesrna/RNA_access.h
+++ b/source/blender/makesrna/RNA_access.h
@@ -678,6 +678,7 @@ extern StructRNA RNA_UnknownType;
 extern StructRNA RNA_UserPreferences;
 extern StructRNA RNA_UserPreferencesEdit;
 extern StructRNA RNA_UserPreferencesFilePaths;
+extern StructRNA RNA_UserPreferencesPackages;
 extern StructRNA RNA_UserPreferencesInput;
 extern StructRNA RNA_UserPreferencesSystem;
 extern StructRNA RNA_UserPreferencesView;
diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c
index d1e89ea18d0..554b786ca69 100644
--- a/source/blender/makesrna/intern/rna_userdef.c
+++ b/source/blender/makesrna/intern/rna_userdef.c
@@ -339,6 +339,11 @@ static PointerRNA rna_UserDef_filepaths_get(PointerRNA *ptr)
 	return rna_pointer_inherit_refine(ptr, &RNA_UserPreferencesFilePaths, ptr->data);
 }
 
+static PointerRNA rna_UserDef_packages_get(PointerRNA *ptr)
+{
+	return rna_pointer_inherit_refine(ptr, &RNA_UserPreferencesPackages, ptr->data);
+}
+
 static PointerRNA rna_UserDef_system_get(PointerRNA *ptr)
 {
 	return rna_pointer_inherit_refine(ptr, &RNA_UserPreferencesSystem, ptr->data);
@@ -4575,6 +4580,18 @@ static void rna_def_userdef_filepaths(BlenderRNA *brna)
 	                         "Enables automatic saving of preview images in the .blend file");
 }
 
+static void rna_def_userdef_packages(BlenderRNA *brna)
+{
+	PropertyRNA *prop;
+	StructRNA *srna;
+
+	srna = RNA_def_struct(brna, "UserPreferencesPackages", NULL);
+	RNA_def_struct_sdna(srna, "UserDef");
+	RNA_def_struct_nested(brna, srna, "UserPreferences");
+	RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
+	RNA_def_struct_ui_text(srna, "Packages", "Where packages are managed");
+}
+
 static void rna_def_userdef_addon_collection(BlenderRNA *brna, PropertyRNA *cprop)
 {
 	StructRNA *srna;
@@ -4640,6 +4657,7 @@ void RNA_def_userdef(BlenderRNA *brna)
 		{USER_SECTION_THEME, "THEMES", 0, "Themes", ""},
 		{USER_SECTION_FILE, "FILES", 0, "File", ""},
 		{USER_SECTION_SYSTEM, "SYSTEM", 0, "System", ""},
+		{USER_SECTION_PACKAGES, "PACKAGES", 0, "Packages", ""},
 		{0, NULL, 0, NULL, NULL}
 	};
 
@@ -4710,7 +4728,13 @@ void RNA_def_userdef(BlenderRNA *brna)
 	RNA_def_property_struct_type(prop, "UserPreferencesFilePaths");
 	RNA_def_property_pointer_funcs(prop, "rna_UserDef_filepaths_get", NULL, NULL, NULL);
 	RNA_def_property_ui_text(prop, "File Paths", "Default paths for external files");
-	
+
+	prop = RNA_def_property(srna, "packages", PROP_POINTER, PROP_NONE);
+	RNA_def_property_flag(prop, PROP_NEVER_NULL);
+	RNA_def_property_struct_type(prop, "UserPreferencesPackages");
+	RNA_def_property_pointer_funcs(prop, "rna_UserDef_packages_get", NULL, NULL, NULL);
+	RNA_def_property_ui_text(prop, "Packages", "test");
+
 	prop = RNA_def_property(srna, "system", PROP_POINTER, PROP_NONE);
 	RNA_def_property_flag(prop, PROP_NEVER_NULL);
 	RNA_def_property_struct_type(prop, "UserPreferencesSystem");
@@ -4727,6 +4751,7 @@ void RNA_def_userdef(BlenderRNA *brna)
 	rna_def_userdef_edit(brna);
 	rna_def_userdef_input(brna);
 	rna_def_userdef_filepaths(brna);
+	rna_def_userdef_packages(brna);
 	rna_def_userdef_system(brna);
 	rna_def_userdef_addon(brna);
 	rna_def_userdef_addon_pref(brna);




More information about the Bf-blender-cvs mailing list