Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVilém Duha <vilda.novak@gmail.com>2020-12-05 21:33:05 +0300
committerVilém Duha <vilda.novak@gmail.com>2020-12-05 21:33:05 +0300
commit19f033560da7e93dfdde573a8e918cff4a2f7082 (patch)
treebe484fbe05600b66129238a1aee71c87e600d38e
parent0cee503b1538a927623bd8d23336aa1b4de051ef (diff)
BlenderKit: switch to pointers when checking UI areas
improve tooltip for resolutions
-rw-r--r--blenderkit/search.py11
-rw-r--r--blenderkit/ui.py19
-rw-r--r--blenderkit/ui_panels.py3
-rw-r--r--blenderkit/utils.py8
4 files changed, 24 insertions, 17 deletions
diff --git a/blenderkit/search.py b/blenderkit/search.py
index 5e4c41d9..c90bacf6 100644
--- a/blenderkit/search.py
+++ b/blenderkit/search.py
@@ -339,7 +339,7 @@ def timer_update():
# preferences.first_run = False
if preferences.tips_on_start:
utils.get_largest_area()
- ui.update_ui_size(ui.active_area, ui.active_region)
+ ui.update_ui_size(ui.active_area_pointer, ui.active_region_pointer)
ui.add_report(text='BlenderKit Tip: ' + random.choice(rtips), timeout=12, color=colors.GREEN)
return 3.0
@@ -622,8 +622,9 @@ def generate_tooltip(mdata):
# t += '\n'
t = writeblockm(t, mdata, key='license', width=col_w)
+ fs = mdata.get('files')
+
if utils.profile_is_validator():
- fs = mdata.get('files')
if fs:
resolutions = 'resolutions:'
for f in fs:
@@ -633,7 +634,11 @@ def generate_tooltip(mdata):
t += resolutions
t = writeblockm(t, mdata, key='isFree', width=col_w)
-
+ else:
+ for f in fs:
+ if f['fileType'].find('resolution')>-1:
+ t+= 'Asset has lower resolutions available\n'
+ break;
# generator is for both upload preview and search, this is only after search
# if mdata.get('versionNumber'):
# # t = writeblockm(t, mdata, key='versionNumber', pretext='version', width = col_w)
diff --git a/blenderkit/ui.py b/blenderkit/ui.py
index a4af023e..38aa46ac 100644
--- a/blenderkit/ui.py
+++ b/blenderkit/ui.py
@@ -51,10 +51,9 @@ import os
handler_2d = None
handler_3d = None
-active_area = None
-active_area = None
-active_window = None
-active_region = None
+active_area_pointer = None
+active_window_pointer = None
+active_region_pointer = None
reports = []
@@ -139,7 +138,7 @@ class Report():
pass;
def draw(self, x, y):
- if bpy.context.area == active_area:
+ if bpy.context.area.as_pointer() == active_area_pointer:
ui_bgl.draw_text(self.text, x, y + 8, 16, self.draw_color)
@@ -1207,7 +1206,7 @@ def mouse_in_region(r, mx, my):
def update_ui_size(area, region):
- if bpy.app.background:
+ if bpy.app.background or not area:
return
ui = bpy.context.scene.blenderkitUI
user_preferences = bpy.context.preferences.addons['blenderkit'].preferences
@@ -1798,10 +1797,10 @@ class AssetBarOperator(bpy.types.Operator):
if r.type == 'WINDOW':
self.region = r
- global active_window, active_area, active_region
- active_window = self.window
- active_area = self.area
- active_region = self.region
+ global active_window_pointer, active_area_pointer, active_region_pointer
+ active_window_pointer = self.window.as_pointer()
+ active_area_pointer = self.area.as_pointer()
+ active_region_pointer = self.region.as_pointer()
update_ui_size(self.area, self.region)
diff --git a/blenderkit/ui_panels.py b/blenderkit/ui_panels.py
index a5de1a64..a1f990cb 100644
--- a/blenderkit/ui_panels.py
+++ b/blenderkit/ui_panels.py
@@ -1181,6 +1181,9 @@ def draw_asset_context_menu(self, context, asset_data, from_panel=False):
if o['asset_data']['assetBaseId'] == bpy.context.scene['search results'][ui_props.active_index]:
op.model_location = o.location
op.model_rotation = o.rotation_euler
+ else:
+ op.model_location = (0,0,0)
+ op.model_rotation = (0,0,0)
op.max_resolution = asset_data.get('max_resolution',
0) # str(utils.get_param(asset_data, 'textureResolutionMax'))
diff --git a/blenderkit/utils.py b/blenderkit/utils.py
index 59111623..d24272f9 100644
--- a/blenderkit/utils.py
+++ b/blenderkit/utils.py
@@ -699,10 +699,10 @@ def get_largest_area(area_type='VIEW_3D'):
for r in a.regions:
if r.type == 'WINDOW':
region = r
- global active_area, active_window, active_region
- active_window = maxw
- active_area = maxa
- active_region = region
+ global active_area_pointer, active_window_pointer, active_region_pointer
+ active_window_pointer = maxw.as_pointer()
+ active_area_pointer = maxa.as_pointer()
+ active_region_pointer = region.as_pointer()
return maxw, maxa, region