91 lines
2.3 KiB
Python
91 lines
2.3 KiB
Python
# SPDX-FileCopyrightText: 2021 Blender Studio Tools Authors
|
|
#
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
from pathlib import Path
|
|
import bpy
|
|
|
|
from .. import prefs, cache
|
|
from .ops import KITSU_OT_tasks_user_laod
|
|
|
|
# from ..tasks.ops import KITSU_OT_session_end, KITSU_OT_session_start
|
|
|
|
|
|
class KITSU_PT_tasks_user(bpy.types.Panel):
|
|
bl_category = "Kitsu"
|
|
bl_label = "Tasks"
|
|
bl_space_type = "VIEW_3D"
|
|
bl_region_type = "UI"
|
|
bl_order = 45
|
|
bl_options = {"DEFAULT_CLOSED"}
|
|
|
|
@classmethod
|
|
def poll(cls, context: bpy.types.Context) -> bool:
|
|
return prefs.session_auth(context)
|
|
|
|
def draw(self, context: bpy.types.Context) -> None:
|
|
layout = self.layout
|
|
addon_prefs = prefs.addon_prefs_get(context)
|
|
tasks_coll_prop = addon_prefs.tasks
|
|
active_user = cache.user_active_get()
|
|
split_factor = 0.225
|
|
split_factor_small = 0.95
|
|
|
|
box = layout.box()
|
|
row = box.row(align=True)
|
|
row.label(text=active_user.full_name, icon="CHECKBOX_HLT")
|
|
|
|
# Detect Context
|
|
row.operator(
|
|
KITSU_OT_tasks_user_laod.bl_idname,
|
|
icon="FILE_REFRESH",
|
|
text="",
|
|
emboss=False,
|
|
)
|
|
|
|
# uilist
|
|
row = box.row(align=True)
|
|
row.template_list(
|
|
"KITSU_UL_tasks_user",
|
|
"",
|
|
addon_prefs,
|
|
"tasks",
|
|
context.window_manager.kitsu,
|
|
"tasks_index",
|
|
rows=5,
|
|
type="DEFAULT",
|
|
)
|
|
|
|
|
|
class KITSU_UL_tasks_user(bpy.types.UIList):
|
|
def draw_item(
|
|
self, context, layout, data, item, icon, active_data, active_propname, index
|
|
):
|
|
task_id = item.id
|
|
entity_id = item.entity_id
|
|
entity_name = item.entity_name
|
|
task_type_id = item.task_type_id
|
|
task_type_name = item.task_type_name
|
|
|
|
if self.layout_type in {"DEFAULT", "COMPACT"}:
|
|
layout.label(text=f"{entity_name} {task_type_name}")
|
|
|
|
elif self.layout_type in {"GRID"}:
|
|
layout.alignment = "CENTER"
|
|
layout.label(text=f"{entity_name} {task_type_name}")
|
|
|
|
|
|
# ---------REGISTER ----------
|
|
|
|
classes = [KITSU_UL_tasks_user, KITSU_PT_tasks_user]
|
|
|
|
|
|
def register():
|
|
for cls in classes:
|
|
bpy.utils.register_class(cls)
|
|
|
|
|
|
def unregister():
|
|
for cls in reversed(classes):
|
|
bpy.utils.unregister_class(cls)
|