diff --git a/src/blackgui/components/updateinfocomponent.cpp b/src/blackgui/components/updateinfocomponent.cpp index 9d25e4227..2b2643a36 100644 --- a/src/blackgui/components/updateinfocomponent.cpp +++ b/src/blackgui/components/updateinfocomponent.cpp @@ -14,9 +14,11 @@ #include "blackmisc/network/networkutils.h" #include "blackmisc/db/distributionlist.h" #include "blackmisc/logmessage.h" +#include "blackmisc/stringutils.h" #include "blackconfig/buildconfig.h" -#include +#include +#include using namespace BlackConfig; using namespace BlackCore::Application; @@ -119,14 +121,23 @@ namespace BlackGui void CUpdateInfoComponent::downloadXSwiftBusDialog() { + const QString currentXsb = ui->cb_ArtifactsXsb->currentText(); + const QString currentSwift = ui->cb_ArtifactsPilotClient->currentText(); + + if (!stringCompare(currentXsb, currentSwift, Qt::CaseInsensitive)) + { + const QString msg = QStringLiteral("XSwiftBus '%1' does NOT match swift version, download anyway?").arg(currentXsb, currentSwift); + const QMessageBox::StandardButton reply = QMessageBox::question(this, QStringLiteral("Download XSwiftBus"), msg, QMessageBox::Yes | QMessageBox::No); + if (reply != QMessageBox::Yes) { return; } + } + if (!m_installXSwiftBusDialog) { m_installXSwiftBusDialog.reset(new CInstallXSwiftBusDialog(this)); m_installXSwiftBusDialog->setModal(true); } - const QString current = ui->cb_ArtifactsXsb->currentText(); - m_installXSwiftBusDialog->setDefaultDownloadName(current); + m_installXSwiftBusDialog->setDefaultDownloadName(currentXsb); m_installXSwiftBusDialog->show(); } diff --git a/src/blackgui/components/updateinfocomponent.ui b/src/blackgui/components/updateinfocomponent.ui index e35227dd2..4ddb5c6bc 100644 --- a/src/blackgui/components/updateinfocomponent.ui +++ b/src/blackgui/components/updateinfocomponent.ui @@ -116,12 +116,21 @@ - check again + check again + + pb_CheckForUpdates + cb_Channels + cb_Platforms + cb_ArtifactsPilotClient + pb_DownloadInstaller + cb_ArtifactsXsb + pb_DownloadXSwiftBus +