@@ -443,14 +443,14 @@ def list_current_results(self, context):
443443 if model .uid in skfb .custom_icons :
444444 res .append ((model .uid , model .title , "" , skfb .custom_icons [model .uid ].icon_id , i ))
445445 else :
446- res .append ((model .uid , model .title , "" , result_previews ['skfb' ]['model ' ].icon_id , i ))
446+ res .append ((model .uid , model .title , "" , preview_collection ['skfb' ]['0 ' ].icon_id , i ))
447447 missing_thumbnail = True
448448 else :
449449 print ('Result issue' )
450450
451451 # Default element to avoid having an empty preview collection
452452 if not res :
453- res .append (('NORESULTS' , 'empty' , "" , preview_collection ['skfb' ]['model ' ].icon_id , 0 ))
453+ res .append (('NORESULTS' , 'empty' , "" , preview_collection ['skfb' ]['0 ' ].icon_id , 0 ))
454454
455455 preview_collection ['thumbnails' ] = tuple (res )
456456 skfb .has_loaded_thumbnails = not missing_thumbnail
@@ -465,11 +465,11 @@ def draw_search(layout, context):
465465 col .operator ("wm.sketchfab_search" , text = "Search" , icon = 'VIEWZOOM' )
466466
467467 pprops = get_sketchfab_props ()
468- # col.prop(pprops, "use_preview")
469468
470469
471470def draw_model_info (layout , model , context ):
472471 ui_model_props = layout .box ().column (align = True )
472+ ui_model_props .operator ("wm.sketchfab_view" , text = "View on Sketchfab" , icon = 'WORLD' ).model_uid = model .uid
473473 ui_model_props .label ('{}' .format (model .title ), icon = 'OBJECT_DATA' )
474474 ui_model_props .label ('{}' .format (model .author ), icon = 'ARMATURE_DATA' )
475475
@@ -499,9 +499,10 @@ def draw_model_info(layout, model, context):
499499 downloadlabel = skfb .import_status
500500
501501 download_icon = 'EXPORT' if import_ops .enabled else 'INFO'
502+ import_ops .label ('' )
502503 import_ops .operator ("wm.sketchfab_download" , icon = download_icon , text = downloadlabel , translate = False , emboss = True ).model_uid = model .uid
503- ui_model_props . label ( '' )
504- ui_model_props . operator ( "wm.sketchfab_view" , text = "View on Sketchfab" , icon = 'WORLD' ). model_uid = model . uid
504+
505+
505506
506507def set_log (log ):
507508 get_sketchfab_props ().status = log
@@ -698,7 +699,7 @@ def modal(self, context, event):
698699 return {"FINISHED" }
699700
700701 if self .is_logging :
701- set_login_status ('FILE_REFRESH' , 'Login to your Sketchfab account...' )
702+ set_login_status ('FILE_REFRESH' , 'Loging in to your Sketchfab account...' )
702703 return {'RUNNING_MODAL' }
703704 else :
704705 return {'FINISHED' }
@@ -782,7 +783,7 @@ def poll(cls, context):
782783
783784class LoginPanel (View3DPanel , bpy .types .Panel ):
784785 bl_idname = "VIEW3D_PT_test_1"
785- bl_label = "Login to your Sketchfab account"
786+ bl_label = "Log in to your Sketchfab account"
786787
787788 is_logged = BoolProperty ()
788789
@@ -808,7 +809,7 @@ def draw(self, context):
808809 layout .prop (skfb_login , "password" )
809810 ops_row = layout .row ()
810811 ops_row .operator ('wm.sketchfab_signup' , text = 'Create an account' , icon = 'PLUS' )
811- ops_row .operator ('wm.sketchfab_login' , text = 'Login ' , icon = 'WORLD' ).authenticate = True
812+ ops_row .operator ('wm.sketchfab_login' , text = 'Log in ' , icon = 'WORLD' ).authenticate = True
812813 if skfb_login .status :
813814 layout .prop (skfb_login , 'status' , icon = skfb_login .status_type )
814815
@@ -905,52 +906,44 @@ def draw(self, context):
905906 if props .skfb_api .next_results_url :
906907 result_pages_ops .operator ("wm.sketchfab_search_next" , text = "Next page" , icon = 'FRAME_NEXT' )
907908
908- if props .use_preview :
909- result_label = 'Click below to display results'
910- # if props.skfb_api.next_results_url:
911- # result_label = result_label + 'in current result page'
912- # elif 'current' in props.search_results:
913- # result_label = result_label + '({} results)'.format(len(props.search_results['current']))
909+ result_label = 'Click below to see more results'
914910
915- col .label (result_label , icon = 'INFO' )
916- try :
917- col .template_icon_view (bpy .context .window_manager , 'result_previews' , show_labels = True , scale = 5.0 )
918- except Exception :
919- print ('ResultsPanel: Failed to display results' )
920- pass
921-
922- if 'current' not in props .search_results or not len (props .search_results ['current' ]):
923- self .bl_label = 'No results'
924- return
925- else :
926- self .bl_label = "Results"
911+ col .label (result_label , icon = 'INFO' )
912+ try :
913+ col .template_icon_view (bpy .context .window_manager , 'result_previews' , show_labels = True , scale = 5.0 )
914+ except Exception :
915+ print ('ResultsPanel: Failed to display results' )
916+ pass
927917
928- if bpy .context .window_manager .result_previews not in props .search_results ['current' ]:
929- return
918+ if 'current' not in props .search_results or not len (props .search_results ['current' ]):
919+ self .bl_label = 'No results'
920+ return
921+ else :
922+ self .bl_label = "Results"
930923
931- model = props .search_results ['current' ][bpy .context .window_manager .result_previews ]
924+ if bpy .context .window_manager .result_previews not in props .search_results ['current' ]:
925+ return
932926
933- if not model :
934- return
927+ model = props .search_results ['current' ][bpy .context .window_manager .result_previews ]
935928
936- if self . uid != model . uid :
937- self . uid = model . uid
929+ if not model :
930+ return
938931
939- if not model .info_requested :
940- props .skfb_api .request_model_info (model .uid )
941- model .info_requested = True
932+ if self .uid != model .uid :
933+ self .uid = model .uid
942934
943- if not model .download_url_requested :
944- props .skfb_api .get_download_url (model .uid )
945- model .download_url_requested = True
935+ if not model .info_requested :
936+ props .skfb_api .request_model_info (model .uid )
937+ model .info_requested = True
946938
947- if props .skfb_api .is_user_logged () and not model .download_link :
948- props .skfb_api .get_download_url (model .uid )
939+ if not model .download_url_requested :
940+ props .skfb_api .get_download_url (model .uid )
941+ model .download_url_requested = True
949942
950- draw_model_info (col , model , context )
943+ if props .skfb_api .is_user_logged () and not model .download_link :
944+ props .skfb_api .get_download_url (model .uid )
951945
952- else :
953- draw_results_icons (results , props , 2 )
946+ draw_model_info (col , model , context )
954947
955948
956949class SketchfabLogger (bpy .types .Operator ):
@@ -1007,61 +1000,6 @@ def __init__(self, json_data):
10071000 self .thumbnail_url = os .path .join (Config .SKETCHFAB_THUMB_DIR , '{}.jpeg' .format (self .uid ))
10081001
10091002
1010- class SketchfabModelView (bpy .types .Operator ):
1011- bl_idname = "wm.sketchfab_modelview"
1012- bl_label = "Download Sketchfab model"
1013- bl_options = {'INTERNAL' }
1014-
1015- uid = bpy .props .StringProperty (name = "uid" )
1016-
1017- def execute (self , context ):
1018- return {'FINISHED' }
1019-
1020- def draw (self , context ):
1021- skfb = context .window_manager .sketchfab_browser
1022- model = skfb .search_results ['current' ][self .uid ]
1023-
1024- layout = self .layout
1025- col = layout .column ()
1026-
1027- if not model :
1028- return
1029-
1030- if not model .info_requested :
1031- skfb .skfb_api .request_model_info (model .uid )
1032- model .info_requested = True
1033-
1034- if not model .download_url_requested :
1035- skfb .skfb_api .get_download_url (model .uid )
1036- model .download_url_requested = True
1037-
1038- col .label (text = '{} by {}' .format (model .title , model .author ))
1039- col .operator ("wm.sketchfab_view" , text = "View on Sketchfab" , icon = 'WORLD' ).model_uid = self .uid
1040-
1041- try :
1042- bpy .context .window_manager .result_previews = self .uid
1043- col .template_icon_view (bpy .context .window_manager , 'result_previews' , show_labels = True , scale = 5.0 )
1044- except Exception :
1045- pass
1046-
1047- col .label ('License {}' .format (model .license if model .license else '(fetching)' ), icon = 'FILE_SCRIPT' )
1048-
1049- user_logged = skfb .skfb_api .is_user_logged ()
1050-
1051- if model .download_link :
1052- col .operator ("wm.sketchfab_download" , text = "Download model ({})" .format (model .download_size if model .download_size else 'fetching data' )).model_uid = self .uid
1053- elif not user_logged :
1054- p3 = col .column ()
1055- p3 .enabled = False
1056- p3 .operator ("wm.sketchfab_download" , text = 'You need to be logged in to import a model' , icon = 'ERROR' )
1057- else :
1058- col .operator ("wm.sketchfab_download" , text = 'Model is not available' , icon = 'INFO' )
1059-
1060- def invoke (self , context , event ):
1061- wm = context .window_manager
1062- return wm .invoke_popup (self )
1063-
1064-
10651003class SketchfabDownloadModel (bpy .types .Operator ):
10661004 bl_idname = "wm.sketchfab_download"
10671005 bl_label = "Downloading"
@@ -1156,29 +1094,14 @@ def invoke(self, context, event):
11561094 return wm .invoke_popup (self , width = 550 )
11571095
11581096
1159- class SketchfabPopup (bpy .types .Operator ):
1160- bl_idname = "wm.sketchfab_error"
1161- bl_label = "Sketchfab"
1162- bl_options = {'INTERNAL' }
1163-
1164- def draw (self , context ):
1165- layout = self .layout
1166- col = layout .column ()
1167- col .label ('YOLO' )
1168-
1169- def invoke (self , context , event ):
1170- wm = context .window_manager
1171- return wm .invoke_popup (self , width = 550 )
1172-
1173-
11741097class SketchfabCreateAccount (bpy .types .Operator ):
11751098 bl_idname = "wm.sketchfab_signup"
11761099 bl_label = "Sketchfab"
11771100 bl_options = {'INTERNAL' }
11781101
11791102 def execute (self , context ):
11801103 import webbrowser
1181- webbrowser .open (SKETCHFAB_SIGNUP )
1104+ webbrowser .open (Config . SKETCHFAB_SIGNUP )
11821105 return {'FINISHED' }
11831106
11841107
@@ -1252,20 +1175,6 @@ def execute(self, context):
12521175 return {'FINISHED' }
12531176
12541177
1255- class SketchfabDebug (bpy .types .Operator ):
1256- bl_idname = "wm.sketchfab_debug"
1257- bl_label = "Open temp dir"
1258- bl_options = {'INTERNAL' }
1259-
1260- def execute (self , context ):
1261- command = 'echo ' + Config .SKETCHFAB_TEMP_DIR + '| clip'
1262- os .system (command )
1263- if 'thumbnails' in preview_collection :
1264- del preview_collection ['thumbnails' ]
1265-
1266- return {'FINISHED' }
1267-
1268-
12691178classes = (
12701179 # Properties
12711180 SketchfabBrowserProps ,
@@ -1278,26 +1187,20 @@ def execute(self, context):
12781187 FiltersPanel ,
12791188 ResultsPanel ,
12801189
1281- ViewOnSketchfab ,
1282- SketchfabModelView ,
1283- SketchfabDownloadModel ,
1284- SketchfabLogger ,
1285-
12861190 # Operators
12871191 SketchfabEnable ,
1288- SketchfabSearch ,
1289- SketchfabSearchNextResults ,
1290- SketchfabSearchPreviousResults ,
1192+ SketchfabCreateAccount ,
1193+ LoginModal ,
12911194 SketchfabNewVersion ,
1292- SketchfabReportIssue ,
12931195 SketchfabHelp ,
1196+ SketchfabReportIssue ,
1197+ SketchfabSearch ,
1198+ SketchfabSearchPreviousResults ,
1199+ SketchfabSearchNextResults ,
12941200 ImportModalOperator ,
1295- LoginModal ,
1296- SketchfabCreateAccount ,
1297-
1298- # Misc and Debug
1299- SketchfabPopup ,
1300- SketchfabDebug
1201+ ViewOnSketchfab ,
1202+ SketchfabDownloadModel ,
1203+ SketchfabLogger ,
13011204 )
13021205
13031206def check_plugin_version (request , * args , ** kwargs ):
0 commit comments