This commit is contained in:
DavidXanatos 2023-10-22 13:47:36 +02:00
parent b57e0ed223
commit 208c1fd890
3 changed files with 18 additions and 2 deletions

View File

@ -18,6 +18,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
- added new global hot key to bring sandman in fron as top most ALT+Break [#3320](https://github.com/sandboxie-plus/Sandboxie/issues/3320)
- added Exclude specific boxes from 'Terminate all processes' [#3108](https://github.com/sandboxie-plus/Sandboxie/issues/3108)
- Note: press the panic button hot key 3 times with less then 1 second between clicks to Terminate All with NO exceptions
- added Customizable global hotkey that toggles the state of "pause forced programs" [#2441](https://github.com/sandboxie-plus/Sandboxie/issues/2441)
### Changed
- improved suspend process ahndling [#3375](https://github.com/sandboxie-plus/Sandboxie/issues/3375)

View File

@ -2560,6 +2560,7 @@ void CSandMan::CheckSupport()
#define HK_PANIC 1
#define HK_TOP 2
#define HK_FORCE 3
void CSandMan::SetupHotKeys()
{
@ -2569,7 +2570,10 @@ void CSandMan::SetupHotKeys()
m_pHotkeyManager->registerHotkey(theConf->GetString("Options/PanicKeySequence", "Shift+Pause"), HK_PANIC);
if (theConf->GetBool("Options/EnableTopMostKey", false))
m_pHotkeyManager->registerHotkey(theConf->GetString("Options/PanicTopMostSequence", "Alt+Pause"), HK_TOP);
m_pHotkeyManager->registerHotkey(theConf->GetString("Options/TopMostSequence", "Alt+Pause"), HK_TOP);
if (theConf->GetBool("Options/EnablePauseForceKey", false))
m_pHotkeyManager->registerHotkey(theConf->GetString("Options/PauseForceKeySequence", "Ctrl+Alt+F"), HK_FORCE);
}
void CSandMan::OnHotKey(size_t id)
@ -2595,7 +2599,6 @@ void CSandMan::OnHotKey(size_t id)
m_bOnTop = false;
else {
m_bOnTop = true;
QTimer::singleShot(100, [this]() {
this->setWindowState((this->windowState() & ~Qt::WindowMinimized) | Qt::WindowActive);
SetForegroundWindow(MainWndHandle);
@ -2604,6 +2607,10 @@ void CSandMan::OnHotKey(size_t id)
this->setWindowFlag(Qt::WindowStaysOnTopHint, m_bOnTop);
SafeShow(this);
break;
case HK_FORCE:
theAPI->DisableForceProcess(!theAPI->AreForceProcessDisabled());
break;
}
}

View File

@ -296,6 +296,8 @@ CSettingsWindow::CSettingsWindow(QWidget* parent)
connect(ui.keyPanic, SIGNAL(keySequenceChanged(const QKeySequence &)), this, SLOT(OnOptChanged()));
connect(ui.chkTop, SIGNAL(stateChanged(int)), this, SLOT(OnOptChanged()));
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.chkAsyncBoxOps, SIGNAL(stateChanged(int)), this, SLOT(OnOptChanged()));
connect(ui.chkSilentMode, SIGNAL(stateChanged(int)), this, SLOT(OnOptChanged()));
@ -913,6 +915,9 @@ void CSettingsWindow::LoadSettings()
ui.chkTop->setChecked(theConf->GetBool("Options/EnableTopMostKey", false));
ui.keyTop->setKeySequence(QKeySequence(theConf->GetString("Options/TopMostKeySequence", "Alt+Pause")));
ui.chkPauseForce->setChecked(theConf->GetBool("Options/EnablePauseForceKey", false));
ui.keyPauseForce->setKeySequence(QKeySequence(theConf->GetString("Options/PauseForceKeySequence", "Ctrl+Alt+F")));
ui.chkMonitorSize->setChecked(theConf->GetBool("Options/WatchBoxSize", false));
ui.chkWatchConfig->setChecked(theConf->GetBool("Options/WatchIni", true));
@ -1509,6 +1514,9 @@ void CSettingsWindow::SaveSettings()
theConf->SetValue("Options/EnableTopMostKey", ui.chkTop->isChecked());
theConf->SetValue("Options/TopMostKeySequence", ui.keyTop->keySequence().toString());
theConf->SetValue("Options/EnablePauseForceKey", ui.chkPauseForce->isChecked());
theConf->SetValue("Options/PauseForceKeySequence", ui.keyPauseForce->keySequence().toString());
theConf->SetValue("Options/WatchBoxSize", ui.chkMonitorSize->isChecked());