[Bf-extensions-cvs] [97e08ebb] master: BlenderKit: assetbar now can be open after search ends automatically. also can start on blender startup, it's an option in preferences(by default False)
Vilém Duha
noreply at git.blender.org
Tue Jan 7 11:43:58 CET 2020
Commit: 97e08ebb2038ce1506bd3624928373b29e06cb57
Author: Vilém Duha
Date: Tue Jan 7 11:04:50 2020 +0100
Branches: master
https://developer.blender.org/rBA97e08ebb2038ce1506bd3624928373b29e06cb57
BlenderKit: assetbar now can be open after search ends automatically.
also can start on blender startup, it's an option in preferences(by default False)
===================================================================
M blenderkit/__init__.py
M blenderkit/search.py
M blenderkit/ui.py
===================================================================
diff --git a/blenderkit/__init__.py b/blenderkit/__init__.py
index db8d1bf4..af323336 100644
--- a/blenderkit/__init__.py
+++ b/blenderkit/__init__.py
@@ -1333,6 +1333,12 @@ class BlenderKitAddonPreferences(AddonPreferences):
default=False
)
+ show_on_start: BoolProperty(
+ name="Show assetbar when starting blender",
+ description="Show assetbar when starting blender",
+ default=False
+ )
+
global_dir: StringProperty(
name="Global Files Directory",
description="Global storage for your assets, will use subdirectories for the contents",
@@ -1413,6 +1419,7 @@ class BlenderKitAddonPreferences(AddonPreferences):
def draw(self, context):
layout = self.layout
+ layout.prop(self, "show_on_start")
if self.api_key.strip() == '':
if self.enable_oauth:
diff --git a/blenderkit/search.py b/blenderkit/search.py
index 6ae86819..56c1d0cb 100644
--- a/blenderkit/search.py
+++ b/blenderkit/search.py
@@ -117,8 +117,17 @@ def fetch_server_data():
categories.fetch_categories_thread(api_key)
+first_time = True
+
@bpy.app.handlers.persistent
def timer_update(): # TODO might get moved to handle all blenderkit stuff.
+ #this makes a first search after opening blender. showing latest assets.
+ global first_time
+ preferences = bpy.context.preferences.addons['blenderkit'].preferences
+ if first_time:
+ first_time = False
+ if preferences.show_on_start:
+ search()
global search_threads
# don't do anything while dragging - this could switch asset type during drag, and make results list length different,
@@ -163,7 +172,7 @@ def timer_update(): # TODO might get moved to handle all blenderkit stuff.
result_field = []
ok, error = check_errors(rdata)
if ok:
-
+ bpy.ops.object.run_assetbar_fix_context()
for r in rdata['results']:
# TODO remove this fix when filesSize is fixed.
# this is a temporary fix for too big numbers from the server.
diff --git a/blenderkit/ui.py b/blenderkit/ui.py
index ab31c07a..b29e24af 100644
--- a/blenderkit/ui.py
+++ b/blenderkit/ui.py
@@ -1730,18 +1730,17 @@ class RunAssetBarWithContext(bpy.types.Operator):
# def modal(self, context, event):
# return {'RUNNING_MODAL'}
-
-
- def invoke(self, context, event):
+ def execute(self, context):
C_dict = bpy.context.copy()
- C_dict.update(region = 'WINDOW')
- if context.area.type != 'VIEW_3D':
- w,a,r = get_largest_3dview()
- override = {'window': w, 'screen': w.screen, 'area': a, 'region' : r}
+ C_dict.update(region='WINDOW')
+ if context.area is None or context.area.type != 'VIEW_3D':
+ w, a, r = get_largest_3dview()
+ override = {'window': w, 'screen': w.screen, 'area': a, 'region': r}
C_dict.update(override)
bpy.ops.view3d.blenderkit_asset_bar(C_dict, 'INVOKE_REGION_WIN', keep_running=True, do_search=False)
return {'RUNNING_MODAL'}
+
classess = (
AssetBarOperator,
RunAssetBarWithContext,
More information about the Bf-extensions-cvs
mailing list