Skip to content

Commit 2073a28

Browse files
authored
fix: separate about screen title from translations (#836)
* fix: separate about screen title from translations * chore: format with ruff's evil twin
1 parent 6d1ff90 commit 2073a28

File tree

8 files changed

+36
-28
lines changed

8 files changed

+36
-28
lines changed

tagstudio/resources/translations/de.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"about.content": "<h2>TagStudio Alpha {version} ({branch})</h2><p>TagStudio ist eine Anwendung zum organisieren von Fotos & Dateien mit einem zugrunde liegendem Tag-basierten System, welches sich darauf konzentriert, dem Nutzer Freiraum und Flexibilität zu bieten. Keine proprietären Programme oder Formate, kein Meer an Hilfsdateien und keine komplette Umwälzung deiner Dateisystemstruktur.</p>Lizenz: GPLv3<br>Konfigurations-Pfad: {config_path}<br>FFmpeg: {ffmpeg}<br>FFprobe: {ffprobe}<p><a href=\"https://github.com/TagStudioDev/TagStudio\">GitHub</a> | <a href=\"https://docs.tagstud.io\">Dokumentation</a> | <a href=\"https://discord.com/invite/hRNnVKhF2G\">Discord</a></p>",
2+
"about.content": "<p>TagStudio ist eine Anwendung zum organisieren von Fotos & Dateien mit einem zugrunde liegendem Tag-basierten System, welches sich darauf konzentriert, dem Nutzer Freiraum und Flexibilität zu bieten. Keine proprietären Programme oder Formate, kein Meer an Hilfsdateien und keine komplette Umwälzung deiner Dateisystemstruktur.</p>Lizenz: GPLv3<br>Konfigurations-Pfad: {config_path}<br>FFmpeg: {ffmpeg}<br>FFprobe: {ffprobe}<p><a href=\"https://github.com/TagStudioDev/TagStudio\">GitHub</a> | <a href=\"https://docs.tagstud.io\">Dokumentation</a> | <a href=\"https://discord.com/invite/hRNnVKhF2G\">Discord</a></p>",
33
"about.title": "Über",
44
"app.git": "Git Commit",
55
"app.pre_release": "Pre-Release",

tagstudio/resources/translations/en.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,8 @@
8383
"folders_to_tags.description": "Creates tags based on your folder structure and applies them to your entries.\n The structure below shows all the tags that will be created and what entries they will be applied to.",
8484
"folders_to_tags.open_all": "Open All",
8585
"folders_to_tags.title": "Create Tags From Folders",
86-
"about.title": "About",
87-
"about.content": "<h2>TagStudio Alpha {version} ({branch})</h2><p>TagStudio is a photo & file organization application with an underlying tag-based system that focuses on giving freedom and flexibility to the user. No proprietary programs or formats, no sea of sidecar files, and no complete upheaval of your filesystem structure.</p>License: GPLv3<br>Config path: {config_path}<br>FFmpeg: {ffmpeg}<br>FFprobe: {ffprobe}<p><a href=\"https://github.com/TagStudioDev/TagStudio\">GitHub</a> | <a href=\"https://docs.tagstud.io\">Documentation</a> | <a href=\"https://discord.com/invite/hRNnVKhF2G\">Discord</a></p>",
86+
"about.title": "About TagStudio",
87+
"about.content": "<p>TagStudio is a photo & file organization application with an underlying tag-based system that focuses on giving freedom and flexibility to the user. No proprietary programs or formats, no sea of sidecar files, and no complete upheaval of your filesystem structure.</p>License: GPLv3<br>Config path: {config_path}<br>FFmpeg: {ffmpeg}<br>FFprobe: {ffprobe}<p><a href=\"https://github.com/TagStudioDev/TagStudio\">GitHub</a> | <a href=\"https://docs.tagstud.io\">Documentation</a> | <a href=\"https://discord.com/invite/hRNnVKhF2G\">Discord</a></p>",
8888
"generic.add": "Add",
8989
"generic.apply_alt": "&Apply",
9090
"generic.apply": "Apply",

tagstudio/resources/translations/es.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"about.content": "<h2>TagStudio Alpha {version} ({branch})</h2><p>TagStudio es una aplicación de fotografías y archivos con un sistema de etiquetas subyacentes que se centra en dar libertad y flexibilidad al usuario. Sin programas ni formatos propios, ni un mar de archivos y sin trastornar completamente tu sistema de estructurar los archivos.</p>. Licencia: GPLv3<br>Archivo de configuración: {config_path}<br>FFmpeg: {ffmpeg}<br>FFprobe: {ffprobe}<p><a href=\"https://github.com/TagStudioDev/TagStudio\">GitHub</a> | <a href=\"https://docs.tagstud.io\">Documentación</a> | <a href=\"https://discord.com/invite/hRNnVKhF2G\">Discord</a></p>",
2+
"about.content": "<p>TagStudio es una aplicación de fotografías y archivos con un sistema de etiquetas subyacentes que se centra en dar libertad y flexibilidad al usuario. Sin programas ni formatos propios, ni un mar de archivos y sin trastornar completamente tu sistema de estructurar los archivos.</p>. Licencia: GPLv3<br>Archivo de configuración: {config_path}<br>FFmpeg: {ffmpeg}<br>FFprobe: {ffprobe}<p><a href=\"https://github.com/TagStudioDev/TagStudio\">GitHub</a> | <a href=\"https://docs.tagstud.io\">Documentación</a> | <a href=\"https://discord.com/invite/hRNnVKhF2G\">Discord</a></p>",
33
"about.title": "Acerca de",
44
"app.git": "Git Commit",
55
"app.pre_release": "Previas al lanzamiento",

tagstudio/resources/translations/fil.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"about.content": "<h2>TagStudio Alpha {version} ({branch})</h2><p>Ang TagStudio ay isang application ng pagsasaayos ng file at larawan na may pinagbabatayan na tag-based na sistema na nakatutok sa pagbibigay ng kalayaan at kakayahang umangkop sa user. Walang mga proprietary na format o program, walang dagat ng mga sidecar file, at walang kaguluhan ng iyong estruktura ng filesystem.</p>Lisensya: GPLv3<br>Path ng config: {config_path}<br>FFMpeg: {ffmpeg}<br>FFProbe: {ffprobe}<p><a href=\"https://github.com/TagStudioDev/TagStudio\">GitHub</a> | <a href=\"https://docs.tagstud.io\">Dokumentasyon</a> | <a href=\"https://discord.gg/invite/hRNnVKhF2G\">Discord</a></p>",
2+
"about.content": "<p>Ang TagStudio ay isang application ng pagsasaayos ng file at larawan na may pinagbabatayan na tag-based na sistema na nakatutok sa pagbibigay ng kalayaan at kakayahang umangkop sa user. Walang mga proprietary na format o program, walang dagat ng mga sidecar file, at walang kaguluhan ng iyong estruktura ng filesystem.</p>Lisensya: GPLv3<br>Path ng config: {config_path}<br>FFMpeg: {ffmpeg}<br>FFProbe: {ffprobe}<p><a href=\"https://github.com/TagStudioDev/TagStudio\">GitHub</a> | <a href=\"https://docs.tagstud.io\">Dokumentasyon</a> | <a href=\"https://discord.gg/invite/hRNnVKhF2G\">Discord</a></p>",
33
"about.title": "Tungkol sa",
44
"app.git": "Git Commit",
55
"app.pre_release": "Pre-Release",

tagstudio/resources/translations/fr.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"about.content": "<h2>TagStudio Alpha {version} ({branch})</h2><p>TagStudio est une application d'organisation de photos et de fichiers avec un système de tags qui mets en avant la liberté et flexibilité à l'utilisateur. Pas de programmes ou de formats propriétaires, pas la moindre trace de fichiers secondaires, et pas de bouleversement complet de la structure de votre système de fichiers.</p>License: GPLv3<br>Chemin de configuration: {config_path}<br>FFmpeg: {ffmpeg}<br>FFprobe: {ffprobe}<p><a href=\"https://github.com/TagStudioDev/TagStudio\">GitHub</a> | <a href=\"https://docs.tagstud.io\">Documentation</a> | <a href=\"https://discord.com/invite/hRNnVKhF2G\">Discord</a></p>",
2+
"about.content": "<p>TagStudio est une application d'organisation de photos et de fichiers avec un système de tags qui mets en avant la liberté et flexibilité à l'utilisateur. Pas de programmes ou de formats propriétaires, pas la moindre trace de fichiers secondaires, et pas de bouleversement complet de la structure de votre système de fichiers.</p>License: GPLv3<br>Chemin de configuration: {config_path}<br>FFmpeg: {ffmpeg}<br>FFprobe: {ffprobe}<p><a href=\"https://github.com/TagStudioDev/TagStudio\">GitHub</a> | <a href=\"https://docs.tagstud.io\">Documentation</a> | <a href=\"https://discord.com/invite/hRNnVKhF2G\">Discord</a></p>",
33
"about.title": "À propos",
44
"app.git": "Git Commit",
55
"app.pre_release": "Version Préliminaire",

tagstudio/resources/translations/hu.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"about.content": "<h2>TagStudio Alfa {version} ({branch})</h2><p>A TagStudio egy fénykép- és fájlkezelő program, mely címkék segítségével nyújt felhasználói szabadságot és rugalmasságot. A TagStudio nem használ jogvédett formátumokat, társfájlokat és nem fordítja a feje tetejére a már létező fájlrendszert.</p>Licenc: GPLv3<br>Konfigurációs fájl: {config_path}<br>FFmpeg: {ffmpeg}<br>FFprobe: {ffprobe}<p><a href=\"https://github.com/TagStudioDev/TagStudio\">GitHub-adattár</a> | <a href=\"https://docs.tagstud.io\">Dokumentáció</a> | <a href=\"https://discord.com/invite/hRNnVKhF2G\">Discord-szerver</a></p>",
2+
"about.content": "<p>A TagStudio egy fénykép- és fájlkezelő program, mely címkék segítségével nyújt felhasználói szabadságot és rugalmasságot. A TagStudio nem használ jogvédett formátumokat, társfájlokat és nem fordítja a feje tetejére a már létező fájlrendszert.</p>Licenc: GPLv3<br>Konfigurációs fájl: {config_path}<br>FFmpeg: {ffmpeg}<br>FFprobe: {ffprobe}<p><a href=\"https://github.com/TagStudioDev/TagStudio\">GitHub-adattár</a> | <a href=\"https://docs.tagstud.io\">Dokumentáció</a> | <a href=\"https://discord.com/invite/hRNnVKhF2G\">Discord-szerver</a></p>",
33
"about.title": "Névjegy",
44
"app.git": "Git-véglegesítés",
55
"app.pre_release": "Kísérleti verzió",

tagstudio/resources/translations/pt_BR.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"about.content": "<h2>TagStudio Alpha {version} ({branch})</h2><p>TagStudio é uma aplicação de organização de fotos e arquivos com um sistema de tags que tem como foco conceder liberdade e flexibilidade ao usuário. Sem programas ou formatos proprietários, sem imensidão de arquivos Sidecar, e sem total transtorno de sua estrutura de sistema de arquivos.</p>Licença: GPLv3<br>Diretório de Configuração: {config_path}<br>FFmpeg: {ffmpeg}<br>FFprobe: {ffprobe}<p><a href=\"https://github.com/TagStudioDev/TagStudio\">GitHub</a> | <a href=\"https://docs.tagstud.io\">Documentação</a> | <a href=\"https://discord.com/invite/hRNnVKhF2G\">Discord</a></p>",
2+
"about.content": "<p>TagStudio é uma aplicação de organização de fotos e arquivos com um sistema de tags que tem como foco conceder liberdade e flexibilidade ao usuário. Sem programas ou formatos proprietários, sem imensidão de arquivos Sidecar, e sem total transtorno de sua estrutura de sistema de arquivos.</p>Licença: GPLv3<br>Diretório de Configuração: {config_path}<br>FFmpeg: {ffmpeg}<br>FFprobe: {ffprobe}<p><a href=\"https://github.com/TagStudioDev/TagStudio\">GitHub</a> | <a href=\"https://docs.tagstud.io\">Documentação</a> | <a href=\"https://discord.com/invite/hRNnVKhF2G\">Discord</a></p>",
33
"about.title": "Sobre",
44
"app.git": "Confirmação do Git",
55
"app.pre_release": "Pré-Lançamento",

tagstudio/src/qt/modals/about.py

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from PySide6.QtGui import QPixmap
99
from PySide6.QtWidgets import QHBoxLayout, QLabel, QPushButton, QVBoxLayout, QWidget
1010
from src.core.constants import VERSION, VERSION_BRANCH
11+
from src.core.palette import ColorType, UiColor, get_ui_color
1112
from src.qt.modals.ffmpeg_checker import FfmpegChecker
1213
from src.qt.resource_manager import ResourceManager
1314
from src.qt.translations import Translations
@@ -22,9 +23,11 @@ def __init__(self, config_path):
2223
self.rm: ResourceManager = ResourceManager()
2324

2425
self.setWindowModality(Qt.WindowModality.ApplicationModal)
25-
self.setMinimumSize(400, 500)
26+
self.setMinimumSize(360, 480)
2627
self.root_layout = QVBoxLayout(self)
27-
self.root_layout.setContentsMargins(20, 20, 20, 6)
28+
self.root_layout.setContentsMargins(24, 24, 24, 6)
29+
self.root_layout.setSpacing(12)
30+
self.root_layout.setAlignment(Qt.AlignmentFlag.AlignTop)
2831

2932
self.logo_widget = QLabel()
3033
self.logo_widget.setObjectName("logo")
@@ -34,40 +37,45 @@ def __init__(self, config_path):
3437
)
3538
self.logo_widget.setPixmap(self.logo_pixmap)
3639
self.logo_widget.setAlignment(Qt.AlignmentFlag.AlignHCenter)
37-
self.logo_widget.setContentsMargins(0, 0, 0, 20)
40+
self.logo_widget.setContentsMargins(0, 0, 0, 24)
3841

