diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a266b0c..4fa3252e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,19 @@ This project adheres to [Semantic Versioning](http://semver.org/). +## [1.7.2 / 5.62.2] - 2023-02-?? + +### Changed +- reorganized box options once again, old box layout is default again + +### Fixed +- fixed delete v1/v2 display now respects global presets +- Avoid blocking the Explorer when dragging [#2660](https://github.com/sandboxie-plus/Sandboxie/pull/2660) +- fixed issue with QtSingleApp [#2659](https://github.com/sandboxie-plus/Sandboxie/issues/2659) + + + + ## [1.7.1 / 5.62.1] - 2023-01-30 diff --git a/Sandboxie/common/my_version.h b/Sandboxie/common/my_version.h index 391d4eb1..916dffa7 100644 --- a/Sandboxie/common/my_version.h +++ b/Sandboxie/common/my_version.h @@ -21,8 +21,8 @@ #ifndef _MY_VERSION_H #define _MY_VERSION_H -#define MY_VERSION_BINARY 5,62,1 -#define MY_VERSION_STRING "5.62.1" +#define MY_VERSION_BINARY 5,62,2 +#define MY_VERSION_STRING "5.62.2" #define MY_ABI_VERSION 0x56000 // These #defines are used by either Resource Compiler or NSIS installer diff --git a/SandboxiePlus/QtSingleApp/src/qtlocalpeer.cpp b/SandboxiePlus/QtSingleApp/src/qtlocalpeer.cpp index 1e81257c..21d3ea5b 100644 --- a/SandboxiePlus/QtSingleApp/src/qtlocalpeer.cpp +++ b/SandboxiePlus/QtSingleApp/src/qtlocalpeer.cpp @@ -182,7 +182,7 @@ void QtLocalPeer::receiveConnection() if (!socket) return; - while (socket->bytesAvailable() < (int)sizeof(quint32)) + while (socket->bytesAvailable() < (int)sizeof(quint32) && socket->state() == QLocalSocket::ConnectedState) socket->waitForReadyRead(); QDataStream ds(socket); QByteArray uMsg; diff --git a/SandboxiePlus/SandMan/Windows/OptionsGeneral.cpp b/SandboxiePlus/SandMan/Windows/OptionsGeneral.cpp index 2ef33ada..23298ddf 100644 --- a/SandboxiePlus/SandMan/Windows/OptionsGeneral.cpp +++ b/SandboxiePlus/SandMan/Windows/OptionsGeneral.cpp @@ -277,9 +277,11 @@ void COptionsWindow::LoadGeneral() if (pos == -1) ui.cmbDblClick->setCurrentText(Action); - if (m_pBox->GetBool("UseFileDeleteV2", false) && m_pBox->GetBool("UseRegDeleteV2", false)) + bool bUseFileDeleteV2Global = theAPI->GetGlobalSettings()->GetBool("UseFileDeleteV2", false); + bool bUseRegDeleteV2Global = theAPI->GetGlobalSettings()->GetBool("UseRegDeleteV2", false); + if (m_pBox->GetBool("UseFileDeleteV2", bUseFileDeleteV2Global) && m_pBox->GetBool("UseRegDeleteV2", bUseRegDeleteV2Global)) ui.cmbVersion->setCurrentIndex(1); - else if (!m_pBox->GetBool("UseFileDeleteV2", false) && !m_pBox->GetBool("UseRegDeleteV2", false)) + else if (!m_pBox->GetBool("UseFileDeleteV2", bUseFileDeleteV2Global) && !m_pBox->GetBool("UseRegDeleteV2", bUseRegDeleteV2Global)) ui.cmbVersion->setCurrentIndex(0); else { ui.cmbVersion->setEditable(true); @@ -287,8 +289,8 @@ void COptionsWindow::LoadGeneral() ui.cmbVersion->setCurrentText(tr("Indeterminate")); } - ReadGlobalCheck(ui.chkSeparateUserFolders, "SeparateUserFolders", true); - ReadGlobalCheck(ui.chkUseVolumeSerialNumbers, "UseVolumeSerialNumbers", false); + ReadGlobalCheck(ui.chkSeparateUserFolders, "SeparateUserFolders", theAPI->GetGlobalSettings()->GetBool("SeparateUserFolders", true)); + ReadGlobalCheck(ui.chkUseVolumeSerialNumbers, "UseVolumeSerialNumbers", theAPI->GetGlobalSettings()->GetBool("UseVolumeSerialNumbers", false)); int iLimit = m_pBox->GetNum("CopyLimitKb", 80 * 1024); ui.chkCopyLimit->setChecked(iLimit != -1); diff --git a/SandboxiePlus/SandMan/Windows/OptionsWindow.cpp b/SandboxiePlus/SandMan/Windows/OptionsWindow.cpp index 2bb8f7bb..5e9116a7 100644 --- a/SandboxiePlus/SandMan/Windows/OptionsWindow.cpp +++ b/SandboxiePlus/SandMan/Windows/OptionsWindow.cpp @@ -232,7 +232,7 @@ COptionsWindow::COptionsWindow(const QSharedPointer& pBox, const QStri int iViewMode = theConf->GetInt("Options/ViewMode", 1); int iOptionLayout = theConf->GetInt("Options/NewConfigLayout", 2); if (iOptionLayout == 2) - iOptionLayout = iViewMode != 2 ? 1 : 0; + iOptionLayout = 0;// iViewMode != 2 ? 1 : 0; if ((QGuiApplication::queryKeyboardModifiers() & Qt::AltModifier) != 0) iOptionLayout = !iOptionLayout; @@ -242,6 +242,34 @@ COptionsWindow::COptionsWindow(const QSharedPointer& pBox, const QStri ui.tabs->removeTab(9); // remove unused variouse options tab + // merge recovery tabs + QWidget* pWidget3 = new QWidget(); + pWidget3->setLayout(ui.gridLayout_10); + ui.gridLayout_24->addWidget(pWidget3, 1, 0); + QWidget* pWidget4 = new QWidget(); + pWidget4->setLayout(ui.gridLayout_56); + ui.gridLayout_24->addWidget(pWidget4, 2, 0); + delete ui.tabsRecovery; + ui.gridLayout_24->setContentsMargins(0, 0, 0, 0); + + // collect file options on a new fils tab + + QWidget* pWidget = new QWidget(); + QGridLayout* pLayout = new QGridLayout(pWidget); + + QTabWidget* pTabWidget = new QTabWidget(); + pLayout->addWidget(pTabWidget, 0, 0); + ui.tabs->insertTab(1, pWidget, tr("File Options")); + ui.tabs->setTabIcon(1, CSandMan::GetIcon("Folder")); + + pTabWidget->addTab(ui.tabsGeneral->widget(1), ui.tabsGeneral->tabText(1)); + pTabWidget->setTabIcon(0, CSandMan::GetIcon("Files")); + pTabWidget->addTab(ui.tabsGeneral->widget(1), ui.tabsGeneral->tabText(1)); + pTabWidget->setTabIcon(1, CSandMan::GetIcon("Move")); + pTabWidget->addTab(ui.tabs->widget(9), ui.tabs->tabText(9)); + pTabWidget->setTabIcon(2, CSandMan::GetIcon("Recover")); + // + // re structure the UI a bit if (iOptionLayout == 1) { @@ -256,42 +284,12 @@ COptionsWindow::COptionsWindow(const QSharedPointer& pBox, const QStri ui.gridLayout_17->setContentsMargins(0, 0, 0, 0); // move stop and restrictions to program tab - ui.tabsForce->addTab(ui.tabs->widget(4), ui.tabs->tabText(4)); + ui.tabsForce->addTab(ui.tabs->widget(5), ui.tabs->tabText(5)); ui.tabsForce->setTabIcon(2, CSandMan::GetIcon("Stop")); - ui.tabsForce->addTab(ui.tabs->widget(4), ui.tabs->tabText(4)); + ui.tabsForce->addTab(ui.tabs->widget(5), ui.tabs->tabText(5)); ui.tabsForce->setTabIcon(3, CSandMan::GetIcon("Start")); ui.gridLayout_19->setContentsMargins(3, 6, 3, 3); - // merge recovery tabs - QWidget* pWidget3 = new QWidget(); - pWidget3->setLayout(ui.gridLayout_10); - ui.gridLayout_24->addWidget(pWidget3, 1, 0); - QWidget* pWidget4 = new QWidget(); - pWidget4->setLayout(ui.gridLayout_56); - ui.gridLayout_24->addWidget(pWidget4, 2, 0); - delete ui.tabsRecovery; - ui.gridLayout_24->setContentsMargins(0, 0, 0, 0); - - QWidget* pWidget = new QWidget(); - QGridLayout* pLayout = new QGridLayout(pWidget); - - // move recovery to general - //ui.tabsGeneral->insertTab(2, ui.tabs->widget(6), ui.tabs->tabText(6)); - //ui.tabsGeneral->setTabIcon(2, CSandMan::GetIcon("Recover")); - - // collect file options on a new fils tab - QTabWidget* pTabWidget = new QTabWidget(); - pLayout->addWidget(pTabWidget, 0, 0); - ui.tabs->insertTab(1, pWidget, tr("File Options")); - ui.tabs->setTabIcon(1, CSandMan::GetIcon("Folder")); - - pTabWidget->addTab(ui.tabsGeneral->widget(1), ui.tabsGeneral->tabText(1)); - pTabWidget->setTabIcon(0, CSandMan::GetIcon("Files")); - pTabWidget->addTab(ui.tabsGeneral->widget(1), ui.tabsGeneral->tabText(1)); - pTabWidget->setTabIcon(1, CSandMan::GetIcon("Move")); - pTabWidget->addTab(ui.tabs->widget(7), ui.tabs->tabText(7)); - pTabWidget->setTabIcon(2, CSandMan::GetIcon("Recover")); - // move grouping to program tab ui.tabsForce->insertTab(0, ui.tabGroups, tr("Grouping")); ui.tabsForce->setTabIcon(0, CSandMan::GetIcon("Group")); diff --git a/SandboxiePlus/SandMan/main.cpp b/SandboxiePlus/SandMan/main.cpp index 41b82da1..d2a30f28 100644 --- a/SandboxiePlus/SandMan/main.cpp +++ b/SandboxiePlus/SandMan/main.cpp @@ -137,7 +137,7 @@ int main(int argc, char *argv[]) CSandMan* pWnd = new CSandMan(); - QObject::connect(&app, SIGNAL(messageReceived(const QString&)), pWnd, SLOT(OnMessage(const QString&))); + QObject::connect(&app, SIGNAL(messageReceived(const QString&)), pWnd, SLOT(OnMessage(const QString&)), Qt::QueuedConnection); int ret = app.exec(); diff --git a/SandboxiePlus/version.h b/SandboxiePlus/version.h index 94f3ddc7..505175bd 100644 --- a/SandboxiePlus/version.h +++ b/SandboxiePlus/version.h @@ -2,8 +2,8 @@ #define VERSION_MJR 1 #define VERSION_MIN 7 -#define VERSION_REV 1 -#define VERSION_UPD 1 +#define VERSION_REV 2 +#define VERSION_UPD 0 #ifndef STR #define STR2(X) #X