1.7.2
This commit is contained in:
parent
004d7db5a8
commit
779903395d
|
@ -13,7 +13,7 @@ SB_PROGRESS CCleanUpJob::Start()
|
|||
CSandBoxPlus* pBox = GetBox();
|
||||
|
||||
SB_PROGRESS Status;
|
||||
if (!m_DeleteShapshots && pBox->HasSnapshots()) {
|
||||
if (!m_DeleteSnapshots && pBox->HasSnapshots()) {
|
||||
QString Current;
|
||||
QString Default = pBox->GetDefaultSnapshot(&Current);
|
||||
if (m_bOnAutoDelete) {
|
||||
|
|
|
@ -32,9 +32,9 @@ class CCleanUpJob : public CBoxJob
|
|||
{
|
||||
protected:
|
||||
friend CSandBoxPlus;
|
||||
CCleanUpJob(CSandBoxPlus* pBox, bool DeleteShapshots = true, bool bOnAutoDelete = false) : CBoxJob((QObject*)pBox) {
|
||||
CCleanUpJob(CSandBoxPlus* pBox, bool DeleteSnapshots = true, bool bOnAutoDelete = false) : CBoxJob((QObject*)pBox) {
|
||||
m_Description = tr("Deleting Content");
|
||||
m_DeleteShapshots = DeleteShapshots;
|
||||
m_DeleteSnapshots = DeleteSnapshots;
|
||||
m_bOnAutoDelete = bOnAutoDelete;
|
||||
}
|
||||
|
||||
|
@ -42,7 +42,7 @@ protected:
|
|||
virtual void Finished();
|
||||
|
||||
protected:
|
||||
bool m_DeleteShapshots;
|
||||
bool m_DeleteSnapshots;
|
||||
bool m_bOnAutoDelete;
|
||||
};
|
||||
|
||||
|
|
|
@ -1513,7 +1513,7 @@ void CSandMan::OnBoxSelected()
|
|||
}
|
||||
}
|
||||
|
||||
SB_STATUS CSandMan::DeleteBoxContent(const CSandBoxPtr& pBox, EDelMode Mode, bool DeleteShapshots)
|
||||
SB_STATUS CSandMan::DeleteBoxContent(const CSandBoxPtr& pBox, EDelMode Mode, bool DeleteSnapshots)
|
||||
{
|
||||
SB_STATUS Ret = SB_OK;
|
||||
m_iDeletingContent++;
|
||||
|
@ -1541,7 +1541,7 @@ SB_STATUS CSandMan::DeleteBoxContent(const CSandBoxPtr& pBox, EDelMode Mode, boo
|
|||
|
||||
{
|
||||
SB_PROGRESS Status;
|
||||
if (Mode != eForDelete && !DeleteShapshots && pBox->HasSnapshots()) { // in auto delete mode always return to last snapshot
|
||||
if (Mode != eForDelete && !DeleteSnapshots && pBox->HasSnapshots()) { // in auto delete mode always return to last snapshot
|
||||
QString Current;
|
||||
QString Default = pBox->GetDefaultSnapshot(&Current);
|
||||
Status = pBox->SelectSnapshot(Mode == eAuto ? Current : Default);
|
||||
|
@ -1730,9 +1730,9 @@ void CSandMan::OnBoxClosed(const CSandBoxPtr& pBox)
|
|||
{
|
||||
if (pBox->GetBool("AutoDelete", false))
|
||||
{
|
||||
bool DeleteShapshots = false;
|
||||
bool DeleteSnapshots = false;
|
||||
// if this box auto deletes first show the recovry dialog with the option to abort deletion
|
||||
if (!theGUI->OpenRecovery(pBox, DeleteShapshots, true)) // unless no files are found than continue silently
|
||||
if (!theGUI->OpenRecovery(pBox, DeleteSnapshots, true)) // unless no files are found than continue silently
|
||||
return;
|
||||
|
||||
if (theConf->GetBool("Options/AutoBoxOpsNotify", false))
|
||||
|
@ -1741,11 +1741,11 @@ void CSandMan::OnBoxClosed(const CSandBoxPtr& pBox)
|
|||
if (theConf->GetBool("Options/UseAsyncBoxOps", false) || IsSilentMode())
|
||||
{
|
||||
auto pBoxEx = pBox.objectCast<CSandBoxPlus>();
|
||||
SB_STATUS Status = pBoxEx->DeleteContentAsync(DeleteShapshots);
|
||||
SB_STATUS Status = pBoxEx->DeleteContentAsync(DeleteSnapshots);
|
||||
CheckResults(QList<SB_STATUS>() << Status);
|
||||
}
|
||||
else
|
||||
DeleteBoxContent(pBox, eAuto, DeleteShapshots);
|
||||
DeleteBoxContent(pBox, eAuto, DeleteSnapshots);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -44,7 +44,7 @@ public:
|
|||
eForDelete
|
||||
};
|
||||
|
||||
SB_STATUS DeleteBoxContent(const CSandBoxPtr& pBox, EDelMode Mode, bool DeleteShapshots = true);
|
||||
SB_STATUS DeleteBoxContent(const CSandBoxPtr& pBox, EDelMode Mode, bool DeleteSnapshots = true);
|
||||
|
||||
SB_STATUS AddAsyncOp(const CSbieProgressPtr& pProgress, bool bWait = false, const QString& InitialMsg = QString());
|
||||
static QString FormatError(const SB_STATUS& Error);
|
||||
|
@ -154,7 +154,7 @@ public slots:
|
|||
void OnFileToRecover(const QString& BoxName, const QString& FilePath, const QString& BoxPath, quint32 ProcessId);
|
||||
void OnFileRecovered(const QString& BoxName, const QString& FilePath, const QString& BoxPath);
|
||||
|
||||
bool OpenRecovery(const CSandBoxPtr& pBox, bool& DeleteShapshots, bool bCloseEmpty = false);
|
||||
bool OpenRecovery(const CSandBoxPtr& pBox, bool& DeleteSnapshots, bool bCloseEmpty = false);
|
||||
class CRecoveryWindow* ShowRecovery(const CSandBoxPtr& pBox, bool bFind = true);
|
||||
|
||||
void UpdateSettings(bool bRebuildUI);
|
||||
|
|
|
@ -23,7 +23,7 @@ void CSandMan::OnFileToRecover(const QString& BoxName, const QString& FilePath,
|
|||
m_pPopUpWindow->AddFileToRecover(FilePath, BoxPath, pBox, ProcessId);
|
||||
}
|
||||
|
||||
bool CSandMan::OpenRecovery(const CSandBoxPtr& pBox, bool& DeleteShapshots, bool bCloseEmpty)
|
||||
bool CSandMan::OpenRecovery(const CSandBoxPtr& pBox, bool& DeleteSnapshots, bool bCloseEmpty)
|
||||
{
|
||||
auto pBoxEx = pBox.objectCast<CSandBoxPlus>();
|
||||
if (!pBoxEx) return false;
|
||||
|
@ -47,7 +47,7 @@ bool CSandMan::OpenRecovery(const CSandBoxPtr& pBox, bool& DeleteShapshots, bool
|
|||
if (pBoxEx->m_pRecoveryWnd->exec() != 1)
|
||||
return false;
|
||||
}
|
||||
DeleteShapshots = pRecoveryWnd->IsDeleteShapshots();
|
||||
DeleteSnapshots = pRecoveryWnd->IsDeleteSnapshots();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -386,9 +386,9 @@ bool CSandBoxPlus::IsBoxexPath(const QString& Path)
|
|||
return Path.left(m_FilePath.length()).compare(m_FilePath, Qt::CaseInsensitive) == 0;
|
||||
}
|
||||
|
||||
bool CSandBoxPlus::IsFileDeleted(const QString& RealPath, const QString& Shapshot, const QStringList& SnapshotList, const QMap<QString, QList<QString>>& DeletedPaths)
|
||||
bool CSandBoxPlus::IsFileDeleted(const QString& RealPath, const QString& Snapshot, const QStringList& SnapshotList, const QMap<QString, QList<QString>>& DeletedPaths)
|
||||
{
|
||||
int NextIndex = SnapshotList.indexOf(Shapshot) - 1;
|
||||
int NextIndex = SnapshotList.indexOf(Snapshot) - 1;
|
||||
if (NextIndex < 0) return false; // no newer snapshot
|
||||
|
||||
QString NewerSnapshot = SnapshotList.at(NextIndex);
|
||||
|
@ -893,7 +893,7 @@ int CSandBoxPlus::IsLeaderProgram(const QString& ProgName)
|
|||
return FindInStrList(Programs, ProgName) != Programs.end() ? 1 : 0;
|
||||
}
|
||||
|
||||
SB_STATUS CSandBoxPlus::DeleteContentAsync(bool DeleteShapshots, bool bOnAutoDelete)
|
||||
SB_STATUS CSandBoxPlus::DeleteContentAsync(bool DeleteSnapshots, bool bOnAutoDelete)
|
||||
{
|
||||
if (GetBool("NeverDelete", false))
|
||||
return SB_ERR(SB_DeleteProtect);
|
||||
|
@ -908,7 +908,7 @@ SB_STATUS CSandBoxPlus::DeleteContentAsync(bool DeleteShapshots, bool bOnAutoDel
|
|||
AddJobToQueue(pJob);
|
||||
}
|
||||
|
||||
CBoxJob* pJob = new CCleanUpJob(this, DeleteShapshots, bOnAutoDelete);
|
||||
CBoxJob* pJob = new CCleanUpJob(this, DeleteSnapshots, bOnAutoDelete);
|
||||
AddJobToQueue(pJob);
|
||||
|
||||
return SB_OK;
|
||||
|
|
|
@ -151,7 +151,7 @@ public:
|
|||
|
||||
bool IsOpen() const { return m_bRootAccessOpen; }
|
||||
bool IsBusy() const { return IsSizePending() || !m_JobQueue.isEmpty(); }
|
||||
SB_STATUS DeleteContentAsync(bool DeleteShapshots = true, bool bOnAutoDelete = false);
|
||||
SB_STATUS DeleteContentAsync(bool DeleteSnapshots = true, bool bOnAutoDelete = false);
|
||||
|
||||
struct SLink {
|
||||
QString Folder;
|
||||
|
@ -201,7 +201,7 @@ protected:
|
|||
static void ExportBoxAsync(const CSbieProgressPtr& pProgress, const QString& ExportPath, const QString& RootPath, const QString& Section);
|
||||
static void ImportBoxAsync(const CSbieProgressPtr& pProgress, const QString& ImportPath, const QString& RootPath, const QString& BoxName);
|
||||
|
||||
bool IsFileDeleted(const QString& RealPath, const QString& Shapshot, const QStringList& SnapshotList, const QMap<QString, QList<QString>>& DeletedPaths);
|
||||
bool IsFileDeleted(const QString& RealPath, const QString& Snapshot, const QStringList& SnapshotList, const QMap<QString, QList<QString>>& DeletedPaths);
|
||||
|
||||
QList<QSharedPointer<CBoxJob>> m_JobQueue;
|
||||
|
||||
|
|
|
@ -1317,7 +1317,7 @@ void CSbieView::OnSandBoxAction(QAction* Action, const QList<CSandBoxPtr>& SandB
|
|||
}
|
||||
else if (Action == m_pMenuCleanUp)
|
||||
{
|
||||
bool DeleteShapshots = false;
|
||||
bool DeleteSnapshots = false;
|
||||
|
||||
if (SandBoxes.count() == 1)
|
||||
{
|
||||
|
@ -1329,15 +1329,15 @@ void CSbieView::OnSandBoxAction(QAction* Action, const QList<CSandBoxPtr>& SandB
|
|||
if (theConf->GetBool("Options/ShowRecovery", false))
|
||||
{
|
||||
// Use recovery dialog in place of the confirmation messagebox for box clean up
|
||||
if(!theGUI->OpenRecovery(SandBoxes.first(), DeleteShapshots))
|
||||
if(!theGUI->OpenRecovery(SandBoxes.first(), DeleteSnapshots))
|
||||
return;
|
||||
}
|
||||
else if(CCheckableMessageBox::question(this, "Sandboxie-Plus", tr("Do you want to delete the content of the selected sandbox?")
|
||||
, tr("Also delete all Snapshots"), &DeleteShapshots, QDialogButtonBox::Yes | QDialogButtonBox::No, QDialogButtonBox::Yes) != QDialogButtonBox::Yes)
|
||||
, tr("Also delete all Snapshots"), &DeleteSnapshots, QDialogButtonBox::Yes | QDialogButtonBox::No, QDialogButtonBox::Yes) != QDialogButtonBox::Yes)
|
||||
return;
|
||||
}
|
||||
else if(CCheckableMessageBox::question(this, "Sandboxie-Plus", tr("Do you really want to delete the content of all selected sandboxes?")
|
||||
, tr("Also delete all Snapshots"), &DeleteShapshots, QDialogButtonBox::Yes | QDialogButtonBox::No, QDialogButtonBox::Yes) != QDialogButtonBox::Yes)
|
||||
, tr("Also delete all Snapshots"), &DeleteSnapshots, QDialogButtonBox::Yes | QDialogButtonBox::No, QDialogButtonBox::Yes) != QDialogButtonBox::Yes)
|
||||
return;
|
||||
|
||||
foreach(const CSandBoxPtr &pBox, SandBoxes)
|
||||
|
@ -1345,13 +1345,13 @@ void CSbieView::OnSandBoxAction(QAction* Action, const QList<CSandBoxPtr>& SandB
|
|||
if (theConf->GetBool("Options/UseAsyncBoxOps", false) || theGUI->IsSilentMode())
|
||||
{
|
||||
auto pBoxEx = pBox.objectCast<CSandBoxPlus>();
|
||||
SB_STATUS Status = pBoxEx->DeleteContentAsync(DeleteShapshots);
|
||||
SB_STATUS Status = pBoxEx->DeleteContentAsync(DeleteSnapshots);
|
||||
if (Status.IsError())
|
||||
Results.append(Status);
|
||||
}
|
||||
else
|
||||
{
|
||||
SB_STATUS Status = theGUI->DeleteBoxContent(pBox, CSandMan::eDefault, DeleteShapshots);
|
||||
SB_STATUS Status = theGUI->DeleteBoxContent(pBox, CSandMan::eDefault, DeleteSnapshots);
|
||||
if (Status.GetMsgCode() == SB_Canceled)
|
||||
break;
|
||||
Results.append(Status);
|
||||
|
|
|
@ -56,7 +56,7 @@ CRecoveryWindow::CRecoveryWindow(const CSandBoxPtr& pBox, bool bImmediate, QWidg
|
|||
m_LastTargetIndex = 0;
|
||||
m_bTargetsChanged = false;
|
||||
m_bReloadPending = false;
|
||||
m_DeleteShapshots = false;
|
||||
m_DeleteSnapshots = false;
|
||||
|
||||
QStyle* pStyle = QStyleFactory::create("windows");
|
||||
ui.treeFiles->setStyle(pStyle);
|
||||
|
@ -259,7 +259,7 @@ void CRecoveryWindow::OnDeleteAll()
|
|||
|
||||
void CRecoveryWindow::OnDeleteEverything()
|
||||
{
|
||||
m_DeleteShapshots = true;
|
||||
m_DeleteSnapshots = true;
|
||||
OnDeleteAll();
|
||||
}
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ public:
|
|||
~CRecoveryWindow();
|
||||
|
||||
bool IsDeleteDialog() const;
|
||||
bool IsDeleteShapshots() { return m_DeleteShapshots; }
|
||||
bool IsDeleteSnapshots() { return m_DeleteSnapshots; }
|
||||
|
||||
virtual void accept() {}
|
||||
virtual void reject() { this->close(); }
|
||||
|
@ -94,7 +94,7 @@ protected:
|
|||
int m_LastTargetIndex;
|
||||
bool m_bTargetsChanged;
|
||||
bool m_bReloadPending;
|
||||
bool m_DeleteShapshots;
|
||||
bool m_DeleteSnapshots;
|
||||
bool m_bImmediate;
|
||||
|
||||
private:
|
||||
|
|
Loading…
Reference in New Issue