Popup Fenster nach Vorne

Dieser Commit ist enthalten in:
Claude Project Manager
2025-10-04 00:25:17 +02:00
Ursprung 4903dee3bc
Commit ee1f8add5e
15 geänderte Dateien mit 410 neuen und 55 gelöschten Zeilen

Datei anzeigen

@ -7,7 +7,7 @@ from PyQt5.QtCore import QObject
from typing import Dict, Any, Optional, Tuple
import random
from views.tabs.generator_tab import GeneratorTab
from views.tabs.generator_tab_factory import GeneratorTabFactory
from views.tabs.accounts_tab import AccountsTab
# SettingsTab import entfernt - wird nicht mehr verwendet
@ -86,10 +86,13 @@ class BasePlatformController(QObject):
def create_generator_tab(self):
"""
Erstellt den Generator-Tab.
Diese Methode sollte von Unterklassen überschrieben werden.
Erstellt den Generator-Tab mit der Factory.
Unterklassen können diese Methode überschreiben für spezielle Anforderungen.
Returns:
QWidget: Plattform-spezifischer oder generischer Generator-Tab
"""
return GeneratorTab(self.platform_name, self.language_manager)
return GeneratorTabFactory.create_tab(self.platform_name, self.language_manager)
def create_accounts_tab(self):
"""

Datei anzeigen

@ -11,7 +11,7 @@ from typing import Dict, Any
from controllers.platform_controllers.base_controller import BasePlatformController
from controllers.platform_controllers.base_worker_thread import BaseAccountCreationWorkerThread
from views.tabs.generator_tab import GeneratorTab # Verwende generischen GeneratorTab
from views.tabs.generator_tab_factory import GeneratorTabFactory # Factory Pattern für Tab-Erstellung
from views.widgets.forge_animation_widget import ForgeAnimationDialog # Forge Dialog für Animation
from social_networks.facebook.facebook_automation import FacebookAutomation
@ -127,38 +127,39 @@ class FacebookController(BasePlatformController):
def get_generator_tab(self):
"""
Erstellt und konfiguriert den Generator-Tab für Facebook.
Verwendet die Factory für saubere Tab-Erstellung.
Returns:
GeneratorTab: Konfigurierter Tab für Facebook mit Geschlechtsauswahl
QWidget: Facebook-spezifischer Tab mit Geschlechtsauswahl
"""
# Erstelle generischen Generator-Tab
generator_tab = GeneratorTab(
# Verwende Factory Pattern für Tab-Erstellung
# Die Factory entscheidet, welche Tab-Implementierung verwendet wird
generator_tab = GeneratorTabFactory.create_tab(
"Facebook",
self.language_manager
)
# Facebook-spezifische Konfiguration
self._configure_facebook_fields(generator_tab)
# Verbinde Signale
generator_tab.start_requested.connect(self.handle_generation_request)
generator_tab.stop_requested.connect(self.stop_generation)
# Verbinde Signale unabhängig von der Tab-Implementierung
# Alle Tabs müssen diese Signale unterstützen (Interface-Kontrakt)
if hasattr(generator_tab, 'start_requested'):
generator_tab.start_requested.connect(self.handle_generation_request)
if hasattr(generator_tab, 'stop_requested'):
generator_tab.stop_requested.connect(self.stop_generation)
return generator_tab
def _configure_facebook_fields(self, generator_tab):
"""
Konfiguriert Facebook-spezifische Felder im Generator-Tab.
Legacy-Methode für Abwärtskompatibilität.
Die Konfiguration erfolgt jetzt in FacebookGeneratorTab.
Args:
generator_tab: Der zu konfigurierende Tab
"""
# Facebook-spezifische Konfiguration
# Der GeneratorTab kann für Facebook-spezifische Felder erweitert werden
# Geschlecht wird aus den Parametern extrahiert
# Vor- und Nachnamen werden im Worker-Thread aus full_name extrahiert
logger.debug("Facebook-spezifische Felder konfiguriert (inkl. Geschlechtsauswahl)")
# Diese Methode ist nicht mehr nötig, da FacebookGeneratorTab
# bereits alle Facebook-spezifischen Felder enthält
# Behalten für Abwärtskompatibilität
pass
def handle_generation_request(self, params: Dict[str, Any]):
"""

Datei anzeigen

@ -89,8 +89,8 @@ class GmailController(BasePlatformController):
def create_generator_tab(self):
"""Erstellt den Generator-Tab und verbindet die Signale"""
from views.tabs.generator_tab import GeneratorTab
generator_tab = GeneratorTab(self.platform_name, self.language_manager)
# Verwende die Basisimplementierung, die die GeneratorTabFactory nutzt
generator_tab = super().create_generator_tab()
# Signal verbinden
generator_tab.start_requested.connect(self.start_account_creation)

Datei anzeigen

