This commit is contained in:
DavidXanatos 2021-12-23 16:28:14 +01:00
parent c9f69b7f5f
commit eee87c02e0
8 changed files with 47 additions and 30 deletions

View File

@ -17,11 +17,15 @@ This project adheres to [Semantic Versioning](http://semver.org/).
### Changed ### Changed
- improved sbiedll initialization a bit - improved sbiedll initialization a bit
- "UseSbieWndStation=y" is now the default behavioure [#1442](https://github.com/sandboxie-plus/Sandboxie/issues/1442)
- doubled name buffer depth [#1342](https://github.com/sandboxie-plus/Sandboxie/issues/1342)
### Fixed ### Fixed
- fixed issue with forced process display [#1447](https://github.com/sandboxie-plus/Sandboxie/issues/1447) - fixed issue with forced process display [#1447](https://github.com/sandboxie-plus/Sandboxie/issues/1447)
- fixed crash issue with GetClassName [#1448](https://github.com/sandboxie-plus/Sandboxie/issues/1448) - fixed crash issue with GetClassName [#1448](https://github.com/sandboxie-plus/Sandboxie/issues/1448)
- fixed minor ui issue [#1382](https://github.com/sandboxie-plus/Sandboxie/issues/1382)
- fixed ui lang preset issue [#1348](https://github.com/sandboxie-plus/Sandboxie/issues/1348)
- fixed grouping issues in sandman UI [#1358](https://github.com/sandboxie-plus/Sandboxie/issues/1358)

View File

@ -49,7 +49,7 @@ extern __declspec(dllexport) int __CRTDECL Sbie_snprintf(char *_Buffer, size_t C
#define COPY_NAME_BUFFER 1 #define COPY_NAME_BUFFER 1
#define TMPL_NAME_BUFFER 2 #define TMPL_NAME_BUFFER 2
#define NAME_BUFFER_COUNT 3 #define NAME_BUFFER_COUNT 3
#define NAME_BUFFER_DEPTH 12 #define NAME_BUFFER_DEPTH 24
#ifdef _WIN64 #ifdef _WIN64

View File

@ -244,7 +244,7 @@ _FX BOOLEAN Gui_InitEnum(void)
// raises an error when CreateDesktop is call. This hook // raises an error when CreateDesktop is call. This hook
// is removed for chrome. See advapi.c: AdvApi_GetSecurityInfo // is removed for chrome. See advapi.c: AdvApi_GetSecurityInfo
if (!Config_GetSettingsForImageName_bool(L"UseSbieWndStation", FALSE) && if (!Config_GetSettingsForImageName_bool(L"UseSbieWndStation", TRUE) &&
(Dll_ImageType != DLL_IMAGE_GOOGLE_CHROME) && (Dll_ImageType != DLL_IMAGE_GOOGLE_CHROME) &&
(Dll_ImageType != DLL_IMAGE_MOZILLA_FIREFOX)) { (Dll_ImageType != DLL_IMAGE_MOZILLA_FIREFOX)) {
SBIEDLL_HOOK_GUI(CreateDesktopW); SBIEDLL_HOOK_GUI(CreateDesktopW);

View File

@ -534,8 +534,8 @@ void CSandMan::closeEvent(QCloseEvent *e)
} }
} }
if(theAPI->IsConnected()) //if(theAPI->IsConnected())
m_pBoxView->SaveUserConfig(); // m_pBoxView->SaveUserConfig();
if (IsFullyPortable() && theAPI->IsConnected()) if (IsFullyPortable() && theAPI->IsConnected())
{ {
@ -2369,13 +2369,16 @@ void CSandMan::LoadLanguage()
if(Lang.isEmpty()) if(Lang.isEmpty())
Lang = QLocale::system().name(); Lang = QLocale::system().name();
if (!Lang.isEmpty()) if (Lang.compare("native", Qt::CaseInsensitive) != 0) {
m_LanguageId = LocaleNameToLCID(Lang.toStdWString().c_str(), 0); if (!Lang.isEmpty())
m_LanguageId = LocaleNameToLCID(Lang.toStdWString().c_str(), 0);
LoadLanguage(Lang, "sandman", 0);
LoadLanguage(Lang, "qt", 1);
}
if (!m_LanguageId) if (!m_LanguageId)
m_LanguageId = 1033; // default to English m_LanguageId = 1033; // default to English
LoadLanguage(Lang, "sandman", 0);
LoadLanguage(Lang, "qt", 1);
} }
void CSandMan::LoadLanguage(const QString& Lang, const QString& Module, int Index) void CSandMan::LoadLanguage(const QString& Lang, const QString& Module, int Index)

View File

@ -24,7 +24,7 @@ CSbieView::CSbieView(QWidget* parent) : CPanelView(parent)
m_pMainLayout->setMargin(0); m_pMainLayout->setMargin(0);
this->setLayout(m_pMainLayout); this->setLayout(m_pMainLayout);
m_UserConfigChanged = false; //m_UserConfigChanged = false;
m_pSbieModel = new CSbieModel(); m_pSbieModel = new CSbieModel();
m_pSbieModel->SetTree(true); m_pSbieModel->SetTree(true);
@ -305,11 +305,11 @@ void CSbieView::UpdateMenu()
{ {
QList<QAction*> MenuActions = m_pMenu->actions(); QList<QAction*> MenuActions = m_pMenu->actions();
bool isConnected = theAPI->IsConnected(); //bool isConnected = theAPI->IsConnected();
if (isConnected) { //if (isConnected) {
foreach(QAction * pAction, MenuActions) // foreach(QAction * pAction, MenuActions)
pAction->setEnabled(true); // pAction->setEnabled(true);
} //}
CSandBoxPtr pBox; CSandBoxPtr pBox;
CBoxedProcessPtr pProcess; CBoxedProcessPtr pProcess;
@ -424,14 +424,17 @@ void CSbieView::UpdateMenu()
//m_pMenuSuspend->setEnabled(iProcessCount > iSuspendedCount); //m_pMenuSuspend->setEnabled(iProcessCount > iSuspendedCount);
//m_pMenuResume->setEnabled(iSuspendedCount > 0); //m_pMenuResume->setEnabled(iSuspendedCount > 0);
if (!isConnected) { //if (!isConnected) {
foreach(QAction * pAction, MenuActions) // foreach(QAction * pAction, MenuActions)
pAction->setEnabled(false); // pAction->setEnabled(false);
} //}
} }
void CSbieView::OnMenu(const QPoint& Point) void CSbieView::OnMenu(const QPoint& Point)
{ {
if (!theAPI->IsConnected())
return;
CPanelView::OnMenu(Point); CPanelView::OnMenu(Point);
} }
@ -674,8 +677,10 @@ void CSbieView::OnGroupAction()
m_pSbieModel->Clear(); //todo improve that m_pSbieModel->Clear(); //todo improve that
} }
m_UserConfigChanged = true; //m_UserConfigChanged = true;
UpdateGroupMenu(); UpdateGroupMenu();
SaveUserConfig();
} }
QString CSbieView::AddNewBox() QString CSbieView::AddNewBox()
@ -708,9 +713,11 @@ QString CSbieView::AddNewGroup()
m_Groups[Parent].append(Name); m_Groups[Parent].append(Name);
m_UserConfigChanged = true; //m_UserConfigChanged = true;
UpdateGroupMenu(); UpdateGroupMenu();
SaveUserConfig();
return Name; return Name;
} }
@ -1330,11 +1337,14 @@ void CSbieView::ChangeExpand(const QModelIndex& index, bool bExpand)
else if (m_pSbieModel->GetType(ModelIndex) == CSbieModel::eBox) else if (m_pSbieModel->GetType(ModelIndex) == CSbieModel::eBox)
Name = m_pSbieModel->GetSandBox(ModelIndex)->GetName(); Name = m_pSbieModel->GetSandBox(ModelIndex)->GetName();
m_UserConfigChanged = true;
if(bExpand) if(bExpand)
m_Collapsed.remove(Name); m_Collapsed.remove(Name);
else else
m_Collapsed.insert(Name); m_Collapsed.insert(Name);
//m_UserConfigChanged = true;
SaveUserConfig();
} }
void CSbieView::ReloadUserConfig() void CSbieView::ReloadUserConfig()
@ -1352,9 +1362,9 @@ void CSbieView::ReloadUserConfig()
void CSbieView::SaveUserConfig() void CSbieView::SaveUserConfig()
{ {
if (!m_UserConfigChanged) //if (!m_UserConfigChanged)
return; // return;
m_UserConfigChanged = false; //m_UserConfigChanged = false;
QString Grouping = CSbieView__SerializeGroup(m_Groups); QString Grouping = CSbieView__SerializeGroup(m_Groups);
theAPI->GetUserSettings()->SetText("BoxDisplayOrder", Grouping); theAPI->GetUserSettings()->SetText("BoxDisplayOrder", Grouping);

View File

@ -59,7 +59,7 @@ protected:
QMap<QString, QStringList> m_Groups; QMap<QString, QStringList> m_Groups;
QSet<QString> m_Collapsed; QSet<QString> m_Collapsed;
bool m_UserConfigChanged; //bool m_UserConfigChanged;
private: private:

View File

@ -65,7 +65,7 @@ void COptionsWindow::LoadAdvanced()
{ {
ui.chkPreferExternalManifest->setChecked(m_pBox->GetBool("PreferExternalManifest", false)); ui.chkPreferExternalManifest->setChecked(m_pBox->GetBool("PreferExternalManifest", false));
ui.chkNestedJobs->setChecked(m_pBox->GetBool("AllowBoxedJobs", false)); ui.chkNestedJobs->setChecked(m_pBox->GetBool("AllowBoxedJobs", false));
ui.chkUseSbieWndStation->setChecked(m_pBox->GetBool("UseSbieWndStation", false)); ui.chkUseSbieWndStation->setChecked(m_pBox->GetBool("UseSbieWndStation", true));
ui.chkAddToJob->setChecked(!m_pBox->GetBool("NoAddProcessToJob", false)); ui.chkAddToJob->setChecked(!m_pBox->GetBool("NoAddProcessToJob", false));
ui.chkProtectSCM->setChecked(!m_pBox->GetBool("UnrestrictedSCM", false)); ui.chkProtectSCM->setChecked(!m_pBox->GetBool("UnrestrictedSCM", false));
@ -130,7 +130,7 @@ void COptionsWindow::LoadAdvanced()
void COptionsWindow::SaveAdvanced() void COptionsWindow::SaveAdvanced()
{ {
WriteAdvancedCheck(ui.chkPreferExternalManifest, "PreferExternalManifest", "y", ""); WriteAdvancedCheck(ui.chkPreferExternalManifest, "PreferExternalManifest", "y", "");
WriteAdvancedCheck(ui.chkUseSbieWndStation, "UseSbieWndStation", "y", ""); WriteAdvancedCheck(ui.chkUseSbieWndStation, "UseSbieWndStation", "", "n");
WriteAdvancedCheck(ui.chkAddToJob, "NoAddProcessToJob", "", "y"); WriteAdvancedCheck(ui.chkAddToJob, "NoAddProcessToJob", "", "y");
WriteAdvancedCheck(ui.chkProtectSCM, "UnrestrictedSCM", "", "y"); WriteAdvancedCheck(ui.chkProtectSCM, "UnrestrictedSCM", "", "y");

View File

@ -93,7 +93,7 @@ CSettingsWindow::CSettingsWindow(QWidget *parent)
ui.tabs->setCurrentIndex(0); ui.tabs->setCurrentIndex(0);
ui.uiLang->addItem(tr("Auto Detection"), ""); ui.uiLang->addItem(tr("Auto Detection"), "");
ui.uiLang->addItem("International English", "en"); ui.uiLang->addItem("International English", "native");
QDir langDir(QApplication::applicationDirPath() + "/translations/"); QDir langDir(QApplication::applicationDirPath() + "/translations/");
foreach(const QString& langFile, langDir.entryList(QStringList("sandman_*.qm"), QDir::Files)) foreach(const QString& langFile, langDir.entryList(QStringList("sandman_*.qm"), QDir::Files))
{ {