Skip to content

Commit bf8ac47

Browse files
committed
Replace JSON textarea with signature-driven action editor
The JSON actions tab now renders a list of actions on the left and a form on the right — fields are generated from inspect.signature() of each registered callable, with type-aware widgets (QCheckBox for bool, QSpinBox for int, a file picker for path-like names, password echo for secret-like names). A Raw JSON toggle keeps the original textarea workflow available and stays in sync with the model.
1 parent 296b2c5 commit bf8ac47

6 files changed

Lines changed: 544 additions & 115 deletions

File tree

automation_file/ui/main_window.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88
from automation_file.logging_config import file_automation_logger
99
from automation_file.ui.log_widget import LogPanel
1010
from automation_file.ui.tabs import (
11-
ActionRunnerTab,
1211
AzureBlobTab,
1312
DropboxTab,
1413
GoogleDriveTab,
1514
HTTPDownloadTab,
15+
JSONEditorTab,
1616
LocalOpsTab,
1717
S3Tab,
1818
ServerTab,
@@ -42,7 +42,7 @@ def __init__(self) -> None:
4242
tabs.addTab(AzureBlobTab(self._log, self._pool), "Azure Blob")
4343
tabs.addTab(DropboxTab(self._log, self._pool), "Dropbox")
4444
tabs.addTab(SFTPTab(self._log, self._pool), "SFTP")
45-
tabs.addTab(ActionRunnerTab(self._log, self._pool), "JSON actions")
45+
tabs.addTab(JSONEditorTab(self._log, self._pool), "JSON actions")
4646
self._server_tab = ServerTab(self._log, self._pool)
4747
tabs.addTab(self._server_tab, "Servers")
4848

automation_file/ui/tabs/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,22 @@
22

33
from __future__ import annotations
44

5-
from automation_file.ui.tabs.action_tab import ActionRunnerTab
65
from automation_file.ui.tabs.azure_tab import AzureBlobTab
76
from automation_file.ui.tabs.drive_tab import GoogleDriveTab
87
from automation_file.ui.tabs.dropbox_tab import DropboxTab
98
from automation_file.ui.tabs.http_tab import HTTPDownloadTab
9+
from automation_file.ui.tabs.json_editor_tab import JSONEditorTab
1010
from automation_file.ui.tabs.local_tab import LocalOpsTab
1111
from automation_file.ui.tabs.s3_tab import S3Tab
1212
from automation_file.ui.tabs.server_tab import ServerTab
1313
from automation_file.ui.tabs.sftp_tab import SFTPTab
1414

1515
__all__ = [
16-
"ActionRunnerTab",
1716
"AzureBlobTab",
1817
"DropboxTab",
1918
"GoogleDriveTab",
2019
"HTTPDownloadTab",
20+
"JSONEditorTab",
2121
"LocalOpsTab",
2222
"S3Tab",
2323
"SFTPTab",

automation_file/ui/tabs/action_tab.py

Lines changed: 0 additions & 109 deletions
This file was deleted.

0 commit comments

Comments
 (0)