[Bf-extensions-cvs] [5103e930] master: BlenderKit: bring search props to window_manager

Vilem Duha noreply at git.blender.org
Wed Oct 13 11:54:14 CEST 2021


Commit: 5103e930330419d6783350f79937c6176779bd61
Author: Vilem Duha
Date:   Tue Oct 12 14:49:45 2021 +0200
Branches: master
https://developer.blender.org/rBA5103e930330419d6783350f79937c6176779bd61

BlenderKit: bring search props to window_manager

this avoids some trouble, e.g. during switching to appended scenes.

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

M	blenderkit/__init__.py
M	blenderkit/append_link.py
M	blenderkit/asset_inspector.py
M	blenderkit/autothumb.py
M	blenderkit/bg_blender.py
M	blenderkit/categories.py
M	blenderkit/image_utils.py
M	blenderkit/ratings.py
M	blenderkit/search.py
M	blenderkit/ui.py
M	blenderkit/ui_panels.py
M	blenderkit/upload.py
M	blenderkit/utils.py

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

diff --git a/blenderkit/__init__.py b/blenderkit/__init__.py
index 3fc15f3b..f6fcb155 100644
--- a/blenderkit/__init__.py
+++ b/blenderkit/__init__.py
@@ -143,7 +143,7 @@ from bpy.types import (
 
 @persistent
 def scene_load(context):
-    ui_props = bpy.context.scene.blenderkitUI
+    ui_props = bpy.context.window_manager.blenderkitUI
     ui_props.assetbar_on = False
     ui_props.turn_off = False
     preferences = bpy.context.preferences.addons['blenderkit'].preferences
@@ -238,7 +238,7 @@ def udate_down_up(self, context):
     """Perform a search if results are empty."""
     s = context.scene
     wm = bpy.context.window_manager
-    props = s.blenderkitUI
+    props = bpy.context.window_manager.blenderkitUI
     if wm.get('search results') == None and props.down_up == 'SEARCH':
         search.search()
 
@@ -246,7 +246,7 @@ def udate_down_up(self, context):
 def switch_search_results(self, context):
     s = bpy.context.scene
     wm = bpy.context.window_manager
-    props = s.blenderkitUI
+    props = bpy.context.window_manager.blenderkitUI
     if props.asset_type == 'MODEL':
         wm['search results'] = wm.get('bkit model search')
         wm['search results orig'] = wm.get('bkit model search orig')
@@ -307,7 +307,7 @@ def asset_type_callback(self, context):
 
 def run_drag_drop_update(self, context):
     if self.drag_init_button:
-        ui_props = bpy.context.scene.blenderkitUI
+        ui_props = bpy.context.window_manager.blenderkitUI
         # ctx = utils.get_fake_context(bpy.context)
 
         bpy.ops.view3d.close_popup_button('INVOKE_DEFAULT')
@@ -1850,7 +1850,7 @@ def register():
     for cls in classes:
         bpy.utils.register_class(cls)
 
-    bpy.types.Scene.blenderkitUI = PointerProperty(
+    bpy.types.WindowManager.blenderkitUI = PointerProperty(
         type=BlenderKitUIProps)
 
     # MODELS
diff --git a/blenderkit/append_link.py b/blenderkit/append_link.py
index 481504fb..6fe710be 100644
--- a/blenderkit/append_link.py
+++ b/blenderkit/append_link.py
@@ -93,7 +93,7 @@ def append_scene(file_name, scenename=None, link=False, fake_user=False):
     scene['uuid'] = str(uuid.uuid4())
 
     #reset ui_props of the scene to defaults:
-    ui_props = bpy.context.scene.blenderkitUI
+    ui_props = bpy.context.window_manager.blenderkitUI
     ui_props.down_up = 'SEARCH'
 
     return scene
diff --git a/blenderkit/asset_inspector.py b/blenderkit/asset_inspector.py
index 72b9827d..cbb9517a 100644
--- a/blenderkit/asset_inspector.py
+++ b/blenderkit/asset_inspector.py
@@ -325,7 +325,7 @@ def check_modifiers(props, obs):
 
 def get_autotags():
     """ call all analysis functions """
-    ui = bpy.context.scene.blenderkitUI
+    ui = bpy.context.window_manager.blenderkitUI
     if ui.asset_type == 'MODEL':
         ob = utils.get_active_model()
         obs = utils.get_hierarchy(ob)
diff --git a/blenderkit/autothumb.py b/blenderkit/autothumb.py
index f5e0cd34..2d376852 100644
--- a/blenderkit/autothumb.py
+++ b/blenderkit/autothumb.py
@@ -640,7 +640,7 @@ class ReGenerateMaterialThumbnailOperator(bpy.types.Operator):
 
     def invoke(self, context, event):
         # scene = bpy.context.scene
-        # ui_props = scene.blenderkitUI
+        # ui_props = bpy.context.window_manager.blenderkitUI
         # if ui_props.active_index > -1:
         #     sr = bpy.context.window_manager['search results']
         #     self.asset_data = dict(sr[ui_props.active_index])
diff --git a/blenderkit/bg_blender.py b/blenderkit/bg_blender.py
index 8fa0491f..8495c076 100644
--- a/blenderkit/bg_blender.py
+++ b/blenderkit/bg_blender.py
@@ -232,7 +232,7 @@ class KillBgProcess(bpy.types.Operator):
                     if source.name == bpy.context.scene.name:
                         kill = True
                 if source.bl_rna.name == 'Image' and self.process_source == 'HDR':
-                    ui_props = bpy.context.scene.blenderkitUI
+                    ui_props = bpy.context.window_manager.blenderkitUI
                     if source.name == ui_props.hdr_upload_image.name:
                         kill = False
 
diff --git a/blenderkit/categories.py b/blenderkit/categories.py
index fc7b929b..9a19c120 100644
--- a/blenderkit/categories.py
+++ b/blenderkit/categories.py
@@ -151,7 +151,7 @@ def update_subcategory_enums(self, context):
 
 def get_category_enums(self, context):
     wm = bpy.context.window_manager
-    props = bpy.context.scene.blenderkitUI
+    props = bpy.context.window_manager.blenderkitUI
     asset_type = props.asset_type.lower()
     # asset_type = self.asset_type#get_upload_asset_type(self)
     asset_categories = get_category(wm['bkit_categories'], cat_path=(asset_type,))
@@ -165,7 +165,7 @@ def get_category_enums(self, context):
 
 def get_subcategory_enums(self, context):
     wm = bpy.context.window_manager
-    props = bpy.context.scene.blenderkitUI
+    props = bpy.context.window_manager.blenderkitUI
     asset_type = props.asset_type.lower()
     items = []
     if self.category != '':
@@ -180,7 +180,7 @@ def get_subcategory_enums(self, context):
 
 def get_subcategory1_enums(self, context):
     wm = bpy.context.window_manager
-    props = bpy.context.scene.blenderkitUI
+    props = bpy.context.window_manager.blenderkitUI
     asset_type = props.asset_type.lower()
     items = []
     if self.category != '' and self.subcategory != '':
diff --git a/blenderkit/image_utils.py b/blenderkit/image_utils.py
index 4c09b06a..b17878c3 100644
--- a/blenderkit/image_utils.py
+++ b/blenderkit/image_utils.py
@@ -71,7 +71,7 @@ def set_colorspace(img, colorspace):
 def analyze_image_is_true_hdr(image):
     import numpy
     scene = bpy.context.scene
-    ui_props = scene.blenderkitUI
+    ui_props = bpy.context.window_manager.blenderkitUI
     size = image.size
     imageWidth = size[0]
     imageHeight = size[1]
@@ -82,7 +82,7 @@ def analyze_image_is_true_hdr(image):
 def generate_hdr_thumbnail():
     import numpy
     scene = bpy.context.scene
-    ui_props = scene.blenderkitUI
+    ui_props = bpy.context.window_manager.blenderkitUI
     hdr_image = ui_props.hdr_upload_image  # bpy.data.images.get(ui_props.hdr_upload_image)
 
     base, ext = os.path.splitext(hdr_image.filepath)
diff --git a/blenderkit/ratings.py b/blenderkit/ratings.py
index 4bfcfd53..be9719ae 100644
--- a/blenderkit/ratings.py
+++ b/blenderkit/ratings.py
@@ -233,7 +233,7 @@ class FastRateMenu(Operator, ratings_utils.RatingsProperties):
     @classmethod
     def poll(cls, context):
         scene = bpy.context.scene
-        ui_props = scene.blenderkitUI
+        ui_props = bpy.context.window_manager.blenderkitUI
         return True;
 
     def draw(self, context):
@@ -242,7 +242,7 @@ class FastRateMenu(Operator, ratings_utils.RatingsProperties):
 
     def execute(self, context):
         scene = bpy.context.scene
-        ui_props = scene.blenderkitUI
+        ui_props = bpy.context.window_manager.blenderkitUI
         #get asset id
         if ui_props.active_index > -1:
             sr = bpy.context.window_manager['search results']
@@ -267,7 +267,7 @@ class FastRateMenu(Operator, ratings_utils.RatingsProperties):
 def rating_menu_draw(self, context):
     layout = self.layout
 
-    ui_props = context.scene.blenderkitUI
+    ui_props = context.window_manager.blenderkitUI
     sr = bpy.context.window_manager['search results']
 
     asset_search_index = ui_props.active_index
diff --git a/blenderkit/search.py b/blenderkit/search.py
index 50c3c480..4938a7b9 100644
--- a/blenderkit/search.py
+++ b/blenderkit/search.py
@@ -375,7 +375,7 @@ def search_timer():
     # finish loading thumbs from queues
     global all_thumbs_loaded
     if not all_thumbs_loaded:
-        ui_props = bpy.context.scene.blenderkitUI
+        ui_props = bpy.context.window_manager.blenderkitUI
         search_name = f'bkit {ui_props.asset_type.lower()} search'
         wm = bpy.context.window_manager
         if wm.get(search_name) is not None:
@@ -393,7 +393,7 @@ def search_timer():
         return 1.0
     # don't do anything while dragging - this could switch asset during drag, and make results list length different,
     # causing a lot of throuble.
-    if bpy.context.scene.blenderkitUI.dragging:
+    if bpy.context.window_manager.blenderkitUI.dragging:
         # utils.p('end search timer')
 
         return 0.5
@@ -433,7 +433,7 @@ def search_timer():
 
             ok, error = check_errors(rdata)
             if ok:
-                ui_props = bpy.context.scene.blenderkitUI
+                ui_props = bpy.context.window_manager.blenderkitUI
                 orig_len = len(result_field)
 
                 for ri, r in enumerate(rdata['results']):
@@ -490,7 +490,7 @@ def search_timer():
 def load_preview(asset, index):
     scene = bpy.context.scene
     # FIRST START SEARCH
-    props = scene.blenderkitUI
+    props = bpy.context.window_manager.blenderkitUI
     directory = paths.get_temp_dir('%s_search' % props.asset_type.lower())
     s = bpy.context.scene
     results = bpy.context.window_manager.get('search results')
@@ -541,7 +541,7 @@ def load_preview(asset, index):
 def load_previews():
     scene = bpy.context.scene
     # FIRST START SEARCH
-    props = scene.blenderkitUI
+    props = bpy.context.window_manager.blenderkitUI
     directory = paths.get_temp_dir('%s_search' % props.asset_type.lower())
     s = bpy.context.scene
     results = bpy.context.window_manager.get('search results')
@@ -1332,7 +1332,7 @@ def search(category='', get_next=False, author_id=''):
     # mt('start')
     scene = bpy.context.scene
     wm = bpy.context.window_manager
-    ui_props = scene.blenderkitUI
+    ui_props = bpy.context.window_manager.blenderkitUI
 
     props = utils.get_search_props()
     if ui_props.asset_type == 'MODEL':
@@ -1423,7 +1423,7 @@ def search(category='', get_next=False, author_id=''):
 
 def update_filters():
     sprops = utils.get_search_props()
-    ui_props = bpy.context.scene.blenderkitUI
+    ui_props = bpy.context.window_manager.blenderkitUI
     fcommon = sprops.own_only or \
               sprops.search_texture_resolution or \
               sprops.search_file_size or \
@@ -1447,7 +1447,7 @@ def search_update(self, context):
     utils.p('searc

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list