This commit is contained in:
DavidXanatos 2023-02-01 22:16:41 +01:00
parent 1a262ed18b
commit b03089969b
4 changed files with 16 additions and 1 deletions

View File

@ -908,8 +908,10 @@ void CSandMan::CreateView(int iViewMode)
connect(m_pBoxView, SIGNAL(BoxSelected()), this, SLOT(OnBoxSelected()));
m_pFileView = new CFileView();
if (iViewMode != 1)
if (iViewMode != 1) {
m_pRecoveryLogWnd = new CRecoveryLogWnd(m_pMainWidget);
connect(this, SIGNAL(Closed()), m_pRecoveryLogWnd, SLOT(close()));
}
else
m_pRecoveryLogWnd = NULL;
@ -1068,6 +1070,8 @@ void CSandMan::closeEvent(QCloseEvent *e)
}
}
emit Closed();
//if(theAPI->IsConnected())
// m_pBoxView->SaveUserConfig();
@ -1354,6 +1358,7 @@ bool CSandMan::RunSandboxed(const QStringList& Commands, QString BoxName, const
if (BoxName.isEmpty())
BoxName = theAPI->GetGlobalSettings()->GetText("DefaultBox", "DefaultBox");
CSelectBoxWindow* pSelectBoxWindow = new CSelectBoxWindow(Commands, BoxName, WrkDir);
connect(this, SIGNAL(Closed()), pSelectBoxWindow, SLOT(close()));
//pSelectBoxWindow->show();
return SafeExec(pSelectBoxWindow) == 1;
}
@ -2614,6 +2619,7 @@ void CSandMan::OnSettings()
static CSettingsWindow* pSettingsWindow = NULL;
if (pSettingsWindow == NULL) {
pSettingsWindow = new CSettingsWindow();
connect(this, SIGNAL(Closed()), pSettingsWindow, SLOT(close()));
connect(pSettingsWindow, SIGNAL(OptionsChanged(bool)), this, SLOT(UpdateSettings(bool)));
connect(pSettingsWindow, &CSettingsWindow::Closed, [this]() {
pSettingsWindow = NULL;
@ -2876,6 +2882,7 @@ void CSandMan::OnMonitoring()
static CTraceWindow* pTraceWindow = NULL;
if (!pTraceWindow) {
pTraceWindow = new CTraceWindow();
connect(this, SIGNAL(Closed()), pTraceWindow, SLOT(close()));
//pTraceWindow->setAttribute(Qt::WA_DeleteOnClose);
connect(pTraceWindow, &CTraceWindow::Closed, [&]() {
pTraceWindow = NULL;

View File

@ -82,6 +82,8 @@ public:
signals:
void CertUpdated();
void Closed();
protected:
friend class COnlineUpdater;
SB_RESULT(void*) ConnectSbie();

View File

@ -34,6 +34,7 @@ bool CSandMan::OpenRecovery(const CSandBoxPtr& pBox, bool& DeleteShapshots, bool
}
CRecoveryWindow* pRecoveryWnd = pBoxEx->m_pRecoveryWnd = new CRecoveryWindow(pBox, false, this);
connect(this, SIGNAL(Closed()), pBoxEx->m_pRecoveryWnd, SLOT(close()));
if (pBoxEx->m_pRecoveryWnd->FindFiles() == 0 && bCloseEmpty) {
delete pBoxEx->m_pRecoveryWnd;
pBoxEx->m_pRecoveryWnd = NULL;
@ -56,6 +57,7 @@ CRecoveryWindow* CSandMan::ShowRecovery(const CSandBoxPtr& pBox, bool bFind)
if (!pBoxEx) return NULL;
if (pBoxEx->m_pRecoveryWnd == NULL) {
pBoxEx->m_pRecoveryWnd = new CRecoveryWindow(pBox, bFind == false);
connect(this, SIGNAL(Closed()), pBoxEx->m_pRecoveryWnd, SLOT(close()));
connect(pBoxEx->m_pRecoveryWnd, &CRecoveryWindow::Closed, [pBoxEx]() {
pBoxEx->m_pRecoveryWnd = NULL;
});

View File

@ -968,6 +968,7 @@ QString CSbieView::AddNewBox(bool bAlowTemp)
if (bVintage) {
CNewBoxWindow NewBoxWindow(this);
connect(theGUI, SIGNAL(Closed()), &NewBoxWindow, SLOT(close()));
if (NewBoxWindow.exec() == 1)
BoxName = NewBoxWindow.m_Name;
}
@ -1200,6 +1201,7 @@ void CSbieView::OnSandBoxAction(QAction* Action, const QList<CSandBoxPtr>& SandB
CSnapshotsWindow* pSnapshotsWindow = SnapshotWindows.value(pBox.data());
if (pSnapshotsWindow == NULL) {
pSnapshotsWindow = new CSnapshotsWindow(SandBoxes.first(), this);
connect(theGUI, SIGNAL(Closed()), pSnapshotsWindow, SLOT(close()));
SnapshotWindows.insert(pBox.data(), pSnapshotsWindow);
connect(pSnapshotsWindow, &CSnapshotsWindow::Closed, [this, pBox]() {
SnapshotWindows.remove(pBox.data());
@ -1541,6 +1543,7 @@ void CSbieView::ShowOptions(const CSandBoxPtr& pBox)
auto pBoxEx = pBox.objectCast<CSandBoxPlus>();
if (pBoxEx->m_pOptionsWnd == NULL) {
pBoxEx->m_pOptionsWnd = new COptionsWindow(pBox, pBox->GetName());
connect(theGUI, SIGNAL(Closed()), pBoxEx->m_pOptionsWnd, SLOT(close()));
connect(pBoxEx->m_pOptionsWnd, &COptionsWindow::Closed, [pBoxEx]() {
pBoxEx->m_pOptionsWnd = NULL;
});
@ -1563,6 +1566,7 @@ void CSbieView::ShowBrowse(const CSandBoxPtr& pBox)
CFileBrowserWindow* pFileBrowserWindow = FileBrowserWindows.value(pBox.data());
if (pFileBrowserWindow == NULL) {
pFileBrowserWindow = new CFileBrowserWindow(pBox);
connect(theGUI, SIGNAL(Closed()), pFileBrowserWindow, SLOT(close()));
FileBrowserWindows.insert(pBox.data(), pFileBrowserWindow);
connect(pFileBrowserWindow, &CFileBrowserWindow::Closed, [this, pBox]() {
FileBrowserWindows.remove(pBox.data());