diff --git a/Furious/Widget/UserServersQTableWidget.py b/Furious/Widget/UserServersQTableWidget.py index c4df8b1..5e95510 100644 --- a/Furious/Widget/UserServersQTableWidget.py +++ b/Furious/Widget/UserServersQTableWidget.py @@ -1093,13 +1093,25 @@ def addServerViaGui( logger.error(f'error while converting factory to input: {ex}') - def handleAccepted(): - guiEditor.inputToFactory(factory) + guiEditor.accepted.connect( + functools.partial( + self.handleAddServerViaGui, + guiEditor, + factory, + ) + ) + guiEditor.open() - self.appendNewItemByFactory(factory) + def handleAddServerViaGui( + self, + editor: GuiEditorWidgetQDialog, + factory: ConfigurationFactory, + ): + editor.inputToFactory(factory) - guiEditor.connectAccepted(handleAccepted) - guiEditor.open() + self.appendNewItemByFactory(factory) + + editor.accepted.disconnect() def flushRow(self, row: int, item: ConfigurationFactory): for column in list(range(self.columnCount())):