diff options
author | Vilém Duha <vilda.novak@gmail.com> | 2020-12-05 21:33:05 +0300 |
---|---|---|
committer | Vilém Duha <vilda.novak@gmail.com> | 2020-12-05 21:33:05 +0300 |
commit | 19f033560da7e93dfdde573a8e918cff4a2f7082 (patch) | |
tree | be484fbe05600b66129238a1aee71c87e600d38e /blenderkit | |
parent | 0cee503b1538a927623bd8d23336aa1b4de051ef (diff) |
BlenderKit: switch to pointers when checking UI areas
improve tooltip for resolutions
Diffstat (limited to 'blenderkit')
-rw-r--r-- | blenderkit/search.py | 11 | ||||
-rw-r--r-- | blenderkit/ui.py | 19 | ||||
-rw-r--r-- | blenderkit/ui_panels.py | 3 | ||||
-rw-r--r-- | blenderkit/utils.py | 8 |
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 |