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
- 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 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 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 TMPL_NAME_BUFFER 2
#define NAME_BUFFER_COUNT 3
#define NAME_BUFFER_DEPTH 12
#define NAME_BUFFER_DEPTH 24
#ifdef _WIN64

View File

@ -244,7 +244,7 @@ _FX BOOLEAN Gui_InitEnum(void)
// raises an error when CreateDesktop is call. This hook
// 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_MOZILLA_FIREFOX)) {
SBIEDLL_HOOK_GUI(CreateDesktopW);

View File

@ -534,8 +534,8 @@ void CSandMan::closeEvent(QCloseEvent *e)
}
}
if(theAPI->IsConnected())
m_pBoxView->SaveUserConfig();
//if(theAPI->IsConnected())
// m_pBoxView->SaveUserConfig();
if (IsFullyPortable() && theAPI->IsConnected())
{
@ -2369,13 +2369,16 @@ void CSandMan::LoadLanguage()
if(Lang.isEmpty())
Lang = QLocale::system().name();
if (!Lang.isEmpty())
m_LanguageId = LocaleNameToLCID(Lang.toStdWString().c_str(), 0);
if (Lang.compare("native", Qt::CaseInsensitive) != 0) {
if (!Lang.isEmpty())
m_LanguageId = LocaleNameToLCID(Lang.toStdWString().c_str(), 0);
LoadLanguage(Lang, "sandman", 0);
LoadLanguage(Lang, "qt", 1);
}
if (!m_LanguageId)
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)

View File

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

View File

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

View File

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

View File

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