diff options
| author | Danilo M. <danix@danix.xyz> | 2026-05-03 10:20:48 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-05-03 10:20:48 +0200 |
| commit | 3ade340c587da09c777f4b3fbb383f550c457c9b (patch) | |
| tree | fa7a94bb1210727488c3a1b5e4f10845afb7cf72 /ui/setup_dialog.py | |
| parent | 22ae089a6aedb3fb002b4e6fabd45841a2fc6c4f (diff) | |
| download | publisher-3ade340c587da09c777f4b3fbb383f550c457c9b.tar.gz publisher-3ade340c587da09c777f4b3fbb383f550c457c9b.zip | |
feat: main window with sidebar navigation and file watcher
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'ui/setup_dialog.py')
| -rw-r--r-- | ui/setup_dialog.py | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/ui/setup_dialog.py b/ui/setup_dialog.py new file mode 100644 index 0000000..4a8c6b7 --- /dev/null +++ b/ui/setup_dialog.py @@ -0,0 +1,55 @@ +from __future__ import annotations +from PyQt6.QtWidgets import ( + QDialog, QVBoxLayout, QHBoxLayout, QLabel, QLineEdit, + QPushButton, QFileDialog, QFormLayout, +) +from core.config import Config + +class SetupDialog(QDialog): + def __init__(self, config: Config, parent=None): + super().__init__(parent) + self.setWindowTitle("my-publisher — Setup") + self.setMinimumWidth(500) + self._config = config + self._build_ui() + + def _build_ui(self): + layout = QVBoxLayout(self) + layout.addWidget(QLabel("Configura my-publisher prima di iniziare.")) + + form = QFormLayout() + + self._blog_repo = QLineEdit(self._config.blog_repo) + browse_btn = QPushButton("Sfoglia...") + browse_btn.clicked.connect(self._browse_repo) + row = QHBoxLayout() + row.addWidget(self._blog_repo) + row.addWidget(browse_btn) + form.addRow("Blog repo:", row) + + self._transart = QLineEdit(self._config.transart_script) + form.addRow("transart.py:", self._transart) + + self._typora = QLineEdit(self._config.typora_bin) + form.addRow("Typora bin:", self._typora) + + layout.addLayout(form) + + btns = QHBoxLayout() + save_btn = QPushButton("Salva") + save_btn.clicked.connect(self._save) + btns.addStretch() + btns.addWidget(save_btn) + layout.addLayout(btns) + + def _browse_repo(self): + path = QFileDialog.getExistingDirectory(self, "Seleziona blog repo") + if path: + self._blog_repo.setText(path) + + def _save(self): + self._config.blog_repo = self._blog_repo.text().strip() + self._config.transart_script = self._transart.text().strip() + self._config.typora_bin = self._typora.text().strip() + self._config.save() + self.accept() |
