[Bf-extensions-cvs] [19f03356] master: BlenderKit: switch to pointers when checking UI areas
Vilém Duha
noreply at git.blender.org
Sat Dec 5 19:33:22 CET 2020
Commit: 19f033560da7e93dfdde573a8e918cff4a2f7082
Author: Vilém Duha
Date: Sat Dec 5 19:33:05 2020 +0100
Branches: master
https://developer.blender.org/rBA19f033560da7e93dfdde573a8e918cff4a2f7082
BlenderKit: switch to pointers when checking UI areas
improve tooltip for resolutions
===================================================================
M blenderkit/search.py
M blenderkit/ui.py
M blenderkit/ui_panels.py
M blenderkit/utils.py
===================================================================
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
More information about the Bf-extensions-cvs
mailing list