X-Problem gelöst

Dieser Commit ist enthalten in:
Claude Project Manager
2025-09-14 02:47:52 +02:00
Ursprung ba0ba3fcec
Commit f0320a9298
14 geänderte Dateien mit 674 neuen und 116 gelöschten Zeilen

Datei anzeigen

@ -8,6 +8,7 @@ from PyQt5.QtCore import pyqtSignal, Qt
from PyQt5.QtGui import QFont
from views.widgets.platform_button import PlatformButton
from application.services.platform_service import PlatformService
class PlatformGridView(QWidget):
@ -19,9 +20,11 @@ class PlatformGridView(QWidget):
# Signal wird ausgelöst, wenn eine Plattform ausgewählt wird
platform_selected = pyqtSignal(str)
def __init__(self, language_manager=None):
def __init__(self, language_manager=None, db_manager=None):
super().__init__()
self.language_manager = language_manager
self.db_manager = db_manager
self.platform_service = PlatformService(db_manager)
self.init_ui()
if self.language_manager:
@ -53,49 +56,38 @@ class PlatformGridView(QWidget):
grid_layout = QGridLayout(platforms_container)
grid_layout.setSpacing(24) # Styleguide Grid-Gap
# Definiere verfügbare Plattformen
platforms = [
{"name": "Instagram", "enabled": True},
{"name": "Facebook", "enabled": True},
{"name": "TikTok", "enabled": True},
{"name": "X", "enabled": True},
{"name": "VK", "enabled": True},
{"name": "OK.ru", "enabled": True},
{"name": "Gmail", "enabled": True}
]
# Lade nur aktive Plattformen aus dem Service
active_platforms = self.platform_service.get_active_platforms()
# Icon-Pfade
current_dir = os.path.dirname(os.path.abspath(__file__))
parent_dir = os.path.dirname(os.path.dirname(current_dir))
icons_dir = os.path.join(parent_dir, "resources", "icons")
# Platziere Buttons in einem 2x4 Grid
for i, platform in enumerate(platforms):
row = i // 4
col = i % 4
# Platziere Buttons in einem 2x2 Grid (nur 4 Plattformen)
for i, platform in enumerate(active_platforms):
row = i // 2 # 2 Spalten
col = i % 2
# Icon-Pfad erstellen
platform_icon_name = platform['name'].lower()
if platform['name'] == "X":
platform_icon_name = "twitter"
elif platform['name'] == "OK.ru":
platform_icon_name = "ok"
icon_path = os.path.join(icons_dir, f"{platform_icon_name}.svg")
icon_path = os.path.join(icons_dir, platform.icon)
if not os.path.exists(icon_path):
icon_path = None
# Fallback für X/Twitter
if platform.id == "x":
icon_path = os.path.join(icons_dir, "twitter.svg")
if not os.path.exists(icon_path):
icon_path = None
# Platform Button erstellen
button = PlatformButton(
platform["name"],
platform.display_name,
icon_path,
platform["enabled"]
True # Alle aktiven Plattformen sind enabled
)
# Signal verbinden
platform_signal_name = "x" if platform["name"] == "X" else platform["name"]
button.clicked.connect(
lambda checked=False, p=platform_signal_name: self.platform_selected.emit(p.lower())
lambda checked=False, p=platform.id: self.platform_selected.emit(p)
)
grid_layout.addWidget(button, row, col, Qt.AlignCenter)