mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-29 12:45:40 +08:00
Fixed update info
* save before displaying "update info" as it relies on saved channel * signal to indicate new version, using that for launcher header
This commit is contained in:
committed by
Mat Sutcliffe
parent
e6096abf57
commit
1dd6a0852d
@@ -137,7 +137,7 @@ namespace BlackGui
|
|||||||
const QString platform = ui->cb_Platforms->currentText();
|
const QString platform = ui->cb_Platforms->currentText();
|
||||||
if (!CPlatform::isCurrentPlatform(platform))
|
if (!CPlatform::isCurrentPlatform(platform))
|
||||||
{
|
{
|
||||||
const QMessageBox::StandardButton ret = QMessageBox::warning(this, tr("Download installer"),
|
const QMessageBox::StandardButton ret = QMessageBox::warning(this, "Download installer",
|
||||||
QStringLiteral(
|
QStringLiteral(
|
||||||
"The platform '%1' does not match your current platform '%2'.\n"
|
"The platform '%1' does not match your current platform '%2'.\n"
|
||||||
"Do you want to continue?").arg(platform, CPlatform::currentPlatform().getPlatformName()),
|
"Do you want to continue?").arg(platform, CPlatform::currentPlatform().getPlatformName()),
|
||||||
@@ -197,7 +197,8 @@ namespace BlackGui
|
|||||||
// for XSwiftBus we only show public (unrestricted) ones, as the follow up dialog will only show unrestricted
|
// for XSwiftBus we only show public (unrestricted) ones, as the follow up dialog will only show unrestricted
|
||||||
const CUpdateInfo updateInfo(m_updateInfo.get());
|
const CUpdateInfo updateInfo(m_updateInfo.get());
|
||||||
const CArtifactList artifactsPilotClient = updateInfo.getArtifactsPilotClient().findByDistributionAndPlatform(selectedDistribution, selectedPlatform, true);
|
const CArtifactList artifactsPilotClient = updateInfo.getArtifactsPilotClient().findByDistributionAndPlatform(selectedDistribution, selectedPlatform, true);
|
||||||
const CArtifactList artifactsXsb = updateInfo.getArtifactsXSwiftBus().findWithUnrestrictedDistributions().findByDistributionAndPlatform(selectedDistribution, selectedPlatform, true);
|
const CArtifactList artifactsXsb = updateInfo.getArtifactsXSwiftBus().findWithUnrestrictedDistributions().findByDistributionAndPlatform(selectedDistribution, selectedPlatform, true);
|
||||||
|
const CArtifact latestPilotClient = artifactsPilotClient.getLatestArtifactOrDefault();
|
||||||
|
|
||||||
const QStringList sortedPilotClientVersions = artifactsPilotClient.getSortedVersions();
|
const QStringList sortedPilotClientVersions = artifactsPilotClient.getSortedVersions();
|
||||||
ui->cb_ArtifactsPilotClient->clear();
|
ui->cb_ArtifactsPilotClient->clear();
|
||||||
@@ -209,6 +210,9 @@ namespace BlackGui
|
|||||||
ui->cb_ArtifactsXsb->insertItems(0, sortedXsbVersions);
|
ui->cb_ArtifactsXsb->insertItems(0, sortedXsbVersions);
|
||||||
ui->pb_DownloadXSwiftBus->setEnabled(!artifactsXsb.isEmpty());
|
ui->pb_DownloadXSwiftBus->setEnabled(!artifactsXsb.isEmpty());
|
||||||
|
|
||||||
|
// save the settings as this is needed afterwards
|
||||||
|
this->saveSettings();
|
||||||
|
|
||||||
//! \fixme hardcoded stylesheet color
|
//! \fixme hardcoded stylesheet color
|
||||||
const bool newer = this->isNewPilotClientVersionAvailable();
|
const bool newer = this->isNewPilotClientVersionAvailable();
|
||||||
ui->lbl_StatusInfo->setText(newer ? "New version available" : "Nothing new");
|
ui->lbl_StatusInfo->setText(newer ? "New version available" : "Nothing new");
|
||||||
@@ -216,8 +220,12 @@ namespace BlackGui
|
|||||||
"background-color: green; color: white;" :
|
"background-color: green; color: white;" :
|
||||||
"background-color: red; color: white;");
|
"background-color: red; color: white;");
|
||||||
|
|
||||||
this->saveSettings();
|
|
||||||
emit this->selectionChanged();
|
emit this->selectionChanged();
|
||||||
|
|
||||||
|
if (newer && latestPilotClient.isLoadedFromDb())
|
||||||
|
{
|
||||||
|
emit this->newerPilotClientAvailable(latestPilotClient);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const CPlatform &CUpdateInfoComponent::getSelectedOrDefaultPlatform() const
|
const CPlatform &CUpdateInfoComponent::getSelectedOrDefaultPlatform() const
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
#include "blackcore/application/updatesettings.h"
|
#include "blackcore/application/updatesettings.h"
|
||||||
#include "blackgui/blackguiexport.h"
|
#include "blackgui/blackguiexport.h"
|
||||||
#include "blackmisc/db/updateinfo.h"
|
#include "blackmisc/db/updateinfo.h"
|
||||||
|
#include "blackmisc/db/artifact.h"
|
||||||
#include "blackmisc/settingscache.h"
|
#include "blackmisc/settingscache.h"
|
||||||
#include "blackmisc/digestsignal.h"
|
#include "blackmisc/digestsignal.h"
|
||||||
#include <QFrame>
|
#include <QFrame>
|
||||||
@@ -53,6 +54,9 @@ namespace BlackGui
|
|||||||
//! Update info loaded
|
//! Update info loaded
|
||||||
void updateInfoAvailable();
|
void updateInfoAvailable();
|
||||||
|
|
||||||
|
//! A newer pilot client is available
|
||||||
|
void newerPilotClientAvailable(const BlackMisc::Db::CArtifact &latestPilotClient);
|
||||||
|
|
||||||
//! New platfrom or channel
|
//! New platfrom or channel
|
||||||
void selectionChanged();
|
void selectionChanged();
|
||||||
|
|
||||||
|
|||||||
@@ -56,21 +56,23 @@ CSwiftLauncher::CSwiftLauncher(QWidget *parent) :
|
|||||||
this->init();
|
this->init();
|
||||||
connect(ui->tb_SwiftCore, &QPushButton::pressed, this, &CSwiftLauncher::startButtonPressed);
|
connect(ui->tb_SwiftCore, &QPushButton::pressed, this, &CSwiftLauncher::startButtonPressed);
|
||||||
connect(ui->tb_SwiftMappingTool, &QPushButton::pressed, this, &CSwiftLauncher::startButtonPressed);
|
connect(ui->tb_SwiftMappingTool, &QPushButton::pressed, this, &CSwiftLauncher::startButtonPressed);
|
||||||
connect(ui->tb_SwiftGui, &QPushButton::pressed, this, &CSwiftLauncher::startButtonPressed);
|
connect(ui->tb_SwiftGui, &QPushButton::pressed, this, &CSwiftLauncher::startButtonPressed);
|
||||||
connect(ui->tb_Database, &QPushButton::pressed, this, &CSwiftLauncher::startButtonPressed);
|
connect(ui->tb_Database, &QPushButton::pressed, this, &CSwiftLauncher::startButtonPressed);
|
||||||
connect(ui->tb_BackToMain, &QToolButton::pressed, this, &CSwiftLauncher::showMainPage);
|
connect(ui->tb_BackToMain, &QToolButton::pressed, this, &CSwiftLauncher::showMainPage);
|
||||||
connect(ui->tb_ConfigurationWizard, &QToolButton::pressed, this, &CSwiftLauncher::startWizard);
|
connect(ui->tb_ConfigurationWizard, &QToolButton::pressed, this, &CSwiftLauncher::startWizard);
|
||||||
connect(ui->tb_Launcher, &QToolBox::currentChanged, this, &CSwiftLauncher::tabChanged);
|
connect(ui->tb_Launcher, &QToolBox::currentChanged, this, &CSwiftLauncher::tabChanged);
|
||||||
|
|
||||||
connect(ui->rb_SwiftCoreAudioOnCore, &QRadioButton::released, this, &CSwiftLauncher::onCoreModeReleased);
|
connect(ui->rb_SwiftCoreAudioOnCore, &QRadioButton::released, this, &CSwiftLauncher::onCoreModeReleased);
|
||||||
connect(ui->rb_SwiftCoreAudioOnGui, &QRadioButton::released, this, &CSwiftLauncher::onCoreModeReleased);
|
connect(ui->rb_SwiftCoreAudioOnGui, &QRadioButton::released, this, &CSwiftLauncher::onCoreModeReleased);
|
||||||
connect(ui->rb_SwiftStandalone, &QRadioButton::released, this, &CSwiftLauncher::onCoreModeReleased);
|
connect(ui->rb_SwiftStandalone, &QRadioButton::released, this, &CSwiftLauncher::onCoreModeReleased);
|
||||||
|
|
||||||
connect(ui->comp_UpdateInfo, &CUpdateInfoComponent::updateInfoAvailable, this, &CSwiftLauncher::updateInfoAvailable);
|
connect(ui->comp_UpdateInfo, &CUpdateInfoComponent::updateInfoAvailable, this, &CSwiftLauncher::updateInfoAvailable, Qt::QueuedConnection);
|
||||||
connect(ui->comp_DBusSelector, &CDBusServerAddressSelector::editingFinished, this, &CSwiftLauncher::onDBusEditingFinished);
|
connect(ui->comp_UpdateInfo, &CUpdateInfoComponent::newerPilotClientAvailable, this, &CSwiftLauncher::setHeaderInfo, Qt::QueuedConnection);
|
||||||
|
connect(ui->comp_DBusSelector, &CDBusServerAddressSelector::editingFinished, this, &CSwiftLauncher::onDBusEditingFinished, Qt::QueuedConnection);
|
||||||
connect(sGui, &CGuiApplication::styleSheetsChanged, this, &CSwiftLauncher::onStyleSheetsChanged, Qt::QueuedConnection);
|
connect(sGui, &CGuiApplication::styleSheetsChanged, this, &CSwiftLauncher::onStyleSheetsChanged, Qt::QueuedConnection);
|
||||||
|
|
||||||
new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_L), this, SLOT(showLogPage()));
|
const QShortcut *logPageShortCut = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_L), this, SLOT(showLogPage()));
|
||||||
|
Q_UNUSED(logPageShortCut);
|
||||||
|
|
||||||
// default from settings
|
// default from settings
|
||||||
this->setDefaults();
|
this->setDefaults();
|
||||||
@@ -86,7 +88,7 @@ CSwiftLauncher::CSwiftLauncher(QWidget *parent) :
|
|||||||
const QPointer<CSwiftLauncher> myself(this);
|
const QPointer<CSwiftLauncher> myself(this);
|
||||||
QTimer::singleShot(2500, this, [ = ]
|
QTimer::singleShot(2500, this, [ = ]
|
||||||
{
|
{
|
||||||
if (!myself) { return; }
|
if (!sGui || sGui->isShuttingDown() || !myself) { return; }
|
||||||
myself->startWizard();
|
myself->startWizard();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -198,7 +200,7 @@ void CSwiftLauncher::loadLatestNews()
|
|||||||
|
|
||||||
CFailoverUrlList newsUrls(sGui->getGlobalSetup().getSwiftLatestNewsUrls());
|
CFailoverUrlList newsUrls(sGui->getGlobalSetup().getSwiftLatestNewsUrls());
|
||||||
const CUrl newsUrl(newsUrls.obtainNextWorkingUrl(true, 10 * 1000));
|
const CUrl newsUrl(newsUrls.obtainNextWorkingUrl(true, 10 * 1000));
|
||||||
// const CUrl newsUrl("https://dev.swift-project.org/phame/blog/view/1/");
|
// const CUrl newsUrl("https://dev.swift-project.org/phame/blog/view/1/?__print__=1");
|
||||||
|
|
||||||
if (newsUrl.isEmpty())
|
if (newsUrl.isEmpty())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -88,7 +88,7 @@
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QToolBox" name="tb_Launcher">
|
<widget class="QToolBox" name="tb_Launcher">
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>0</number>
|
<number>3</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="tabSpacing">
|
<property name="tabSpacing">
|
||||||
<number>6</number>
|
<number>6</number>
|
||||||
@@ -403,7 +403,7 @@
|
|||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>0</width>
|
<width>0</width>
|
||||||
<height>100</height>
|
<height>110</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
@@ -443,7 +443,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>376</width>
|
<width>376</width>
|
||||||
<height>136</height>
|
<height>126</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="vl_DataUpdatesScrollArea">
|
<layout class="QVBoxLayout" name="vl_DataUpdatesScrollArea">
|
||||||
|
|||||||
Reference in New Issue
Block a user