Reflect per-scheme override reversion availability.

Took 5 minutes

Took 3 seconds
This commit is contained in:
Lukas Brübach 2026-06-19 21:30:32 +02:00
parent 4fbe85616d
commit cfda677afe
2 changed files with 15 additions and 6 deletions

View file

@ -158,17 +158,22 @@ void PaletteEditorDialog::setupUi()
}); });
} }
void PaletteEditorDialog::updateUserOverrideState()
{
const bool hasUserOverride =
QFile::exists(QDir(userThemeDirPath).absoluteFilePath(PaletteConfig::fileName(loadedScheme)));
revertButton->setEnabled(hasUserOverride);
revertButton->setToolTip(hasUserOverride ? tr("Delete your custom palette and restore the shipped defaults")
: tr("No custom palette overrides exist for this scheme"));
}
void PaletteEditorDialog::retranslateUi() void PaletteEditorDialog::retranslateUi()
{ {
setWindowTitle(tr("Palette Editor — %1").arg(themeName)); setWindowTitle(tr("Palette Editor — %1").arg(themeName));
titleLabel->setText(tr("<b>Palette Editor</b> &nbsp;·&nbsp; %1").arg(themeName)); titleLabel->setText(tr("<b>Palette Editor</b> &nbsp;·&nbsp; %1").arg(themeName));
const bool hasUserOverride = updateUserOverrideState();
QFile::exists(QDir(userThemeDirPath).absoluteFilePath(PaletteConfig::fileName("Light"))) ||
QFile::exists(QDir(userThemeDirPath).absoluteFilePath(PaletteConfig::fileName("Dark")));
revertButton->setEnabled(hasUserOverride);
revertButton->setToolTip(hasUserOverride ? tr("Delete your custom palette and restore the shipped defaults")
: tr("No custom palette overrides exist for this theme"));
schemeComboBox->setToolTip(tr("Switch between the light and dark palette files")); schemeComboBox->setToolTip(tr("Switch between the light and dark palette files"));
editingLabel->setText(tr("Editing:")); editingLabel->setText(tr("Editing:"));
@ -236,6 +241,9 @@ void PaletteEditorDialog::onSchemeChanged(const QString &scheme)
loadedScheme = scheme; loadedScheme = scheme;
paletteGrid->loadPalette(workingConfig.value(scheme)); paletteGrid->loadPalette(workingConfig.value(scheme));
seedAccentFromScheme(scheme); seedAccentFromScheme(scheme);
updateUserOverrideState();
onApply(); onApply();
} }

View file

@ -31,6 +31,7 @@ private slots:
private: private:
void setupUi(); void setupUi();
void updateUserOverrideState();
void retranslateUi(); void retranslateUi();
void refreshChromePalettes(); void refreshChromePalettes();
void loadScheme(const QString &scheme); // snapshot current, switch, load void loadScheme(const QString &scheme); // snapshot current, switch, load