70 lines
1.8 KiB
Python
70 lines
1.8 KiB
Python
#!/usr/bin/env python3
|
|
"""Verify that other themes still work correctly with Arc-specific change."""
|
|
# ruff: noqa: E402
|
|
|
|
import sys
|
|
import tkinter as tk
|
|
from pathlib import Path
|
|
|
|
|
|
def _ensure_src_on_path() -> None:
|
|
src_dir = Path(__file__).resolve().parent.parent / "src"
|
|
if str(src_dir) not in sys.path:
|
|
sys.path.insert(0, str(src_dir))
|
|
|
|
|
|
_ensure_src_on_path()
|
|
from thechart.core.constants import LOG_LEVEL
|
|
from thechart.core.logger import init_logger
|
|
from thechart.ui import ThemeManager
|
|
|
|
logger = init_logger(__name__, testing_mode=(LOG_LEVEL == "DEBUG"))
|
|
|
|
|
|
def verify_other_themes():
|
|
"""Verify other themes still have correct header colors."""
|
|
print("=== VERIFYING OTHER THEMES ===\n")
|
|
|
|
root = tk.Tk()
|
|
root.withdraw()
|
|
|
|
theme_manager = ThemeManager(root, logger)
|
|
available_themes = theme_manager.get_available_themes()
|
|
|
|
# Test a few key themes
|
|
test_themes = ["arc", "equilux", "adapta", "breeze"]
|
|
|
|
for theme in test_themes:
|
|
if theme not in available_themes:
|
|
continue
|
|
|
|
print(f"🎨 {theme.upper()} THEME")
|
|
|
|
# Apply theme
|
|
success = theme_manager.apply_theme(theme)
|
|
if not success:
|
|
print("❌ Failed to apply theme")
|
|
continue
|
|
|
|
# Get colors
|
|
colors = theme_manager.get_theme_colors()
|
|
header_colors = theme_manager._get_contrasting_colors(colors)
|
|
|
|
print(f" Header BG: {header_colors['header_bg']}")
|
|
print(f" Header FG: {header_colors['header_fg']}")
|
|
|
|
# Special note for Arc theme
|
|
if theme == "arc":
|
|
print(" ✅ Arc theme using darker text (#d8dee9)")
|
|
else:
|
|
print(" ✅ Other theme using standard text (#eceff4)")
|
|
|
|
print()
|
|
|
|
print("Verification complete!")
|
|
root.destroy()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
verify_other_themes()
|