[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