feat: Update branding terminology and improve settings dialog for logo management

This commit is contained in:
claudi 2026-04-15 14:27:56 +02:00
parent e52c09857f
commit e1dbc2ee84
10 changed files with 104 additions and 57 deletions

View file

@ -196,22 +196,16 @@ class SettingsDialog(QDialog):
layout.addWidget(QLabel(tr("settings.branding.display_name_label")))
layout.addWidget(self.branding_display_name_input)
self.branding_app_name_input = QLineEdit()
self.branding_app_name_input.setPlaceholderText(tr("settings.branding.app_name_label"))
layout.addWidget(QLabel(tr("settings.branding.app_name_label")))
layout.addWidget(self.branding_app_name_input)
self.branding_window_title_input = QLineEdit()
self.branding_window_title_input.setPlaceholderText(
tr("settings.branding.window_title_label")
)
layout.addWidget(QLabel(tr("settings.branding.window_title_label")))
layout.addWidget(self.branding_window_title_input)
layout.addWidget(QLabel(tr("settings.branding.logo_path_label")))
logo_layout = QHBoxLayout()
self.branding_logo_path_input = QLineEdit()
self.branding_logo_path_input.setPlaceholderText(tr("settings.branding.logo_path_label"))
layout.addWidget(QLabel(tr("settings.branding.logo_path_label")))
layout.addWidget(self.branding_logo_path_input)
logo_layout.addWidget(self.branding_logo_path_input)
self.browse_branding_logo_btn = QPushButton(tr("settings.log_file.browse_btn"))
self.browse_branding_logo_btn.clicked.connect(self._browse_branding_logo)
logo_layout.addWidget(self.browse_branding_logo_btn)
layout.addLayout(logo_layout)
branding_button_layout = QHBoxLayout()
self.save_branding_as_btn = QPushButton(tr("settings.branding.save_as_btn"))
@ -249,8 +243,6 @@ class SettingsDialog(QDialog):
"""Load the selected branding template into the editable fields."""
template = self.branding_manager.load_template(template_id)
self.branding_display_name_input.setText(template.display_name)
self.branding_app_name_input.setText(template.app_name)
self.branding_window_title_input.setText(template.window_title)
self.branding_logo_path_input.setText(template.logo_path)
def _on_branding_selection_changed(self) -> None:
@ -259,23 +251,34 @@ class SettingsDialog(QDialog):
if template_id:
self._load_branding_into_editor(template_id)
def _browse_branding_logo(self) -> None:
"""Select an external logo or icon file for the current branding."""
file_path, _ = QFileDialog.getOpenFileName(
self,
tr("settings.branding.logo_path_label"),
str(Path.home()),
"Image Files (*.png *.jpg *.jpeg *.svg *.ico *.icns *.bmp);;All Files (*)",
)
if file_path:
self.branding_logo_path_input.setText(file_path)
def _save_branding_as(self) -> None:
"""Save the edited branding as a new reusable template."""
template_id, ok = QInputDialog.getText(
"""Save the edited branding as a new reusable branding entry."""
branding_name, ok = QInputDialog.getText(
self,
tr("settings.branding.save_as_title"),
tr("settings.branding.save_as_prompt"),
text=self.branding_display_name_input.text().strip(),
)
if not ok or not template_id:
if not ok or not branding_name:
return
try:
template = self.branding_manager.build_template(
template_id=template_id,
display_name=self.branding_display_name_input.text(),
app_name=self.branding_app_name_input.text(),
window_title=self.branding_window_title_input.text(),
template_id=branding_name,
display_name=branding_name,
app_name=branding_name,
logo_path=self.branding_logo_path_input.text(),
)
self.branding_manager.save_template(template)