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-01-07 13:04:50 +0300
committerVilém Duha <vilda.novak@gmail.com>2020-01-07 13:43:45 +0300
commit97e08ebb2038ce1506bd3624928373b29e06cb57 (patch)
treef4df5623da8bae9203109acaecde45f958916eac /blenderkit
parentc1cdc9cf23976c928e915aa14493981e343e50f6 (diff)
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)
Diffstat (limited to 'blenderkit')
-rw-r--r--blenderkit/__init__.py7
-rw-r--r--blenderkit/search.py11
-rw-r--r--blenderkit/ui.py13
3 files changed, 23 insertions, 8 deletions
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,