Files
ClaudeProjectManager/gui/styles.py
Claude Project Manager 4dab418f2f Initial commit
2025-07-09 22:10:42 +02:00

124 Zeilen
3.7 KiB
Python

"""
Style Configuration for GUI
Modern design with dark/light theme support
"""
# Dark Mode color definitions (only mode)
COLORS = {
# Background colors
'bg_primary': '#000000', # Schwarz
'bg_secondary': '#1A1F3A', # Dunkleres Blau
'bg_tile': '#232D53', # Dunkelblau
'bg_tile_hover': '#2A3560', # Helleres Dunkelblau
'bg_vps': '#1A2347', # VPS tile etwas dunkler
'bg_gitea_tile': '#2A3560', # Gitea tiles - deutlich heller für bessere Lesbarkeit
'bg_gitea_hover': '#364170', # Gitea hover - noch heller
'bg_selected': '#364170', # Selected - dunkleres Blau ohne Alpha
# Text colors
'text_primary': '#FFFFFF', # Weiß
'text_secondary': '#B0B0B0', # Grau
'text_dim': '#707070', # Dunkles Grau
# Accent colors
'accent_primary': '#00D4FF', # Cyan/Hellblau
'accent_hover': '#00E5FF', # Helleres Cyan
'accent_secondary': '#6B7AA1', # Sekundäres Blau-Grau
'accent_selected': '#00D4FF', # Auswahl-Farbe
'accent_success': '#4CAF50', # Success green
'accent_warning': '#FF9800', # Warning orange
'accent_error': '#F44336', # Error red
'accent_vps': '#00D4FF', # VPS auch Cyan
# Border colors
'border_primary': '#232D53', # Dunkelblau
'border_secondary': '#2A3560', # Helleres Dunkelblau
}
# Get current colors (always dark mode)
def get_colors():
"""Get colors (always returns dark mode colors)"""
return COLORS
# Font Configuration
FONTS = {
'heading': ('Segoe UI', 28, 'bold'),
'subheading': ('Segoe UI', 22, 'bold'),
'title': ('Segoe UI', 20, 'bold'), # Added for gitea UI
'subtitle': ('Segoe UI', 16, 'bold'), # Added for gitea UI
'tile_title': ('Segoe UI', 18, 'bold'),
'tile_text': ('Segoe UI', 14),
'body': ('Segoe UI', 14), # Added for gitea UI
'button': ('Segoe UI', 13, 'bold'),
'small': ('Segoe UI', 12),
'code': ('Consolas', 12), # Added for gitea UI code display
}
# Tile Dimensions
TILE_SIZE = {
'width': 280,
'height': 180,
'padding': 15,
'margin': 10,
}
# Button Styles
BUTTON_STYLES = {
'primary': {
'fg_color': COLORS['accent_primary'],
'hover_color': COLORS['accent_hover'],
'text_color': '#FFFFFF',
'corner_radius': 6,
'height': 32,
},
'secondary': {
'fg_color': COLORS['bg_secondary'],
'hover_color': COLORS['bg_tile'],
'text_color': COLORS['text_primary'],
'corner_radius': 6,
'height': 32,
'border_width': 1,
'border_color': COLORS['border_primary'],
},
'danger': {
'fg_color': COLORS['accent_error'],
'hover_color': '#FF5252',
'text_color': '#FFFFFF',
'corner_radius': 6,
'height': 32,
},
'vps': {
'fg_color': COLORS['accent_vps'],
'hover_color': COLORS['accent_hover'],
'text_color': '#FFFFFF',
'corner_radius': 6,
'height': 32,
}
}
def get_button_styles():
"""Get button styles (for compatibility)"""
return BUTTON_STYLES
# Window Configuration
WINDOW_CONFIG = {
'title': 'Claude Project Manager',
'width': 1600, # Increased to fit 4 VPS tiles side by side
'height': 1000, # Increased to show Gitea repos without scrolling
'min_width': 800,
'min_height': 600,
}
# Theme functions (kept for compatibility but always return dark)
def set_theme(theme_name):
"""Kept for compatibility - does nothing as only dark mode exists"""
return True
def get_theme():
"""Always returns 'dark'"""
return 'dark'
def toggle_theme():
"""Kept for compatibility - always returns 'dark'"""
return 'dark'