1.9.1
This commit is contained in:
parent
c912bcce34
commit
dbfb45613e
|
@ -16,6 +16,9 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
|
|
||||||
## [1.9.1 / 5.64.1] - 2023-04-??
|
## [1.9.1 / 5.64.1] - 2023-04-??
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- added option to disable all force rules of a given sandbox [#2797](https://github.com/sandboxie-plus/Sandboxie/issues/2797)
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
- reworked configuration storage for box grouping
|
- reworked configuration storage for box grouping
|
||||||
|
|
||||||
|
|
|
@ -1045,6 +1045,9 @@ _FX void Process_CreateForceData(
|
||||||
if (! Conf_IsBoxEnabled(section, SidString, SessionId))
|
if (! Conf_IsBoxEnabled(section, SidString, SessionId))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if (Conf_Get_Boolean(section, L"DisableForceRules", 0, FALSE))
|
||||||
|
continue;
|
||||||
|
|
||||||
//
|
//
|
||||||
// create FORCE_BOX
|
// create FORCE_BOX
|
||||||
//
|
//
|
||||||
|
|
|
@ -1693,6 +1693,16 @@ This is done to prevent rogue processes inside the sandbox from creating a renam
|
||||||
</property>
|
</property>
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<layout class="QGridLayout" name="gridLayout_35">
|
<layout class="QGridLayout" name="gridLayout_35">
|
||||||
|
<item row="0" column="0" colspan="2">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Programs entered here, or programs started from entered locations, will be put in this sandbox automatically, unless they are explicitly started in another sandbox.</string>
|
||||||
|
</property>
|
||||||
|
<property name="wordWrap">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="4" column="1">
|
<item row="4" column="1">
|
||||||
<spacer name="verticalSpacer_5">
|
<spacer name="verticalSpacer_5">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
|
@ -1706,6 +1716,25 @@ This is done to prevent rogue processes inside the sandbox from creating a renam
|
||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="QToolButton" name="btnForceDir">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>23</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Force Folder</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="5" column="1">
|
<item row="5" column="1">
|
||||||
<widget class="QCheckBox" name="chkShowForceTmpl">
|
<widget class="QCheckBox" name="chkShowForceTmpl">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -1713,6 +1742,23 @@ This is done to prevent rogue processes inside the sandbox from creating a renam
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="2" column="0" rowspan="5">
|
||||||
|
<widget class="QTreeWidget" name="treeForced">
|
||||||
|
<property name="sortingEnabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Type</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Name</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="2" column="1">
|
<item row="2" column="1">
|
||||||
<widget class="QToolButton" name="btnForceProg">
|
<widget class="QToolButton" name="btnForceProg">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
|
@ -1739,49 +1785,10 @@ This is done to prevent rogue processes inside the sandbox from creating a renam
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0" rowspan="5">
|
<item row="7" column="0">
|
||||||
<widget class="QTreeWidget" name="treeForced">
|
<widget class="QCheckBox" name="chkDisableForced">
|
||||||
<property name="sortingEnabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Type</string>
|
<string>Disable forced Process and Folder for this sandbox</string>
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>Name</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="1">
|
|
||||||
<widget class="QToolButton" name="btnForceDir">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>0</width>
|
|
||||||
<height>23</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Force Folder</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="0" colspan="2">
|
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="text">
|
|
||||||
<string>Programs entered here, or programs started from entered locations, will be put in this sandbox automatically, unless they are explicitly started in another sandbox.</string>
|
|
||||||
</property>
|
|
||||||
<property name="wordWrap">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
|
|
@ -25,6 +25,7 @@ void COptionsWindow::LoadForced()
|
||||||
foreach(const QString& Value, m_pBox->GetTextList("ForceFolderDisabled", m_Template))
|
foreach(const QString& Value, m_pBox->GetTextList("ForceFolderDisabled", m_Template))
|
||||||
AddForcedEntry(Value, (int)ePath, true);
|
AddForcedEntry(Value, (int)ePath, true);
|
||||||
|
|
||||||
|
ui.chkDisableForced->setChecked(m_pBox->GetBool("DisableForceRules", false));
|
||||||
|
|
||||||
ui.treeBreakout->clear();
|
ui.treeBreakout->clear();
|
||||||
|
|
||||||
|
@ -158,6 +159,7 @@ void COptionsWindow::SaveForced()
|
||||||
WriteTextList("ForceFolder", ForceFolder);
|
WriteTextList("ForceFolder", ForceFolder);
|
||||||
WriteTextList("ForceFolderDisabled", ForceFolderDisabled);
|
WriteTextList("ForceFolderDisabled", ForceFolderDisabled);
|
||||||
|
|
||||||
|
WriteAdvancedCheck(ui.chkDisableForced, "DisableForceRules", "y", "");
|
||||||
|
|
||||||
|
|
||||||
QStringList BreakoutProcess;
|
QStringList BreakoutProcess;
|
||||||
|
@ -269,7 +271,7 @@ void COptionsWindow::OnDelBreakout()
|
||||||
OnOptChanged();
|
OnOptChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
void COptionsWindow::OnForcedChanged(QTreeWidgetItem* pItem, int Index)
|
void COptionsWindow::OnForcedChanged()
|
||||||
{
|
{
|
||||||
//QString Test = pItem->data(1, Qt::UserRole).toString();
|
//QString Test = pItem->data(1, Qt::UserRole).toString();
|
||||||
//qDebug() << Test;
|
//qDebug() << Test;
|
||||||
|
|
|
@ -452,7 +452,8 @@ COptionsWindow::COptionsWindow(const QSharedPointer<CSbieIni>& pBox, const QStri
|
||||||
//ui.treeForced->setEditTriggers(QAbstractItemView::DoubleClicked);
|
//ui.treeForced->setEditTriggers(QAbstractItemView::DoubleClicked);
|
||||||
ui.treeForced->setItemDelegateForColumn(0, new NoEditDelegate(this));
|
ui.treeForced->setItemDelegateForColumn(0, new NoEditDelegate(this));
|
||||||
ui.treeForced->setItemDelegateForColumn(1, new ProgramsDelegate(this, ui.treeForced, -1, this));
|
ui.treeForced->setItemDelegateForColumn(1, new ProgramsDelegate(this, ui.treeForced, -1, this));
|
||||||
connect(ui.treeForced, SIGNAL(itemChanged(QTreeWidgetItem *, int)), this, SLOT(OnForcedChanged(QTreeWidgetItem *, int)));
|
connect(ui.treeForced, SIGNAL(itemChanged(QTreeWidgetItem *, int)), this, SLOT(OnForcedChanged()));
|
||||||
|
connect(ui.chkDisableForced, SIGNAL(clicked(bool)), this, SLOT(OnForcedChanged()));
|
||||||
|
|
||||||
connect(ui.btnBreakoutProg, SIGNAL(clicked(bool)), this, SLOT(OnBreakoutProg()));
|
connect(ui.btnBreakoutProg, SIGNAL(clicked(bool)), this, SLOT(OnBreakoutProg()));
|
||||||
QMenu* pFileBtnMenu2 = new QMenu(ui.btnBreakoutProg);
|
QMenu* pFileBtnMenu2 = new QMenu(ui.btnBreakoutProg);
|
||||||
|
|
|
@ -81,7 +81,7 @@ private slots:
|
||||||
void OnForceDir();
|
void OnForceDir();
|
||||||
void OnDelForce();
|
void OnDelForce();
|
||||||
void OnShowForceTmpl() { LoadForcedTmpl(true); }
|
void OnShowForceTmpl() { LoadForcedTmpl(true); }
|
||||||
void OnForcedChanged(QTreeWidgetItem* pItem, int Index);
|
void OnForcedChanged();
|
||||||
|
|
||||||
void OnBreakoutProg();
|
void OnBreakoutProg();
|
||||||
void OnBreakoutBrowse();
|
void OnBreakoutBrowse();
|
||||||
|
|
Loading…
Reference in New Issue