[Bf-extensions-cvs] [fc75dc64] blender2.8: Make applink menus in 3D view work

Kalle-Samuli Riihikoski noreply at git.blender.org
Wed Aug 15 13:43:20 CEST 2018


Commit: fc75dc648e8f4cb2e20bfd803276246ddbd44dd9
Author: Kalle-Samuli Riihikoski
Date:   Wed Aug 15 11:42:16 2018 +0300
Branches: blender2.8
https://developer.blender.org/rBAfc75dc648e8f4cb2e20bfd803276246ddbd44dd9

Make applink menus in 3D view work

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

M	io_coat3D/__init__.py

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

diff --git a/io_coat3D/__init__.py b/io_coat3D/__init__.py
index 48fa2a78..0a1bd9b9 100644
--- a/io_coat3D/__init__.py
+++ b/io_coat3D/__init__.py
@@ -596,60 +596,22 @@ class VIEW3D_MT_Coat_Dynamic_Menu(bpy.types.Menu):
 
     def draw(self, context):
         layout = self.layout
-        settings = context.tool_settings
+
         layout.operator_context = 'INVOKE_REGION_WIN'
-        coat3D = bpy.context.scene.coat3D
-        Blender_folder = ("%s%sBlender"%(coat3D.exchangedir,os.sep))
-        Blender_export = Blender_folder
-        Blender_export += ('%sexport.txt'%(os.sep))
 
         ob = context
         if ob.mode == 'OBJECT':
-            if(bpy.context.selected_objects):
-                for ind_obj in bpy.context.selected_objects:
-                    if(ind_obj.type == 'MESH'):
-                        layout.active = True
-                        break
-                    layout.active = False
-
-                if(layout.active == True):
-
-                    layout.operator("import_applink.pilgway_3d_coat", text="Import")
-                    layout.separator()
-
-                    layout.operator("export_applink.pilgway_3d_coat", text="Export")
-                    layout.separator()
-
-                    layout.menu("VIEW3D_MT_ImportMenu")
-                    layout.separator()
-
-                    layout.menu("VIEW3D_MT_ExportMenu")
-                    layout.separator()
+            if(len(context.selected_objects) > 0):
+                layout.operator("import_applink.pilgway_3d_coat", text="Update Scene")
+                layout.separator()
 
-                    layout.menu("VIEW3D_MT_ExtraMenu")
-                    layout.separator()
-
-                    if(len(bpy.context.selected_objects) == 1):
-                        if(os.path.isfile(bpy.context.selected_objects[0].coat3D.path3b)):
-                            layout.operator("import_applink.pilgway_3d_coat_3b", text="Load 3b")
-                            layout.separator()
-
-                    if(os.path.isfile(Blender_export)):
-
-                        layout.operator("import3b_applink.pilgway_3d_coat", text="Bring from 3D-Coat")
-                        layout.separator()
-                else:
-                    if(os.path.isfile(Blender_export)):
-                        layout.active = True
-
-                        layout.operator("import3b_applink.pilgway_3d_coat", text="Bring from 3D-Coat")
-                        layout.separator()
+                layout.operator("export_applink.pilgway_3d_coat", text="Transfer selected object(s) into 3D-Coat")
+                layout.separator()
             else:
-                 if(os.path.isfile(Blender_export)):
+                layout.operator("import_applink.pilgway_3d_coat", text="Update")
+                layout.separator()
 
 
-                    layout.operator("import3b_applink.pilgway_3d_coat", text="Bring from 3D-Coat")
-                    layout.separator()
 
 class VIEW3D_MT_ImportMenu(bpy.types.Menu):
     bl_label = "Import Settings"
@@ -671,7 +633,10 @@ class VIEW3D_MT_ExportMenu(bpy.types.Menu):
         layout = self.layout
         coat3D = bpy.context.scene.coat3D
         settings = context.tool_settings
+
         layout.operator_context = 'INVOKE_REGION_WIN'
+        layout.operator("view3d.copybuffer", icon="COPY_ID")
+
         layout.prop(coat3D,"exportover")
         if(coat3D.exportover):
            layout.prop(coat3D,"exportmod")
@@ -902,9 +867,9 @@ classes = (
     SCENE_OT_export,
     SCENE_OT_import,
     VIEW3D_MT_Coat_Dynamic_Menu,
-    VIEW3D_MT_ImportMenu,
-    VIEW3D_MT_ExportMenu,
-    VIEW3D_MT_ExtraMenu,
+    #VIEW3D_MT_ImportMenu,
+    #VIEW3D_MT_ExportMenu,
+    #VIEW3D_MT_ExtraMenu,
     ObjectCoat3D,
     SceneCoat3D,
     MeshCoat3D,
@@ -925,12 +890,12 @@ def register():
     bpy.types.Mesh.coat3D = PointerProperty(type=MeshCoat3D)
 
     kc = bpy.context.window_manager.keyconfigs.addon
-    '''
+
     if kc:
-        km = kc.keymaps.new(name='3D View', space_type='VIEW_3D')
-        kmi = km.keymap_items.new('wm.call_menu2', 'Q', 'PRESS')
+        km = kc.keymaps.new(name="Object Mode")
+        kmi = km.keymap_items.new('wm.call_menu', 'Q', 'PRESS')
         kmi.properties.name = "VIEW3D_MT_Coat_Dynamic_Menu"
-    '''
+
 
 
 def unregister():
@@ -942,15 +907,14 @@ def unregister():
     del bpy.types.Scene.coat3D
     del bpy.types.Mesh.coat3D
     del bpy.coat3D
-    '''
+
     kc = bpy.context.window_manager.keyconfigs.addon
     if kc:
-        km = kc.keymapskeymaps['3D View']
+        km = kc.keymaps.get('Object Mode')
         for kmi in km.keymap_items:
-            if kmi.idname == '':
+            if kmi.idname == 'wm.call_menu':
                 if kmi.properties.name == "VIEW3D_MT_Coat_Dynamic_Menu":
                     km.keymap_items.remove(kmi)
-                    break
-    '''
+
     for cls in reversed(classes):
         unregister_class(cls)



More information about the Bf-extensions-cvs mailing list