[Bf-blender-cvs] [4279181f108] soc-2020-custom-menus: Custom Menu : Fix icon edition

TempoDev noreply at git.blender.org
Sat Aug 8 17:41:38 CEST 2020


Commit: 4279181f1089d41247f108bbe501954e9c487dea
Author: TempoDev
Date:   Sat Aug 8 17:41:30 2020 +0200
Branches: soc-2020-custom-menus
https://developer.blender.org/rB4279181f1089d41247f108bbe501954e9c487dea

Custom Menu : Fix icon edition

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

M	release/datafiles/locale
M	release/scripts/addons
M	release/scripts/addons_contrib
M	release/scripts/modules/rna_user_menus_ui.py
M	release/scripts/startup/bl_operators/userpref.py
M	source/blender/makesdna/DNA_userdef_types.h
M	source/blender/makesrna/intern/rna_userdef.c
M	source/tools

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

diff --git a/release/datafiles/locale b/release/datafiles/locale
index 2b3c19f5f61..a6b1e6365f5 160000
--- a/release/datafiles/locale
+++ b/release/datafiles/locale
@@ -1 +1 @@
-Subproject commit 2b3c19f5f61fc72dba56a7edfdc4e55e2327dc1f
+Subproject commit a6b1e6365f57a83b323cf781e50ada3fa1b3f73f
diff --git a/release/scripts/addons b/release/scripts/addons
index 49c39f59fbc..5d33d1a1c25 160000
--- a/release/scripts/addons
+++ b/release/scripts/addons
@@ -1 +1 @@
-Subproject commit 49c39f59fbc464dd34388990123f271c39eacbf4
+Subproject commit 5d33d1a1c2531e64bda78d46b517571f2b1e98e7
diff --git a/release/scripts/addons_contrib b/release/scripts/addons_contrib
index a52733b58d9..9468c406fb5 160000
--- a/release/scripts/addons_contrib
+++ b/release/scripts/addons_contrib
@@ -1 +1 @@
-Subproject commit a52733b58d95ce60ecde95a9eca242e7319c285a
+Subproject commit 9468c406fb554e32ff47b62bfef356b3908ec651
diff --git a/release/scripts/modules/rna_user_menus_ui.py b/release/scripts/modules/rna_user_menus_ui.py
index f2b1c3a7cf1..3ea07348da4 100644
--- a/release/scripts/modules/rna_user_menus_ui.py
+++ b/release/scripts/modules/rna_user_menus_ui.py
@@ -68,9 +68,9 @@ def draw_button(context, box, item, index):
     row = col.row(align=True)
     if item.type == "SEPARATOR":
         name = "___________"
-    icons = bpy.types.UILayout.bl_rna.functions["prop"].parameters["icon"].enum_items.keys()
-    selected_icon = icons[item.icon]
-    row.prop(item, "is_selected", icon=selected_icon, text=name, toggle=1)
+    #icons = bpy.types.UILayout.bl_rna.functions["prop"].parameters["icon"].enum_items.keys()
+    #selected_icon = icons[item.icon]
+    row.prop(item, "is_selected", icon=item.icon, text=name, toggle=1)
     if item.type == "SUBMENU":
         sm = item.get_submenu()
         if um.active_group.is_pie and index >= 0:
@@ -147,11 +147,7 @@ def draw_item_editor(context, row):
         col.prop(current, "type")
         if (current.type != "SEPARATOR"):
             rowsub = col.row(align=True)
-            icons = bpy.types.UILayout.bl_rna.functions["prop"].parameters["icon"].enum_items.keys()
-            current.icon_name = icons[current.icon]
-            rowsub.operator("preferences.icon_change", text="", icon='TRIA_LEFT').value = -1
-            rowsub.prop(current, "icon_name", text="")
-            rowsub.operator("preferences.icon_change", text="", icon='TRIA_RIGHT').value = 1
+            rowsub.prop(current, "icon", icon=current.icon, text="")
             col.prop(current, "name")
         if (current.type == "OPERATOR"):
             umi_op = current.get_operator()
diff --git a/release/scripts/startup/bl_operators/userpref.py b/release/scripts/startup/bl_operators/userpref.py
index 5b81d5d25fc..73179e302fc 100644
--- a/release/scripts/startup/bl_operators/userpref.py
+++ b/release/scripts/startup/bl_operators/userpref.py
@@ -1334,23 +1334,6 @@ class PREFERENCES_OT_pie_menuitem_add(Operator):
         context.preferences.is_dirty = True
         return {'FINISHED'}
 
-class PREFERENCES_OT_icon_change(Operator):
-    """change user menu item icon"""
-    bl_idname = "preferences.icon_change"
-    bl_label = "Change User Menu Item Icon"
-
-    value: IntProperty()
-
-    def execute(self, context):
-        prefs = context.preferences
-        um = prefs.user_menus
-        item = um.active_item
-        icons = bpy.types.UILayout.bl_rna.functions["prop"].parameters["icon"].enum_items.keys()
-
-        item.icon = item.icon + self.value
-        item.icon_name = icons[item.icon]
-        return {'FINISHED'}
-
 classes = (
     PREFERENCES_OT_addon_disable,
     PREFERENCES_OT_addon_enable,
@@ -1384,5 +1367,4 @@ classes = (
     PREFERENCES_OT_menuitem_up,
     PREFERENCES_OT_menuitem_down,
     PREFERENCES_OT_pie_menuitem_add,
-    PREFERENCES_OT_icon_change,
 )
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h
index 975a5274ecd..e64513ade0c 100644
--- a/source/blender/makesdna/DNA_userdef_types.h
+++ b/source/blender/makesdna/DNA_userdef_types.h
@@ -541,13 +541,12 @@ typedef struct bUserMenu {
 typedef struct bUserMenuItem {
   struct bUserMenuItem *next, *prev;
   struct bUserMenuItem_SubMenu *parent;
+  int icon;
   char ui_name[64];
   char type;
-  char icon;
   // editor
-  char icon_name[64];
   char is_selected;
-  char _pad0[5];
+  char _pad0[2];
 } bUserMenuItem;
 
 typedef struct bUserMenuItem_Op {
diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c
index f66ccd99f56..8b5b499155b 100644
--- a/source/blender/makesrna/intern/rna_userdef.c
+++ b/source/blender/makesrna/intern/rna_userdef.c
@@ -6633,19 +6633,11 @@ static void rna_def_userdef_usermenu(BlenderRNA *brna)
       prop, "rna_UserDef_usermenus_item_type_get", "rna_UserDef_usermenus_item_type_set", NULL);
   RNA_def_property_ui_text(prop, "type", "the type of item");
 
-  prop = RNA_def_property(srna, "icon", PROP_INT, PROP_NONE);
-  RNA_def_property_int_sdna(prop, NULL, "icon");
-  RNA_def_property_range(prop, 0, 255);
-  RNA_def_property_ui_text(prop, "icon", "the icon to display");
-
-  prop = RNA_def_property(srna, "icon_name", PROP_STRING, PROP_NONE);
-  RNA_def_property_string_sdna(prop, NULL, "icon_name");
-  RNA_def_property_ui_text(prop, "Icon Name", "Name of the icon");
-  // RNA_def_property_string_funcs(prop,
-  //                              "rna_UserDef_usermenus_item_icon_name_get",
-  //                              NULL,
-  //                              "rna_UserDef_usermenus_item_icon_name_set");
-  //                              RNA_def_struct_name_property(srna, prop);
+  prop = RNA_def_property(srna, "icon", PROP_ENUM, PROP_NONE);
+  RNA_def_property_enum_sdna(prop, NULL, "icon");
+  RNA_def_property_enum_items(prop, rna_enum_icon_items);
+  RNA_def_property_enum_default(prop, ICON_NONE);
+  RNA_def_property_ui_text(prop, "Icon", "The item icon");
 
   prop = RNA_def_property(srna, "is_selected", PROP_BOOLEAN, PROP_NONE);
   RNA_def_property_boolean_sdna(prop, NULL, "is_selected", 0);
diff --git a/source/tools b/source/tools
index 896c5f78952..5cf2fc3e5dc 160000
--- a/source/tools
+++ b/source/tools
@@ -1 +1 @@
-Subproject commit 896c5f78952adb2d091d28c65086d46992dabdac
+Subproject commit 5cf2fc3e5dc28025394b57d8743401295528f310



More information about the Bf-blender-cvs mailing list