51 lines
1.1 KiB
Python
51 lines
1.1 KiB
Python
"""Activity-log auxiliary window."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from dataclasses import dataclass
|
|
from typing import Any, Callable
|
|
|
|
from ..viewmodels.dashboard import fitted_window_size
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class ActivityWindow:
|
|
window: Any
|
|
log: Any
|
|
|
|
|
|
def build_activity_window(
|
|
root: Any,
|
|
*,
|
|
tk_module: Any,
|
|
ui_scale: float,
|
|
apply_window_icon: Callable[[Any], None],
|
|
) -> ActivityWindow:
|
|
window = tk_module.Toplevel(root)
|
|
window.title("PristonTale EU — Activity")
|
|
width, height = fitted_window_size(
|
|
800,
|
|
400,
|
|
scale=ui_scale,
|
|
screen_width=window.winfo_screenwidth(),
|
|
screen_height=window.winfo_screenheight(),
|
|
)
|
|
window.geometry(f"{width}x{height}")
|
|
window.resizable(False, False)
|
|
window.configure(background="#0c0908")
|
|
apply_window_icon(window)
|
|
log = tk_module.Text(
|
|
window,
|
|
background="#100d0c",
|
|
foreground="#d8cbbd",
|
|
insertbackground="#f8fafc",
|
|
relief="flat",
|
|
font=("Monospace", 9),
|
|
padx=10,
|
|
pady=8,
|
|
state="disabled",
|
|
)
|
|
log.pack(fill="both", expand=True, padx=10, pady=10)
|
|
window.withdraw()
|
|
return ActivityWindow(window=window, log=log)
|