_ui->monoIconsCheckBox->setChecked(cfgFile.monoIcons());
#if defined(BUILD_UPDATER)
- auto validUpdateChannels = cfgFile.validUpdateChannels();
- if (const auto serverHasValidSubscription = cfgFile.serverHasValidSubscription();
- serverHasValidSubscription && !Theme::instance()->isBranded()) {
- validUpdateChannels << QStringLiteral("enterprise");
- }
+ const auto validUpdateChannels = cfgFile.validUpdateChannels();
_ui->updateChannel->addItems(validUpdateChannels);
const auto currentUpdateChannelIndex = validUpdateChannels.indexOf(cfgFile.currentUpdateChannel());
_ui->updateChannel->setCurrentIndex(currentUpdateChannelIndex != -1? currentUpdateChannelIndex : 0);
}
};
+ ConfigFile configFile;
const auto channel = updateChannelFromLocalized(_ui->updateChannel->currentIndex());
- if (channel == ConfigFile().currentUpdateChannel()) {
+ if (channel == configFile.currentUpdateChannel()) {
return;
}
- const auto enterprise = _ui->updateChannel->count() > 3 ? "- enterprise: contains stable versions for customers.\n" : "";
+ const auto enterprise = configFile.validUpdateChannels().contains("enterprise") ? "- enterprise: contains stable versions for customers.\n"
+ : "";
auto msgBox = new QMessageBox(
QMessageBox::Warning,
tr("Changing update channel?"),
static constexpr char certPath[] = "http_certificatePath";
static constexpr char certPasswd[] = "http_certificatePasswd";
-static const QStringList validUpdateChannelsList { QStringLiteral("stable"), QStringLiteral("beta"), QStringLiteral("daily") };
-static constexpr char defaultUpdateChannelName[] = "stable";
+static const QStringList defaultUpdateChannelsList { QStringLiteral("stable"), QStringLiteral("beta"), QStringLiteral("daily") };
+static constexpr QString defaultUpdateChannelName = "stable";
+static constexpr char defaultEnterpriseChannel[] = "enterprise";
static constexpr char serverHasValidSubscriptionC[] = "serverHasValidSubscription";
static constexpr char desktopEnterpriseChannelName[] = "desktopEnterpriseChannel";
}
QStringList ConfigFile::validUpdateChannels() const
{
- return validUpdateChannelsList;
+ auto updateChannelsList = defaultUpdateChannelsList;
+ if (serverHasValidSubscription() && !Theme::instance()->isBranded()) {
+ updateChannelsList << defaultEnterpriseChannel;
+ }
+
+ return updateChannelsList;
}
QString ConfigFile::defaultUpdateChannel() const
{
+ auto defaultUpdateChannel = defaultUpdateChannelName;
+ if (serverHasValidSubscription() && !Theme::instance()->isBranded()) {
+ if (const auto serverChannel = desktopEnterpriseChannel();
+ validUpdateChannels().contains(serverChannel)) {
+ qCWarning(lcConfigFile()) << "Enforcing update channel" << serverChannel << "because that is the desktop enterprise channel returned by the server.";
+ defaultUpdateChannel = serverChannel;
+ }
+ }
+
if (const auto currentVersionSuffix = Theme::instance()->versionSuffix();
validUpdateChannels().contains(currentVersionSuffix)) {
qCWarning(lcConfigFile()) << "Enforcing update channel" << currentVersionSuffix << "because of the version suffix of the current client.";
- return currentVersionSuffix;
+ defaultUpdateChannel = currentVersionSuffix;
}
- return defaultUpdateChannelName;
+ return defaultUpdateChannel;
}
QString ConfigFile::currentUpdateChannel() const