1.0.5
This commit is contained in:
parent
c9f69b7f5f
commit
eee87c02e0
|
@ -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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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:
|
||||||
|
|
||||||
|
|
|
@ -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");
|
||||||
|
|
|
@ -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))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue