This commit is contained in:
DavidXanatos 2021-01-31 15:31:23 +01:00
parent 032365a387
commit 4141e52411
11 changed files with 5923 additions and 5396 deletions

View File

@ -69,7 +69,8 @@ copy %srcPath%\SandMan.exe %instPath%\
ECHO Copying SandMan translations
mkdir %instPath%\translations\
copy /y %~dp0..\SandboxiePlus\SandMan\sandman_*.qm %instPath%\translations\
rem copy /y %~dp0..\SandboxiePlus\SandMan\sandman_*.qm %instPath%\translations\
copy /y %~dp0..\SandboxiePlus\Build_SandMan_%archPath%\release\sandman_*.qm %instPath%\translations\
ECHO Copying Sandboxie
@ -77,6 +78,7 @@ copy /y %sbiePath%\SbieSvc.exe %instPath%\
copy /y %sbiePath%\SbieDll.dll %instPath%\
copy /y %sbiePath%\SbieDrv.sys %instPath%\
copy /y %sbiePath%\SbieDrv.pdb %instPath%\
copy /y %sbiePath%\SbieCtrl.exe %instPath%\
copy /y %sbiePath%\Start.exe %instPath%\

View File

@ -402,8 +402,19 @@ ULONG CUpdater::UpdaterServiceThread(void *lpParameter)
}
if (!pContext->version.IsEmpty() && pContext->version.Compare(_T(MY_VERSION_STRING)) != 0)
if (!pContext->version.IsEmpty()) // && pContext->version.Compare(_T(MY_VERSION_STRING)) != 0)
{
UCHAR myVersion[4] = { MY_VERSION_BINARY, 0 };
ULONG MyVersion = ntohl(*(ULONG*)&myVersion);
ULONG Version = 0;
for (int Position = 0, Bits = 24; Position < pContext->version.GetLength() && Bits >= 0; Bits -= 8) {
CString Num = pContext->version.Tokenize(L".", Position);
Version |= (_wtoi(Num) & 0xFF) << Bits;
}
if (Version > MyVersion)
if (pContext->Manual || IgnoredUpdates.Find(pContext->version) == NULL)
{
bNothing = false;

Binary file not shown.

View File

@ -1682,8 +1682,8 @@ void CSandMan::CheckForUpdates(bool bManual)
//QString Branche = theConf->GetString("Options/ReleaseBranche");
//if (!Branche.isEmpty())
// Query.addQueryItem("branche", Branche);
Query.addQueryItem("version", GetVersion());
//Query.addQueryItem("version", QString::number(VERSION_MJR) + "." + QString::number(VERSION_MIN) + "." + QString::number(VERSION_REV) + "." + QString::number(VERSION_UPD));
//Query.addQueryItem("version", GetVersion());
Query.addQueryItem("version", QString::number(VERSION_MJR) + "." + QString::number(VERSION_MIN) + "." + QString::number(VERSION_REV) + "." + QString::number(VERSION_UPD));
Query.addQueryItem("system", "windows-" + QSysInfo::kernelVersion() + "-" + QSysInfo::currentCpuArchitecture());
Query.addQueryItem("language", QString::number(m_LanguageId));
QString UpdateKey = theAPI->GetGlobalSettings()->GetText("UpdateKey"); // theConf->GetString("Options/UpdateKey");
@ -1735,26 +1735,53 @@ void CSandMan::OnUpdateCheck()
QString MsgHash = QCryptographicHash::hash(Data["userMsg"].toByteArray(), QCryptographicHash::Md5).toHex().left(8);
if (!IgnoredUpdates.contains(MsgHash))
{
QString FullMessage = UserMsg;
QString InfoUrl = Data["infoUrl"].toString();
if (!InfoUrl.isEmpty())
FullMessage += tr("<p>Do you want to go to the <a href=\"%1\">info page</a>?</p>").arg(InfoUrl);
CCheckableMessageBox mb(this);
mb.setWindowTitle("Sandboxie-Plus");
QIcon ico(QLatin1String(":/SandMan.png"));
mb.setIconPixmap(ico.pixmap(64, 64));
//mb.setTextFormat(Qt::RichText);
mb.setText(UserMsg);
mb.setCheckBoxText(tr("Don't show this announcement in the future."));
mb.setStandardButtons(QDialogButtonBox::Close);
if (!InfoUrl.isEmpty()) {
mb.setStandardButtons(QDialogButtonBox::Yes | QDialogButtonBox::No);
mb.setDefaultButton(QDialogButtonBox::Yes);
}
else
mb.setStandardButtons(QDialogButtonBox::Ok);
mb.exec();
if (mb.isChecked())
theConf->SetValue("Options/IgnoredUpdates", IgnoredUpdates << MsgHash);
if (mb.clickedStandardButton() == QDialogButtonBox::Yes)
{
QDesktopServices::openUrl(InfoUrl);
}
bNothing = false;
}
}
QString Version = Data["version"].toString();
if (!Version.isEmpty() && Version != GetVersion())
QString VersionStr = Data["version"].toString();
if (!VersionStr.isEmpty()) //&& VersionStr != GetVersion())
{
if (bManual || !IgnoredUpdates.contains(Version)) // when checked manually always show result
UCHAR myVersion[4] = { VERSION_UPD, VERSION_REV, VERSION_MIN, VERSION_MJR }; // ntohl
ULONG MyVersion = *(ULONG*)&myVersion;
ULONG Version = 0;
QStringList Nums = VersionStr.split(".");
for (int i = 0, Bits = 24; i < Nums.count() && Bits >= 0; i++, Bits -= 8)
Version |= (Nums[i].toInt() & 0xFF) << Bits;
if (Version > MyVersion)
if (bManual || !IgnoredUpdates.contains(VersionStr)) // when checked manually always show result
{
bNothing = false;
//QDateTime Updated = QDateTime::fromTime_t(Data["updated"].toULongLong());
@ -1778,7 +1805,7 @@ void CSandMan::OnUpdateCheck()
mb.setIconPixmap(ico.pixmap(64, 64));
//mb.setTextFormat(Qt::RichText);
mb.setText(FullMessage);
mb.setCheckBoxText(tr("Ignore this update, notify me about the next one."));
mb.setCheckBoxText(tr("Don't show this message anymore."));
mb.setCheckBoxVisible(!bManual);
if (!UpdateUrl.isEmpty() || !DownloadUrl.isEmpty()) {
@ -1791,7 +1818,7 @@ void CSandMan::OnUpdateCheck()
mb.exec();
if (mb.isChecked())
theConf->SetValue("Options/IgnoredUpdates", IgnoredUpdates << Version);
theConf->SetValue("Options/IgnoredUpdates", IgnoredUpdates << VersionStr);
if (mb.clickedStandardButton() == QDialogButtonBox::Yes)
{

View File

@ -5,6 +5,8 @@ PRECOMPILED_HEADER = stdafx.h
QT += core gui network widgets winextras concurrent
CONFIG += lrelease
CONFIG(debug, debug|release):contains(QMAKE_HOST.arch, x86_64):LIBS += -L../Bin/x64/Debug
CONFIG(release, debug|release):contains(QMAKE_HOST.arch, x86_64):LIBS += -L../Bin/x64/Release
CONFIG(debug, debug|release):!contains(QMAKE_HOST.arch, x86_64):LIBS += -L../Bin/Win32/Debug

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -233,6 +233,54 @@
<source>Executables (*.exe *.cmd);;All files (*.*)</source>
<translation>Исполняемые файлы (*.exe *.cmd);;Все файлы (*.*)</translation>
</message>
<message>
<source>Direct</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Direct All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Closed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Closed RT</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Read Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Hidden</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unknown</source>
<translation type="unfinished">Неизвестно</translation>
</message>
<message>
<source>File/Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Registry</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IPC Path</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Wnd Class</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>COM Object</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CPopUpMessage</name>
@ -383,27 +431,47 @@
<message>
<source>Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2?
File name: %3</source>
<translation>Разрешить%4 (%5) копировать большой файл %1 в песочницу:%2?
<translation type="vanished">Разрешить%4 (%5) копировать большой файл %1 в песочницу:%2?
Имя файла:%3</translation>
</message>
<message>
<source>Do you want to allow %1 (%2) access to the internet?
Full path: %3</source>
<translation>Вы хотите разрешить %1 (%2) доступ к Интернету?
<translation type="vanished">Вы хотите разрешить %1 (%2) доступ к Интернету?
Полный путь: %3</translation>
</message>
<message>
<source>%1 is eligible for quick recovery from %2.
The file was written by: %3</source>
<translation>%1 имеет право на быстрое восстановление с %2.
<translation type="vanished">%1 имеет право на быстрое восстановление с %2.
Файл был записан: %3</translation>
</message>
<message>
<source>Migrating a large file %1 into the sandbox %2, %3 left.
Full path: %4</source>
<translation>Перенос большого файла %1 в песочницу %2, осталось %3.
<translation type="vanished">Перенос большого файла %1 в песочницу %2, осталось %3.
Полный путь: %4</translation>
</message>
<message>
<source>Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2?
File name: %3</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Do you want to allow %1 (%2) access to the internet?
Full path: %3</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>%1 is eligible for quick recovery from %2.
The file was written by: %3</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Migrating a large file %1 into the sandbox %2, %3 left.
Full path: %4</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CRecoveryWindow</name>
@ -684,7 +752,7 @@ Full path: %4</source>
</message>
<message>
<source>Ignore this update, notify me about the next one.</source>
<translation>Игнорировать это обновление, сообщить мне о следующем.</translation>
<translation type="vanished">Игнорировать это обновление, сообщить мне о следующем.</translation>
</message>
<message>
<source>Please enter the duration for disabling forced programs.</source>
@ -888,7 +956,7 @@ Full path: %4</source>
</message>
<message>
<source>No sandboxes found; creating: %1</source>
<translation>Песочниц не найдено; создание: %1</translation>
<translation type="vanished">Песочниц не найдено; создание: %1</translation>
</message>
<message>
<source>Cleanup Resource Log</source>
@ -1088,6 +1156,18 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
<source>Sandboxie-Plus - Window Finder</source>
<translation>Sandboxie-Plus - Поиск окон</translation>
</message>
<message>
<source>Default sandbox not found; creating: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&lt;p&gt;Do you want to go to the &lt;a href=&quot;%1&quot;&gt;info page&lt;/a&gt;?&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Don&apos;t show this message anymore.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CSbieModel</name>
@ -1346,6 +1426,10 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
<source>This sandbox is disabled, do you want to enable it?</source>
<translation>Эта песочница отключена, вы хотите ее включить?</translation>
</message>
<message>
<source>This Sandbox is empty.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CSettingsWindow</name>
@ -1991,6 +2075,10 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to
<source>Here you can specify a list of commands that are executed every time the sandbox is initially populated.</source>
<translation>Здесь вы можете указать список команд, которые будут выполняться каждый раз при первоначальном заполнении песочницы.</translation>
</message>
<message>
<source>Allow access to Bluetooth</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PopUpWindow</name>
@ -2010,23 +2098,23 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to
<name>QPlatformTheme</name>
<message>
<source>Cancel</source>
<translation>Отмена</translation>
<translation type="vanished">Отмена</translation>
</message>
<message>
<source>Apply</source>
<translation>Применить</translation>
<translation type="vanished">Применить</translation>
</message>
<message>
<source>OK</source>
<translation>ОК</translation>
<translation type="vanished">ОК</translation>
</message>
<message>
<source>&amp;Yes</source>
<translation>&amp;Да</translation>
<translation type="vanished">&amp;Да</translation>
</message>
<message>
<source>&amp;No</source>
<translation>&amp;Нет</translation>
<translation type="vanished">&amp;Нет</translation>
</message>
</context>
<context>

File diff suppressed because it is too large Load Diff

View File

@ -236,6 +236,54 @@
<source>Executables (*.exe *.cmd);;All files (*.*)</source>
<translation> (*.exe *.cmd);; (*.*)</translation>
</message>
<message>
<source>Direct</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Direct All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Closed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Closed RT</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Read Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Hidden</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unknown</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>File/Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Registry</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IPC Path</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Wnd Class</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>COM Object</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CPopUpMessage</name>
@ -408,28 +456,24 @@ Full path: %4</source>
: %4</translation>
</message>
<message>
<source>Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2?
<source>Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2?
File name: %3</source>
<translation> %4 (%5) %1 : %2
: %3</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Do you want to allow %1 (%2) access to the internet?
<source>Do you want to allow %1 (%2) access to the internet?
Full path: %3</source>
<translation> %1 (%2)
: %3</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>%1 is eligible for quick recovery from %2.
<source>%1 is eligible for quick recovery from %2.
The file was written by: %3</source>
<translation>%1 %2
: %3</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Migrating a large file %1 into the sandbox %2, %3 left.
<source>Migrating a large file %1 into the sandbox %2, %3 left.
Full path: %4</source>
<translation> %1 %2%3
: %4</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -723,7 +767,7 @@ Full path: %4</source>
</message>
<message>
<source>Ignore this update, notify me about the next one.</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<source>Please enter the duration for disabling forced programs.</source>
@ -983,7 +1027,7 @@ Full path: %4</source>
</message>
<message>
<source>No sandboxes found; creating: %1</source>
<translation>: %1</translation>
<translation type="vanished">: %1</translation>
</message>
<message>
<source>Cleanup Resource Log</source>
@ -1123,6 +1167,18 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
<source>Sandboxie-Plus - Window Finder</source>
<translation>Sandboxie-Plus - </translation>
</message>
<message>
<source>Default sandbox not found; creating: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&lt;p&gt;Do you want to go to the &lt;a href=&quot;%1&quot;&gt;info page&lt;/a&gt;?&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Don&apos;t show this message anymore.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CSbieModel</name>
@ -1380,6 +1436,10 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
<source>This sandbox is disabled, do you want to enable it?</source>
<translation></translation>
</message>
<message>
<source>This Sandbox is empty.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CSettingsWindow</name>
@ -2028,6 +2088,10 @@ instead of &quot;*&quot;.</source>
&quot;I&quot; -
&quot;*&quot;.</translation>
</message>
<message>
<source>Allow access to Bluetooth</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PopUpWindow</name>

View File

@ -48,7 +48,8 @@ cd %~dp0\Build_SandMan_%build_arch%
IF %ERRORLEVEL% NEQ 0 goto end
rem cd %~dp0
cd %~dp0
rem dir .\bin
rem dir .\bin\%build_arch%
rem dir .\bin\%build_arch%\Release