diff options
| author | Danilo M. <danix@danix.xyz> | 2026-05-03 12:58:15 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-05-03 12:58:15 +0200 |
| commit | 1570667d5d2b66588bd7d5b44ab70c25ba16d5d4 (patch) | |
| tree | 5ad57ea90013d3041d8d06f60e644716351221b4 /ui | |
| parent | 220b9e054424569afc3298be04eeff6d7fa18381 (diff) | |
| download | publisher-1570667d5d2b66588bd7d5b44ab70c25ba16d5d4.tar.gz publisher-1570667d5d2b66588bd7d5b44ab70c25ba16d5d4.zip | |
feat: show type, date, tags, categories in article list rows
Diffstat (limited to 'ui')
| -rw-r--r-- | ui/articles_view.py | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/ui/articles_view.py b/ui/articles_view.py index f45e736..36ca5ec 100644 --- a/ui/articles_view.py +++ b/ui/articles_view.py @@ -3,7 +3,7 @@ from PyQt6.QtWidgets import ( QWidget, QVBoxLayout, QTabWidget, QListWidget, QListWidgetItem, QLabel, ) -from PyQt6.QtCore import Qt, pyqtSignal +from PyQt6.QtCore import Qt, pyqtSignal, QSize from PyQt6.QtGui import QColor from core.models import Article @@ -13,12 +13,30 @@ class ArticleItem(QListWidgetItem): self.article = article if article.has_translation: badge = f"🇬🇧 ✓" if article.lang == "it" else "🇮🇹 ✓" - status = f"{article.slug} [{badge}]" else: badge = f"🇬🇧 ✗" if article.lang == "it" else "🇮🇹 ✗" - status = f"{article.slug} [{badge}]" - self.setText(status) - if not article.has_translation: + line1 = f"{article.slug} [{badge}]" + if article.draft: + line1 = f"[DRAFT] {line1}" + + parts = [] + if article.meta_type: + parts.append(article.meta_type) + if article.meta_date: + parts.append(article.meta_date) + if article.meta_tags: + parts.append(f"#{article.meta_tags.replace(', ', ' #')}") + if article.meta_categories: + parts.append(f"[{article.meta_categories}]") + line2 = " ".join(parts) if parts else "" + + text = f"{line1}\n{line2}" if line2 else line1 + self.setText(text) + self.setSizeHint(QSize(0, 42) if line2 else QSize(0, 26)) + + if article.draft: + self.setForeground(QColor("#f59e0b")) + elif not article.has_translation: self.setForeground(QColor("#ff6b6b")) class ArticlesView(QWidget): |
