diff --git a/SandboxiePlus/SandMan/Forms/SettingsWindow.ui b/SandboxiePlus/SandMan/Forms/SettingsWindow.ui index 9f427445..c3ccccb5 100644 --- a/SandboxiePlus/SandMan/Forms/SettingsWindow.ui +++ b/SandboxiePlus/SandMan/Forms/SettingsWindow.ui @@ -6,7 +6,7 @@ 0 0 - 627 + 695 508 @@ -64,169 +64,181 @@ General Options - + - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - + + + + 75 + true + true + + + + SandMan Options + + + + + + + UI Language: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + Open urls from this ui sandboxed + + + true + + + + + + + Count and display the disk space occupied by each sandbox + + + + + + + - UI Language: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + Hotkey for terminating all boxed processes: - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Show file recovery window when emptying sandboxes - - - - - - - Count and display the disk space occupied by each sandbox - - - - - - - Open urls from this ui sandboxed - - - true - - - - - - - - true - true - - - - SandMan Options - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Show the Recovery Window as Always on Top - - - - - - - - true - true - - - - Recovery Options - - - - - - - - - Hotkey for bringing sandman to the top: - - - - - - - - - - - - - - Hotkey for terminating all boxed processes: - - - - - - - - - - - - Run box operations asynchronously whenever possible (like content deletion) - - - - - - - - - Hotkey for suspending process/folder forcing: - - - - - - - + + + + + + + + Hotkey for bringing sandman to the top: + + + + + + + + + + + + + + Hotkey for suspending process/folder forcing: + + + + + + + + + + + + + + Hotkey for suspending all process + + + + + + + + + + + + Run box operations asynchronously whenever possible (like content deletion) + + + + + + + + 75 + true + true + + + + Recovery Options + + + + + + + Show file recovery window when emptying sandboxes + + + + + + + Show the Recovery Window as Always on Top + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Vertical + + + + 20 + 84 + + + + + + + + Qt::Horizontal + + + + 195 + 20 + + + + @@ -285,6 +297,7 @@ + 75 true true @@ -317,6 +330,7 @@ + 75 true true @@ -468,6 +482,7 @@ + 75 true true @@ -504,6 +519,7 @@ + 75 true true @@ -543,6 +559,7 @@ + 75 true true @@ -652,6 +669,7 @@ + 75 true true @@ -924,6 +942,7 @@ + 75 true true @@ -1122,6 +1141,7 @@ + 75 true true @@ -1158,6 +1178,7 @@ + 75 true true @@ -1422,6 +1443,7 @@ + 75 true true @@ -1506,6 +1528,7 @@ + 75 true true @@ -1693,6 +1716,7 @@ + 75 true true @@ -1931,6 +1955,7 @@ Unlike the preview channel, it does not include untested, potentially breaking, + 75 true true @@ -2043,6 +2068,7 @@ Unlike the preview channel, it does not include untested, potentially breaking, + 75 true true @@ -2134,6 +2160,7 @@ Unlike the preview channel, it does not include untested, potentially breaking, + 75 true true diff --git a/SandboxiePlus/SandMan/SandMan.cpp b/SandboxiePlus/SandMan/SandMan.cpp index b50ca10c..985204ea 100644 --- a/SandboxiePlus/SandMan/SandMan.cpp +++ b/SandboxiePlus/SandMan/SandMan.cpp @@ -2621,6 +2621,7 @@ void CSandMan::CheckSupport() #define HK_PANIC 1 #define HK_TOP 2 #define HK_FORCE 3 +#define HK_SUSPEND 4 void CSandMan::SetupHotKeys() { @@ -2634,6 +2635,8 @@ void CSandMan::SetupHotKeys() if (theConf->GetBool("Options/EnablePauseForceKey", false)) m_pHotkeyManager->registerHotkey(theConf->GetString("Options/PauseForceKeySequence", "Ctrl+Alt+F"), HK_FORCE); + if (theConf->GetBool("Options/EnableSuspendKey", false)) + m_pHotkeyManager->registerHotkey(theConf->GetString("Options/SuspendKeySequence", "Ctrl+Pause"), HK_SUSPEND); } void CSandMan::OnHotKey(size_t id) @@ -2654,6 +2657,15 @@ void CSandMan::OnHotKey(size_t id) break; } + case HK_SUSPEND: + { + + for (auto each : theAPI->GetAllBoxes()) { + each->SetSuspendedAll(TRUE); + }; + break; + } + case HK_TOP: if (this->isActiveWindow() && m_bOnTop) m_bOnTop = false; diff --git a/SandboxiePlus/SandMan/Windows/SettingsWindow.cpp b/SandboxiePlus/SandMan/Windows/SettingsWindow.cpp index ac21302e..50591066 100644 --- a/SandboxiePlus/SandMan/Windows/SettingsWindow.cpp +++ b/SandboxiePlus/SandMan/Windows/SettingsWindow.cpp @@ -298,6 +298,8 @@ CSettingsWindow::CSettingsWindow(QWidget* parent) connect(ui.keyTop, SIGNAL(keySequenceChanged(const QKeySequence &)), this, SLOT(OnOptChanged())); connect(ui.chkPauseForce, SIGNAL(stateChanged(int)), this, SLOT(OnOptChanged())); connect(ui.keyPauseForce, SIGNAL(keySequenceChanged(const QKeySequence &)), this, SLOT(OnOptChanged())); + connect(ui.chkSuspend, SIGNAL(stateChanged(int)), this, SLOT(OnOptChanged())); + connect(ui.keySuspend, SIGNAL(keySequenceChanged(const QKeySequence&)), this, SLOT(OnOptChanged())); connect(ui.chkAsyncBoxOps, SIGNAL(stateChanged(int)), this, SLOT(OnOptChanged())); connect(ui.chkSilentMode, SIGNAL(stateChanged(int)), this, SLOT(OnOptChanged())); @@ -919,6 +921,9 @@ void CSettingsWindow::LoadSettings() ui.chkPauseForce->setChecked(theConf->GetBool("Options/EnablePauseForceKey", false)); ui.keyPauseForce->setKeySequence(QKeySequence(theConf->GetString("Options/PauseForceKeySequence", "Ctrl+Alt+F"))); + ui.chkSuspend->setChecked(theConf->GetBool("Options/EnableSuspendKey", false)); + ui.keySuspend->setKeySequence(QKeySequence(theConf->GetString("Options/SuspendKeySequence", "Ctrl+Pause"))); + ui.chkMonitorSize->setChecked(theConf->GetBool("Options/WatchBoxSize", false)); ui.chkWatchConfig->setChecked(theConf->GetBool("Options/WatchIni", true)); @@ -1549,7 +1554,10 @@ void CSettingsWindow::SaveSettings() theConf->SetValue("Options/EnablePauseForceKey", ui.chkPauseForce->isChecked()); theConf->SetValue("Options/PauseForceKeySequence", ui.keyPauseForce->keySequence().toString()); - + + theConf->SetValue("Options/EnableSuspendKey", ui.chkSuspend->isChecked()); + theConf->SetValue("Options/SuspendKeySequence", ui.keySuspend->keySequence().toString()); + theConf->SetValue("Options/WatchBoxSize", ui.chkMonitorSize->isChecked()); theConf->SetValue("Options/WatchIni", ui.chkWatchConfig->isChecked());