diff --git a/src/common/config.cpp b/src/common/config.cpp
index 284407914..048571a5a 100644
--- a/src/common/config.cpp
+++ b/src/common/config.cpp
@@ -55,6 +55,7 @@ static bool isDebugDump = false;
static bool isShaderDebug = false;
static bool isShowSplash = false;
static bool isAutoUpdate = false;
+static bool isAlwaysShowChangelog = false;
static bool isNullGpu = false;
static bool shouldCopyGPUBuffers = false;
static bool shouldDumpShaders = false;
@@ -237,6 +238,10 @@ bool autoUpdate() {
return isAutoUpdate;
}
+bool alwaysShowChangelog() {
+ return isAlwaysShowChangelog;
+}
+
bool nullGpu() {
return isNullGpu;
}
@@ -337,6 +342,10 @@ void setAutoUpdate(bool enable) {
isAutoUpdate = enable;
}
+void setAlwaysShowChangelog(bool enable) {
+ isAlwaysShowChangelog = enable;
+}
+
void setNullGpu(bool enable) {
isNullGpu = enable;
}
@@ -678,6 +687,7 @@ void load(const std::filesystem::path& path) {
}
isShowSplash = toml::find_or(general, "showSplash", true);
isAutoUpdate = toml::find_or(general, "autoUpdate", false);
+ isAlwaysShowChangelog = toml::find_or(general, "alwaysShowChangelog", false);
separateupdatefolder = toml::find_or(general, "separateUpdateEnabled", false);
compatibilityData = toml::find_or(general, "compatibilityEnabled", false);
checkCompatibilityOnStartup =
@@ -811,6 +821,7 @@ void save(const std::filesystem::path& path) {
data["General"]["chooseHomeTab"] = chooseHomeTab;
data["General"]["showSplash"] = isShowSplash;
data["General"]["autoUpdate"] = isAutoUpdate;
+ data["General"]["alwaysShowChangelog"] = isAlwaysShowChangelog;
data["General"]["separateUpdateEnabled"] = separateupdatefolder;
data["General"]["compatibilityEnabled"] = compatibilityData;
data["General"]["checkCompatibilityOnStartup"] = checkCompatibilityOnStartup;
@@ -932,6 +943,7 @@ void setDefaultValues() {
isShaderDebug = false;
isShowSplash = false;
isAutoUpdate = false;
+ isAlwaysShowChangelog = false;
isNullGpu = false;
shouldDumpShaders = false;
vblankDivider = 1;
diff --git a/src/common/config.h b/src/common/config.h
index 012f9b830..3a140c0c8 100644
--- a/src/common/config.h
+++ b/src/common/config.h
@@ -57,6 +57,7 @@ bool debugDump();
bool collectShadersForDebug();
bool showSplash();
bool autoUpdate();
+bool alwaysShowChangelog();
bool nullGpu();
bool copyGPUCmdBuffers();
bool dumpShaders();
@@ -68,6 +69,7 @@ void setDebugDump(bool enable);
void setCollectShaderForDebug(bool enable);
void setShowSplash(bool enable);
void setAutoUpdate(bool enable);
+void setAlwaysShowChangelog(bool enable);
void setNullGpu(bool enable);
void setAllowHDR(bool enable);
void setCopyGPUCmdBuffers(bool enable);
diff --git a/src/qt_gui/check_update.cpp b/src/qt_gui/check_update.cpp
index 37554abfb..ac1aa9279 100644
--- a/src/qt_gui/check_update.cpp
+++ b/src/qt_gui/check_update.cpp
@@ -198,29 +198,45 @@ void CheckUpdate::setupUI(const QString& downloadUrl, const QString& latestDate,
QString updateChannel = QString::fromStdString(Config::getUpdateChannel());
- QString updateText =
- QString("
" + tr("Update Channel") + ": " + updateChannel + "
" +
- tr("Current Version") + ": %1 (%2)
" + tr("Latest Version") +
- ": %3 (%4)
" + tr("Do you want to update?") + "
")
- .arg(currentRev.left(7), currentDate, latestRev, latestDate);
+ QString updateText = QString("" + tr("Update Channel") + ": " + updateChannel +
+ "
"
+ "
"
+ "" +
+ tr("Current Version") +
+ ": | "
+ "%1 | "
+ "(%2) | "
+ "
"
+ "" +
+ tr("Latest Version") +
+ ": | "
+ "%3 | "
+ "(%4) | "
+ "
")
+ .arg(currentRev.left(7), currentDate, latestRev, latestDate);
+
QLabel* updateLabel = new QLabel(updateText, this);
layout->addWidget(updateLabel);
// Setup bottom layout with action buttons
- QHBoxLayout* bottomLayout = new QHBoxLayout();
autoUpdateCheckBox = new QCheckBox(tr("Check for Updates at Startup"), this);
+ layout->addWidget(autoUpdateCheckBox);
+
+ QHBoxLayout* updatePromptLayout = new QHBoxLayout();
+ QLabel* updatePromptLabel = new QLabel(tr("Do you want to update?"), this);
+ updatePromptLayout->addWidget(updatePromptLabel);
+
yesButton = new QPushButton(tr("Update"), this);
noButton = new QPushButton(tr("No"), this);
yesButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred);
noButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred);
- bottomLayout->addWidget(autoUpdateCheckBox);
QSpacerItem* spacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
- bottomLayout->addItem(spacer);
+ updatePromptLayout->addItem(spacer);
+ updatePromptLayout->addWidget(yesButton);
+ updatePromptLayout->addWidget(noButton);
- bottomLayout->addWidget(yesButton);
- bottomLayout->addWidget(noButton);
- layout->addLayout(bottomLayout);
+ layout->addLayout(updatePromptLayout);
// Don't show changelog button if:
// The current version is a pre-release and the version to be downloaded is a release.
@@ -241,19 +257,27 @@ void CheckUpdate::setupUI(const QString& downloadUrl, const QString& latestDate,
connect(toggleButton, &QPushButton::clicked,
[this, textField, toggleButton, currentRev, latestRev, downloadUrl, latestDate,
currentDate]() {
- QString updateChannel = QString::fromStdString(Config::getUpdateChannel());
if (!textField->isVisible()) {
requestChangelog(currentRev, latestRev, downloadUrl, latestDate,
currentDate);
textField->setVisible(true);
toggleButton->setText(tr("Hide Changelog"));
adjustSize();
+ textField->setFixedWidth(textField->width() + 20);
} else {
textField->setVisible(false);
toggleButton->setText(tr("Show Changelog"));
adjustSize();
}
});
+
+ if (Config::alwaysShowChangelog()) {
+ requestChangelog(currentRev, latestRev, downloadUrl, latestDate, currentDate);
+ textField->setVisible(true);
+ toggleButton->setText(tr("Hide Changelog"));
+ adjustSize();
+ textField->setFixedWidth(textField->width() + 20);
+ }
}
connect(yesButton, &QPushButton::clicked, this, [this, downloadUrl]() {
diff --git a/src/qt_gui/settings_dialog.cpp b/src/qt_gui/settings_dialog.cpp
index 4d9fa1621..8d69c58cf 100644
--- a/src/qt_gui/settings_dialog.cpp
+++ b/src/qt_gui/settings_dialog.cpp
@@ -137,9 +137,15 @@ SettingsDialog::SettingsDialog(std::span physical_devices,
#if (QT_VERSION < QT_VERSION_CHECK(6, 7, 0))
connect(ui->updateCheckBox, &QCheckBox::stateChanged, this,
[](int state) { Config::setAutoUpdate(state == Qt::Checked); });
+
+ connect(ui->changelogCheckBox, &QCheckBox::stateChanged, this,
+ [](int state) { Config::setAlwaysShowChangelog(state == Qt::Checked); });
#else
connect(ui->updateCheckBox, &QCheckBox::checkStateChanged, this,
[](Qt::CheckState state) { Config::setAutoUpdate(state == Qt::Checked); });
+
+ connect(ui->changelogCheckBox, &QCheckBox::checkStateChanged, this,
+ [](Qt::CheckState state) { Config::setAlwaysShowChangelog(state == Qt::Checked); });
#endif
connect(ui->updateComboBox, &QComboBox::currentTextChanged, this,
@@ -391,6 +397,8 @@ void SettingsDialog::LoadValuesFromConfig() {
#ifdef ENABLE_UPDATER
ui->updateCheckBox->setChecked(toml::find_or(data, "General", "autoUpdate", false));
+ ui->changelogCheckBox->setChecked(
+ toml::find_or(data, "General", "alwaysShowChangelog", false));
std::string updateChannel = toml::find_or(data, "General", "updateChannel", "");
if (updateChannel != "Release" && updateChannel != "Nightly") {
if (Common::isRelease) {
@@ -651,6 +659,7 @@ void SettingsDialog::UpdateSettings() {
Config::setCollectShaderForDebug(ui->collectShaderCheckBox->isChecked());
Config::setCopyGPUCmdBuffers(ui->copyGPUBuffersCheckBox->isChecked());
Config::setAutoUpdate(ui->updateCheckBox->isChecked());
+ Config::setAlwaysShowChangelog(ui->changelogCheckBox->isChecked());
Config::setUpdateChannel(ui->updateComboBox->currentText().toStdString());
Config::setChooseHomeTab(ui->chooseHomeTabComboBox->currentText().toStdString());
Config::setCompatibilityEnabled(ui->enableCompatibilityCheckBox->isChecked());
diff --git a/src/qt_gui/settings_dialog.ui b/src/qt_gui/settings_dialog.ui
index 1b688a9b9..53bae664f 100644
--- a/src/qt_gui/settings_dialog.ui
+++ b/src/qt_gui/settings_dialog.ui
@@ -74,7 +74,7 @@
0
0
946
- 535
+ 536
@@ -346,7 +346,7 @@
Update
-
+
6
@@ -465,6 +465,13 @@
+ -
+
+
+ Always Show Changelog
+
+
+
@@ -488,7 +495,7 @@
0
0
946
- 535
+ 536
@@ -937,7 +944,7 @@
0
0
946
- 535
+ 536
@@ -1181,7 +1188,7 @@
0
0
946
- 535
+ 536
@@ -1325,7 +1332,7 @@
0
0
946
- 535
+ 536
@@ -1609,7 +1616,7 @@
0
0
946
- 535
+ 536
@@ -1699,7 +1706,7 @@
0
0
946
- 535
+ 536
diff --git a/src/qt_gui/translations/da_DK.ts b/src/qt_gui/translations/da_DK.ts
index a3f66a8f1..1b1a15a3c 100644
--- a/src/qt_gui/translations/da_DK.ts
+++ b/src/qt_gui/translations/da_DK.ts
@@ -728,6 +728,10 @@
Check for Updates at Startup
Tjek for opdateringer ved start
+
+ Always Show Changelog
+ Vis altid changelog
+
Update Channel
Opdateringskanal
diff --git a/src/qt_gui/translations/de.ts b/src/qt_gui/translations/de.ts
index 83b73628b..65cdd5f4a 100644
--- a/src/qt_gui/translations/de.ts
+++ b/src/qt_gui/translations/de.ts
@@ -752,6 +752,10 @@
Check for Updates at Startup
Beim Start nach Updates suchen
+
+ Always Show Changelog
+ Changelog immer anzeigen
+
Update Channel
Update-Kanal
diff --git a/src/qt_gui/translations/el.ts b/src/qt_gui/translations/el.ts
index 8d6237d9f..ad7bed9c1 100644
--- a/src/qt_gui/translations/el.ts
+++ b/src/qt_gui/translations/el.ts
@@ -728,6 +728,10 @@
Check for Updates at Startup
Έλεγχος για ενημερώσεις κατά την εκκίνηση
+
+ Always Show Changelog
+ Πάντα εμφάνιση ιστορικού αλλαγών
+
Update Channel
Κανάλι Ενημέρωσης
diff --git a/src/qt_gui/translations/en.ts b/src/qt_gui/translations/en.ts
index 98711f804..c3de0062a 100644
--- a/src/qt_gui/translations/en.ts
+++ b/src/qt_gui/translations/en.ts
@@ -740,6 +740,10 @@
Check for Updates at Startup
Check for Updates at Startup
+
+ Always Show Changelog
+ Always Show Changelog
+
Update Channel
Update Channel
diff --git a/src/qt_gui/translations/es_ES.ts b/src/qt_gui/translations/es_ES.ts
index 12a214fa9..2b8405ed1 100644
--- a/src/qt_gui/translations/es_ES.ts
+++ b/src/qt_gui/translations/es_ES.ts
@@ -728,6 +728,10 @@
Check for Updates at Startup
Buscar actualizaciones al iniciar
+
+ Always Show Changelog
+ Mostrar siempre el registro de cambios
+
Update Channel
Canal de Actualización
diff --git a/src/qt_gui/translations/fa_IR.ts b/src/qt_gui/translations/fa_IR.ts
index ba937b08f..3569e9adc 100644
--- a/src/qt_gui/translations/fa_IR.ts
+++ b/src/qt_gui/translations/fa_IR.ts
@@ -728,6 +728,10 @@
Check for Updates at Startup
بررسی بهروزرسانیها در زمان راهاندازی
+
+ Always Show Changelog
+ نمایش دائم تاریخچه تغییرات
+
Update Channel
کانال بهروزرسانی
diff --git a/src/qt_gui/translations/fi.ts b/src/qt_gui/translations/fi.ts
index 3ffa5df60..b2494df2a 100644
--- a/src/qt_gui/translations/fi.ts
+++ b/src/qt_gui/translations/fi.ts
@@ -728,6 +728,10 @@
Check for Updates at Startup
Tarkista Päivitykset Käynnistäessä
+
+ Always Show Changelog
+ Näytä aina muutoshistoria
+
Update Channel
Päivityskanava
diff --git a/src/qt_gui/translations/fr.ts b/src/qt_gui/translations/fr.ts
index 97be56eb2..0a28c712f 100644
--- a/src/qt_gui/translations/fr.ts
+++ b/src/qt_gui/translations/fr.ts
@@ -728,6 +728,10 @@
Check for Updates at Startup
Vérif. maj au démarrage
+
+ Always Show Changelog
+ Afficher toujours le changelog
+
Update Channel
Canal de Mise à Jour
diff --git a/src/qt_gui/translations/hu_HU.ts b/src/qt_gui/translations/hu_HU.ts
index ced43daa0..0d679cc4c 100644
--- a/src/qt_gui/translations/hu_HU.ts
+++ b/src/qt_gui/translations/hu_HU.ts
@@ -728,6 +728,10 @@
Check for Updates at Startup
Frissítések keresése indításkor
+
+ Always Show Changelog
+ Mindig mutasd a változásnaplót
+
Update Channel
Frissítési Csatorna
diff --git a/src/qt_gui/translations/id.ts b/src/qt_gui/translations/id.ts
index bc8e8324d..1ddd75b45 100644
--- a/src/qt_gui/translations/id.ts
+++ b/src/qt_gui/translations/id.ts
@@ -728,6 +728,10 @@
Check for Updates at Startup
Periksa pembaruan saat mulai
+
+ Always Show Changelog
+ Selalu Tampilkan Riwayat Perubahan
+
Update Channel
Saluran Pembaruan
diff --git a/src/qt_gui/translations/it.ts b/src/qt_gui/translations/it.ts
index c65aef498..aec2a818b 100644
--- a/src/qt_gui/translations/it.ts
+++ b/src/qt_gui/translations/it.ts
@@ -728,6 +728,10 @@
Check for Updates at Startup
Verifica aggiornamenti all’avvio
+
+ Always Show Changelog
+ Mostra sempre il changelog
+
Update Channel
Canale di Aggiornamento
diff --git a/src/qt_gui/translations/ja_JP.ts b/src/qt_gui/translations/ja_JP.ts
index d566b005d..cca2f1005 100644
--- a/src/qt_gui/translations/ja_JP.ts
+++ b/src/qt_gui/translations/ja_JP.ts
@@ -728,6 +728,10 @@
Check for Updates at Startup
起動時に更新確認
+
+ Always Show Changelog
+ 常に変更履歴を表示
+
Update Channel
アップデートチャネル
diff --git a/src/qt_gui/translations/ko_KR.ts b/src/qt_gui/translations/ko_KR.ts
index 799e706a7..d297e41a3 100644
--- a/src/qt_gui/translations/ko_KR.ts
+++ b/src/qt_gui/translations/ko_KR.ts
@@ -728,6 +728,10 @@
Check for Updates at Startup
Check for Updates at Startup
+
+ Always Show Changelog
+ 항상 변경 사항 표시
+
Update Channel
Update Channel
diff --git a/src/qt_gui/translations/lt_LT.ts b/src/qt_gui/translations/lt_LT.ts
index 4800ab7bb..e4a2dc5b4 100644
--- a/src/qt_gui/translations/lt_LT.ts
+++ b/src/qt_gui/translations/lt_LT.ts
@@ -728,6 +728,10 @@
Check for Updates at Startup
Tikrinti naujinimus paleidus
+
+ Always Show Changelog
+ Visada rodyti pakeitimų žurnalą
+
Update Channel
Atnaujinimo Kanalas
diff --git a/src/qt_gui/translations/nl.ts b/src/qt_gui/translations/nl.ts
index 0975f1b14..2b939046d 100644
--- a/src/qt_gui/translations/nl.ts
+++ b/src/qt_gui/translations/nl.ts
@@ -728,6 +728,10 @@
Check for Updates at Startup
Bij opstart op updates controleren
+
+ Always Show Changelog
+ Altijd changelog tonen
+
Update Channel
Updatekanaal
diff --git a/src/qt_gui/translations/pl_PL.ts b/src/qt_gui/translations/pl_PL.ts
index e90bbef38..c9d2daa9a 100644
--- a/src/qt_gui/translations/pl_PL.ts
+++ b/src/qt_gui/translations/pl_PL.ts
@@ -728,6 +728,10 @@
Check for Updates at Startup
Sprawdź aktualizacje przy starcie
+
+ Always Show Changelog
+ Zawsze pokazuj dziennik zmian
+
Update Channel
Kanał Aktualizacji
diff --git a/src/qt_gui/translations/pt_BR.ts b/src/qt_gui/translations/pt_BR.ts
index 83dd0a6b7..097d17d70 100644
--- a/src/qt_gui/translations/pt_BR.ts
+++ b/src/qt_gui/translations/pt_BR.ts
@@ -728,6 +728,10 @@
Check for Updates at Startup
Verificar Atualizações ao Iniciar
+
+ Always Show Changelog
+ Sempre Mostrar o Changelog
+
Update Channel
Canal de Atualização
diff --git a/src/qt_gui/translations/ro_RO.ts b/src/qt_gui/translations/ro_RO.ts
index ccafb59e4..1d2741bd4 100644
--- a/src/qt_gui/translations/ro_RO.ts
+++ b/src/qt_gui/translations/ro_RO.ts
@@ -728,6 +728,10 @@
Check for Updates at Startup
Verifică actualizări la pornire
+
+ Always Show Changelog
+ Arată întotdeauna jurnalul modificărilor
+
Update Channel
Canal de Actualizare
diff --git a/src/qt_gui/translations/ru_RU.ts b/src/qt_gui/translations/ru_RU.ts
index 8ade23e1c..985e40a49 100644
--- a/src/qt_gui/translations/ru_RU.ts
+++ b/src/qt_gui/translations/ru_RU.ts
@@ -796,6 +796,10 @@
Check for Updates at Startup
Проверка при запуске
+
+ Always Show Changelog
+ Всегда показывать журнал изменений
+
Update Channel
Канал обновления
diff --git a/src/qt_gui/translations/sq.ts b/src/qt_gui/translations/sq.ts
index 41a941a08..20cce6f7d 100644
--- a/src/qt_gui/translations/sq.ts
+++ b/src/qt_gui/translations/sq.ts
@@ -736,6 +736,10 @@
Check for Updates at Startup
Kontrollo për përditësime në nisje
+
+ Always Show Changelog
+ Shfaq gjithmonë regjistrin e ndryshimeve
+
Update Channel
Kanali i përditësimit
diff --git a/src/qt_gui/translations/sv.ts b/src/qt_gui/translations/sv.ts
index 2a68c3f77..60ebf5432 100644
--- a/src/qt_gui/translations/sv.ts
+++ b/src/qt_gui/translations/sv.ts
@@ -1423,6 +1423,10 @@
Check for Updates at Startup
Leta efter uppdateringar vid uppstart
+
+ Always Show Changelog
+ Visa alltid ändringsloggen
+
Update Channel
Uppdateringskanal
diff --git a/src/qt_gui/translations/tr_TR.ts b/src/qt_gui/translations/tr_TR.ts
index cd2b4636c..25878cb0f 100644
--- a/src/qt_gui/translations/tr_TR.ts
+++ b/src/qt_gui/translations/tr_TR.ts
@@ -728,6 +728,10 @@
Check for Updates at Startup
Başlangıçta güncellemeleri kontrol et
+
+ Always Show Changelog
+ Her zaman değişiklik günlüğünü göster
+
Update Channel
Güncelleme Kanalı
diff --git a/src/qt_gui/translations/uk_UA.ts b/src/qt_gui/translations/uk_UA.ts
index 3beb07285..3b880b9ab 100644
--- a/src/qt_gui/translations/uk_UA.ts
+++ b/src/qt_gui/translations/uk_UA.ts
@@ -793,6 +793,10 @@
Check for Updates at Startup
Перевіряти оновлення під час запуску
+
+ Always Show Changelog
+ Завжди показувати журнал змін
+
Update Channel
Канал оновлення
diff --git a/src/qt_gui/translations/vi_VN.ts b/src/qt_gui/translations/vi_VN.ts
index 47ef07ace..a85f5b2c8 100644
--- a/src/qt_gui/translations/vi_VN.ts
+++ b/src/qt_gui/translations/vi_VN.ts
@@ -728,6 +728,10 @@
Check for Updates at Startup
Kiểm tra cập nhật khi khởi động
+
+ Always Show Changelog
+ Luôn hiển thị nhật ký thay đổi
+
Update Channel
Kênh Cập Nhật
diff --git a/src/qt_gui/translations/zh_CN.ts b/src/qt_gui/translations/zh_CN.ts
index 00cc9ae92..6d1f52c5d 100644
--- a/src/qt_gui/translations/zh_CN.ts
+++ b/src/qt_gui/translations/zh_CN.ts
@@ -728,7 +728,6 @@
Guest Debug Markers
Geust 调试标记
-
Update
更新
@@ -737,6 +736,10 @@
Check for Updates at Startup
启动时检查更新
+
+ Always Show Changelog
+ 始终显示变更日志
+
Update Channel
更新频道
diff --git a/src/qt_gui/translations/zh_TW.ts b/src/qt_gui/translations/zh_TW.ts
index e05519d7a..a3a574ea5 100644
--- a/src/qt_gui/translations/zh_TW.ts
+++ b/src/qt_gui/translations/zh_TW.ts
@@ -728,6 +728,10 @@
Check for Updates at Startup
啟動時檢查更新
+
+ Always Show Changelog
+ 始終顯示變更紀錄
+
Update Channel
更新頻道