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);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to