feat: Implement database management, main window and card view GUI, and a database debug script, removing verify_fix.py.

This commit is contained in:
kiyreload27
2025-12-28 17:56:01 +00:00
parent 7605bfdfeb
commit aba84539c3
5 changed files with 97 additions and 37 deletions

View File

@@ -27,9 +27,10 @@ from gui.theme import (
class CardListFrame(ttk.Frame):
"""Frame containing card list with search/filter, ownership, and details panel"""
def __init__(self, parent, on_card_selected_callback=None):
def __init__(self, parent, on_card_selected_callback=None, on_stats_updated_callback=None):
super().__init__(parent)
self.on_card_selected = on_card_selected_callback
self.on_stats_updated = on_stats_updated_callback
self.cards = []
self.current_card_id = None
self.card_image = None # Keep reference to prevent garbage collection
@@ -38,6 +39,8 @@ class CardListFrame(ttk.Frame):
# Create main layout
self.create_widgets()
self.load_cards()
def create_widgets(self):
"""Create the card list interface"""
@@ -415,6 +418,10 @@ class CardListFrame(ttk.Frame):
level = int(self.level_var.get())
set_card_owned(self.current_card_id, owned, level)
self.filter_cards() # Refresh list to update owned markers
# Notify parent to refresh stats
if self.on_stats_updated:
self.on_stats_updated()
def update_level_buttons(self, rarity, max_level):
"""Update quick level buttons based on rarity/max level"""

View File

@@ -147,7 +147,9 @@ class MainWindow:
def create_tabs(self):
"""Create all tab frames"""
# Card List Tab
self.card_frame = CardListFrame(self.notebook, on_card_selected_callback=self.on_card_selected)
self.card_frame = CardListFrame(self.notebook,
on_card_selected_callback=self.on_card_selected,
on_stats_updated_callback=self.refresh_stats)
self.notebook.add(self.card_frame, text=" 📋 Card List ")
# Effects Tab