45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
import bpy
|
|
from .main import ToolPanel, separator
|
|
from ..operators.login import LoginButton, InstallLibsButton
|
|
from ..core.icon_manager import Icons
|
|
from .. import updater, updater_ops
|
|
from ..core import login_manager as lm
|
|
|
|
|
|
class LoginPanel(ToolPanel, bpy.types.Panel):
|
|
bl_idname = 'VIEW3D_PT_rsl_login_v2'
|
|
bl_label = 'Rokoko ID'
|
|
|
|
def draw(self, context):
|
|
layout = self.layout
|
|
|
|
updater.check_for_update_background(check_on_startup=True)
|
|
updater_ops.draw_update_notification_panel(layout)
|
|
|
|
if not lm.loaded_all_libs:
|
|
row = layout.row(align=True)
|
|
row.label(text="First time setup:", icon="INFO")
|
|
|
|
row = layout.row(align=True)
|
|
row.scale_y = 2
|
|
row.operator(InstallLibsButton.bl_idname, icon="TRIA_DOWN_BAR")
|
|
return
|
|
|
|
row = layout.row(align=True)
|
|
row.scale_y = 2
|
|
row.operator(LoginButton.bl_idname, text="Sign in to Rokoko" if not lm.user.logging_in else "Waiting for sign in..", icon_value=Icons.STUDIO_LIVE_LOGO.get_icon())
|
|
|
|
row = layout.row(align=True)
|
|
row.scale_y = 0.5
|
|
row.label(text='*Opens your browser')
|
|
|
|
errors = lm.user.display_error
|
|
if not errors:
|
|
return
|
|
|
|
separator(layout, scale=0.2)
|
|
for i, error in enumerate(errors):
|
|
row = layout.row(align=True)
|
|
row.scale_y = 0.5
|
|
row.label(text=error, icon="ERROR" if i == 0 else "BLANK1")
|