diff --git a/SandboxiePlus/SandMan/SandMan.cpp b/SandboxiePlus/SandMan/SandMan.cpp index 2f9ffcce60..52af617cd4 100644 --- a/SandboxiePlus/SandMan/SandMan.cpp +++ b/SandboxiePlus/SandMan/SandMan.cpp @@ -2819,10 +2819,10 @@ void CSandMan::SaveMessageLog(QIODevice* pFile) pFile->write((Msg.TimeStamp.toString("hh:mm:ss.zzz") + "\t" + FormatSbieMessage(Msg.MsgCode, Msg.MsgData, Msg.ProcessName)).toLatin1() + "\n"); } -bool CSandMan::CheckCertificate(QWidget* pWidget, bool bAdvanced) +bool CSandMan::CheckCertificate(QWidget* pWidget, int iType) { QString Message; - if (bAdvanced) + if (iType == 1) { if (CERT_IS_LEVEL(g_CertInfo, eCertAdvanced)) return true; @@ -2838,8 +2838,12 @@ bool CSandMan::CheckCertificate(QWidget* pWidget, bool bAdvanced) if (g_CertInfo.active) return true; - Message = tr("The selected feature set is only available to project supporters. Processes started in a box with this feature set enabled without a supporter certificate will be terminated after 5 minutes.
" - "Become a project supporter, and receive a supporter certificate"); + if(iType == 2) + Message = tr("The selected feature set is only available to project supporters.
" + "Become a project supporter, and receive a supporter certificate"); + else + Message = tr("The selected feature set is only available to project supporters. Processes started in a box with this feature set enabled without a supporter certificate will be terminated after 5 minutes.
" + "Become a project supporter, and receive a supporter certificate"); } QMessageBox msgBox(pWidget); diff --git a/SandboxiePlus/SandMan/SandMan.h b/SandboxiePlus/SandMan/SandMan.h index eaa902f2ee..f8ef50e707 100644 --- a/SandboxiePlus/SandMan/SandMan.h +++ b/SandboxiePlus/SandMan/SandMan.h @@ -105,7 +105,7 @@ class CSandMan : public QMainWindow QIcon IconAddOverlay(const QIcon& Icon, const QString& Name, int Size = 24); QString GetBoxDescription(int boxType); - bool CheckCertificate(QWidget* pWidget, bool bAdvanced = false); + bool CheckCertificate(QWidget* pWidget, int iType = 0); bool IsAlwaysOnTop() const; diff --git a/SandboxiePlus/SandMan/Windows/OptionsGeneral.cpp b/SandboxiePlus/SandMan/Windows/OptionsGeneral.cpp index 0ec8d1b8bd..2a2c31a657 100644 --- a/SandboxiePlus/SandMan/Windows/OptionsGeneral.cpp +++ b/SandboxiePlus/SandMan/Windows/OptionsGeneral.cpp @@ -1114,7 +1114,7 @@ void COptionsWindow::OnDiskChanged() { if (sender() == ui.chkEncrypt) { if (ui.chkEncrypt->isChecked()) - theGUI->CheckCertificate(this, true); + theGUI->CheckCertificate(this, 1); } if (ui.chkRamBox->isChecked()) { diff --git a/SandboxiePlus/SandMan/Windows/SettingsWindow.cpp b/SandboxiePlus/SandMan/Windows/SettingsWindow.cpp index ef8abb3d24..fe8b96639d 100644 --- a/SandboxiePlus/SandMan/Windows/SettingsWindow.cpp +++ b/SandboxiePlus/SandMan/Windows/SettingsWindow.cpp @@ -1110,7 +1110,7 @@ void CSettingsWindow::OnRamDiskChange() { if (sender() == ui.chkRamDisk) { if (ui.chkRamDisk->isChecked()) - theGUI->CheckCertificate(this); + theGUI->CheckCertificate(this, 2); } if (ui.chkRamDisk->isChecked() && ui.txtRamLimit->text().isEmpty()) @@ -1133,11 +1133,14 @@ void CSettingsWindow::OnVolumeChanged() { if (sender() == ui.chkSandboxUsb) { if (ui.chkSandboxUsb->isChecked()) - theGUI->CheckCertificate(this); + theGUI->CheckCertificate(this, 2); } - ui.cmbUsbSandbox->setEnabled(ui.chkSandboxUsb->isChecked()); - ui.treeVolumes->setEnabled(ui.chkSandboxUsb->isChecked()); + ui.cmbUsbSandbox->setEnabled(ui.chkSandboxUsb->isChecked() && g_CertInfo.active); + ui.treeVolumes->setEnabled(ui.chkSandboxUsb->isChecked() && g_CertInfo.active); + + if (!g_CertInfo.active) + return; m_VolumeChanged = true; OnOptChanged();