1.9.6
This commit is contained in:
parent
dbdb0e6cdf
commit
cfdc7bf0ac
|
@ -19,6 +19,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|||
- additional feedback for other drag and drop scenarios can be provided in [#856](https://github.com/sandboxie-plus/Sandboxie/issues/856)
|
||||
- fixed Regression: DLL loading problem (Entry Point Not Found) [#2980](https://github.com/sandboxie-plus/Sandboxie/issues/2980)
|
||||
- fixed [1.9.4/5] Sandboxie does not mark deleted files or registry keys while virtualization scheme v2 is active [#2984](https://github.com/sandboxie-plus/Sandboxie/issues/2984)
|
||||
- fixed SandMan: Timestamp of the Sandboxie.ini [#2985](https://github.com/sandboxie-plus/Sandboxie/issues/2985)
|
||||
|
||||
|
||||
## [1.9.5 / 5.64.5] - 2023-05-26
|
||||
|
|
|
@ -1075,9 +1075,6 @@ void CSandMan::closeEvent(QCloseEvent *e)
|
|||
|
||||
emit Closed();
|
||||
|
||||
//if(theAPI->IsConnected())
|
||||
// m_pBoxView->SaveUserConfig();
|
||||
|
||||
if (IsFullyPortable() && theAPI->IsConnected())
|
||||
{
|
||||
int PortableStop = theConf->GetInt("Options/PortableStop", -1);
|
||||
|
|
|
@ -25,7 +25,6 @@ CSbieView::CSbieView(QWidget* parent) : CPanelView(parent)
|
|||
m_pMainLayout->setContentsMargins(0,0,0,0);
|
||||
this->setLayout(m_pMainLayout);
|
||||
|
||||
m_UserConfigChanged = false;
|
||||
m_HoldExpand = false;
|
||||
|
||||
m_pSbieModel = new CSbieModel(this);
|
||||
|
@ -495,16 +494,19 @@ void CSbieView::Refresh()
|
|||
}
|
||||
|
||||
if (!Added.isEmpty()) {
|
||||
bool bChanged = false;
|
||||
foreach(const QVariant& ID, Added) {
|
||||
if (ID.type() == QVariant::String) {
|
||||
QString id = ID.toString();
|
||||
if (id.left(1) != "!")
|
||||
if (id.left(1) != "!") {
|
||||
bChanged = true;
|
||||
m_Groups[""].append(id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
m_UserConfigChanged = true;
|
||||
SaveUserConfig();
|
||||
if(bChanged)
|
||||
SaveBoxGrouping();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -940,10 +942,9 @@ void CSbieView::OnGroupAction(QAction* Action)
|
|||
Refresh();
|
||||
}
|
||||
|
||||
m_UserConfigChanged = true;
|
||||
UpdateMoveMenu();
|
||||
|
||||
SaveUserConfig();
|
||||
SaveBoxGrouping();
|
||||
}
|
||||
|
||||
void CSbieView::SetCustomOrder()
|
||||
|
@ -1060,11 +1061,9 @@ QString CSbieView::AddNewGroup()
|
|||
|
||||
m_Groups[Parent].append(Name);
|
||||
|
||||
|
||||
m_UserConfigChanged = true;
|
||||
UpdateMoveMenu();
|
||||
|
||||
SaveUserConfig();
|
||||
SaveBoxGrouping();
|
||||
|
||||
return Name;
|
||||
}
|
||||
|
@ -1356,11 +1355,13 @@ void CSbieView::OnSandBoxAction(QAction* Action, const QList<CSandBoxPtr>& SandB
|
|||
if (QMessageBox("Sandboxie-Plus", tr("Do you really want to remove the selected sandbox(es)?<br /><br />Warning: The box content will also be deleted!"), QMessageBox::Warning, QMessageBox::Yes, QMessageBox::No | QMessageBox::Default | QMessageBox::Escape, QMessageBox::NoButton, this).exec() != QMessageBox::Yes)
|
||||
return;
|
||||
|
||||
bool bChanged = false;
|
||||
foreach(const CSandBoxPtr& pBox, SandBoxes)
|
||||
{
|
||||
SB_STATUS Status = theGUI->DeleteBoxContent(pBox, CSandMan::eForDelete);
|
||||
if (Status.GetMsgCode() == SB_Canceled)
|
||||
break;
|
||||
|
||||
QString Name = pBox->GetName();
|
||||
if (!Status.IsError())
|
||||
Status = pBox->RemoveBox();
|
||||
|
@ -1371,12 +1372,17 @@ void CSbieView::OnSandBoxAction(QAction* Action, const QList<CSandBoxPtr>& SandB
|
|||
m_Collapsed.remove(Name);
|
||||
for (auto I = m_Groups.begin(); I != m_Groups.end(); ++I)
|
||||
{
|
||||
if (I.value().removeOne(Name))
|
||||
if (I.value().removeOne(Name)) {
|
||||
bChanged = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(bChanged)
|
||||
SaveBoxGrouping();
|
||||
}
|
||||
else if (Action == m_pMenuCleanUp)
|
||||
{
|
||||
bool DeleteSnapshots = false;
|
||||
|
@ -1469,9 +1475,6 @@ void CSbieView::OnSandBoxAction(QAction* Action, const QList<CSandBoxPtr>& SandB
|
|||
}
|
||||
|
||||
CSandMan::CheckResults(Results);
|
||||
|
||||
m_UserConfigChanged = true;
|
||||
SaveUserConfig();
|
||||
}
|
||||
|
||||
bool CSbieView::CreateShortcut(const QString& LinkPath, const QString& BoxName, const QString &IconPath, int IconIndex, const QString &WorkDir)
|
||||
|
@ -1964,9 +1967,12 @@ void CSbieView::ChangeExpand(const QModelIndex& index, bool bExpand)
|
|||
else
|
||||
m_Collapsed.insert(Name);
|
||||
|
||||
m_UserConfigChanged = true;
|
||||
//QMap<QString, QStringList> Collapsed;
|
||||
//Collapsed.insert("", SetToList(m_Collapsed));
|
||||
//theAPI->GetUserSettings()->SetTextMap("CollapsedBoxes", Collapsed);
|
||||
|
||||
SaveUserConfig();
|
||||
QString Collapsed = SetToList(m_Collapsed).join(",");
|
||||
theConf->SetValue("UIConfig/BoxCollapsedView", Collapsed);
|
||||
}
|
||||
|
||||
void CSbieView::ReloadUserConfig()
|
||||
|
@ -1984,14 +1990,14 @@ void CSbieView::ReloadUserConfig()
|
|||
|
||||
UpdateMoveMenu();
|
||||
|
||||
QMap<QString, QStringList> Collapsed = theAPI->GetUserSettings()->GetTextMap("CollapsedBoxes");
|
||||
m_Collapsed = ListToSet(Collapsed[""]);
|
||||
if (m_Collapsed.isEmpty()) { // try legacy entries
|
||||
//QMap<QString, QStringList> Collapsed = theAPI->GetUserSettings()->GetTextMap("CollapsedBoxes");
|
||||
//m_Collapsed = ListToSet(Collapsed[""]);
|
||||
//if (m_Collapsed.isEmpty()) { // try legacy entries
|
||||
QString Collapsed = theConf->GetString("UIConfig/BoxCollapsedView");
|
||||
if (Collapsed.isEmpty())
|
||||
Collapsed = theAPI->GetUserSettings()->GetText("BoxCollapsedView");
|
||||
//if (Collapsed.isEmpty())
|
||||
// Collapsed = theAPI->GetUserSettings()->GetText("BoxCollapsedView");
|
||||
m_Collapsed = ListToSet(SplitStr(Collapsed, ","));
|
||||
}
|
||||
//}
|
||||
|
||||
ClearUserUIConfig();
|
||||
}
|
||||
|
@ -2022,12 +2028,8 @@ void CSbieView::ClearUserUIConfig(const QMap<QString, CSandBoxPtr> AllBoxes)
|
|||
m_Collapsed = Temp;
|
||||
}
|
||||
|
||||
void CSbieView::SaveUserConfig()
|
||||
void CSbieView::SaveBoxGrouping()
|
||||
{
|
||||
if (!m_UserConfigChanged)
|
||||
return;
|
||||
m_UserConfigChanged = false;
|
||||
|
||||
if (!theAPI->IsConnected())
|
||||
return;
|
||||
|
||||
|
@ -2043,10 +2045,6 @@ void CSbieView::SaveUserConfig()
|
|||
}
|
||||
theAPI->GetUserSettings()->SetTextMap("BoxGrouping", Groups);
|
||||
|
||||
QMap<QString, QStringList> Collapsed;
|
||||
Collapsed.insert("", SetToList(m_Collapsed));
|
||||
theAPI->GetUserSettings()->SetTextMap("CollapsedBoxes", Collapsed);
|
||||
|
||||
theAPI->GetUserSettings()->SetRefreshOnChange(true);
|
||||
theAPI->CommitIniChanges();
|
||||
}
|
||||
|
@ -2066,10 +2064,9 @@ void CSbieView::OnMoveItem(const QString& Name, const QString& To, int row)
|
|||
Refresh();
|
||||
}
|
||||
|
||||
m_UserConfigChanged = true;
|
||||
UpdateMoveMenu();
|
||||
|
||||
SaveUserConfig();
|
||||
SaveBoxGrouping();
|
||||
}
|
||||
|
||||
void CSbieView::OnRemoveItem()
|
||||
|
|
|
@ -73,7 +73,7 @@ public slots:
|
|||
void Refresh();
|
||||
void ReloadUserConfig();
|
||||
void ClearUserUIConfig(const QMap<QString, CSandBoxPtr> AllBoxes = QMap<QString, CSandBoxPtr>());
|
||||
void SaveUserConfig();
|
||||
void SaveBoxGrouping();
|
||||
|
||||
private slots:
|
||||
void OnToolTipCallback(const QVariant& ID, QString& ToolTip);
|
||||
|
@ -112,7 +112,6 @@ protected:
|
|||
|
||||
QMap<QString, QStringList> m_Groups;
|
||||
QSet<QString> m_Collapsed;
|
||||
bool m_UserConfigChanged;
|
||||
bool m_HoldExpand;
|
||||
|
||||
private:
|
||||
|
|
Loading…
Reference in New Issue