42 Zeilen
1.3 KiB
Python
42 Zeilen
1.3 KiB
Python
"""
|
|
Sidebar View Manager
|
|
Simplified version with only Gitea explorer
|
|
"""
|
|
|
|
import customtkinter as ctk
|
|
from typing import Optional
|
|
from gui.styles import COLORS, FONTS
|
|
from gui.gitea_explorer import GiteaExplorer
|
|
from utils.logger import logger
|
|
|
|
|
|
class SidebarView(ctk.CTkFrame):
|
|
def __init__(self, parent, on_repo_select=None, **kwargs):
|
|
super().__init__(parent, fg_color=COLORS['bg_secondary'], **kwargs)
|
|
|
|
self.on_repo_select = on_repo_select
|
|
self.main_window = None # Will be set by main window
|
|
|
|
# Create Gitea explorer
|
|
self.gitea_explorer = GiteaExplorer(
|
|
self,
|
|
on_repo_select=self.on_repo_select
|
|
)
|
|
self.gitea_explorer.pack(fill="both", expand=True)
|
|
|
|
logger.info("Sidebar view initialized with Gitea explorer")
|
|
|
|
def get_gitea_explorer(self) -> Optional[GiteaExplorer]:
|
|
"""Get the Gitea explorer instance"""
|
|
return self.gitea_explorer
|
|
|
|
def refresh_all(self):
|
|
"""Refresh all explorers"""
|
|
if self.gitea_explorer:
|
|
self.gitea_explorer.refresh_repositories()
|
|
|
|
def set_main_window(self, main_window):
|
|
"""Set main window reference"""
|
|
self.main_window = main_window
|
|
if self.gitea_explorer:
|
|
self.gitea_explorer.main_window = main_window |