1.2.1
This commit is contained in:
parent
7c32af369c
commit
3a2ac57416
|
@ -10,6 +10,9 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
### Added
|
### Added
|
||||||
- added Swedish translation to Plus UI (thanks pb1)
|
- added Swedish translation to Plus UI (thanks pb1)
|
||||||
- added Vintage View Mode to make sandman UI look just lien sbietrl on the first glance
|
- added Vintage View Mode to make sandman UI look just lien sbietrl on the first glance
|
||||||
|
- added alternative tray menu mechanics
|
||||||
|
- added ability to auto generate sandbox icons based on the border color
|
||||||
|
- added dedicated box group icon
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
- fixed DPI issue on Windows 7
|
- fixed DPI issue on Windows 7
|
||||||
|
|
|
@ -316,8 +316,8 @@ swedish.SandboxedBrowser=Sandlådad webläsare
|
||||||
swedish.CustomPageLabel1=Välj installationstyp
|
swedish.CustomPageLabel1=Välj installationstyp
|
||||||
swedish.CustomPageLabel2=Hur ska installeringen ske
|
swedish.CustomPageLabel2=Hur ska installeringen ske
|
||||||
swedish.CustomPageLabel3=Välj installationsläget
|
swedish.CustomPageLabel3=Välj installationsläget
|
||||||
swedish.CustomPageInstallMode=Installera {#Minappsnamn} på denna dator
|
swedish.CustomPageInstallMode=Installera {#MyAppName} på denna dator
|
||||||
swedish.CustomPageUpgradeMode=Uppdatera existerande {#Minappsnamn} installation
|
swedish.CustomPageUpgradeMode=Uppdatera existerande {#MyAppName} installation
|
||||||
swedish.CustomPagePortableMode=Extrahera alla filer till en katalog för portabel användning
|
swedish.CustomPagePortableMode=Extrahera alla filer till en katalog för portabel användning
|
||||||
swedish.RequiresWin7OrLater=Sandboxie-Plus kräver Windows 7 eller senare.
|
swedish.RequiresWin7OrLater=Sandboxie-Plus kräver Windows 7 eller senare.
|
||||||
swedish.ClassicFound=Upptäckt en installation av Sandboxie Classic, den behöver avinstalleras först. Vill du avinstallera den nu?
|
swedish.ClassicFound=Upptäckt en installation av Sandboxie Classic, den behöver avinstalleras först. Vill du avinstallera den nu?
|
||||||
|
|
|
@ -1,5 +1,40 @@
|
||||||
Copyright 2020 - 2022 David Xanatos (xanasoft.com)
|
Copyright 2020 - 2022 David Xanatos (xanasoft.com)
|
||||||
|
|
||||||
This software is provided under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License
|
Sandboxie-Plus can be used under the following restrictions and obligations:
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
1. Whomever obtains a copy of the software is permitted
|
||||||
|
to use it in any noncommercial setting to the full
|
||||||
|
extend the software permits; however certain functionality
|
||||||
|
is only available with a support certificate which
|
||||||
|
can be obtained from xanasoft.com
|
||||||
|
|
||||||
|
2. To use the software commercially a business certificate
|
||||||
|
must be obtained from xanasoft.com; however it is permitted to
|
||||||
|
use the software commercially for a limited period of time
|
||||||
|
on no more than 3 machines for evaluation purposes.
|
||||||
|
|
||||||
|
3. It is permitted to redistribute the original unmodified
|
||||||
|
binaries free of charge.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Further licensing information
|
||||||
|
======================================
|
||||||
|
|
||||||
|
Sandboxie-Plus is made up of the following components, governed under various licenses:
|
||||||
|
* SandMan the primary Sandboxie-Plus UI component, provided under a custom license.
|
||||||
|
* QSbieAPI a stand alone re implementation of sandboxie’s API using IPC mechanisms to. communicate with sandboxie’s core components, license under the LGPL.
|
||||||
|
* Sandboxie core components, licensed under the GPL v3.
|
||||||
|
* MiscHelpers a generic Qt based helper library, license under the LGPL.
|
||||||
|
* The Qt Framework which is license under the LGPL.
|
||||||
|
* UglobalHotkey is an extension for Qt framework, which implements global hotkeys functionality and is in the Public Domain.
|
||||||
|
* QtSingleApp a Qt Solutions Component that provides support for applications that can be only started once per user, BSD licensed.
|
||||||
|
|
|
@ -392,6 +392,8 @@ void COptionsWindow::CloseAccessEdit(QTreeWidgetItem* pItem, bool bSave)
|
||||||
if (!pProgram)
|
if (!pProgram)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (bSave)
|
||||||
|
{
|
||||||
QHBoxLayout* pLayout = (QHBoxLayout*)pProgram->layout();
|
QHBoxLayout* pLayout = (QHBoxLayout*)pProgram->layout();
|
||||||
QToolButton* pNot = (QToolButton*)pLayout->itemAt(0)->widget();
|
QToolButton* pNot = (QToolButton*)pLayout->itemAt(0)->widget();
|
||||||
QComboBox* pCombo = (QComboBox*)pLayout->itemAt(1)->widget();
|
QComboBox* pCombo = (QComboBox*)pLayout->itemAt(1)->widget();
|
||||||
|
@ -406,8 +408,6 @@ void COptionsWindow::CloseAccessEdit(QTreeWidgetItem* pItem, bool bSave)
|
||||||
if (!Program.isEmpty() && Program.left(1) != "<")
|
if (!Program.isEmpty() && Program.left(1) != "<")
|
||||||
m_Programs.insert(Program);
|
m_Programs.insert(Program);
|
||||||
|
|
||||||
if (bSave)
|
|
||||||
{
|
|
||||||
if (pItem->data(0, Qt::UserRole).toInt() == eCOM && !pPath->text().isEmpty())
|
if (pItem->data(0, Qt::UserRole).toInt() == eCOM && !pPath->text().isEmpty())
|
||||||
{
|
{
|
||||||
bool isGUID = pPath->text().length() == 38 && pPath->text().left(1) == "{" && pPath->text().right(1) == "}";
|
bool isGUID = pPath->text().length() == 38 && pPath->text().left(1) == "{" && pPath->text().right(1) == "}";
|
||||||
|
|
|
@ -143,7 +143,7 @@ void COptionsWindow::LoadAdvanced()
|
||||||
|
|
||||||
void COptionsWindow::ShowTriggersTmpl(bool bUpdate)
|
void COptionsWindow::ShowTriggersTmpl(bool bUpdate)
|
||||||
{
|
{
|
||||||
if (ui.chkShowRecoveryTmpl->isChecked())
|
if (ui.chkShowTriggersTmpl->isChecked())
|
||||||
{
|
{
|
||||||
foreach(const QString& Template, m_pBox->GetTemplates())
|
foreach(const QString& Template, m_pBox->GetTemplates())
|
||||||
{
|
{
|
||||||
|
|
|
@ -232,14 +232,14 @@ void COptionsWindow::CloseINetEdit(QTreeWidgetItem* pItem, bool bSave)
|
||||||
if (!pProgram)
|
if (!pProgram)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (bSave)
|
||||||
|
{
|
||||||
//QHBoxLayout* pLayout = (QHBoxLayout*)pProgram->layout();
|
//QHBoxLayout* pLayout = (QHBoxLayout*)pProgram->layout();
|
||||||
//QComboBox* pCombo = (QComboBox*)pLayout->itemAt(0)->widget();
|
//QComboBox* pCombo = (QComboBox*)pLayout->itemAt(0)->widget();
|
||||||
QComboBox* pCombo = (QComboBox*)pProgram;
|
QComboBox* pCombo = (QComboBox*)pProgram;
|
||||||
|
|
||||||
QComboBox* pMode = (QComboBox*)ui.treeINet->itemWidget(pItem, 1);
|
QComboBox* pMode = (QComboBox*)ui.treeINet->itemWidget(pItem, 1);
|
||||||
|
|
||||||
if (bSave)
|
|
||||||
{
|
|
||||||
QString OldProgram = pItem->data(0, Qt::UserRole).toString();
|
QString OldProgram = pItem->data(0, Qt::UserRole).toString();
|
||||||
int OldMode = pItem->data(1, Qt::UserRole).toInt();
|
int OldMode = pItem->data(1, Qt::UserRole).toInt();
|
||||||
if (pItem->checkState(0) == Qt::Unchecked)
|
if (pItem->checkState(0) == Qt::Unchecked)
|
||||||
|
@ -591,6 +591,8 @@ void COptionsWindow::CloseNetFwEdit(QTreeWidgetItem* pItem, bool bSave)
|
||||||
if (!pProgram)
|
if (!pProgram)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (bSave)
|
||||||
|
{
|
||||||
QHBoxLayout* pLayout = (QHBoxLayout*)pProgram->layout();
|
QHBoxLayout* pLayout = (QHBoxLayout*)pProgram->layout();
|
||||||
QToolButton* pNot = (QToolButton*)pLayout->itemAt(0)->widget();
|
QToolButton* pNot = (QToolButton*)pLayout->itemAt(0)->widget();
|
||||||
QComboBox* pCombo = (QComboBox*)pLayout->itemAt(1)->widget();
|
QComboBox* pCombo = (QComboBox*)pLayout->itemAt(1)->widget();
|
||||||
|
@ -608,8 +610,6 @@ void COptionsWindow::CloseNetFwEdit(QTreeWidgetItem* pItem, bool bSave)
|
||||||
if (Index != -1)
|
if (Index != -1)
|
||||||
Program = pCombo->itemData(Index, Qt::UserRole).toString();
|
Program = pCombo->itemData(Index, Qt::UserRole).toString();
|
||||||
|
|
||||||
if (bSave)
|
|
||||||
{
|
|
||||||
pItem->setText(0, (pNot->isChecked() ? "NOT " : "") + pCombo->currentText());
|
pItem->setText(0, (pNot->isChecked() ? "NOT " : "") + pCombo->currentText());
|
||||||
pItem->setData(0, Qt::UserRole, (pNot->isChecked() ? "!" : "") + Program);
|
pItem->setData(0, Qt::UserRole, (pNot->isChecked() ? "!" : "") + Program);
|
||||||
|
|
||||||
|
|
|
@ -144,7 +144,6 @@ COptionsWindow::COptionsWindow(const QSharedPointer<CSbieIni>& pBox, const QStri
|
||||||
ui.tabs->tabBar()->setStyle(new CustomTabStyle(ui.tabs->tabBar()->style()));
|
ui.tabs->tabBar()->setStyle(new CustomTabStyle(ui.tabs->tabBar()->style()));
|
||||||
|
|
||||||
//this->setMinimumHeight(490);
|
//this->setMinimumHeight(490);
|
||||||
ui.tabs->removeTab(8); // misc tab is currently still empty
|
|
||||||
|
|
||||||
ui.tabs->setTabIcon(eGeneral, CSandMan::GetIcon("Options"));
|
ui.tabs->setTabIcon(eGeneral, CSandMan::GetIcon("Options"));
|
||||||
ui.tabs->setTabIcon(eGroups, CSandMan::GetIcon("Group"));
|
ui.tabs->setTabIcon(eGroups, CSandMan::GetIcon("Group"));
|
||||||
|
|
Loading…
Reference in New Issue