@ -11,7 +11,7 @@ from typing import Dict, Any
from controllers.platform_controllers.base_controller import BasePlatformController
from controllers.platform_controllers.base_worker_thread import BaseAccountCreationWorkerThread
from views.tabs.generator_tab import GeneratorTab
from views.tabs.generator_tab_factory import GeneratorTabFactory
from views.tabs.accounts_tab import AccountsTab
from views.tabs.settings_tab import SettingsTab
from views.widgets.forge_animation_widget import ForgeAnimationDialog
@ -178,7 +178,8 @@ class InstagramController(BasePlatformController):
def create_generator_tab(self):
"""Erstellt den Instagram-Generator-Tab."""
generator_tab = GeneratorTab(self.platform_name, self.language_manager)
# Verwende die Basisimplementierung, die die GeneratorTabFactory nutzt
generator_tab = super().create_generator_tab()
# Instagram-spezifische Anpassungen
# Diese Methode überschreiben, wenn spezifische Anpassungen benötigt werden
@ -412,4 +413,4 @@ class InstagramController(BasePlatformController):
"birthday": "Geburtsdatum"
}
return field_labels.get(field_type, field_type.capitalize())
return field_labels.get(field_type, field_type.capitalize())

Datei anzeigen

@ -7,7 +7,6 @@ from PyQt5.QtCore import QThread, pyqtSignal
from controllers.platform_controllers.base_controller import BasePlatformController
from controllers.platform_controllers.base_worker_thread import BaseAccountCreationWorkerThread
from views.tabs.generator_tab import GeneratorTab
from views.widgets.forge_animation_widget import ForgeAnimationDialog
from social_networks.ok_ru.ok_ru_automation import OkRuAutomation
@ -44,7 +43,8 @@ class OkRuController(BasePlatformController):
def create_generator_tab(self):
"""Erstellt den Generator-Tab für OK.ru."""
generator_tab = GeneratorTab(self.platform_name, self.language_manager)
# Verwende die Basisimplementierung, die die GeneratorTabFactory nutzt
generator_tab = super().create_generator_tab()
# OK.ru verwendet nur Telefon-Registrierung
# Keine spezielle Konfiguration nötig, da GeneratorTab standardmäßig alle Felder hat
@ -190,4 +190,4 @@ class OkRuController(BasePlatformController):
self.forge_dialog = None
# Normale Verarbeitung
self.handle_account_created(result)
self.handle_account_created(result)

Datei anzeigen

@ -10,7 +10,7 @@ from typing import Dict, Any
from controllers.platform_controllers.base_controller import BasePlatformController
from controllers.platform_controllers.base_worker_thread import BaseAccountCreationWorkerThread
from views.tabs.generator_tab import GeneratorTab
from views.tabs.generator_tab_factory import GeneratorTabFactory
from views.tabs.accounts_tab import AccountsTab
from views.tabs.settings_tab import SettingsTab
from views.widgets.forge_animation_widget import ForgeAnimationDialog
@ -183,7 +183,8 @@ class TikTokController(BasePlatformController):
def create_generator_tab(self):
"""Erstellt den TikTok-Generator-Tab."""
generator_tab = GeneratorTab(self.platform_name, self.language_manager)
# Verwende die Basisimplementierung, die die GeneratorTabFactory nutzt
generator_tab = super().create_generator_tab()
# TikTok-spezifische Anpassungen
# Diese Methode überschreiben, wenn spezifische Anpassungen benötigt werden
@ -416,4 +417,4 @@ class TikTokController(BasePlatformController):
self.forge_dialog = None
# Normale Verarbeitung
self.handle_account_created(result)
self.handle_account_created(result)

Datei anzeigen

@ -11,7 +11,7 @@ from typing import Dict, Any, Tuple
from controllers.platform_controllers.base_controller import BasePlatformController
from controllers.platform_controllers.base_worker_thread import BaseAccountCreationWorkerThread
from views.tabs.generator_tab import GeneratorTab
from views.tabs.generator_tab_factory import GeneratorTabFactory
from views.tabs.accounts_tab import AccountsTab
from views.tabs.settings_tab import SettingsTab
from views.widgets.forge_animation_widget import ForgeAnimationDialog
@ -180,7 +180,8 @@ class XController(BasePlatformController):
def create_generator_tab(self):
"""Erstellt den X-Generator-Tab."""
generator_tab = GeneratorTab(self.platform_name, self.language_manager)
# Verwende die Basisimplementierung, die die GeneratorTabFactory nutzt
generator_tab = super().create_generator_tab()
# X-spezifische Anpassungen
# Diese Methode überschreiben, wenn spezifische Anpassungen benötigt werden
@ -414,4 +415,4 @@ class XController(BasePlatformController):
"birthday": "Geburtsdatum"
}
return field_labels.get(field_type, field_type.capitalize())
return field_labels.get(field_type, field_type.capitalize())