3942
ff_version = self.fc.version()
40-
ffmpeg = '<span style="color:red">Missing</span>'
43+
red = get_ui_color(ColorType.PRIMARY, UiColor.RED)
44+
green = get_ui_color(ColorType.PRIMARY, UiColor.GREEN)
45+
46+
ffmpeg = f'<span style="color:{red}">Missing</span>'
4147
if ff_version["ffmpeg"] is not None:
42-
ffmpeg = '<span style="color:green">Found</span> (' + ff_version["ffmpeg"] + ")"
43-
ffprobe = '<span style="color:red">Missing</span>'
48+
ffmpeg = f'<span style="color:{green}">Found</span> (' + ff_version["ffmpeg"] + ")"
49+
50+
ffprobe = f'<span style="color:{red}">Missing</span>'
4451
if ff_version["ffprobe"] is not None:
45-
ffprobe = '<span style="color:green">Found</span> (' + ff_version["ffprobe"] + ")"
46-
self.content_widget = QLabel(
52+
ffprobe = f'<span style="color:{green}">Found</span> (' + ff_version["ffprobe"] + ")"
53+
54+
branch: str = (" (" + VERSION_BRANCH + ")") if VERSION_BRANCH else ""
55+
self.title_label = QLabel(f"<h2>TagStudio Alpha {VERSION}{branch}</h2>")
56+
self.title_label.setAlignment(Qt.AlignmentFlag.AlignHCenter)
57+
58+
self.content_label = QLabel(
4759
Translations.format(
48-
"about.content",
49-
version=VERSION,
50-
branch=VERSION_BRANCH,
51-
config_path=config_path,
52-
ffmpeg=ffmpeg,
53-
ffprobe=ffprobe,
60+
"about.content", config_path=config_path, ffmpeg=ffmpeg, ffprobe=ffprobe
5461
)
5562
)
56-
self.content_widget.setObjectName("contentLabel")
57-
self.content_widget.setWordWrap(True)
58-
self.content_widget.setOpenExternalLinks(True)
59-
self.content_widget.setAlignment(Qt.AlignmentFlag.AlignHCenter)
63+
self.content_label.setObjectName("contentLabel")
64+
self.content_label.setWordWrap(True)
65+
self.content_label.setOpenExternalLinks(True)
66+
self.content_label.setAlignment(Qt.AlignmentFlag.AlignHCenter)
6067

6168
self.button_widget = QWidget()
6269
self.button_layout = QHBoxLayout(self.button_widget)
6370
self.button_layout.addStretch(1)
6471

6572
self.close_button = QPushButton(Translations["generic.close"])
6673
self.close_button.clicked.connect(lambda: self.close())
67-
self.close_button.setMaximumWidth(80)
6874

6975
self.button_layout.addWidget(self.close_button)
7076

7177
self.root_layout.addWidget(self.logo_widget)
72-
self.root_layout.addWidget(self.content_widget, Qt.AlignmentFlag.AlignTop)
78+
self.root_layout.addWidget(self.title_label)
79+
self.root_layout.addWidget(self.content_label)
80+
self.root_layout.addStretch(1)
7381
self.root_layout.addWidget(self.button_widget)

0 commit comments

Comments
 (0)