Changelog for Pre-release only

This commit is contained in:
DanielSvoboda 2024-09-18 14:56:01 -03:00
parent 02f3679df5
commit 9e6b6ba4d9

View File

@ -189,41 +189,49 @@ void CheckUpdate::setupUI_UpdateAvailable(const QString& downloadUrl, const QStr
bottomLayout->addWidget(noButton); bottomLayout->addWidget(noButton);
layout->addLayout(bottomLayout); layout->addLayout(bottomLayout);
QString updateChannel = QString::fromStdString(Config::getUpdateChannel());
// Create text field for changelog // Create text field for changelog
QTextEdit* textField = new QTextEdit(this);
textField->setReadOnly(true);
textField->setFixedWidth(400);
textField->setFixedHeight(200);
textField->setVisible(false);
layout->addWidget(textField);
// Create toggle button for changelog if (updateChannel == "unstable") {
QPushButton* toggleButton = new QPushButton(tr("Show Changelog"), this);
layout->addWidget(toggleButton);
// Connect the toggle button to the slot to show/hide changelog QTextEdit* textField = new QTextEdit(this);
connect(toggleButton, &QPushButton::clicked,
[this, textField, toggleButton, currentRev, latestRev, downloadUrl, latestDate, textField->setReadOnly(true);
currentDate]() { textField->setFixedWidth(400);
QString updateChannel = QString::fromStdString(Config::getUpdateChannel()); textField->setFixedHeight(200);
if (updateChannel == "unstable") { textField->setVisible(false);
if (!textField->isVisible()) { layout->addWidget(textField);
requestChangelog(currentRev, latestRev, downloadUrl, latestDate,
currentDate); // Create toggle button for changelog
setFixedSize(420, 410); QPushButton* toggleButton = new QPushButton(tr("Show Changelog"), this);
textField->setVisible(true); layout->addWidget(toggleButton);
toggleButton->setText(tr("Hide Changelog"));
// Connect the toggle button to the slot to show/hide changelog
connect(toggleButton, &QPushButton::clicked,
[this, textField, toggleButton, currentRev, latestRev, downloadUrl, latestDate,
currentDate]() {
QString updateChannel = QString::fromStdString(Config::getUpdateChannel());
if (updateChannel == "unstable") {
if (!textField->isVisible()) {
requestChangelog(currentRev, latestRev, downloadUrl, latestDate,
currentDate);
setFixedSize(420, 410);
textField->setVisible(true);
toggleButton->setText(tr("Hide Changelog"));
} else {
setFixedSize(420, 205);
textField->setVisible(false);
toggleButton->setText(tr("Show Changelog"));
}
} else { } else {
setFixedSize(420, 205); QMessageBox::information(
textField->setVisible(false); this, tr("Changelog Unavailable"),
toggleButton->setText(tr("Show Changelog")); tr("Viewing changelog is only available for the 'unstable' channel."));
} }
} else { });
QMessageBox::information( } else {
this, tr("Changelog Unavailable"), setFixedSize(420, 175);
tr("Viewing changelog is only available for the 'unstable' channel.")); }
}
});
connect(yesButton, &QPushButton::clicked, this, connect(yesButton, &QPushButton::clicked, this,
[this, downloadUrl]() { DownloadAndInstallUpdate(downloadUrl); }); [this, downloadUrl]() { DownloadAndInstallUpdate(downloadUrl); });