Fix issue where add job window always submits to localhost, regardless of selected hostname (#135)

This commit is contained in:
2026-06-06 15:05:31 -05:00
committed by GitHub
parent b8b71d1e16
commit 472c7968b3
2 changed files with 33 additions and 16 deletions
+18
View File
@@ -133,6 +133,7 @@ class NewRenderJobForm(QWidget):
server_list_layout = QHBoxLayout()
server_list_layout.addWidget(QLabel("Render Target:"))
self.server_input = QComboBox()
self.server_input.currentTextChanged.connect(self.server_changed)
server_list_layout.addWidget(self.server_input)
project_layout.addLayout(server_list_layout)
@@ -353,10 +354,27 @@ class NewRenderJobForm(QWidget):
self.engine_version_combo.addItems(engine_vers)
self.file_format_combo.addItems(engine_info.get('supported_export_formats'))
def server_changed(self, hostname):
if not hostname:
return
self.server_proxy = RenderServerProxy(hostname)
if self.engine_type and self.engine_type.count():
try:
self.engine_changed()
except Exception as e:
logger.error(f"Error updating engine data for server '{hostname}': {e}")
def update_server_list(self):
current_hostname = self.server_input.currentText()
clients = ZeroconfServer.found_hostnames()
self.server_input.clear()
self.server_input.addItems(clients)
if current_hostname and current_hostname in clients:
self.server_input.setCurrentText(current_hostname)
elif clients:
self.server_changed(clients[0])
def browse_scene_file(self):
file_name, _ = QFileDialog.getOpenFileName(self, "Select Scene File")
+10 -11
View File
@@ -229,27 +229,23 @@ class MainWindow(QMainWindow):
def server_picked(self):
"""Update the UI elements relevant to the server selection."""
try:
# Retrieve the new hostname selected by the user
new_hostname = self.server_list_view.currentItem().text()
current_item = self.server_list_view.currentItem()
if current_item is None:
return
new_hostname = current_item.text()
if new_hostname == self.current_hostname:
return
# Check if the hostname has changed to avoid unnecessary updates
if new_hostname != self.current_hostname:
# Update the current hostname and clear the job list
self.current_hostname = new_hostname
self.job_list_view.setRowCount(0)
self.refresh_job_list()
# Select the first row if there are jobs listed
if self.job_list_view.rowCount():
self.job_list_view.selectRow(0)
# Update server information display
self.update_server_info_display(new_hostname)
except AttributeError as e:
logger.error(f"AttributeError in server_picked: {e}")
def update_server_info_display(self, hostname):
"""Updates the server information section of the UI."""
self.server_info_hostname.setText(f"Name: {hostname}")
@@ -494,6 +490,9 @@ class MainWindow(QMainWindow):
if not old_count and self.server_list_view.count():
self.server_list_view.setCurrentRow(0)
self.server_picked()
elif self.server_list_view.count() and self.server_list_view.currentItem() is None:
self.server_list_view.setCurrentRow(0)
self.server_picked()
def create_toolbars(self) -> None:
"""