1.6.1b
This commit is contained in:
parent
158a11b8c7
commit
99e1b86d21
|
@ -46,6 +46,11 @@ COnlineUpdater::COnlineUpdater(QObject *parent) : QObject(parent)
|
|||
|
||||
m_CheckMode = eInit;
|
||||
|
||||
int iUpdate = 0;
|
||||
QString UpdateStr = ParseVersionStr(theConf->GetString("Updater/PendingUpdate"), &iUpdate);
|
||||
if (!IsVersionNewer(UpdateStr) && (UpdateStr != GetCurrentVersion() || iUpdate <= GetCurrentUpdate()))
|
||||
theConf->SetValue("Updater/PendingUpdate", ""); // seams update has been applied
|
||||
|
||||
bool bIsInstallerReady = false;
|
||||
QString FilePath = theConf->GetString("Updater/InstallerPath");
|
||||
if (!FilePath.isEmpty() && QFile::exists(FilePath)) {
|
||||
|
@ -255,7 +260,6 @@ void COnlineUpdater::OnUpdateData(const QVariantMap& Data, const QVariantMap& Pa
|
|||
m_UpdateData = Data;
|
||||
|
||||
bool PendingUpdate = HandleUpdate();
|
||||
theConf->SetValue("Updater/PendingUpdate", PendingUpdate);
|
||||
theGUI->UpdateLabel();
|
||||
|
||||
if (PendingUpdate) {
|
||||
|
@ -275,11 +279,14 @@ void COnlineUpdater::OnUpdateData(const QVariantMap& Data, const QVariantMap& Pa
|
|||
|
||||
bool COnlineUpdater::HandleUpdate()
|
||||
{
|
||||
QString PendingUpdate;
|
||||
|
||||
bool bNewRelease = false;
|
||||
QVariantMap Release = m_UpdateData["release"].toMap();
|
||||
QString ReleaseStr = Release["version"].toString();
|
||||
if (IsVersionNewer(ReleaseStr)) {
|
||||
if (m_CheckMode == eManual || !m_IgnoredUpdates.contains(ReleaseStr)) {
|
||||
PendingUpdate = ReleaseStr;
|
||||
bNewRelease = true;
|
||||
}
|
||||
}
|
||||
|
@ -296,6 +303,8 @@ bool COnlineUpdater::HandleUpdate()
|
|||
theConf->SetValue("Updater/CurrentUpdate", MakeVersionStr(Update)); // cache result
|
||||
else
|
||||
{
|
||||
if(PendingUpdate.isEmpty())
|
||||
PendingUpdate = UpdateStr;
|
||||
if (m_CheckMode == eManual || !m_IgnoredUpdates.contains(UpdateStr)) {
|
||||
bNewUpdate = true;
|
||||
}
|
||||
|
@ -303,6 +312,8 @@ bool COnlineUpdater::HandleUpdate()
|
|||
}
|
||||
}
|
||||
|
||||
theConf->SetValue("Updater/PendingUpdate", PendingUpdate);
|
||||
|
||||
//
|
||||
// special case: updates allowed be to installed, but releases only allowed to be download
|
||||
// solution: apply updates silently, then prompt to install new release, else prioritize installing new releases over updating the existing one
|
||||
|
|
|
@ -185,6 +185,10 @@ CSandMan::CSandMan(QWidget *parent)
|
|||
m_bConnectPending = false;
|
||||
m_bStopPending = false;
|
||||
|
||||
|
||||
m_pUpdater = new COnlineUpdater(this);
|
||||
|
||||
|
||||
m_pMainWidget = new QWidget(this);
|
||||
|
||||
m_pMenuBar = menuBar();
|
||||
|
@ -246,8 +250,6 @@ CSandMan::CSandMan(QWidget *parent)
|
|||
m_pPopUpWindow->setWindowFlag(Qt::WindowStaysOnTopHint, bAlwaysOnTop);
|
||||
m_pProgressDialog->setWindowFlag(Qt::WindowStaysOnTopHint, bAlwaysOnTop);
|
||||
|
||||
m_pUpdater = new COnlineUpdater(this);
|
||||
|
||||
//connect(theAPI, SIGNAL(LogMessage(const QString&, bool)), this, SLOT(OnLogMessage(const QString&, bool)));
|
||||
connect(theAPI, SIGNAL(LogSbieMessage(quint32, const QStringList&, quint32)), this, SLOT(OnLogSbieMessage(quint32, const QStringList&, quint32)));
|
||||
connect(theAPI, SIGNAL(NotAuthorized(bool, bool&)), this, SLOT(OnNotAuthorized(bool, bool&)), Qt::DirectConnection);
|
||||
|
@ -777,19 +779,19 @@ void CSandMan::UpdateLabel()
|
|||
QString LabelText;
|
||||
QString LabelTip;
|
||||
|
||||
if (theConf->GetBool("Updater/PendingUpdate"))
|
||||
if (!theConf->GetString("Updater/PendingUpdate").isEmpty())
|
||||
{
|
||||
QString FilePath = theConf->GetString("Updater/InstallerPath");
|
||||
if (!FilePath.isEmpty() && QFile::exists(FilePath)) {
|
||||
LabelText = tr("<a href=\"sbie://update/installer\" style=\"color: red;\">There is a new Sandboxie-Plus release ready</a>");
|
||||
LabelText = tr("<a href=\"sbie://update/installer\" style=\"color: red;\">There is a new Sandboxie-Plus release %1 ready</a>").arg(theConf->GetString("Updater/InstallerVersion"));
|
||||
LabelTip = tr("Click to run installer");
|
||||
}
|
||||
else if (!theConf->GetString("Updater/UpdateVersion").isEmpty()){
|
||||
LabelText = tr("<a href=\"sbie://update/apply\" style=\"color: red;\">There is a new Sandboxie-Plus update ready</a>");
|
||||
LabelText = tr("<a href=\"sbie://update/apply\" style=\"color: red;\">There is a new Sandboxie-Plus update %1 ready</a>").arg(theConf->GetString("Updater/UpdateVersion"));
|
||||
LabelTip = tr("Click to apply update");
|
||||
}
|
||||
else {
|
||||
LabelText = tr("<a href=\"sbie://update/check\" style=\"color: red;\">There is a new build of Sandboxie-Plus available</a>");
|
||||
LabelText = tr("<a href=\"sbie://update/check\" style=\"color: red;\">There is a new Sandboxie-Plus update v%1 available</a>").arg(theConf->GetString("Updater/PendingUpdate"));
|
||||
LabelTip = tr("Click to download update");
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue