mirror of
https://github.com/nextcloud/desktop.git
synced 2024-11-25 22:46:04 +03:00
ensure we only store update channel not localized in settings
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
This commit is contained in:
parent
a69b761e9e
commit
99c0aadabe
2 changed files with 38 additions and 5 deletions
|
@ -304,10 +304,43 @@ void GeneralSettings::slotUpdateInfo()
|
|||
this, &GeneralSettings::slotUpdateChannelChanged, Qt::UniqueConnection);
|
||||
}
|
||||
|
||||
void GeneralSettings::slotUpdateChannelChanged(const QString &channel)
|
||||
void GeneralSettings::slotUpdateChannelChanged(const QString &translatedChannel)
|
||||
{
|
||||
if (channel == ConfigFile().updateChannel())
|
||||
const auto updateChannelToLocalized = [](const QString &channel) {
|
||||
auto decodedTranslatedChannel = QString{};
|
||||
|
||||
if (channel == QStringLiteral("stable")) {
|
||||
decodedTranslatedChannel = tr("stable");
|
||||
} else if (channel == QStringLiteral("beta")) {
|
||||
decodedTranslatedChannel = tr("beta");
|
||||
}
|
||||
|
||||
return decodedTranslatedChannel;
|
||||
};
|
||||
|
||||
const auto updateChannelFromLocalized = [](const int index) {
|
||||
auto channel = QString{};
|
||||
|
||||
switch (index)
|
||||
{
|
||||
case 0:
|
||||
channel = QStringLiteral("stable");
|
||||
break;
|
||||
case 1:
|
||||
channel = QStringLiteral("beta");
|
||||
break;
|
||||
default:
|
||||
channel = QString{};
|
||||
}
|
||||
|
||||
return channel;
|
||||
};
|
||||
|
||||
const auto channel = updateChannelFromLocalized(_ui->updateChannel->currentIndex());
|
||||
|
||||
if (translatedChannel == ConfigFile().updateChannel()) {
|
||||
return;
|
||||
}
|
||||
|
||||
auto msgBox = new QMessageBox(
|
||||
QMessageBox::Warning,
|
||||
|
@ -327,7 +360,7 @@ void GeneralSettings::slotUpdateChannelChanged(const QString &channel)
|
|||
this);
|
||||
auto acceptButton = msgBox->addButton(tr("Change update channel"), QMessageBox::AcceptRole);
|
||||
msgBox->addButton(tr("Cancel"), QMessageBox::RejectRole);
|
||||
connect(msgBox, &QMessageBox::finished, msgBox, [this, channel, msgBox, acceptButton] {
|
||||
connect(msgBox, &QMessageBox::finished, msgBox, [this, channel, msgBox, acceptButton, updateChannelToLocalized] {
|
||||
msgBox->deleteLater();
|
||||
if (msgBox->clickedButton() == acceptButton) {
|
||||
ConfigFile().setUpdateChannel(channel);
|
||||
|
@ -342,7 +375,7 @@ void GeneralSettings::slotUpdateChannelChanged(const QString &channel)
|
|||
}
|
||||
#endif
|
||||
} else {
|
||||
_ui->updateChannel->setCurrentText(ConfigFile().updateChannel());
|
||||
_ui->updateChannel->setCurrentText(updateChannelToLocalized(ConfigFile().updateChannel()));
|
||||
}
|
||||
});
|
||||
msgBox->open();
|
||||
|
|
|
@ -55,7 +55,7 @@ private slots:
|
|||
void slotShowLegalNotice();
|
||||
#if defined(BUILD_UPDATER)
|
||||
void slotUpdateInfo();
|
||||
void slotUpdateChannelChanged(const QString &channel);
|
||||
void slotUpdateChannelChanged(const QString &translatedChannel);
|
||||
void slotUpdateCheckNow();
|
||||
void slotToggleAutoUpdateCheck();
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue