Add Session Snapshot Periodic Buckup info into Debug Info dialog
To expose this information, we can know if Periodic Buckup feature is related to user data losing due to power outrages issue. Ref: 1. https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14781 2. https://github.com/notepad-plus-plus/notepad-plus-plus/issues/6133 Close #14833pull/14844/head
parent
fd1f785b89
commit
83f0232d91
|
@ -32,15 +32,15 @@ intptr_t CALLBACK AboutDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM lPar
|
||||||
NppDarkMode::autoSubclassAndThemeChildControls(_hSelf);
|
NppDarkMode::autoSubclassAndThemeChildControls(_hSelf);
|
||||||
|
|
||||||
HWND compileDateHandle = ::GetDlgItem(_hSelf, IDC_BUILD_DATETIME);
|
HWND compileDateHandle = ::GetDlgItem(_hSelf, IDC_BUILD_DATETIME);
|
||||||
generic_string buildTime = TEXT("Build time: ");
|
generic_string buildTime = L"Build time: ";
|
||||||
|
|
||||||
WcharMbcsConvertor& wmc = WcharMbcsConvertor::getInstance();
|
WcharMbcsConvertor& wmc = WcharMbcsConvertor::getInstance();
|
||||||
buildTime += wmc.char2wchar(__DATE__, CP_ACP);
|
buildTime += wmc.char2wchar(__DATE__, CP_ACP);
|
||||||
buildTime += TEXT(" - ");
|
buildTime += L" - ";
|
||||||
buildTime += wmc.char2wchar(__TIME__, CP_ACP);
|
buildTime += wmc.char2wchar(__TIME__, CP_ACP);
|
||||||
|
|
||||||
NppParameters& nppParam = NppParameters::getInstance();
|
NppParameters& nppParam = NppParameters::getInstance();
|
||||||
LPCTSTR bitness = nppParam.archType() == IMAGE_FILE_MACHINE_I386 ? TEXT("(32-bit)") : (nppParam.archType() == IMAGE_FILE_MACHINE_AMD64 ? TEXT("(64-bit)") : TEXT("(ARM 64-bit)"));
|
LPCTSTR bitness = nppParam.archType() == IMAGE_FILE_MACHINE_I386 ? L"(32-bit)" : nppParam.archType() == IMAGE_FILE_MACHINE_AMD64 ? L"(64-bit)" : L"(ARM 64-bit)";
|
||||||
::SetDlgItemText(_hSelf, IDC_VERSION_BIT, bitness);
|
::SetDlgItemText(_hSelf, IDC_VERSION_BIT, bitness);
|
||||||
|
|
||||||
::SendMessage(compileDateHandle, WM_SETTEXT, 0, reinterpret_cast<LPARAM>(buildTime.c_str()));
|
::SendMessage(compileDateHandle, WM_SETTEXT, 0, reinterpret_cast<LPARAM>(buildTime.c_str()));
|
||||||
|
@ -50,16 +50,16 @@ intptr_t CALLBACK AboutDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM lPar
|
||||||
::SendMessage(licenceEditHandle, WM_SETTEXT, 0, reinterpret_cast<LPARAM>(LICENCE_TXT));
|
::SendMessage(licenceEditHandle, WM_SETTEXT, 0, reinterpret_cast<LPARAM>(LICENCE_TXT));
|
||||||
|
|
||||||
//_emailLink.init(_hInst, _hSelf);
|
//_emailLink.init(_hInst, _hSelf);
|
||||||
//_emailLink.create(::GetDlgItem(_hSelf, IDC_AUTHOR_NAME), TEXT("mailto:don.h@free.fr"));
|
//_emailLink.create(::GetDlgItem(_hSelf, IDC_AUTHOR_NAME), L"mailto:don.h@free.fr";
|
||||||
//_emailLink.create(::GetDlgItem(_hSelf, IDC_AUTHOR_NAME), TEXT("https://notepad-plus-plus.org/news/v781-free-uyghur-edition/"));
|
//_emailLink.create(::GetDlgItem(_hSelf, IDC_AUTHOR_NAME), L"https://notepad-plus-plus.org/news/v781-free-uyghur-edition/";
|
||||||
//_emailLink.create(::GetDlgItem(_hSelf, IDC_AUTHOR_NAME), TEXT("https://notepad-plus-plus.org/news/v792-stand-with-hong-kong/"));
|
//_emailLink.create(::GetDlgItem(_hSelf, IDC_AUTHOR_NAME), L"https://notepad-plus-plus.org/news/v792-stand-with-hong-kong/";
|
||||||
//_emailLink.create(::GetDlgItem(_hSelf, IDC_AUTHOR_NAME), TEXT("https://notepad-plus-plus.org/news/v791-pour-samuel-paty/"));
|
//_emailLink.create(::GetDlgItem(_hSelf, IDC_AUTHOR_NAME), L"https://notepad-plus-plus.org/news/v791-pour-samuel-paty/";
|
||||||
//_pageLink.create(::GetDlgItem(_hSelf, IDC_HOME_ADDR), TEXT("https://notepad-plus-plus.org/news/v843-unhappy-users-edition/"));
|
//_pageLink.create(::GetDlgItem(_hSelf, IDC_HOME_ADDR), L"https://notepad-plus-plus.org/news/v843-unhappy-users-edition/";
|
||||||
//_pageLink.create(::GetDlgItem(_hSelf, IDC_HOME_ADDR), TEXT("https://notepad-plus-plus.org/news/v844-happy-users-edition/"));
|
//_pageLink.create(::GetDlgItem(_hSelf, IDC_HOME_ADDR), L"https://notepad-plus-plus.org/news/v844-happy-users-edition/";
|
||||||
//_pageLink.create(::GetDlgItem(_hSelf, IDC_HOME_ADDR), TEXT("https://notepad-plus-plus.org/news/v86-20thyearanniversary"));
|
//_pageLink.create(::GetDlgItem(_hSelf, IDC_HOME_ADDR), L"https://notepad-plus-plus.org/news/v86-20thyearanniversary";
|
||||||
|
|
||||||
_pageLink.init(_hInst, _hSelf);
|
_pageLink.init(_hInst, _hSelf);
|
||||||
_pageLink.create(::GetDlgItem(_hSelf, IDC_HOME_ADDR), TEXT("https://notepad-plus-plus.org/"));
|
_pageLink.create(::GetDlgItem(_hSelf, IDC_HOME_ADDR), L"https://notepad-plus-plus.org/");
|
||||||
|
|
||||||
|
|
||||||
getClientRect(_rc);
|
getClientRect(_rc);
|
||||||
|
@ -149,65 +149,71 @@ intptr_t CALLBACK DebugInfoDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
||||||
case WM_INITDIALOG:
|
case WM_INITDIALOG:
|
||||||
{
|
{
|
||||||
NppParameters& nppParam = NppParameters::getInstance();
|
NppParameters& nppParam = NppParameters::getInstance();
|
||||||
|
NppGUI& nppGui = nppParam.getNppGUI();
|
||||||
|
|
||||||
NppDarkMode::autoSubclassAndThemeChildControls(_hSelf);
|
NppDarkMode::autoSubclassAndThemeChildControls(_hSelf);
|
||||||
|
|
||||||
// Notepad++ version
|
// Notepad++ version
|
||||||
_debugInfoStr = NOTEPAD_PLUS_VERSION;
|
_debugInfoStr = NOTEPAD_PLUS_VERSION;
|
||||||
_debugInfoStr += nppParam.archType() == IMAGE_FILE_MACHINE_I386 ? TEXT(" (32-bit)") : (nppParam.archType() == IMAGE_FILE_MACHINE_AMD64 ? TEXT(" (64-bit)") : TEXT(" (ARM 64-bit)"));
|
_debugInfoStr += nppParam.archType() == IMAGE_FILE_MACHINE_I386 ? L" (32-bit)" : nppParam.archType() == IMAGE_FILE_MACHINE_AMD64 ? L" (64-bit)" : L" (ARM 64-bit)";
|
||||||
_debugInfoStr += TEXT("\r\n");
|
_debugInfoStr += L"\r\n";
|
||||||
|
|
||||||
// Build time
|
// Build time
|
||||||
_debugInfoStr += TEXT("Build time : ");
|
_debugInfoStr += L"Build time : ";
|
||||||
generic_string buildTime;
|
generic_string buildTime;
|
||||||
WcharMbcsConvertor& wmc = WcharMbcsConvertor::getInstance();
|
WcharMbcsConvertor& wmc = WcharMbcsConvertor::getInstance();
|
||||||
buildTime += wmc.char2wchar(__DATE__, CP_ACP);
|
buildTime += wmc.char2wchar(__DATE__, CP_ACP);
|
||||||
buildTime += TEXT(" - ");
|
buildTime += L" - ";
|
||||||
buildTime += wmc.char2wchar(__TIME__, CP_ACP);
|
buildTime += wmc.char2wchar(__TIME__, CP_ACP);
|
||||||
_debugInfoStr += buildTime;
|
_debugInfoStr += buildTime;
|
||||||
_debugInfoStr += TEXT("\r\n");
|
_debugInfoStr += L"\r\n";
|
||||||
|
|
||||||
#if defined(__clang__)
|
#if defined(__clang__)
|
||||||
_debugInfoStr += TEXT("Built with : Clang ");
|
_debugInfoStr += L"Built with : Clang ";
|
||||||
_debugInfoStr += wmc.char2wchar(__clang_version__, CP_ACP);
|
_debugInfoStr += wmc.char2wchar(__clang_version__, CP_ACP);
|
||||||
_debugInfoStr += TEXT("\r\n");
|
_debugInfoStr += L"\r\n";
|
||||||
#elif defined(__GNUC__)
|
#elif defined(__GNUC__)
|
||||||
_debugInfoStr += TEXT("Built with : GCC ");
|
_debugInfoStr += L"Built with : GCC ";
|
||||||
_debugInfoStr += wmc.char2wchar(__VERSION__, CP_ACP);
|
_debugInfoStr += wmc.char2wchar(__VERSION__, CP_ACP);
|
||||||
_debugInfoStr += TEXT("\r\n");
|
_debugInfoStr += L"\r\n";
|
||||||
#elif !defined(_MSC_VER)
|
#elif !defined(_MSC_VER)
|
||||||
_debugInfoStr += TEXT("Built with : (unknown)\r\n");
|
_debugInfoStr += L"Built with : (unknown)\r\n";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Binary path
|
// Binary path
|
||||||
_debugInfoStr += TEXT("Path : ");
|
_debugInfoStr += L"Path : ";
|
||||||
TCHAR nppFullPath[MAX_PATH]{};
|
TCHAR nppFullPath[MAX_PATH]{};
|
||||||
::GetModuleFileName(NULL, nppFullPath, MAX_PATH);
|
::GetModuleFileName(NULL, nppFullPath, MAX_PATH);
|
||||||
_debugInfoStr += nppFullPath;
|
_debugInfoStr += nppFullPath;
|
||||||
_debugInfoStr += TEXT("\r\n");
|
_debugInfoStr += L"\r\n";
|
||||||
|
|
||||||
// Command line as specified for program launch
|
// Command line as specified for program launch
|
||||||
// The _cmdLinePlaceHolder will be replaced later by refreshDebugInfo()
|
// The _cmdLinePlaceHolder will be replaced later by refreshDebugInfo()
|
||||||
_debugInfoStr += TEXT("Command Line : ");
|
_debugInfoStr += L"Command Line : ";
|
||||||
_debugInfoStr += _cmdLinePlaceHolder;
|
_debugInfoStr += _cmdLinePlaceHolder;
|
||||||
_debugInfoStr += TEXT("\r\n");
|
_debugInfoStr += L"\r\n";
|
||||||
|
|
||||||
// Administrator mode
|
// Administrator mode
|
||||||
_debugInfoStr += TEXT("Admin mode : ");
|
_debugInfoStr += L"Admin mode : ";
|
||||||
_debugInfoStr += (_isAdmin ? TEXT("ON") : TEXT("OFF"));
|
_debugInfoStr += _isAdmin ? L"ON" : L"OFF";
|
||||||
_debugInfoStr += TEXT("\r\n");
|
_debugInfoStr += L"\r\n";
|
||||||
|
|
||||||
// local conf
|
// local conf
|
||||||
_debugInfoStr += TEXT("Local Conf mode : ");
|
_debugInfoStr += L"Local Conf mode : ";
|
||||||
bool doLocalConf = (NppParameters::getInstance()).isLocal();
|
bool doLocalConf = (NppParameters::getInstance()).isLocal();
|
||||||
_debugInfoStr += (doLocalConf ? TEXT("ON") : TEXT("OFF"));
|
_debugInfoStr += doLocalConf ? L"ON" : L"OFF";
|
||||||
_debugInfoStr += TEXT("\r\n");
|
_debugInfoStr += L"\r\n";
|
||||||
|
|
||||||
// Cloud config directory
|
// Cloud config directory
|
||||||
_debugInfoStr += TEXT("Cloud Config : ");
|
_debugInfoStr += L"Cloud Config : ";
|
||||||
const generic_string& cloudPath = nppParam.getNppGUI()._cloudPath;
|
const generic_string& cloudPath = nppParam.getNppGUI()._cloudPath;
|
||||||
_debugInfoStr += cloudPath.empty() ? _T("OFF") : cloudPath;
|
_debugInfoStr += cloudPath.empty() ? L"OFF" : cloudPath;
|
||||||
_debugInfoStr += TEXT("\r\n");
|
_debugInfoStr += L"\r\n";
|
||||||
|
|
||||||
|
// Periodic Backup
|
||||||
|
_debugInfoStr += L"Periodic Backup : ";
|
||||||
|
_debugInfoStr += nppGui.isSnapshotMode() ? L"ON" : L"OFF";
|
||||||
|
_debugInfoStr += L"\r\n";
|
||||||
|
|
||||||
// OS information
|
// OS information
|
||||||
HKEY hKey = nullptr;
|
HKEY hKey = nullptr;
|
||||||
|
@ -220,31 +226,31 @@ intptr_t CALLBACK DebugInfoDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
||||||
TCHAR szReleaseId[32] = {'\0'};
|
TCHAR szReleaseId[32] = {'\0'};
|
||||||
DWORD dwUBR = 0;
|
DWORD dwUBR = 0;
|
||||||
constexpr size_t bufSizeUBR = 12;
|
constexpr size_t bufSizeUBR = 12;
|
||||||
TCHAR szUBR[bufSizeUBR] = TEXT("0");
|
TCHAR szUBR[bufSizeUBR] = L"0";
|
||||||
|
|
||||||
// NOTE: RegQueryValueExW is not guaranteed to return null-terminated strings
|
// NOTE: RegQueryValueExW is not guaranteed to return null-terminated strings
|
||||||
if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"), 0, KEY_READ, &hKey) == ERROR_SUCCESS)
|
if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", 0, KEY_READ, &hKey) == ERROR_SUCCESS)
|
||||||
{
|
{
|
||||||
dataSize = sizeof(szProductName);
|
dataSize = sizeof(szProductName);
|
||||||
RegQueryValueExW(hKey, TEXT("ProductName"), NULL, NULL, reinterpret_cast<LPBYTE>(szProductName), &dataSize);
|
RegQueryValueExW(hKey, L"ProductName", NULL, NULL, reinterpret_cast<LPBYTE>(szProductName), &dataSize);
|
||||||
szProductName[sizeof(szProductName) / sizeof(TCHAR) - 1] = '\0';
|
szProductName[sizeof(szProductName) / sizeof(TCHAR) - 1] = '\0';
|
||||||
|
|
||||||
dataSize = sizeof(szReleaseId);
|
dataSize = sizeof(szReleaseId);
|
||||||
if(RegQueryValueExW(hKey, TEXT("DisplayVersion"), NULL, NULL, reinterpret_cast<LPBYTE>(szReleaseId), &dataSize) != ERROR_SUCCESS)
|
if(RegQueryValueExW(hKey, L"DisplayVersion", NULL, NULL, reinterpret_cast<LPBYTE>(szReleaseId), &dataSize) != ERROR_SUCCESS)
|
||||||
{
|
{
|
||||||
dataSize = sizeof(szReleaseId);
|
dataSize = sizeof(szReleaseId);
|
||||||
RegQueryValueExW(hKey, TEXT("ReleaseId"), NULL, NULL, reinterpret_cast<LPBYTE>(szReleaseId), &dataSize);
|
RegQueryValueExW(hKey, L"ReleaseId", NULL, NULL, reinterpret_cast<LPBYTE>(szReleaseId), &dataSize);
|
||||||
}
|
}
|
||||||
szReleaseId[sizeof(szReleaseId) / sizeof(TCHAR) - 1] = '\0';
|
szReleaseId[sizeof(szReleaseId) / sizeof(TCHAR) - 1] = '\0';
|
||||||
|
|
||||||
dataSize = sizeof(szCurrentBuildNumber);
|
dataSize = sizeof(szCurrentBuildNumber);
|
||||||
RegQueryValueExW(hKey, TEXT("CurrentBuildNumber"), NULL, NULL, reinterpret_cast<LPBYTE>(szCurrentBuildNumber), &dataSize);
|
RegQueryValueExW(hKey, L"CurrentBuildNumber", NULL, NULL, reinterpret_cast<LPBYTE>(szCurrentBuildNumber), &dataSize);
|
||||||
szCurrentBuildNumber[sizeof(szCurrentBuildNumber) / sizeof(TCHAR) - 1] = '\0';
|
szCurrentBuildNumber[sizeof(szCurrentBuildNumber) / sizeof(TCHAR) - 1] = '\0';
|
||||||
|
|
||||||
dataSize = sizeof(DWORD);
|
dataSize = sizeof(DWORD);
|
||||||
if (RegQueryValueExW(hKey, TEXT("UBR"), NULL, NULL, reinterpret_cast<LPBYTE>(&dwUBR), &dataSize) == ERROR_SUCCESS)
|
if (RegQueryValueExW(hKey, L"UBR", NULL, NULL, reinterpret_cast<LPBYTE>(&dwUBR), &dataSize) == ERROR_SUCCESS)
|
||||||
{
|
{
|
||||||
swprintf(szUBR, bufSizeUBR, TEXT("%u"), dwUBR);
|
swprintf(szUBR, bufSizeUBR, L"%u", dwUBR);
|
||||||
}
|
}
|
||||||
|
|
||||||
RegCloseKey(hKey);
|
RegCloseKey(hKey);
|
||||||
|
@ -253,18 +259,18 @@ intptr_t CALLBACK DebugInfoDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
||||||
// Get alternative OS information
|
// Get alternative OS information
|
||||||
if (szProductName[0] == '\0')
|
if (szProductName[0] == '\0')
|
||||||
{
|
{
|
||||||
swprintf(szProductName, bufSize, TEXT("%s"), (NppParameters::getInstance()).getWinVersionStr().c_str());
|
swprintf(szProductName, bufSize, L"%s", (NppParameters::getInstance()).getWinVersionStr().c_str());
|
||||||
}
|
}
|
||||||
else if (NppDarkMode::isWindows11())
|
else if (NppDarkMode::isWindows11())
|
||||||
{
|
{
|
||||||
generic_string tmpProductName = szProductName;
|
generic_string tmpProductName = szProductName;
|
||||||
constexpr size_t strLen = 10U;
|
constexpr size_t strLen = 10U;
|
||||||
const TCHAR strWin10[strLen + 1U] = TEXT("Windows 10");
|
const TCHAR strWin10[strLen + 1U] = L"Windows 10";
|
||||||
const size_t pos = tmpProductName.find(strWin10);
|
const size_t pos = tmpProductName.find(strWin10);
|
||||||
if (pos < (bufSize - strLen - 1U))
|
if (pos < (bufSize - strLen - 1U))
|
||||||
{
|
{
|
||||||
tmpProductName.replace(pos, strLen, TEXT("Windows 11"));
|
tmpProductName.replace(pos, strLen, L"Windows 11");
|
||||||
swprintf(szProductName, bufSize, TEXT("%s"), tmpProductName.c_str());
|
swprintf(szProductName, bufSize, L"%s", tmpProductName.c_str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -273,40 +279,40 @@ intptr_t CALLBACK DebugInfoDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
||||||
DWORD dwVersion = GetVersion();
|
DWORD dwVersion = GetVersion();
|
||||||
if (dwVersion < 0x80000000)
|
if (dwVersion < 0x80000000)
|
||||||
{
|
{
|
||||||
swprintf(szCurrentBuildNumber, bufSizeBuildNumber, TEXT("%u"), HIWORD(dwVersion));
|
swprintf(szCurrentBuildNumber, bufSizeBuildNumber, L"%u", HIWORD(dwVersion));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_debugInfoStr += TEXT("OS Name : ");
|
_debugInfoStr += L"OS Name : ";
|
||||||
_debugInfoStr += szProductName;
|
_debugInfoStr += szProductName;
|
||||||
_debugInfoStr += TEXT(" (");
|
_debugInfoStr += L" (";
|
||||||
_debugInfoStr += (NppParameters::getInstance()).getWinVerBitStr();
|
_debugInfoStr += (NppParameters::getInstance()).getWinVerBitStr();
|
||||||
_debugInfoStr += TEXT(")");
|
_debugInfoStr += L"";
|
||||||
_debugInfoStr += TEXT("\r\n");
|
_debugInfoStr += L"\r\n";
|
||||||
|
|
||||||
if (szReleaseId[0] != '\0')
|
if (szReleaseId[0] != '\0')
|
||||||
{
|
{
|
||||||
_debugInfoStr += TEXT("OS Version : ");
|
_debugInfoStr += L"OS Version : ";
|
||||||
_debugInfoStr += szReleaseId;
|
_debugInfoStr += szReleaseId;
|
||||||
_debugInfoStr += TEXT("\r\n");
|
_debugInfoStr += L"\r\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (szCurrentBuildNumber[0] != '\0')
|
if (szCurrentBuildNumber[0] != '\0')
|
||||||
{
|
{
|
||||||
_debugInfoStr += TEXT("OS Build : ");
|
_debugInfoStr += L"OS Build : ";
|
||||||
_debugInfoStr += szCurrentBuildNumber;
|
_debugInfoStr += szCurrentBuildNumber;
|
||||||
_debugInfoStr += TEXT(".");
|
_debugInfoStr += L".";
|
||||||
_debugInfoStr += szUBR;
|
_debugInfoStr += szUBR;
|
||||||
_debugInfoStr += TEXT("\r\n");
|
_debugInfoStr += L"\r\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
constexpr size_t bufSizeACP = 32;
|
constexpr size_t bufSizeACP = 32;
|
||||||
TCHAR szACP[bufSizeACP] = { '\0' };
|
TCHAR szACP[bufSizeACP] = { '\0' };
|
||||||
swprintf(szACP, bufSizeACP, TEXT("%u"), ::GetACP());
|
swprintf(szACP, bufSizeACP, L"%u", ::GetACP());
|
||||||
_debugInfoStr += TEXT("Current ANSI codepage : ");
|
_debugInfoStr += L"Current ANSI codepage : ";
|
||||||
_debugInfoStr += szACP;
|
_debugInfoStr += szACP;
|
||||||
_debugInfoStr += TEXT("\r\n");
|
_debugInfoStr += L"\r\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Detect WINE
|
// Detect WINE
|
||||||
|
@ -321,17 +327,17 @@ intptr_t CALLBACK DebugInfoDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
||||||
{
|
{
|
||||||
constexpr size_t bufSizeWineVer = 32;
|
constexpr size_t bufSizeWineVer = 32;
|
||||||
TCHAR szWINEVersion[bufSizeWineVer] = { '\0' };
|
TCHAR szWINEVersion[bufSizeWineVer] = { '\0' };
|
||||||
swprintf(szWINEVersion, bufSizeWineVer, TEXT("%hs"), pWGV());
|
swprintf(szWINEVersion, bufSizeWineVer, L"%hs", pWGV());
|
||||||
|
|
||||||
_debugInfoStr += TEXT("WINE : ");
|
_debugInfoStr += L"WINE : ";
|
||||||
_debugInfoStr += szWINEVersion;
|
_debugInfoStr += szWINEVersion;
|
||||||
_debugInfoStr += TEXT("\r\n");
|
_debugInfoStr += L"\r\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Plugins
|
// Plugins
|
||||||
_debugInfoStr += TEXT("Plugins : ");
|
_debugInfoStr += L"Plugins : ";
|
||||||
_debugInfoStr += _loadedPlugins.length() == 0 ? TEXT("none") : _loadedPlugins;
|
_debugInfoStr += _loadedPlugins.length() == 0 ? L"none" : _loadedPlugins;
|
||||||
_debugInfoStr += TEXT("\r\n");
|
_debugInfoStr += L"\r\n";
|
||||||
|
|
||||||
getClientRect(_rc);
|
getClientRect(_rc);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -441,7 +447,7 @@ void DoSaveOrNotBox::doDialog(bool isRTL)
|
||||||
void DoSaveOrNotBox::changeLang()
|
void DoSaveOrNotBox::changeLang()
|
||||||
{
|
{
|
||||||
generic_string msg;
|
generic_string msg;
|
||||||
generic_string defaultMessage = TEXT("Save file \"$STR_REPLACE$\" ?");
|
generic_string defaultMessage = L"Save file \"$STR_REPLACE$\" ?";
|
||||||
NativeLangSpeaker* nativeLangSpeaker = NppParameters::getInstance().getNativeLangSpeaker();
|
NativeLangSpeaker* nativeLangSpeaker = NppParameters::getInstance().getNativeLangSpeaker();
|
||||||
|
|
||||||
if (nativeLangSpeaker->changeDlgLang(_hSelf, "DoSaveOrNot"))
|
if (nativeLangSpeaker->changeDlgLang(_hSelf, "DoSaveOrNot"))
|
||||||
|
@ -455,7 +461,7 @@ void DoSaveOrNotBox::changeLang()
|
||||||
if (msg.empty())
|
if (msg.empty())
|
||||||
msg = defaultMessage;
|
msg = defaultMessage;
|
||||||
|
|
||||||
msg = stringReplace(msg, TEXT("$STR_REPLACE$"), _fn);
|
msg = stringReplace(msg, L"$STR_REPLACE$", _fn);
|
||||||
::SetDlgItemText(_hSelf, IDC_DOSAVEORNOTTEXT, msg.c_str());
|
::SetDlgItemText(_hSelf, IDC_DOSAVEORNOTTEXT, msg.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -554,7 +560,7 @@ void DoSaveAllBox::doDialog(bool isRTL)
|
||||||
void DoSaveAllBox::changeLang()
|
void DoSaveAllBox::changeLang()
|
||||||
{
|
{
|
||||||
generic_string msg;
|
generic_string msg;
|
||||||
generic_string defaultMessage = TEXT("Are you sure you want to save all modified documents?\r\rChoose \"Always Yes\" if you don't want to see this dialog again.\rYou can re-activate this dialog in Preferences later.");
|
generic_string defaultMessage = L"Are you sure you want to save all modified documents?\r\rChoose \"Always Yes\" if you don't want to see this dialog again.\rYou can re-activate this dialog in Preferences later.";
|
||||||
NativeLangSpeaker* nativeLangSpeaker = NppParameters::getInstance().getNativeLangSpeaker();
|
NativeLangSpeaker* nativeLangSpeaker = NppParameters::getInstance().getNativeLangSpeaker();
|
||||||
|
|
||||||
if (nativeLangSpeaker->changeDlgLang(_hSelf, "DoSaveAll"))
|
if (nativeLangSpeaker->changeDlgLang(_hSelf, "DoSaveAll"))
|
||||||
|
|
Loading…
Reference in New Issue