From 5ac2f470c18a9eda17c1f2f8489c07e2eed2cd04 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Sun, 3 May 2026 10:40:54 +0200 Subject: feat: new article stub creation with Typora open --- ui/main_window.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'ui/main_window.py') 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 -- cgit v1.2.3