diff options
| author | Danilo M. <danix@danix.xyz> | 2026-05-03 10:40:54 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-05-03 10:40:54 +0200 |
| commit | 5ac2f470c18a9eda17c1f2f8489c07e2eed2cd04 (patch) | |
| tree | 326217431959ee7de3587b541503102702cfe009 /ui/main_window.py | |
| parent | d4e151f6782dc7a66313eb92bf6e05fa2d343823 (diff) | |
| download | publisher-5ac2f470c18a9eda17c1f2f8489c07e2eed2cd04.tar.gz publisher-5ac2f470c18a9eda17c1f2f8489c07e2eed2cd04.zip | |
feat: new article stub creation with Typora open
Diffstat (limited to 'ui/main_window.py')
| -rw-r--r-- | ui/main_window.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/ui/main_window.py b/ui/main_window.py index 01e4cf2..001b03a 100644 --- a/ui/main_window.py +++ b/ui/main_window.py @@ -80,7 +80,7 @@ class MainWindow(QMainWindow): self._page_detail = self._stack.count() - 1 # Remaining placeholders - for name in ["new_article", "taxonomy", "media", "translations", "git", "hugo"]: + for name in ["taxonomy", "media", "translations", "git", "hugo"]: w = QLabel(f"[{name}]") w.setAlignment(Qt.AlignmentFlag.AlignCenter) self._stack.addWidget(w) @@ -134,7 +134,10 @@ class MainWindow(QMainWindow): no_trans_row.addWidget(self._badge_no_trans) layout.addLayout(no_trans_row) - btn("➕ Nuovo articolo", "_page_new_article") + b_new = SidebarButton("➕ Nuovo articolo") + b_new.clicked.connect(self._do_new_article) + layout.addWidget(b_new) + self._btn_group.append(b_new) btn("🏷 Tassonomia", "_page_taxonomy") btn("🖼 Media", "_page_media") @@ -178,6 +181,13 @@ class MainWindow(QMainWindow): if dlg.exec(): self._detail_view.set_article(article) + def _do_new_article(self): + from ui.new_article_dialog import NewArticleDialog + dlg = NewArticleDialog(Path(self.config.blog_repo), self) + if dlg.exec() and dlg.created_path: + self._refresh_articles() + subprocess.Popen([self.config.typora_bin, str(dlg.created_path)]) + def _do_translate(self, article: Article): pass # implemented in Task 15 |
