Fix tab retranslation (#7580)

* Retranslate all open tabs on language change

* Address review: deeper Visual DB retranslation, index-based Archidekt size logic

In Qt 6, setItemText() on the current item emits currentTextChanged but not
currentIndexChanged, so connecting the Archidekt combos to currentTextChanged
fired a search on every language change. Both combos now use currentIndexChanged,
and buildSearchUrl() compares the size-logic combo by index so translated labels
cannot drop sizeLogic.

* Derive display mode button text in one place
This commit is contained in:
Neel Jogani 2026-10-25 17:00:17 +05:30 • committed by GitHub
parent f33cfcb288
commit a4c4c67674
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 45 additions and 62 deletions

View file

@ -116,7 +116,7 @@ VisualDatabaseDisplayWidget::VisualDatabaseDisplayWidget(QWidget *parent,
setFocusProxy(searchEdit);
setFocusPolicy(Qt::ClickFocus);
displayModeButton = new QPushButton(tr("Visual"), this);
displayModeButton = new QPushButton(this);
displayModeButton->setCheckable(true); // Toggle button
connect(displayModeButton, &QPushButton::toggled, this, &VisualDatabaseDisplayWidget::onDisplayModeChanged);
@ -262,6 +262,10 @@ void VisualDatabaseDisplayWidget::retranslateUi()
{
databaseLoadIndicator->setText(tr("Loading database ..."));
clearFilterWidget->setToolTip(tr("Clear all filters"));
searchEdit->setPlaceholderText(tr("Search by card name (or search expressions)"));
updateDisplayModeButton();
colorFilterWidget->retranslateUi();
filterContainer->retranslateUi();
}
void VisualDatabaseDisplayWidget::highlightAllSearchEdit()
@ -269,6 +273,11 @@ void VisualDatabaseDisplayWidget::highlightAllSearchEdit()
searchEdit->setSelection(0, searchEdit->text().length());
}
void VisualDatabaseDisplayWidget::updateDisplayModeButton()
{
displayModeButton->setText(displayModeButton->isChecked() ? tr("Table") : tr("Visual"));
}
void VisualDatabaseDisplayWidget::resizeEvent(QResizeEvent *event)
{
QWidget::resizeEvent(event);
@ -277,16 +286,15 @@ void VisualDatabaseDisplayWidget::resizeEvent(QResizeEvent *event)
void VisualDatabaseDisplayWidget::onDisplayModeChanged(bool checked)
{
updateDisplayModeButton();
if (checked) {
// Table mode
displayModeButton->setText(tr("Table"));
flowWidget->setVisible(false);
cardSizeWidget->setVisible(false);
databaseView->setItemDelegate(new QStyledItemDelegate(databaseView));
databaseView->setVisible(true);
} else {
// Visual mode
displayModeButton->setText(tr("Visual"));
flowWidget->setVisible(true);
cardSizeWidget->setVisible(true);
databaseView->setVisible(false);

View file

@ -145,6 +145,7 @@ private:
void initializeFilters();
void highlightAllSearchEdit();
void updateDisplayModeButton();
bool nearEndOfPage() const;
protected: