Popup Fenster nach Vorne
Dieser Commit ist enthalten in:
@ -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):
|
||||
"""
|
||||
|
||||
@ -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]):
|
||||
"""
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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())
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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())
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren