Remove ambiguous symbols (part 9)
Relace TCHAR, generic_string & TEXT("") par wchar_t, wstring & L"" respectively.
Follow up: 94af271
Close #15386
pull/15388/head
parent
dc5cea8947
commit
a301ffc774
|
@ -20,6 +20,7 @@
|
||||||
#include "FileInterface.h"
|
#include "FileInterface.h"
|
||||||
#include "Parameters.h"
|
#include "Parameters.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
Win32_IO_File::Win32_IO_File(const wchar_t *fname)
|
Win32_IO_File::Win32_IO_File(const wchar_t *fname)
|
||||||
{
|
{
|
||||||
|
@ -68,9 +69,9 @@ Win32_IO_File::Win32_IO_File(const wchar_t *fname)
|
||||||
NppParameters& nppParam = NppParameters::getInstance();
|
NppParameters& nppParam = NppParameters::getInstance();
|
||||||
if (nppParam.isEndSessionStarted() && nppParam.doNppLogNulContentCorruptionIssue())
|
if (nppParam.isEndSessionStarted() && nppParam.doNppLogNulContentCorruptionIssue())
|
||||||
{
|
{
|
||||||
generic_string issueFn = nppLogNulContentCorruptionIssue;
|
wstring issueFn = nppLogNulContentCorruptionIssue;
|
||||||
issueFn += TEXT(".log");
|
issueFn += L".log";
|
||||||
generic_string nppIssueLog = nppParam.getUserPath();
|
wstring nppIssueLog = nppParam.getUserPath();
|
||||||
pathAppend(nppIssueLog, issueFn);
|
pathAppend(nppIssueLog, issueFn);
|
||||||
|
|
||||||
std::string msg = _path;
|
std::string msg = _path;
|
||||||
|
@ -157,9 +158,9 @@ Please try using another storage and also check if your saved data is not corrup
|
||||||
|
|
||||||
if (nppParam.isEndSessionStarted() && nppParam.doNppLogNulContentCorruptionIssue())
|
if (nppParam.isEndSessionStarted() && nppParam.doNppLogNulContentCorruptionIssue())
|
||||||
{
|
{
|
||||||
generic_string issueFn = nppLogNulContentCorruptionIssue;
|
wstring issueFn = nppLogNulContentCorruptionIssue;
|
||||||
issueFn += TEXT(".log");
|
issueFn += L".log";
|
||||||
generic_string nppIssueLog = nppParam.getUserPath();
|
wstring nppIssueLog = nppParam.getUserPath();
|
||||||
pathAppend(nppIssueLog, issueFn);
|
pathAppend(nppIssueLog, issueFn);
|
||||||
|
|
||||||
std::string msg;
|
std::string msg;
|
||||||
|
@ -219,9 +220,9 @@ bool Win32_IO_File::write(const void *wbuf, size_t buf_size)
|
||||||
{
|
{
|
||||||
if (nppParam.isEndSessionStarted() && nppParam.doNppLogNulContentCorruptionIssue())
|
if (nppParam.isEndSessionStarted() && nppParam.doNppLogNulContentCorruptionIssue())
|
||||||
{
|
{
|
||||||
generic_string issueFn = nppLogNulContentCorruptionIssue;
|
wstring issueFn = nppLogNulContentCorruptionIssue;
|
||||||
issueFn += TEXT(".log");
|
issueFn += L".log";
|
||||||
generic_string nppIssueLog = nppParam.getUserPath();
|
wstring nppIssueLog = nppParam.getUserPath();
|
||||||
pathAppend(nppIssueLog, issueFn);
|
pathAppend(nppIssueLog, issueFn);
|
||||||
|
|
||||||
std::string msg = _path;
|
std::string msg = _path;
|
||||||
|
@ -238,9 +239,9 @@ bool Win32_IO_File::write(const void *wbuf, size_t buf_size)
|
||||||
{
|
{
|
||||||
if (nppParam.isEndSessionStarted() && nppParam.doNppLogNulContentCorruptionIssue())
|
if (nppParam.isEndSessionStarted() && nppParam.doNppLogNulContentCorruptionIssue())
|
||||||
{
|
{
|
||||||
generic_string issueFn = nppLogNulContentCorruptionIssue;
|
wstring issueFn = nppLogNulContentCorruptionIssue;
|
||||||
issueFn += TEXT(".log");
|
issueFn += L".log";
|
||||||
generic_string nppIssueLog = nppParam.getUserPath();
|
wstring nppIssueLog = nppParam.getUserPath();
|
||||||
pathAppend(nppIssueLog, issueFn);
|
pathAppend(nppIssueLog, issueFn);
|
||||||
|
|
||||||
std::string msg = _path;
|
std::string msg = _path;
|
||||||
|
|
|
@ -141,11 +141,11 @@ void CSHA1::Update(const UINT_8* pbData, UINT_32 uLen)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef SHA1_UTILITY_FUNCTIONS
|
#ifdef SHA1_UTILITY_FUNCTIONS
|
||||||
bool CSHA1::HashFile(const TCHAR* tszFileName)
|
bool CSHA1::HashFile(const wchar_t* tszFileName)
|
||||||
{
|
{
|
||||||
if(tszFileName == NULL) return false;
|
if(tszFileName == NULL) return false;
|
||||||
|
|
||||||
FILE* fpIn = _tfopen(tszFileName, _T("rb"));
|
FILE* fpIn = _tfopen(tszFileName, L"rb");
|
||||||
if(fpIn == NULL) return false;
|
if(fpIn == NULL) return false;
|
||||||
|
|
||||||
UINT_8* pbData = new UINT_8[SHA1_MAX_FILE_BUFFER];
|
UINT_8* pbData = new UINT_8[SHA1_MAX_FILE_BUFFER];
|
||||||
|
@ -203,18 +203,18 @@ void CSHA1::Final()
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef SHA1_UTILITY_FUNCTIONS
|
#ifdef SHA1_UTILITY_FUNCTIONS
|
||||||
bool CSHA1::ReportHash(TCHAR* tszReport, REPORT_TYPE rtReportType) const
|
bool CSHA1::ReportHash(wchar_t* tszReport, REPORT_TYPE rtReportType) const
|
||||||
{
|
{
|
||||||
if(tszReport == NULL) return false;
|
if(tszReport == NULL) return false;
|
||||||
|
|
||||||
TCHAR tszTemp[16]{};
|
wchar_t tszTemp[16]{};
|
||||||
|
|
||||||
if((rtReportType == REPORT_HEX) || (rtReportType == REPORT_HEX_SHORT))
|
if((rtReportType == REPORT_HEX) || (rtReportType == REPORT_HEX_SHORT))
|
||||||
{
|
{
|
||||||
_sntprintf(tszTemp, 15, _T("%02X"), m_digest[0]);
|
_sntprintf(tszTemp, 15, L"%02X", m_digest[0]);
|
||||||
_tcscpy(tszReport, tszTemp);
|
_tcscpy(tszReport, tszTemp);
|
||||||
|
|
||||||
const TCHAR* lpFmt = ((rtReportType == REPORT_HEX) ? _T(" %02X") : _T("%02X"));
|
const wchar_t* lpFmt = ((rtReportType == REPORT_HEX) ? L" %02X" : L"%02X");
|
||||||
for(size_t i = 1; i < 20; ++i)
|
for(size_t i = 1; i < 20; ++i)
|
||||||
{
|
{
|
||||||
_sntprintf(tszTemp, 15, lpFmt, m_digest[i]);
|
_sntprintf(tszTemp, 15, lpFmt, m_digest[i]);
|
||||||
|
@ -223,12 +223,12 @@ bool CSHA1::ReportHash(TCHAR* tszReport, REPORT_TYPE rtReportType) const
|
||||||
}
|
}
|
||||||
else if(rtReportType == REPORT_DIGIT)
|
else if(rtReportType == REPORT_DIGIT)
|
||||||
{
|
{
|
||||||
_sntprintf(tszTemp, 15, _T("%u"), m_digest[0]);
|
_sntprintf(tszTemp, 15, L"%u", m_digest[0]);
|
||||||
_tcscpy(tszReport, tszTemp);
|
_tcscpy(tszReport, tszTemp);
|
||||||
|
|
||||||
for(size_t i = 1; i < 20; ++i)
|
for(size_t i = 1; i < 20; ++i)
|
||||||
{
|
{
|
||||||
_sntprintf(tszTemp, 15, _T(" %u"), m_digest[i]);
|
_sntprintf(tszTemp, 15, L" %u", m_digest[i]);
|
||||||
_tcscat(tszReport, tszTemp);
|
_tcscat(tszReport, tszTemp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -239,9 +239,9 @@ bool CSHA1::ReportHash(TCHAR* tszReport, REPORT_TYPE rtReportType) const
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef SHA1_STL_FUNCTIONS
|
#ifdef SHA1_STL_FUNCTIONS
|
||||||
bool CSHA1::ReportHashStl(std::basic_string<TCHAR>& strOut, REPORT_TYPE rtReportType) const
|
bool CSHA1::ReportHashStl(std::basic_string<wchar_t>& strOut, REPORT_TYPE rtReportType) const
|
||||||
{
|
{
|
||||||
TCHAR tszOut[84]{};
|
wchar_t tszOut[84]{};
|
||||||
const bool bResult = ReportHash(tszOut, rtReportType);
|
const bool bResult = ReportHash(tszOut, rtReportType);
|
||||||
if(bResult) strOut = tszOut;
|
if(bResult) strOut = tszOut;
|
||||||
return bResult;
|
return bResult;
|
||||||
|
|
|
@ -153,20 +153,6 @@
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
#include <tchar.h>
|
#include <tchar.h>
|
||||||
#else
|
#else
|
||||||
#ifndef TCHAR
|
|
||||||
#define TCHAR char
|
|
||||||
#endif
|
|
||||||
#ifndef _T
|
|
||||||
#define _T(__x) (__x)
|
|
||||||
#define _tmain main
|
|
||||||
#define _tprintf printf
|
|
||||||
#define _getts gets
|
|
||||||
#define _tcslen strlen
|
|
||||||
#define _tfopen fopen
|
|
||||||
#define _tcscpy strcpy
|
|
||||||
#define _tcscat strcat
|
|
||||||
#define _sntprintf snprintf
|
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -245,18 +231,18 @@ public:
|
||||||
|
|
||||||
#ifdef SHA1_UTILITY_FUNCTIONS
|
#ifdef SHA1_UTILITY_FUNCTIONS
|
||||||
// Hash in file contents
|
// Hash in file contents
|
||||||
bool HashFile(const TCHAR* tszFileName);
|
bool HashFile(const wchar_t* tszFileName);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Finalize hash; call it before using ReportHash(Stl)
|
// Finalize hash; call it before using ReportHash(Stl)
|
||||||
void Final();
|
void Final();
|
||||||
|
|
||||||
#ifdef SHA1_UTILITY_FUNCTIONS
|
#ifdef SHA1_UTILITY_FUNCTIONS
|
||||||
bool ReportHash(TCHAR* tszReport, REPORT_TYPE rtReportType = REPORT_HEX) const;
|
bool ReportHash(wchar_t* tszReport, REPORT_TYPE rtReportType = REPORT_HEX) const;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef SHA1_STL_FUNCTIONS
|
#ifdef SHA1_STL_FUNCTIONS
|
||||||
bool ReportHashStl(std::basic_string<TCHAR>& strOut, REPORT_TYPE rtReportType =
|
bool ReportHashStl(std::basic_string<wchar_t>& strOut, REPORT_TYPE rtReportType =
|
||||||
REPORT_HEX) const;
|
REPORT_HEX) const;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -463,7 +463,7 @@ void FindReplaceDlg::fillComboHistory(int id, const vector<wstring> & strings)
|
||||||
//empty string is not added to CB items, so we need to set it manually
|
//empty string is not added to CB items, so we need to set it manually
|
||||||
if (!strings.empty() && strings.begin()->empty())
|
if (!strings.empty() && strings.begin()->empty())
|
||||||
{
|
{
|
||||||
SetWindowText(hCombo, _T(""));
|
SetWindowText(hCombo, L"");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,9 +17,10 @@
|
||||||
|
|
||||||
#include "Printer.h"
|
#include "Printer.h"
|
||||||
#include "RunDlg.h"
|
#include "RunDlg.h"
|
||||||
//#include "Parameters.h"
|
|
||||||
|
|
||||||
void replaceStr(generic_string & str, generic_string str2BeReplaced, generic_string replacement)
|
using namespace std;
|
||||||
|
|
||||||
|
void replaceStr(wstring & str, wstring str2BeReplaced, wstring replacement)
|
||||||
{
|
{
|
||||||
size_t pos = str.find(str2BeReplaced);
|
size_t pos = str.find(str2BeReplaced);
|
||||||
|
|
||||||
|
@ -131,7 +132,7 @@ size_t Printer::doPrint(bool justDoIt)
|
||||||
int fontSize = nppGUI._printSettings._headerFontSize?nppGUI._printSettings._headerFontSize:9;
|
int fontSize = nppGUI._printSettings._headerFontSize?nppGUI._printSettings._headerFontSize:9;
|
||||||
int fontWeight = (nppGUI._printSettings._headerFontStyle & FONTSTYLE_BOLD) ? FW_BOLD : FW_NORMAL;
|
int fontWeight = (nppGUI._printSettings._headerFontStyle & FONTSTYLE_BOLD) ? FW_BOLD : FW_NORMAL;
|
||||||
int isFontItalic = (nppGUI._printSettings._headerFontStyle & FONTSTYLE_ITALIC) ? TRUE : FALSE;
|
int isFontItalic = (nppGUI._printSettings._headerFontStyle & FONTSTYLE_ITALIC) ? TRUE : FALSE;
|
||||||
const TCHAR *fontFace = (nppGUI._printSettings._headerFontName != TEXT(""))?nppGUI._printSettings._headerFontName.c_str():TEXT("Arial");
|
const wchar_t *fontFace = (nppGUI._printSettings._headerFontName != L"")?nppGUI._printSettings._headerFontName.c_str():L"Arial";
|
||||||
|
|
||||||
int headerLineHeight = ::MulDiv(fontSize, ptDpi.y, 72);
|
int headerLineHeight = ::MulDiv(fontSize, ptDpi.y, 72);
|
||||||
|
|
||||||
|
@ -151,7 +152,7 @@ size_t Printer::doPrint(bool justDoIt)
|
||||||
fontSize = nppGUI._printSettings._footerFontSize?nppGUI._printSettings._footerFontSize:9;
|
fontSize = nppGUI._printSettings._footerFontSize?nppGUI._printSettings._footerFontSize:9;
|
||||||
fontWeight = (nppGUI._printSettings._footerFontStyle & FONTSTYLE_BOLD) ? FW_BOLD : FW_NORMAL;
|
fontWeight = (nppGUI._printSettings._footerFontStyle & FONTSTYLE_BOLD) ? FW_BOLD : FW_NORMAL;
|
||||||
isFontItalic = (nppGUI._printSettings._footerFontStyle & FONTSTYLE_ITALIC) ? TRUE : FALSE;
|
isFontItalic = (nppGUI._printSettings._footerFontStyle & FONTSTYLE_ITALIC) ? TRUE : FALSE;
|
||||||
fontFace = (nppGUI._printSettings._footerFontName != TEXT(""))?nppGUI._printSettings._footerFontName.c_str():TEXT("Arial");
|
fontFace = (nppGUI._printSettings._footerFontName != L"")?nppGUI._printSettings._footerFontName.c_str():L"Arial";
|
||||||
|
|
||||||
int footerLineHeight = ::MulDiv(fontSize, ptDpi.y, 72);
|
int footerLineHeight = ::MulDiv(fontSize, ptDpi.y, 72);
|
||||||
HFONT fontFooter = ::CreateFont(footerLineHeight,
|
HFONT fontFooter = ::CreateFont(footerLineHeight,
|
||||||
|
@ -181,7 +182,7 @@ size_t Printer::doPrint(bool justDoIt)
|
||||||
|
|
||||||
if (::StartDoc(_pdlg.hDC, &docInfo) < 0)
|
if (::StartDoc(_pdlg.hDC, &docInfo) < 0)
|
||||||
{
|
{
|
||||||
MessageBox(NULL, TEXT("Can not start printer document."), 0, MB_OK);
|
MessageBox(NULL, L"Can not start printer document.", 0, MB_OK);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -227,22 +228,22 @@ size_t Printer::doPrint(bool justDoIt)
|
||||||
frPrint.rc.right -= printMarge;
|
frPrint.rc.right -= printMarge;
|
||||||
|
|
||||||
const int headerSize = 256;
|
const int headerSize = 256;
|
||||||
TCHAR headerL[headerSize] = TEXT("");
|
wchar_t headerL[headerSize] = L"";
|
||||||
TCHAR headerM[headerSize] = TEXT("");
|
wchar_t headerM[headerSize] = L"";
|
||||||
TCHAR headerR[headerSize] = TEXT("");
|
wchar_t headerR[headerSize] = L"";
|
||||||
TCHAR footerL[headerSize] = TEXT("");
|
wchar_t footerL[headerSize] = L"";
|
||||||
TCHAR footerM[headerSize] = TEXT("");
|
wchar_t footerM[headerSize] = L"";
|
||||||
TCHAR footerR[headerSize] = TEXT("");
|
wchar_t footerR[headerSize] = L"";
|
||||||
|
|
||||||
|
|
||||||
const TCHAR shortDateVar[] = TEXT("$(SHORT_DATE)");
|
const wchar_t shortDateVar[] = L"$(SHORT_DATE)";
|
||||||
const TCHAR longDateVar[] = TEXT("$(LONG_DATE)");
|
const wchar_t longDateVar[] = L"$(LONG_DATE)";
|
||||||
const TCHAR timeVar[] = TEXT("$(TIME)");
|
const wchar_t timeVar[] = L"$(TIME)";
|
||||||
|
|
||||||
const int bufferSize = 64;
|
const int bufferSize = 64;
|
||||||
TCHAR shortDate[bufferSize];
|
wchar_t shortDate[bufferSize];
|
||||||
TCHAR longDate[bufferSize];
|
wchar_t longDate[bufferSize];
|
||||||
TCHAR time[bufferSize];
|
wchar_t time[bufferSize];
|
||||||
|
|
||||||
SYSTEMTIME st{};
|
SYSTEMTIME st{};
|
||||||
::GetLocalTime(&st);
|
::GetLocalTime(&st);
|
||||||
|
@ -254,8 +255,8 @@ size_t Printer::doPrint(bool justDoIt)
|
||||||
{
|
{
|
||||||
frPrint.rc.top += headerLineHeight + headerLineHeight / 2;
|
frPrint.rc.top += headerLineHeight + headerLineHeight / 2;
|
||||||
|
|
||||||
generic_string headerLeftPart = nppGUI._printSettings._headerLeft;
|
wstring headerLeftPart = nppGUI._printSettings._headerLeft;
|
||||||
if (headerLeftPart != TEXT(""))
|
if (headerLeftPart != L"")
|
||||||
{
|
{
|
||||||
replaceStr(headerLeftPart, shortDateVar, shortDate);
|
replaceStr(headerLeftPart, shortDateVar, shortDate);
|
||||||
replaceStr(headerLeftPart, longDateVar, longDate);
|
replaceStr(headerLeftPart, longDateVar, longDate);
|
||||||
|
@ -263,8 +264,8 @@ size_t Printer::doPrint(bool justDoIt)
|
||||||
expandNppEnvironmentStrs(headerLeftPart.c_str(), headerL, headerSize, _pdlg.hwndOwner);
|
expandNppEnvironmentStrs(headerLeftPart.c_str(), headerL, headerSize, _pdlg.hwndOwner);
|
||||||
}
|
}
|
||||||
|
|
||||||
generic_string headerMiddlePart = nppGUI._printSettings._headerMiddle;
|
wstring headerMiddlePart = nppGUI._printSettings._headerMiddle;
|
||||||
if (headerMiddlePart != TEXT(""))
|
if (headerMiddlePart != L"")
|
||||||
{
|
{
|
||||||
replaceStr(headerMiddlePart, shortDateVar, shortDate);
|
replaceStr(headerMiddlePart, shortDateVar, shortDate);
|
||||||
replaceStr(headerMiddlePart, longDateVar, longDate);
|
replaceStr(headerMiddlePart, longDateVar, longDate);
|
||||||
|
@ -272,8 +273,8 @@ size_t Printer::doPrint(bool justDoIt)
|
||||||
expandNppEnvironmentStrs(headerMiddlePart.c_str(), headerM, headerSize, _pdlg.hwndOwner);
|
expandNppEnvironmentStrs(headerMiddlePart.c_str(), headerM, headerSize, _pdlg.hwndOwner);
|
||||||
}
|
}
|
||||||
|
|
||||||
generic_string headerRightPart = nppGUI._printSettings._headerRight;
|
wstring headerRightPart = nppGUI._printSettings._headerRight;
|
||||||
if (headerRightPart != TEXT(""))
|
if (headerRightPart != L"")
|
||||||
{
|
{
|
||||||
replaceStr(headerRightPart, shortDateVar, shortDate);
|
replaceStr(headerRightPart, shortDateVar, shortDate);
|
||||||
replaceStr(headerRightPart, longDateVar, longDate);
|
replaceStr(headerRightPart, longDateVar, longDate);
|
||||||
|
@ -287,8 +288,8 @@ size_t Printer::doPrint(bool justDoIt)
|
||||||
{
|
{
|
||||||
frPrint.rc.bottom -= footerLineHeight + footerLineHeight / 2;
|
frPrint.rc.bottom -= footerLineHeight + footerLineHeight / 2;
|
||||||
|
|
||||||
generic_string footerLeftPart = nppGUI._printSettings._footerLeft;
|
wstring footerLeftPart = nppGUI._printSettings._footerLeft;
|
||||||
if (footerLeftPart != TEXT(""))
|
if (footerLeftPart != L"")
|
||||||
{
|
{
|
||||||
replaceStr(footerLeftPart, shortDateVar, shortDate);
|
replaceStr(footerLeftPart, shortDateVar, shortDate);
|
||||||
replaceStr(footerLeftPart, longDateVar, longDate);
|
replaceStr(footerLeftPart, longDateVar, longDate);
|
||||||
|
@ -296,8 +297,8 @@ size_t Printer::doPrint(bool justDoIt)
|
||||||
expandNppEnvironmentStrs(footerLeftPart.c_str(), footerL, headerSize, _pdlg.hwndOwner);
|
expandNppEnvironmentStrs(footerLeftPart.c_str(), footerL, headerSize, _pdlg.hwndOwner);
|
||||||
}
|
}
|
||||||
|
|
||||||
generic_string footerMiddlePart = nppGUI._printSettings._footerMiddle;
|
wstring footerMiddlePart = nppGUI._printSettings._footerMiddle;
|
||||||
if (footerMiddlePart != TEXT(""))
|
if (footerMiddlePart != L"")
|
||||||
{
|
{
|
||||||
replaceStr(footerMiddlePart, shortDateVar, shortDate);
|
replaceStr(footerMiddlePart, shortDateVar, shortDate);
|
||||||
replaceStr(footerMiddlePart, longDateVar, longDate);
|
replaceStr(footerMiddlePart, longDateVar, longDate);
|
||||||
|
@ -305,8 +306,8 @@ size_t Printer::doPrint(bool justDoIt)
|
||||||
expandNppEnvironmentStrs(footerMiddlePart.c_str(), footerM, headerSize, _pdlg.hwndOwner);
|
expandNppEnvironmentStrs(footerMiddlePart.c_str(), footerM, headerSize, _pdlg.hwndOwner);
|
||||||
}
|
}
|
||||||
|
|
||||||
generic_string footerRightPart = nppGUI._printSettings._footerRight;
|
wstring footerRightPart = nppGUI._printSettings._footerRight;
|
||||||
if (footerRightPart != TEXT(""))
|
if (footerRightPart != L"")
|
||||||
{
|
{
|
||||||
replaceStr(footerRightPart, shortDateVar, shortDate);
|
replaceStr(footerRightPart, shortDateVar, shortDate);
|
||||||
replaceStr(footerRightPart, longDateVar, longDate);
|
replaceStr(footerRightPart, longDateVar, longDate);
|
||||||
|
@ -321,7 +322,7 @@ size_t Printer::doPrint(bool justDoIt)
|
||||||
_pSEView->showMargin(ScintillaEditView::_SC_MARGE_LINENUMBER, false);
|
_pSEView->showMargin(ScintillaEditView::_SC_MARGE_LINENUMBER, false);
|
||||||
|
|
||||||
int pageNum = 1;
|
int pageNum = 1;
|
||||||
const TCHAR pageVar[] = TEXT("$(CURRENT_PRINTING_PAGE)");
|
const wchar_t pageVar[] = L"$(CURRENT_PRINTING_PAGE)";
|
||||||
|
|
||||||
_pSEView->execute(SCI_SETPRINTCOLOURMODE, nppGUI._printSettings._printOption); // setting mode once is enough
|
_pSEView->execute(SCI_SETPRINTCOLOURMODE, nppGUI._printSettings._printOption); // setting mode once is enough
|
||||||
while (lengthPrinted < lengthDoc)
|
while (lengthPrinted < lengthDoc)
|
||||||
|
@ -332,8 +333,8 @@ size_t Printer::doPrint(bool justDoIt)
|
||||||
if (!justDoIt)
|
if (!justDoIt)
|
||||||
printPage = false;
|
printPage = false;
|
||||||
|
|
||||||
TCHAR pageString[32]{};
|
wchar_t pageString[32]{};
|
||||||
wsprintf(pageString, TEXT("%0d"), pageNum);
|
wsprintf(pageString, L"%0d", pageNum);
|
||||||
|
|
||||||
if (printPage)
|
if (printPage)
|
||||||
{
|
{
|
||||||
|
@ -357,7 +358,7 @@ size_t Printer::doPrint(bool justDoIt)
|
||||||
// Left part
|
// Left part
|
||||||
if (headerL[0] != '\0')
|
if (headerL[0] != '\0')
|
||||||
{
|
{
|
||||||
generic_string headerLeft(headerL);
|
wstring headerLeft(headerL);
|
||||||
size_t pos = headerLeft.find(pageVar);
|
size_t pos = headerLeft.find(pageVar);
|
||||||
|
|
||||||
if (pos != headerLeft.npos)
|
if (pos != headerLeft.npos)
|
||||||
|
@ -370,7 +371,7 @@ size_t Printer::doPrint(bool justDoIt)
|
||||||
// Middle part
|
// Middle part
|
||||||
if (headerM[0] != '\0')
|
if (headerM[0] != '\0')
|
||||||
{
|
{
|
||||||
generic_string headerMiddle(headerM);
|
wstring headerMiddle(headerM);
|
||||||
size_t pos = headerMiddle.find(pageVar);
|
size_t pos = headerMiddle.find(pageVar);
|
||||||
if (pos != headerMiddle.npos)
|
if (pos != headerMiddle.npos)
|
||||||
headerMiddle.replace(pos, lstrlen(pageVar), pageString);
|
headerMiddle.replace(pos, lstrlen(pageVar), pageString);
|
||||||
|
@ -382,7 +383,7 @@ size_t Printer::doPrint(bool justDoIt)
|
||||||
// Right part
|
// Right part
|
||||||
if (headerR[0] != '\0')
|
if (headerR[0] != '\0')
|
||||||
{
|
{
|
||||||
generic_string headerRight(headerR);
|
wstring headerRight(headerR);
|
||||||
size_t pos = headerRight.find(pageVar);
|
size_t pos = headerRight.find(pageVar);
|
||||||
if (pos != headerRight.npos)
|
if (pos != headerRight.npos)
|
||||||
headerRight.replace(pos, lstrlen(pageVar), pageString);
|
headerRight.replace(pos, lstrlen(pageVar), pageString);
|
||||||
|
@ -424,7 +425,7 @@ size_t Printer::doPrint(bool justDoIt)
|
||||||
// Left part
|
// Left part
|
||||||
if (footerL[0] != '\0')
|
if (footerL[0] != '\0')
|
||||||
{
|
{
|
||||||
generic_string footerLeft(footerL);
|
wstring footerLeft(footerL);
|
||||||
size_t pos = footerLeft.find(pageVar);
|
size_t pos = footerLeft.find(pageVar);
|
||||||
if (pos != footerLeft.npos)
|
if (pos != footerLeft.npos)
|
||||||
footerLeft.replace(pos, lstrlen(pageVar), pageString);
|
footerLeft.replace(pos, lstrlen(pageVar), pageString);
|
||||||
|
@ -436,7 +437,7 @@ size_t Printer::doPrint(bool justDoIt)
|
||||||
// Middle part
|
// Middle part
|
||||||
if (footerM[0] != '\0')
|
if (footerM[0] != '\0')
|
||||||
{
|
{
|
||||||
generic_string footerMiddle(footerM);
|
wstring footerMiddle(footerM);
|
||||||
size_t pos = footerMiddle.find(pageVar);
|
size_t pos = footerMiddle.find(pageVar);
|
||||||
if (pos != footerMiddle.npos)
|
if (pos != footerMiddle.npos)
|
||||||
footerMiddle.replace(pos, lstrlen(pageVar), pageString);
|
footerMiddle.replace(pos, lstrlen(pageVar), pageString);
|
||||||
|
@ -448,7 +449,7 @@ size_t Printer::doPrint(bool justDoIt)
|
||||||
// Right part
|
// Right part
|
||||||
if (footerR[0] != '\0')
|
if (footerR[0] != '\0')
|
||||||
{
|
{
|
||||||
generic_string footerRight(footerR);
|
wstring footerRight(footerR);
|
||||||
size_t pos = footerRight.find(pageVar);
|
size_t pos = footerRight.find(pageVar);
|
||||||
if (pos != footerRight.npos)
|
if (pos != footerRight.npos)
|
||||||
footerRight.replace(pos, lstrlen(pageVar), pageString);
|
footerRight.replace(pos, lstrlen(pageVar), pageString);
|
||||||
|
|
|
@ -19,6 +19,8 @@
|
||||||
#include "Parameters.h"
|
#include "Parameters.h"
|
||||||
#include "localization.h"
|
#include "localization.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
#pragma warning(disable : 4996) // for GetVersion()
|
#pragma warning(disable : 4996) // for GetVersion()
|
||||||
#endif
|
#endif
|
||||||
|
@ -32,7 +34,7 @@ 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 = L"Build time: ";
|
wstring buildTime = L"Build time: ";
|
||||||
|
|
||||||
WcharMbcsConvertor& wmc = WcharMbcsConvertor::getInstance();
|
WcharMbcsConvertor& wmc = WcharMbcsConvertor::getInstance();
|
||||||
buildTime += wmc.char2wchar(__DATE__, CP_ACP);
|
buildTime += wmc.char2wchar(__DATE__, CP_ACP);
|
||||||
|
@ -174,7 +176,7 @@ intptr_t CALLBACK DebugInfoDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
||||||
|
|
||||||
// Build time
|
// Build time
|
||||||
_debugInfoStr += L"Build time : ";
|
_debugInfoStr += L"Build time : ";
|
||||||
generic_string buildTime;
|
wstring buildTime;
|
||||||
WcharMbcsConvertor& wmc = WcharMbcsConvertor::getInstance();
|
WcharMbcsConvertor& wmc = WcharMbcsConvertor::getInstance();
|
||||||
buildTime += wmc.char2wchar(__DATE__, CP_ACP);
|
buildTime += wmc.char2wchar(__DATE__, CP_ACP);
|
||||||
buildTime += L" - ";
|
buildTime += L" - ";
|
||||||
|
@ -196,7 +198,7 @@ intptr_t CALLBACK DebugInfoDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
||||||
|
|
||||||
// Binary path
|
// Binary path
|
||||||
_debugInfoStr += L"Path : ";
|
_debugInfoStr += L"Path : ";
|
||||||
TCHAR nppFullPath[MAX_PATH]{};
|
wchar_t nppFullPath[MAX_PATH]{};
|
||||||
::GetModuleFileName(NULL, nppFullPath, MAX_PATH);
|
::GetModuleFileName(NULL, nppFullPath, MAX_PATH);
|
||||||
_debugInfoStr += nppFullPath;
|
_debugInfoStr += nppFullPath;
|
||||||
_debugInfoStr += L"\r\n";
|
_debugInfoStr += L"\r\n";
|
||||||
|
@ -220,7 +222,7 @@ intptr_t CALLBACK DebugInfoDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
||||||
|
|
||||||
// Cloud config directory
|
// Cloud config directory
|
||||||
_debugInfoStr += L"Cloud Config : ";
|
_debugInfoStr += L"Cloud Config : ";
|
||||||
const generic_string& cloudPath = nppParam.getNppGUI()._cloudPath;
|
const wstring& cloudPath = nppParam.getNppGUI()._cloudPath;
|
||||||
_debugInfoStr += cloudPath.empty() ? L"OFF" : cloudPath;
|
_debugInfoStr += cloudPath.empty() ? L"OFF" : cloudPath;
|
||||||
_debugInfoStr += L"\r\n";
|
_debugInfoStr += L"\r\n";
|
||||||
|
|
||||||
|
@ -234,20 +236,20 @@ intptr_t CALLBACK DebugInfoDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
||||||
DWORD dataSize = 0;
|
DWORD dataSize = 0;
|
||||||
|
|
||||||
constexpr size_t bufSize = 96;
|
constexpr size_t bufSize = 96;
|
||||||
TCHAR szProductName[bufSize] = {'\0'};
|
wchar_t szProductName[bufSize] = {'\0'};
|
||||||
constexpr size_t bufSizeBuildNumber = 32;
|
constexpr size_t bufSizeBuildNumber = 32;
|
||||||
TCHAR szCurrentBuildNumber[bufSizeBuildNumber] = {'\0'};
|
wchar_t szCurrentBuildNumber[bufSizeBuildNumber] = {'\0'};
|
||||||
TCHAR szReleaseId[32] = {'\0'};
|
wchar_t szReleaseId[32] = {'\0'};
|
||||||
DWORD dwUBR = 0;
|
DWORD dwUBR = 0;
|
||||||
constexpr size_t bufSizeUBR = 12;
|
constexpr size_t bufSizeUBR = 12;
|
||||||
TCHAR szUBR[bufSizeUBR] = L"0";
|
wchar_t 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, L"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, L"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(wchar_t) - 1] = '\0';
|
||||||
|
|
||||||
dataSize = sizeof(szReleaseId);
|
dataSize = sizeof(szReleaseId);
|
||||||
if(RegQueryValueExW(hKey, L"DisplayVersion", NULL, NULL, reinterpret_cast<LPBYTE>(szReleaseId), &dataSize) != ERROR_SUCCESS)
|
if(RegQueryValueExW(hKey, L"DisplayVersion", NULL, NULL, reinterpret_cast<LPBYTE>(szReleaseId), &dataSize) != ERROR_SUCCESS)
|
||||||
|
@ -255,11 +257,11 @@ intptr_t CALLBACK DebugInfoDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
||||||
dataSize = sizeof(szReleaseId);
|
dataSize = sizeof(szReleaseId);
|
||||||
RegQueryValueExW(hKey, L"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(wchar_t) - 1] = '\0';
|
||||||
|
|
||||||
dataSize = sizeof(szCurrentBuildNumber);
|
dataSize = sizeof(szCurrentBuildNumber);
|
||||||
RegQueryValueExW(hKey, L"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(wchar_t) - 1] = '\0';
|
||||||
|
|
||||||
dataSize = sizeof(DWORD);
|
dataSize = sizeof(DWORD);
|
||||||
if (RegQueryValueExW(hKey, L"UBR", NULL, NULL, reinterpret_cast<LPBYTE>(&dwUBR), &dataSize) == ERROR_SUCCESS)
|
if (RegQueryValueExW(hKey, L"UBR", NULL, NULL, reinterpret_cast<LPBYTE>(&dwUBR), &dataSize) == ERROR_SUCCESS)
|
||||||
|
@ -277,9 +279,9 @@ intptr_t CALLBACK DebugInfoDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
||||||
}
|
}
|
||||||
else if (NppDarkMode::isWindows11())
|
else if (NppDarkMode::isWindows11())
|
||||||
{
|
{
|
||||||
generic_string tmpProductName = szProductName;
|
wstring tmpProductName = szProductName;
|
||||||
constexpr size_t strLen = 10U;
|
constexpr size_t strLen = 10U;
|
||||||
const TCHAR strWin10[strLen + 1U] = L"Windows 10";
|
const wchar_t 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))
|
||||||
{
|
{
|
||||||
|
@ -322,7 +324,7 @@ intptr_t CALLBACK DebugInfoDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
||||||
|
|
||||||
{
|
{
|
||||||
constexpr size_t bufSizeACP = 32;
|
constexpr size_t bufSizeACP = 32;
|
||||||
TCHAR szACP[bufSizeACP] = { '\0' };
|
wchar_t szACP[bufSizeACP] = { '\0' };
|
||||||
swprintf(szACP, bufSizeACP, L"%u", ::GetACP());
|
swprintf(szACP, bufSizeACP, L"%u", ::GetACP());
|
||||||
_debugInfoStr += L"Current ANSI codepage : ";
|
_debugInfoStr += L"Current ANSI codepage : ";
|
||||||
_debugInfoStr += szACP;
|
_debugInfoStr += szACP;
|
||||||
|
@ -340,7 +342,7 @@ intptr_t CALLBACK DebugInfoDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
||||||
if (pWGV != nullptr)
|
if (pWGV != nullptr)
|
||||||
{
|
{
|
||||||
constexpr size_t bufSizeWineVer = 32;
|
constexpr size_t bufSizeWineVer = 32;
|
||||||
TCHAR szWINEVersion[bufSizeWineVer] = { '\0' };
|
wchar_t szWINEVersion[bufSizeWineVer] = { '\0' };
|
||||||
swprintf(szWINEVersion, bufSizeWineVer, L"%hs", pWGV());
|
swprintf(szWINEVersion, bufSizeWineVer, L"%hs", pWGV());
|
||||||
|
|
||||||
_debugInfoStr += L"WINE : ";
|
_debugInfoStr += L"WINE : ";
|
||||||
|
@ -469,14 +471,14 @@ void DoSaveOrNotBox::doDialog(bool isRTL)
|
||||||
|
|
||||||
void DoSaveOrNotBox::changeLang()
|
void DoSaveOrNotBox::changeLang()
|
||||||
{
|
{
|
||||||
generic_string msg;
|
wstring msg;
|
||||||
generic_string defaultMessage = L"Save file \"$STR_REPLACE$\" ?";
|
wstring 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"))
|
||||||
{
|
{
|
||||||
constexpr unsigned char len = 255;
|
constexpr unsigned char len = 255;
|
||||||
TCHAR text[len]{};
|
wchar_t text[len]{};
|
||||||
::GetDlgItemText(_hSelf, IDC_DOSAVEORNOTTEXT, text, len);
|
::GetDlgItemText(_hSelf, IDC_DOSAVEORNOTTEXT, text, len);
|
||||||
msg = text;
|
msg = text;
|
||||||
}
|
}
|
||||||
|
@ -590,14 +592,14 @@ void DoSaveAllBox::doDialog(bool isRTL)
|
||||||
|
|
||||||
void DoSaveAllBox::changeLang()
|
void DoSaveAllBox::changeLang()
|
||||||
{
|
{
|
||||||
generic_string msg;
|
wstring msg;
|
||||||
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.";
|
wstring 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"))
|
||||||
{
|
{
|
||||||
constexpr size_t len = 1024;
|
constexpr size_t len = 1024;
|
||||||
TCHAR text[len]{};
|
wchar_t text[len]{};
|
||||||
::GetDlgItemText(_hSelf, IDC_DOSAVEALLTEXT, text, len);
|
::GetDlgItemText(_hSelf, IDC_DOSAVEALLTEXT, text, len);
|
||||||
msg = text;
|
msg = text;
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,7 +68,7 @@ class DebugInfoDlg : public StaticDialog
|
||||||
public:
|
public:
|
||||||
DebugInfoDlg() = default;
|
DebugInfoDlg() = default;
|
||||||
|
|
||||||
void init(HINSTANCE hInst, HWND parent, bool isAdmin, const generic_string& loadedPlugins) {
|
void init(HINSTANCE hInst, HWND parent, bool isAdmin, const std::wstring& loadedPlugins) {
|
||||||
_isAdmin = isAdmin;
|
_isAdmin = isAdmin;
|
||||||
_loadedPlugins = loadedPlugins;
|
_loadedPlugins = loadedPlugins;
|
||||||
Window::init(hInst, parent);
|
Window::init(hInst, parent);
|
||||||
|
@ -85,11 +85,11 @@ protected:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
typedef const CHAR * (__cdecl * PWINEGETVERSION)();
|
typedef const CHAR * (__cdecl * PWINEGETVERSION)();
|
||||||
generic_string _debugInfoStr;
|
std::wstring _debugInfoStr;
|
||||||
generic_string _debugInfoDisplay;
|
std::wstring _debugInfoDisplay;
|
||||||
const generic_string _cmdLinePlaceHolder { L"$COMMAND_LINE_PLACEHOLDER$" };
|
const std::wstring _cmdLinePlaceHolder { L"$COMMAND_LINE_PLACEHOLDER$" };
|
||||||
bool _isAdmin = false;
|
bool _isAdmin = false;
|
||||||
generic_string _loadedPlugins;
|
std::wstring _loadedPlugins;
|
||||||
};
|
};
|
||||||
|
|
||||||
class DoSaveOrNotBox : public StaticDialog
|
class DoSaveOrNotBox : public StaticDialog
|
||||||
|
@ -97,7 +97,7 @@ class DoSaveOrNotBox : public StaticDialog
|
||||||
public:
|
public:
|
||||||
DoSaveOrNotBox() = default;
|
DoSaveOrNotBox() = default;
|
||||||
|
|
||||||
void init(HINSTANCE hInst, HWND parent, const TCHAR* fn, bool isMulti) {
|
void init(HINSTANCE hInst, HWND parent, const wchar_t* fn, bool isMulti) {
|
||||||
Window::init(hInst, parent);
|
Window::init(hInst, parent);
|
||||||
if (fn)
|
if (fn)
|
||||||
_fn = fn;
|
_fn = fn;
|
||||||
|
@ -120,7 +120,7 @@ protected:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int clickedButtonId = -1;
|
int clickedButtonId = -1;
|
||||||
generic_string _fn;
|
std::wstring _fn;
|
||||||
bool _isMulti = false;
|
bool _isMulti = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -451,7 +451,7 @@ private:
|
||||||
if (extIndex >= 0 && extIndex < static_cast<int>(_filterSpec.size()))
|
if (extIndex >= 0 && extIndex < static_cast<int>(_filterSpec.size()))
|
||||||
{
|
{
|
||||||
const wstring ext = get1stExt(_filterSpec[extIndex].ext);
|
const wstring ext = get1stExt(_filterSpec[extIndex].ext);
|
||||||
if (!ext.ends_with(_T(".*")))
|
if (!ext.ends_with(L".*"))
|
||||||
return replaceExt(name, ext);
|
return replaceExt(name, ext);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -493,7 +493,7 @@ private:
|
||||||
if (nameChanged)
|
if (nameChanged)
|
||||||
{
|
{
|
||||||
// Clear the name first to ensure it's updated properly.
|
// Clear the name first to ensure it's updated properly.
|
||||||
_dialog->SetFileName(_T(""));
|
_dialog->SetFileName(L"");
|
||||||
_dialog->SetFileName(fileName.c_str());
|
_dialog->SetFileName(fileName.c_str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -530,17 +530,17 @@ private:
|
||||||
|
|
||||||
if (IsWindowEnabled(hwnd) && GetClassName(hwnd, buffer, bufferLen) != 0)
|
if (IsWindowEnabled(hwnd) && GetClassName(hwnd, buffer, bufferLen) != 0)
|
||||||
{
|
{
|
||||||
if (lstrcmpi(buffer, _T("ComboBox")) == 0)
|
if (lstrcmpi(buffer, L"ComboBox") == 0)
|
||||||
{
|
{
|
||||||
// The edit box of interest is a child of the combo box and has empty window text.
|
// The edit box of interest is a child of the combo box and has empty window text.
|
||||||
// We use the first combo box, but there might be the others (file type dropdown, address bar, etc).
|
// We use the first combo box, but there might be the others (file type dropdown, address bar, etc).
|
||||||
HWND hwndChild = FindWindowEx(hwnd, nullptr, _T("Edit"), _T(""));
|
HWND hwndChild = FindWindowEx(hwnd, nullptr, L"Edit", L"");
|
||||||
if (hwndChild && !inst->_hwndNameEdit)
|
if (hwndChild && !inst->_hwndNameEdit)
|
||||||
{
|
{
|
||||||
inst->_hwndNameEdit = hwndChild;
|
inst->_hwndNameEdit = hwndChild;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (lstrcmpi(buffer, _T("Button")) == 0)
|
else if (lstrcmpi(buffer, L"Button") == 0)
|
||||||
{
|
{
|
||||||
// Find the OK button.
|
// Find the OK button.
|
||||||
// Preconditions:
|
// Preconditions:
|
||||||
|
@ -701,7 +701,7 @@ public:
|
||||||
if (!hasExt(newFileName))
|
if (!hasExt(newFileName))
|
||||||
{
|
{
|
||||||
const wstring ext = get1stExt(_filterSpec[_fileTypeIndex].ext);
|
const wstring ext = get1stExt(_filterSpec[_fileTypeIndex].ext);
|
||||||
if (!ext.ends_with(_T(".*")))
|
if (!ext.ends_with(L".*"))
|
||||||
newFileName += ext;
|
newFileName += ext;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -932,20 +932,20 @@ void CustomFileDialog::setTitle(const wchar_t* title)
|
||||||
void CustomFileDialog::setExtFilter(const wchar_t *extText, const wchar_t *exts)
|
void CustomFileDialog::setExtFilter(const wchar_t *extText, const wchar_t *exts)
|
||||||
{
|
{
|
||||||
// Add an asterisk before each dot in file patterns
|
// Add an asterisk before each dot in file patterns
|
||||||
wstring newExts{ exts ? exts : _T("") };
|
wstring newExts{ exts ? exts : L"" };
|
||||||
for (size_t pos = 0; pos < newExts.size(); ++pos)
|
for (size_t pos = 0; pos < newExts.size(); ++pos)
|
||||||
{
|
{
|
||||||
pos = newExts.find(_T('.'), pos);
|
pos = newExts.find(L'.', pos);
|
||||||
if (pos == wstring::npos)
|
if (pos == wstring::npos)
|
||||||
break;
|
break;
|
||||||
if (pos == 0 || newExts[pos - 1] != _T('*'))
|
if (pos == 0 || newExts[pos - 1] != L'*')
|
||||||
{
|
{
|
||||||
newExts.insert(pos, 1, _T('*'));
|
newExts.insert(pos, 1, L'*');
|
||||||
++pos;
|
++pos;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (newExts.find(_T("*.*")) == 0)
|
if (newExts.find(L"*.*") == 0)
|
||||||
_impl->_wildcardIndex = static_cast<int>(_impl->_filterSpec.size());
|
_impl->_wildcardIndex = static_cast<int>(_impl->_filterSpec.size());
|
||||||
|
|
||||||
_impl->_filterSpec.push_back({ extText, newExts });
|
_impl->_filterSpec.push_back({ extText, newExts });
|
||||||
|
@ -957,7 +957,7 @@ void CustomFileDialog::setExtFilter(const wchar_t *extText, std::initializer_lis
|
||||||
for (auto&& x : extList)
|
for (auto&& x : extList)
|
||||||
{
|
{
|
||||||
exts += x;
|
exts += x;
|
||||||
exts += _T(';');
|
exts += L';';
|
||||||
}
|
}
|
||||||
exts.pop_back(); // remove the last ';'
|
exts.pop_back(); // remove the last ';'
|
||||||
setExtFilter(extText, exts.c_str());
|
setExtFilter(extText, exts.c_str());
|
||||||
|
@ -975,7 +975,7 @@ void CustomFileDialog::setDefFileName(const wchar_t* fn)
|
||||||
|
|
||||||
void CustomFileDialog::setFolder(const wchar_t* folder)
|
void CustomFileDialog::setFolder(const wchar_t* folder)
|
||||||
{
|
{
|
||||||
_impl->_initialFolder = folder ? folder : _T("");
|
_impl->_initialFolder = folder ? folder : L"";
|
||||||
}
|
}
|
||||||
|
|
||||||
void CustomFileDialog::setCheckbox(const wchar_t* text, bool isActive)
|
void CustomFileDialog::setCheckbox(const wchar_t* text, bool isActive)
|
||||||
|
@ -1024,7 +1024,7 @@ wstring CustomFileDialog::doSaveDlg()
|
||||||
|
|
||||||
_impl->addFlags(FOS_PATHMUSTEXIST | FOS_FILEMUSTEXIST | FOS_FORCEFILESYSTEM);
|
_impl->addFlags(FOS_PATHMUSTEXIST | FOS_FILEMUSTEXIST | FOS_FORCEFILESYSTEM);
|
||||||
bool bOk = _impl->show();
|
bool bOk = _impl->show();
|
||||||
return bOk ? _impl->getResultFilename() : _T("");
|
return bOk ? _impl->getResultFilename() : L"";
|
||||||
}
|
}
|
||||||
|
|
||||||
wstring CustomFileDialog::doOpenSingleFileDlg()
|
wstring CustomFileDialog::doOpenSingleFileDlg()
|
||||||
|
@ -1036,7 +1036,7 @@ wstring CustomFileDialog::doOpenSingleFileDlg()
|
||||||
|
|
||||||
_impl->addFlags(FOS_PATHMUSTEXIST | FOS_FILEMUSTEXIST | FOS_FORCEFILESYSTEM);
|
_impl->addFlags(FOS_PATHMUSTEXIST | FOS_FILEMUSTEXIST | FOS_FORCEFILESYSTEM);
|
||||||
bool bOk = _impl->show();
|
bool bOk = _impl->show();
|
||||||
return bOk ? _impl->getResultFilename() : _T("");
|
return bOk ? _impl->getResultFilename() : L"";
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<wstring> CustomFileDialog::doOpenMultiFilesDlg()
|
std::vector<wstring> CustomFileDialog::doOpenMultiFilesDlg()
|
||||||
|
@ -1060,5 +1060,5 @@ wstring CustomFileDialog::pickFolder()
|
||||||
|
|
||||||
_impl->addFlags(FOS_PATHMUSTEXIST | FOS_FILEMUSTEXIST | FOS_FORCEFILESYSTEM | FOS_PICKFOLDERS);
|
_impl->addFlags(FOS_PATHMUSTEXIST | FOS_FILEMUSTEXIST | FOS_FORCEFILESYSTEM | FOS_PICKFOLDERS);
|
||||||
bool bOk = _impl->show();
|
bool bOk = _impl->show();
|
||||||
return bOk ? _impl->getResultFilename() : _T("");
|
return bOk ? _impl->getResultFilename() : L"";
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,7 +72,7 @@ namespace ReadDirectoryChangesPrivate
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <example><code>
|
/// <example><code>
|
||||||
/// CReadDirectoryChanges changes;
|
/// CReadDirectoryChanges changes;
|
||||||
/// changes.AddDirectory(_T("C:\\"), false, dwNotificationFlags);
|
/// changes.AddDirectory(L"C:\\", false, dwNotificationFlags);
|
||||||
///
|
///
|
||||||
/// const HANDLE handles[] = { hStopEvent, changes.GetWaitHandle() };
|
/// const HANDLE handles[] = { hStopEvent, changes.GetWaitHandle() };
|
||||||
///
|
///
|
||||||
|
|
|
@ -20,6 +20,8 @@
|
||||||
#include "menuCmdID.h"
|
#include "menuCmdID.h"
|
||||||
#include "localization.h"
|
#include "localization.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
void LastRecentFileList::initMenu(HMENU hMenu, int idBase, int posBase, Accelerator *pAccelerator, bool doSubMenu)
|
void LastRecentFileList::initMenu(HMENU hMenu, int idBase, int posBase, Accelerator *pAccelerator, bool doSubMenu)
|
||||||
{
|
{
|
||||||
if (doSubMenu)
|
if (doSubMenu)
|
||||||
|
@ -90,19 +92,19 @@ void LastRecentFileList::updateMenu()
|
||||||
//add separators
|
//add separators
|
||||||
NativeLangSpeaker *pNativeLangSpeaker = nppParam.getNativeLangSpeaker();
|
NativeLangSpeaker *pNativeLangSpeaker = nppParam.getNativeLangSpeaker();
|
||||||
|
|
||||||
generic_string recentFileList = pNativeLangSpeaker->getSubMenuEntryName("file-recentFiles");
|
wstring recentFileList = pNativeLangSpeaker->getSubMenuEntryName("file-recentFiles");
|
||||||
generic_string openRecentClosedFile = pNativeLangSpeaker->getNativeLangMenuString(IDM_FILE_RESTORELASTCLOSEDFILE);
|
wstring openRecentClosedFile = pNativeLangSpeaker->getNativeLangMenuString(IDM_FILE_RESTORELASTCLOSEDFILE);
|
||||||
generic_string openAllFiles = pNativeLangSpeaker->getNativeLangMenuString(IDM_OPEN_ALL_RECENT_FILE);
|
wstring openAllFiles = pNativeLangSpeaker->getNativeLangMenuString(IDM_OPEN_ALL_RECENT_FILE);
|
||||||
generic_string cleanFileList = pNativeLangSpeaker->getNativeLangMenuString(IDM_CLEAN_RECENT_FILE_LIST);
|
wstring cleanFileList = pNativeLangSpeaker->getNativeLangMenuString(IDM_CLEAN_RECENT_FILE_LIST);
|
||||||
|
|
||||||
if (recentFileList == TEXT(""))
|
if (recentFileList == L"")
|
||||||
recentFileList = TEXT("&Recent Files");
|
recentFileList = L"&Recent Files";
|
||||||
if (openRecentClosedFile == TEXT(""))
|
if (openRecentClosedFile == L"")
|
||||||
openRecentClosedFile = TEXT("Restore Recent Closed File");
|
openRecentClosedFile = L"Restore Recent Closed File";
|
||||||
if (openAllFiles == TEXT(""))
|
if (openAllFiles == L"")
|
||||||
openAllFiles = TEXT("Open All Recent Files");
|
openAllFiles = L"Open All Recent Files";
|
||||||
if (cleanFileList == TEXT(""))
|
if (cleanFileList == L"")
|
||||||
cleanFileList = TEXT("Empty Recent Files List");
|
cleanFileList = L"Empty Recent Files List";
|
||||||
|
|
||||||
if (!isSubMenuMode())
|
if (!isSubMenuMode())
|
||||||
::InsertMenu(_hMenu, _posBase + 0, MF_BYPOSITION, static_cast<UINT_PTR>(-1), 0);
|
::InsertMenu(_hMenu, _posBase + 0, MF_BYPOSITION, static_cast<UINT_PTR>(-1), 0);
|
||||||
|
@ -149,13 +151,13 @@ void LastRecentFileList::updateMenu()
|
||||||
//Then readd them, so everything stays in sync
|
//Then readd them, so everything stays in sync
|
||||||
for (int j = 0; j < _size; ++j)
|
for (int j = 0; j < _size; ++j)
|
||||||
{
|
{
|
||||||
generic_string strBuffer(BuildMenuFileName(nppParam.getRecentFileCustomLength(), j, _lrfl.at(j)._name));
|
wstring strBuffer(BuildMenuFileName(nppParam.getRecentFileCustomLength(), j, _lrfl.at(j)._name));
|
||||||
::InsertMenu(_hMenu, _posBase + j, MF_BYPOSITION, _lrfl.at(j)._id, strBuffer.c_str());
|
::InsertMenu(_hMenu, _posBase + j, MF_BYPOSITION, _lrfl.at(j)._id, strBuffer.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void LastRecentFileList::add(const TCHAR *fn)
|
void LastRecentFileList::add(const wchar_t *fn)
|
||||||
{
|
{
|
||||||
if (_userMax == 0 || _locked)
|
if (_userMax == 0 || _locked)
|
||||||
return;
|
return;
|
||||||
|
@ -183,7 +185,7 @@ void LastRecentFileList::add(const TCHAR *fn)
|
||||||
updateMenu();
|
updateMenu();
|
||||||
}
|
}
|
||||||
|
|
||||||
void LastRecentFileList::remove(const TCHAR *fn)
|
void LastRecentFileList::remove(const wchar_t *fn)
|
||||||
{
|
{
|
||||||
int index = find(fn);
|
int index = find(fn);
|
||||||
if (index != -1)
|
if (index != -1)
|
||||||
|
@ -221,7 +223,7 @@ void LastRecentFileList::clear()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
generic_string & LastRecentFileList::getItem(int id)
|
wstring & LastRecentFileList::getItem(int id)
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (; i < _size; ++i)
|
for (; i < _size; ++i)
|
||||||
|
@ -234,7 +236,7 @@ generic_string & LastRecentFileList::getItem(int id)
|
||||||
return _lrfl.at(i)._name; //if not found, return first
|
return _lrfl.at(i)._name; //if not found, return first
|
||||||
}
|
}
|
||||||
|
|
||||||
generic_string & LastRecentFileList::getIndex(int index)
|
wstring & LastRecentFileList::getIndex(int index)
|
||||||
{
|
{
|
||||||
return _lrfl.at(index)._name; //if not found, return first
|
return _lrfl.at(index)._name; //if not found, return first
|
||||||
}
|
}
|
||||||
|
@ -274,7 +276,7 @@ void LastRecentFileList::saveLRFL()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int LastRecentFileList::find(const TCHAR *fn)
|
int LastRecentFileList::find(const wchar_t *fn)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < _size; ++i)
|
for (int i = 0; i < _size; ++i)
|
||||||
{
|
{
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
|
|
||||||
struct RecentItem {
|
struct RecentItem {
|
||||||
int _id = 0;
|
int _id = 0;
|
||||||
generic_string _name;
|
std::wstring _name;
|
||||||
explicit RecentItem(const TCHAR * name) : _name(name) {};
|
explicit RecentItem(const wchar_t * name) : _name(name) {};
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef std::deque<RecentItem> recentList;
|
typedef std::deque<RecentItem> recentList;
|
||||||
|
@ -39,8 +39,8 @@ public:
|
||||||
void switchMode();
|
void switchMode();
|
||||||
void updateMenu();
|
void updateMenu();
|
||||||
|
|
||||||
void add(const TCHAR *fn);
|
void add(const wchar_t *fn);
|
||||||
void remove(const TCHAR *fn);
|
void remove(const wchar_t *fn);
|
||||||
void remove(size_t index);
|
void remove(size_t index);
|
||||||
void clear();
|
void clear();
|
||||||
|
|
||||||
|
@ -57,12 +57,12 @@ public:
|
||||||
return _userMax;
|
return _userMax;
|
||||||
};
|
};
|
||||||
|
|
||||||
generic_string & getItem(int id); //use menu id
|
std::wstring & getItem(int id); //use menu id
|
||||||
generic_string & getIndex(int index); //use menu id
|
std::wstring & getIndex(int index); //use menu id
|
||||||
|
|
||||||
generic_string getFirstItem() const {
|
std::wstring getFirstItem() const {
|
||||||
if (_lrfl.size() == 0)
|
if (_lrfl.size() == 0)
|
||||||
return TEXT("");
|
return L"";
|
||||||
return _lrfl.front()._name;
|
return _lrfl.front()._name;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -98,7 +98,7 @@ private:
|
||||||
bool _hasSeparators = false;
|
bool _hasSeparators = false;
|
||||||
bool _locked = false;
|
bool _locked = false;
|
||||||
|
|
||||||
int find(const TCHAR *fn);
|
int find(const wchar_t *fn);
|
||||||
int popFirstAvailableID();
|
int popFirstAvailableID();
|
||||||
void setAvailable(int id);
|
void setAvailable(int id);
|
||||||
};
|
};
|
||||||
|
|
|
@ -180,15 +180,15 @@ void NativeLangSpeaker::init(TiXmlDocumentA *nativeLangDocRootA, bool loadIfEngl
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
generic_string NativeLangSpeaker::getSubMenuEntryName(const char *nodeName) const
|
wstring NativeLangSpeaker::getSubMenuEntryName(const char *nodeName) const
|
||||||
{
|
{
|
||||||
if (!_nativeLangA) return TEXT("");
|
if (!_nativeLangA) return L"";
|
||||||
TiXmlNodeA *mainMenu = _nativeLangA->FirstChild("Menu");
|
TiXmlNodeA *mainMenu = _nativeLangA->FirstChild("Menu");
|
||||||
if (!mainMenu) return TEXT("");
|
if (!mainMenu) return L"";
|
||||||
mainMenu = mainMenu->FirstChild("Main");
|
mainMenu = mainMenu->FirstChild("Main");
|
||||||
if (!mainMenu) return TEXT("");
|
if (!mainMenu) return L"";
|
||||||
TiXmlNodeA *entriesRoot = mainMenu->FirstChild("SubEntries");
|
TiXmlNodeA *entriesRoot = mainMenu->FirstChild("SubEntries");
|
||||||
if (!entriesRoot) return TEXT("");
|
if (!entriesRoot) return L"";
|
||||||
|
|
||||||
WcharMbcsConvertor& wmc = WcharMbcsConvertor::getInstance();
|
WcharMbcsConvertor& wmc = WcharMbcsConvertor::getInstance();
|
||||||
|
|
||||||
|
@ -208,7 +208,7 @@ generic_string NativeLangSpeaker::getSubMenuEntryName(const char *nodeName) cons
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return TEXT("");
|
return L"";
|
||||||
}
|
}
|
||||||
|
|
||||||
void purifyMenuString(string& s)
|
void purifyMenuString(string& s)
|
||||||
|
@ -251,7 +251,7 @@ void purifyMenuString(string& s)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
generic_string NativeLangSpeaker::getNativeLangMenuString(int itemID, generic_string inCaseOfFailureStr, bool removeMarkAnd) const
|
wstring NativeLangSpeaker::getNativeLangMenuString(int itemID, wstring inCaseOfFailureStr, bool removeMarkAnd) const
|
||||||
{
|
{
|
||||||
if (!_nativeLangA)
|
if (!_nativeLangA)
|
||||||
return inCaseOfFailureStr;
|
return inCaseOfFailureStr;
|
||||||
|
@ -291,19 +291,19 @@ generic_string NativeLangSpeaker::getNativeLangMenuString(int itemID, generic_st
|
||||||
return inCaseOfFailureStr;
|
return inCaseOfFailureStr;
|
||||||
}
|
}
|
||||||
|
|
||||||
generic_string NativeLangSpeaker::getShortcutNameString(int itemID) const
|
wstring NativeLangSpeaker::getShortcutNameString(int itemID) const
|
||||||
{
|
{
|
||||||
if (!_nativeLangA)
|
if (!_nativeLangA)
|
||||||
return TEXT("");
|
return L"";
|
||||||
|
|
||||||
TiXmlNodeA *node = _nativeLangA->FirstChild("Dialog");
|
TiXmlNodeA *node = _nativeLangA->FirstChild("Dialog");
|
||||||
if (!node) return TEXT("");
|
if (!node) return L"";
|
||||||
|
|
||||||
node = node->FirstChild("ShortcutMapper");
|
node = node->FirstChild("ShortcutMapper");
|
||||||
if (!node) return TEXT("");
|
if (!node) return L"";
|
||||||
|
|
||||||
node = node->FirstChild("MainCommandNames");
|
node = node->FirstChild("MainCommandNames");
|
||||||
if (!node) return TEXT("");
|
if (!node) return L"";
|
||||||
|
|
||||||
WcharMbcsConvertor& wmc = WcharMbcsConvertor::getInstance();
|
WcharMbcsConvertor& wmc = WcharMbcsConvertor::getInstance();
|
||||||
|
|
||||||
|
@ -322,10 +322,10 @@ generic_string NativeLangSpeaker::getShortcutNameString(int itemID) const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return TEXT("");
|
return L"";
|
||||||
}
|
}
|
||||||
|
|
||||||
generic_string NativeLangSpeaker::getLocalizedStrFromID(const char *strID, const generic_string& defaultString) const
|
wstring NativeLangSpeaker::getLocalizedStrFromID(const char *strID, const wstring& defaultString) const
|
||||||
{
|
{
|
||||||
if (!_nativeLangA)
|
if (!_nativeLangA)
|
||||||
return defaultString;
|
return defaultString;
|
||||||
|
@ -789,7 +789,7 @@ void NativeLangSpeaker::changeUserDefineLang(UserDefineDialog *userDefineDlg)
|
||||||
{
|
{
|
||||||
if (id == IDC_DOCK_BUTTON && userDefineDlg->isDocked())
|
if (id == IDC_DOCK_BUTTON && userDefineDlg->isDocked())
|
||||||
{
|
{
|
||||||
generic_string undockStr = getAttrNameByIdStr(TEXT("Undock"), userDefineDlgNode, std::to_string(IDC_UNDOCK_BUTTON).c_str());
|
wstring undockStr = getAttrNameByIdStr(L"Undock", userDefineDlgNode, std::to_string(IDC_UNDOCK_BUTTON).c_str());
|
||||||
::SetWindowText(hItem, undockStr.c_str());
|
::SetWindowText(hItem, undockStr.c_str());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -982,146 +982,146 @@ void NativeLangSpeaker::changePrefereceDlgLang(PreferenceDlg & preference)
|
||||||
if (titre[0] != '\0')
|
if (titre[0] != '\0')
|
||||||
{
|
{
|
||||||
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
||||||
preference.renameDialogTitle(TEXT("Global"), nameW);
|
preference.renameDialogTitle(L"Global", nameW);
|
||||||
}
|
}
|
||||||
|
|
||||||
changeDlgLang(preference._editingSubDlg.getHSelf(), "Scintillas", titre, titreMaxSize);
|
changeDlgLang(preference._editingSubDlg.getHSelf(), "Scintillas", titre, titreMaxSize);
|
||||||
if (titre[0] != '\0')
|
if (titre[0] != '\0')
|
||||||
{
|
{
|
||||||
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
||||||
preference.renameDialogTitle(TEXT("Scintillas"), nameW);
|
preference.renameDialogTitle(L"Scintillas", nameW);
|
||||||
}
|
}
|
||||||
|
|
||||||
changeDlgLang(preference._editing2SubDlg.getHSelf(), "Scintillas2", titre, titreMaxSize);
|
changeDlgLang(preference._editing2SubDlg.getHSelf(), "Scintillas2", titre, titreMaxSize);
|
||||||
if (titre[0] != '\0')
|
if (titre[0] != '\0')
|
||||||
{
|
{
|
||||||
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
||||||
preference.renameDialogTitle(TEXT("Scintillas2"), nameW);
|
preference.renameDialogTitle(L"Scintillas2", nameW);
|
||||||
}
|
}
|
||||||
|
|
||||||
changeDlgLang(preference._darkModeSubDlg.getHSelf(), "DarkMode", titre, titreMaxSize);
|
changeDlgLang(preference._darkModeSubDlg.getHSelf(), "DarkMode", titre, titreMaxSize);
|
||||||
if (titre[0] != '\0')
|
if (titre[0] != '\0')
|
||||||
{
|
{
|
||||||
const wchar_t* nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
const wchar_t* nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
||||||
preference.renameDialogTitle(TEXT("DarkMode"), nameW);
|
preference.renameDialogTitle(L"DarkMode", nameW);
|
||||||
}
|
}
|
||||||
|
|
||||||
changeDlgLang(preference._marginsBorderEdgeSubDlg.getHSelf(), "MarginsBorderEdge", titre, titreMaxSize);
|
changeDlgLang(preference._marginsBorderEdgeSubDlg.getHSelf(), "MarginsBorderEdge", titre, titreMaxSize);
|
||||||
if (titre[0] != '\0')
|
if (titre[0] != '\0')
|
||||||
{
|
{
|
||||||
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
||||||
preference.renameDialogTitle(TEXT("MarginsBorderEdge"), nameW);
|
preference.renameDialogTitle(L"MarginsBorderEdge", nameW);
|
||||||
}
|
}
|
||||||
|
|
||||||
changeDlgLang(preference._newDocumentSubDlg.getHSelf(), "NewDoc", titre, titreMaxSize);
|
changeDlgLang(preference._newDocumentSubDlg.getHSelf(), "NewDoc", titre, titreMaxSize);
|
||||||
if (titre[0] != '\0')
|
if (titre[0] != '\0')
|
||||||
{
|
{
|
||||||
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
||||||
preference.renameDialogTitle(TEXT("NewDoc"), nameW);
|
preference.renameDialogTitle(L"NewDoc", nameW);
|
||||||
}
|
}
|
||||||
|
|
||||||
changeDlgLang(preference._defaultDirectorySubDlg.getHSelf(), "DefaultDir", titre, titreMaxSize);
|
changeDlgLang(preference._defaultDirectorySubDlg.getHSelf(), "DefaultDir", titre, titreMaxSize);
|
||||||
if (titre[0] != '\0')
|
if (titre[0] != '\0')
|
||||||
{
|
{
|
||||||
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
||||||
preference.renameDialogTitle(TEXT("DefaultDir"), nameW);
|
preference.renameDialogTitle(L"DefaultDir", nameW);
|
||||||
}
|
}
|
||||||
|
|
||||||
changeDlgLang(preference._recentFilesHistorySubDlg.getHSelf(), "RecentFilesHistory", titre, titreMaxSize);
|
changeDlgLang(preference._recentFilesHistorySubDlg.getHSelf(), "RecentFilesHistory", titre, titreMaxSize);
|
||||||
if (titre[0] != '\0')
|
if (titre[0] != '\0')
|
||||||
{
|
{
|
||||||
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
||||||
preference.renameDialogTitle(TEXT("RecentFilesHistory"), nameW);
|
preference.renameDialogTitle(L"RecentFilesHistory", nameW);
|
||||||
}
|
}
|
||||||
|
|
||||||
changeDlgLang(preference._fileAssocDlg.getHSelf(), "FileAssoc", titre, titreMaxSize);
|
changeDlgLang(preference._fileAssocDlg.getHSelf(), "FileAssoc", titre, titreMaxSize);
|
||||||
if (titre[0] != '\0')
|
if (titre[0] != '\0')
|
||||||
{
|
{
|
||||||
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
||||||
preference.renameDialogTitle(TEXT("FileAssoc"), nameW);
|
preference.renameDialogTitle(L"FileAssoc", nameW);
|
||||||
}
|
}
|
||||||
|
|
||||||
changeDlgLang(preference._languageSubDlg.getHSelf(), "Language", titre, titreMaxSize);
|
changeDlgLang(preference._languageSubDlg.getHSelf(), "Language", titre, titreMaxSize);
|
||||||
if (titre[0] != '\0')
|
if (titre[0] != '\0')
|
||||||
{
|
{
|
||||||
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
||||||
preference.renameDialogTitle(TEXT("Language"), nameW);
|
preference.renameDialogTitle(L"Language", nameW);
|
||||||
}
|
}
|
||||||
|
|
||||||
changeDlgLang(preference._highlightingSubDlg.getHSelf(), "Highlighting", titre, titreMaxSize);
|
changeDlgLang(preference._highlightingSubDlg.getHSelf(), "Highlighting", titre, titreMaxSize);
|
||||||
if (titre[0] != '\0')
|
if (titre[0] != '\0')
|
||||||
{
|
{
|
||||||
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
||||||
preference.renameDialogTitle(TEXT("Highlighting"), nameW);
|
preference.renameDialogTitle(L"Highlighting", nameW);
|
||||||
}
|
}
|
||||||
|
|
||||||
changeDlgLang(preference._printSubDlg.getHSelf(), "Print", titre, titreMaxSize);
|
changeDlgLang(preference._printSubDlg.getHSelf(), "Print", titre, titreMaxSize);
|
||||||
if (titre[0] != '\0')
|
if (titre[0] != '\0')
|
||||||
{
|
{
|
||||||
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
||||||
preference.renameDialogTitle(TEXT("Print"), nameW);
|
preference.renameDialogTitle(L"Print", nameW);
|
||||||
}
|
}
|
||||||
|
|
||||||
changeDlgLang(preference._searchingSubDlg.getHSelf(), "Searching", titre, titreMaxSize);
|
changeDlgLang(preference._searchingSubDlg.getHSelf(), "Searching", titre, titreMaxSize);
|
||||||
if (titre[0] != '\0')
|
if (titre[0] != '\0')
|
||||||
{
|
{
|
||||||
const wchar_t* nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
const wchar_t* nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
||||||
preference.renameDialogTitle(TEXT("Searching"), nameW);
|
preference.renameDialogTitle(L"Searching", nameW);
|
||||||
}
|
}
|
||||||
|
|
||||||
changeDlgLang(preference._miscSubDlg.getHSelf(), "MISC", titre, titreMaxSize);
|
changeDlgLang(preference._miscSubDlg.getHSelf(), "MISC", titre, titreMaxSize);
|
||||||
if (titre[0] != '\0')
|
if (titre[0] != '\0')
|
||||||
{
|
{
|
||||||
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
||||||
preference.renameDialogTitle(TEXT("MISC"), nameW);
|
preference.renameDialogTitle(L"MISC", nameW);
|
||||||
}
|
}
|
||||||
changeDlgLang(preference._backupSubDlg.getHSelf(), "Backup", titre, titreMaxSize);
|
changeDlgLang(preference._backupSubDlg.getHSelf(), "Backup", titre, titreMaxSize);
|
||||||
if (titre[0] != '\0')
|
if (titre[0] != '\0')
|
||||||
{
|
{
|
||||||
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
||||||
preference.renameDialogTitle(TEXT("Backup"), nameW);
|
preference.renameDialogTitle(L"Backup", nameW);
|
||||||
}
|
}
|
||||||
|
|
||||||
changeDlgLang(preference._autoCompletionSubDlg.getHSelf(), "AutoCompletion", titre, titreMaxSize);
|
changeDlgLang(preference._autoCompletionSubDlg.getHSelf(), "AutoCompletion", titre, titreMaxSize);
|
||||||
if (titre[0] != '\0')
|
if (titre[0] != '\0')
|
||||||
{
|
{
|
||||||
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
||||||
preference.renameDialogTitle(TEXT("AutoCompletion"), nameW);
|
preference.renameDialogTitle(L"AutoCompletion", nameW);
|
||||||
}
|
}
|
||||||
|
|
||||||
changeDlgLang(preference._multiInstanceSubDlg.getHSelf(), "MultiInstance", titre, titreMaxSize);
|
changeDlgLang(preference._multiInstanceSubDlg.getHSelf(), "MultiInstance", titre, titreMaxSize);
|
||||||
if (titre[0] != '\0')
|
if (titre[0] != '\0')
|
||||||
{
|
{
|
||||||
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
||||||
preference.renameDialogTitle(TEXT("MultiInstance"), nameW);
|
preference.renameDialogTitle(L"MultiInstance", nameW);
|
||||||
}
|
}
|
||||||
|
|
||||||
changeDlgLang(preference._delimiterSubDlg.getHSelf(), "Delimiter", titre, titreMaxSize);
|
changeDlgLang(preference._delimiterSubDlg.getHSelf(), "Delimiter", titre, titreMaxSize);
|
||||||
if (titre[0] != '\0')
|
if (titre[0] != '\0')
|
||||||
{
|
{
|
||||||
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
||||||
preference.renameDialogTitle(TEXT("Delimiter"), nameW);
|
preference.renameDialogTitle(L"Delimiter", nameW);
|
||||||
}
|
}
|
||||||
|
|
||||||
changeDlgLang(preference._performanceSubDlg.getHSelf(), "Performance", titre, titreMaxSize);
|
changeDlgLang(preference._performanceSubDlg.getHSelf(), "Performance", titre, titreMaxSize);
|
||||||
if (titre[0] != '\0')
|
if (titre[0] != '\0')
|
||||||
{
|
{
|
||||||
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
||||||
preference.renameDialogTitle(TEXT("Performance"), nameW);
|
preference.renameDialogTitle(L"Performance", nameW);
|
||||||
}
|
}
|
||||||
|
|
||||||
changeDlgLang(preference._cloudAndLinkSubDlg.getHSelf(), "Cloud", titre, titreMaxSize);
|
changeDlgLang(preference._cloudAndLinkSubDlg.getHSelf(), "Cloud", titre, titreMaxSize);
|
||||||
if (titre[0] != '\0')
|
if (titre[0] != '\0')
|
||||||
{
|
{
|
||||||
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
||||||
preference.renameDialogTitle(TEXT("Cloud"), nameW);
|
preference.renameDialogTitle(L"Cloud", nameW);
|
||||||
}
|
}
|
||||||
|
|
||||||
changeDlgLang(preference._searchEngineSubDlg.getHSelf(), "SearchEngine", titre, titreMaxSize);
|
changeDlgLang(preference._searchEngineSubDlg.getHSelf(), "SearchEngine", titre, titreMaxSize);
|
||||||
if (titre[0] != '\0')
|
if (titre[0] != '\0')
|
||||||
{
|
{
|
||||||
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
||||||
preference.renameDialogTitle(TEXT("SearchEngine"), nameW);
|
preference.renameDialogTitle(L"SearchEngine", nameW);
|
||||||
}
|
}
|
||||||
|
|
||||||
preference.setListSelection(currentSel);
|
preference.setListSelection(currentSel);
|
||||||
|
@ -1193,7 +1193,7 @@ void NativeLangSpeaker::changeShortcutLang()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
generic_string NativeLangSpeaker::getShortcutMapperLangStr(const char *nodeName, const TCHAR *defaultStr) const
|
wstring NativeLangSpeaker::getShortcutMapperLangStr(const char *nodeName, const wchar_t *defaultStr) const
|
||||||
{
|
{
|
||||||
if (!_nativeLangA) return defaultStr;
|
if (!_nativeLangA) return defaultStr;
|
||||||
|
|
||||||
|
@ -1231,7 +1231,7 @@ TiXmlNodeA * NativeLangSpeaker::searchDlgNode(TiXmlNodeA *node, const char *dlgT
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool NativeLangSpeaker::getDoSaveOrNotStrings(generic_string& title, generic_string& msg)
|
bool NativeLangSpeaker::getDoSaveOrNotStrings(wstring& title, wstring& msg)
|
||||||
{
|
{
|
||||||
if (!_nativeLangA) return false;
|
if (!_nativeLangA) return false;
|
||||||
|
|
||||||
|
@ -1322,7 +1322,7 @@ bool NativeLangSpeaker::changeDlgLang(HWND hDlg, const char *dlgTagName, char *t
|
||||||
childNode;
|
childNode;
|
||||||
childNode = childNode->NextSibling("ComboBox"))
|
childNode = childNode->NextSibling("ComboBox"))
|
||||||
{
|
{
|
||||||
std::vector<generic_string> comboElms;
|
std::vector<wstring> comboElms;
|
||||||
TiXmlElementA *element = childNode->ToElement();
|
TiXmlElementA *element = childNode->ToElement();
|
||||||
int id;
|
int id;
|
||||||
element->Attribute("id", &id);
|
element->Attribute("id", &id);
|
||||||
|
@ -1361,10 +1361,10 @@ bool NativeLangSpeaker::changeDlgLang(HWND hDlg, const char *dlgTagName, char *t
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool NativeLangSpeaker::getMsgBoxLang(const char *msgBoxTagName, generic_string & title, generic_string & message)
|
bool NativeLangSpeaker::getMsgBoxLang(const char *msgBoxTagName, wstring & title, wstring & message)
|
||||||
{
|
{
|
||||||
title = TEXT("");
|
title = L"";
|
||||||
message = TEXT("");
|
message = L"";
|
||||||
|
|
||||||
if (!_nativeLangA) return false;
|
if (!_nativeLangA) return false;
|
||||||
|
|
||||||
|
@ -1388,7 +1388,7 @@ bool NativeLangSpeaker::getMsgBoxLang(const char *msgBoxTagName, generic_string
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
generic_string NativeLangSpeaker::getDlgLangMenuStr(const char* firstLevelNodeName, const char* secondLevelNodeName, int cmdID, const TCHAR* defaultStr) const
|
wstring NativeLangSpeaker::getDlgLangMenuStr(const char* firstLevelNodeName, const char* secondLevelNodeName, int cmdID, const wchar_t* defaultStr) const
|
||||||
{
|
{
|
||||||
if (!_nativeLangA) return defaultStr;
|
if (!_nativeLangA) return defaultStr;
|
||||||
|
|
||||||
|
@ -1428,7 +1428,7 @@ generic_string NativeLangSpeaker::getDlgLangMenuStr(const char* firstLevelNodeNa
|
||||||
return defaultStr;
|
return defaultStr;
|
||||||
}
|
}
|
||||||
|
|
||||||
generic_string NativeLangSpeaker::getProjectPanelLangMenuStr(const char * nodeName, int cmdID, const TCHAR *defaultStr) const
|
wstring NativeLangSpeaker::getProjectPanelLangMenuStr(const char * nodeName, int cmdID, const wchar_t *defaultStr) const
|
||||||
{
|
{
|
||||||
if (!_nativeLangA) return defaultStr;
|
if (!_nativeLangA) return defaultStr;
|
||||||
|
|
||||||
|
@ -1465,7 +1465,7 @@ generic_string NativeLangSpeaker::getProjectPanelLangMenuStr(const char * nodeNa
|
||||||
return defaultStr;
|
return defaultStr;
|
||||||
}
|
}
|
||||||
|
|
||||||
generic_string NativeLangSpeaker::getAttrNameStr(const TCHAR *defaultStr, const char *nodeL1Name, const char *nodeL2Name, const char *nodeL3Name) const
|
wstring NativeLangSpeaker::getAttrNameStr(const wchar_t *defaultStr, const char *nodeL1Name, const char *nodeL2Name, const char *nodeL3Name) const
|
||||||
{
|
{
|
||||||
if (!_nativeLangA) return defaultStr;
|
if (!_nativeLangA) return defaultStr;
|
||||||
|
|
||||||
|
@ -1485,7 +1485,7 @@ generic_string NativeLangSpeaker::getAttrNameStr(const TCHAR *defaultStr, const
|
||||||
return defaultStr;
|
return defaultStr;
|
||||||
}
|
}
|
||||||
|
|
||||||
generic_string NativeLangSpeaker::getAttrNameByIdStr(const TCHAR *defaultStr, TiXmlNodeA *targetNode, const char *nodeL1Value, const char *nodeL1Name, const char *nodeL2Name) const
|
wstring NativeLangSpeaker::getAttrNameByIdStr(const wchar_t *defaultStr, TiXmlNodeA *targetNode, const char *nodeL1Value, const char *nodeL1Name, const char *nodeL2Name) const
|
||||||
{
|
{
|
||||||
if (!targetNode) return defaultStr;
|
if (!targetNode) return defaultStr;
|
||||||
|
|
||||||
|
@ -1508,23 +1508,23 @@ generic_string NativeLangSpeaker::getAttrNameByIdStr(const TCHAR *defaultStr, Ti
|
||||||
return defaultStr;
|
return defaultStr;
|
||||||
}
|
}
|
||||||
|
|
||||||
int NativeLangSpeaker::messageBox(const char *msgBoxTagName, HWND hWnd, const TCHAR *defaultMessage, const TCHAR *defaultTitle, int msgBoxType, int intInfo, const TCHAR *strInfo)
|
int NativeLangSpeaker::messageBox(const char *msgBoxTagName, HWND hWnd, const wchar_t *defaultMessage, const wchar_t *defaultTitle, int msgBoxType, int intInfo, const wchar_t *strInfo)
|
||||||
{
|
{
|
||||||
if ((NppParameters::getInstance()).isEndSessionCritical())
|
if ((NppParameters::getInstance()).isEndSessionCritical())
|
||||||
return IDCANCEL; // simulate Esc-key or Cancel-button as there should not be any big delay / code-flow block
|
return IDCANCEL; // simulate Esc-key or Cancel-button as there should not be any big delay / code-flow block
|
||||||
|
|
||||||
generic_string msg, title;
|
wstring msg, title;
|
||||||
if (!getMsgBoxLang(msgBoxTagName, title, msg))
|
if (!getMsgBoxLang(msgBoxTagName, title, msg))
|
||||||
{
|
{
|
||||||
title = defaultTitle;
|
title = defaultTitle;
|
||||||
msg = defaultMessage;
|
msg = defaultMessage;
|
||||||
}
|
}
|
||||||
title = stringReplace(title, TEXT("$INT_REPLACE$"), std::to_wstring(intInfo));
|
title = stringReplace(title, L"$INT_REPLACE$", std::to_wstring(intInfo));
|
||||||
msg = stringReplace(msg, TEXT("$INT_REPLACE$"), std::to_wstring(intInfo));
|
msg = stringReplace(msg, L"$INT_REPLACE$", std::to_wstring(intInfo));
|
||||||
if (strInfo)
|
if (strInfo)
|
||||||
{
|
{
|
||||||
title = stringReplace(title, TEXT("$STR_REPLACE$"), strInfo);
|
title = stringReplace(title, L"$STR_REPLACE$", strInfo);
|
||||||
msg = stringReplace(msg, TEXT("$STR_REPLACE$"), strInfo);
|
msg = stringReplace(msg, L"$STR_REPLACE$", strInfo);
|
||||||
}
|
}
|
||||||
if (_isRTL)
|
if (_isRTL)
|
||||||
{
|
{
|
||||||
|
|
|
@ -46,9 +46,9 @@ public:
|
||||||
bool changeDlgLang(HWND hDlg, const char *dlgTagName, char *title = NULL, size_t titleMaxSize = 0);
|
bool changeDlgLang(HWND hDlg, const char *dlgTagName, char *title = NULL, size_t titleMaxSize = 0);
|
||||||
void changeLangTabDropContextMenu(HMENU hCM);
|
void changeLangTabDropContextMenu(HMENU hCM);
|
||||||
void changeLangTrayIconContexMenu(HMENU hCM);
|
void changeLangTrayIconContexMenu(HMENU hCM);
|
||||||
generic_string getSubMenuEntryName(const char *nodeName) const;
|
std::wstring getSubMenuEntryName(const char *nodeName) const;
|
||||||
generic_string getNativeLangMenuString(int itemID, generic_string inCaseOfFailureStr = L"", bool removeMarkAnd = false) const;
|
std::wstring getNativeLangMenuString(int itemID, std::wstring inCaseOfFailureStr = L"", bool removeMarkAnd = false) const;
|
||||||
generic_string getShortcutNameString(int itemID) const;
|
std::wstring getShortcutNameString(int itemID) const;
|
||||||
|
|
||||||
void changeMenuLang(HMENU menuHandle);
|
void changeMenuLang(HMENU menuHandle);
|
||||||
void changeShortcutLang();
|
void changeShortcutLang();
|
||||||
|
@ -59,7 +59,7 @@ public:
|
||||||
void changePrefereceDlgLang(PreferenceDlg & preference);
|
void changePrefereceDlgLang(PreferenceDlg & preference);
|
||||||
void changePluginsAdminDlgLang(PluginsAdminDlg & pluginsAdminDlg);
|
void changePluginsAdminDlgLang(PluginsAdminDlg & pluginsAdminDlg);
|
||||||
|
|
||||||
bool getDoSaveOrNotStrings(generic_string& title, generic_string& msg);
|
bool getDoSaveOrNotStrings(std::wstring& title, std::wstring& msg);
|
||||||
|
|
||||||
bool isRTL() const {
|
bool isRTL() const {
|
||||||
return _isRTL;
|
return _isRTL;
|
||||||
|
@ -80,20 +80,20 @@ public:
|
||||||
int getLangEncoding() const {
|
int getLangEncoding() const {
|
||||||
return _nativeLangEncoding;
|
return _nativeLangEncoding;
|
||||||
};
|
};
|
||||||
bool getMsgBoxLang(const char *msgBoxTagName, generic_string & title, generic_string & message);
|
bool getMsgBoxLang(const char *msgBoxTagName, std::wstring & title, std::wstring & message);
|
||||||
generic_string getShortcutMapperLangStr(const char *nodeName, const TCHAR *defaultStr) const;
|
std::wstring getShortcutMapperLangStr(const char *nodeName, const wchar_t *defaultStr) const;
|
||||||
generic_string getProjectPanelLangMenuStr(const char * nodeName, int cmdID, const TCHAR *defaultStr) const;
|
std::wstring getProjectPanelLangMenuStr(const char * nodeName, int cmdID, const wchar_t *defaultStr) const;
|
||||||
generic_string getDlgLangMenuStr(const char* firstLevelNodeName, const char* secondLevelNodeName, int cmdID, const TCHAR *defaultStr) const;
|
std::wstring getDlgLangMenuStr(const char* firstLevelNodeName, const char* secondLevelNodeName, int cmdID, const wchar_t *defaultStr) const;
|
||||||
generic_string getAttrNameStr(const TCHAR *defaultStr, const char *nodeL1Name, const char *nodeL2Name, const char *nodeL3Name = "name") const;
|
std::wstring getAttrNameStr(const wchar_t *defaultStr, const char *nodeL1Name, const char *nodeL2Name, const char *nodeL3Name = "name") const;
|
||||||
generic_string getAttrNameByIdStr(const TCHAR *defaultStr, TiXmlNodeA *targetNode, const char *nodeL1Value, const char *nodeL1Name = "id", const char *nodeL2Name = "name") const;
|
std::wstring getAttrNameByIdStr(const wchar_t *defaultStr, TiXmlNodeA *targetNode, const char *nodeL1Value, const char *nodeL1Name = "id", const char *nodeL2Name = "name") const;
|
||||||
generic_string getLocalizedStrFromID(const char *strID, const generic_string& defaultString) const;
|
std::wstring getLocalizedStrFromID(const char *strID, const std::wstring& defaultString) const;
|
||||||
void getMainMenuEntryName(std::wstring& dest, HMENU hMenu, const char* menuIdStr, const wchar_t* defaultDest);
|
void getMainMenuEntryName(std::wstring& dest, HMENU hMenu, const char* menuIdStr, const wchar_t* defaultDest);
|
||||||
|
|
||||||
void resetShortcutMenuNameMap() {
|
void resetShortcutMenuNameMap() {
|
||||||
_shortcutMenuEntryNameMap.clear();
|
_shortcutMenuEntryNameMap.clear();
|
||||||
};
|
};
|
||||||
|
|
||||||
int messageBox(const char *msgBoxTagName, HWND hWnd, const TCHAR *message, const TCHAR *title, int msgBoxType, int intInfo = 0, const TCHAR *strInfo = NULL);
|
int messageBox(const char *msgBoxTagName, HWND hWnd, const wchar_t *message, const wchar_t *title, int msgBoxType, int intInfo = 0, const wchar_t *strInfo = NULL);
|
||||||
private:
|
private:
|
||||||
TiXmlNodeA *_nativeLangA = nullptr;
|
TiXmlNodeA *_nativeLangA = nullptr;
|
||||||
int _nativeLangEncoding = CP_ACP;
|
int _nativeLangEncoding = CP_ACP;
|
||||||
|
|
|
@ -42,7 +42,7 @@ void allowPrivilegeMessages(const Notepad_plus_Window& notepad_plus_plus, winVer
|
||||||
// This (WM_COPYDATA) allows opening new files to already opened elevated Notepad++ process via explorer context menu.
|
// This (WM_COPYDATA) allows opening new files to already opened elevated Notepad++ process via explorer context menu.
|
||||||
if (winVer >= WV_VISTA || winVer == WV_UNKNOWN)
|
if (winVer >= WV_VISTA || winVer == WV_UNKNOWN)
|
||||||
{
|
{
|
||||||
HMODULE hDll = GetModuleHandle(TEXT("user32.dll"));
|
HMODULE hDll = GetModuleHandle(L"user32.dll");
|
||||||
if (hDll)
|
if (hDll)
|
||||||
{
|
{
|
||||||
// According to MSDN ChangeWindowMessageFilter may not be supported in future versions of Windows,
|
// According to MSDN ChangeWindowMessageFilter may not be supported in future versions of Windows,
|
||||||
|
@ -83,15 +83,15 @@ void allowPrivilegeMessages(const Notepad_plus_Window& notepad_plus_plus, winVer
|
||||||
// 2. "-z"
|
// 2. "-z"
|
||||||
// 3. "C:\WINDOWS\system32\NOTEPAD.EXE"
|
// 3. "C:\WINDOWS\system32\NOTEPAD.EXE"
|
||||||
// 4. "C:\my folder\my file with whitespace.txt"
|
// 4. "C:\my folder\my file with whitespace.txt"
|
||||||
void parseCommandLine(const TCHAR* commandLine, ParamVector& paramVector)
|
void parseCommandLine(const wchar_t* commandLine, ParamVector& paramVector)
|
||||||
{
|
{
|
||||||
if (!commandLine)
|
if (!commandLine)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
TCHAR* cmdLine = new TCHAR[lstrlen(commandLine) + 1];
|
wchar_t* cmdLine = new wchar_t[lstrlen(commandLine) + 1];
|
||||||
lstrcpy(cmdLine, commandLine);
|
lstrcpy(cmdLine, commandLine);
|
||||||
|
|
||||||
TCHAR* cmdLinePtr = cmdLine;
|
wchar_t* cmdLinePtr = cmdLine;
|
||||||
|
|
||||||
bool isBetweenFileNameQuotes = false;
|
bool isBetweenFileNameQuotes = false;
|
||||||
bool isStringInArg = false;
|
bool isStringInArg = false;
|
||||||
|
@ -105,7 +105,7 @@ void parseCommandLine(const TCHAR* commandLine, ParamVector& paramVector)
|
||||||
// when zArg == 2 shouldBeTerminated will be set to true - it will trigger the treatment which consider the rest as a argument, with or without white space(s).
|
// when zArg == 2 shouldBeTerminated will be set to true - it will trigger the treatment which consider the rest as a argument, with or without white space(s).
|
||||||
|
|
||||||
size_t commandLength = lstrlen(cmdLinePtr);
|
size_t commandLength = lstrlen(cmdLinePtr);
|
||||||
std::vector<TCHAR *> args;
|
std::vector<wchar_t *> args;
|
||||||
for (size_t i = 0; i < commandLength && !shouldBeTerminated; ++i)
|
for (size_t i = 0; i < commandLength && !shouldBeTerminated; ++i)
|
||||||
{
|
{
|
||||||
switch (cmdLinePtr[i])
|
switch (cmdLinePtr[i])
|
||||||
|
@ -156,7 +156,7 @@ void parseCommandLine(const TCHAR* commandLine, ParamVector& paramVector)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default: //default TCHAR, if beginning of word, add it
|
default: //default wchar_t, if beginning of word, add it
|
||||||
{
|
{
|
||||||
if (!isBetweenFileNameQuotes && !isStringInArg && isInWhiteSpace)
|
if (!isBetweenFileNameQuotes && !isStringInArg && isInWhiteSpace)
|
||||||
{
|
{
|
||||||
|
@ -181,14 +181,14 @@ void convertParamsToNotepadStyle(ParamVector& params)
|
||||||
{
|
{
|
||||||
for (auto it = params.begin(); it != params.end(); ++it)
|
for (auto it = params.begin(); it != params.end(); ++it)
|
||||||
{
|
{
|
||||||
if (lstrcmp(it->c_str(), TEXT("/p")) == 0 || lstrcmp(it->c_str(), TEXT("/P")) == 0)
|
if (lstrcmp(it->c_str(), L"/p") == 0 || lstrcmp(it->c_str(), L"/P") == 0)
|
||||||
{
|
{
|
||||||
it->assign(TEXT("-quickPrint"));
|
it->assign(L"-quickPrint");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isInList(const TCHAR *token2Find, ParamVector& params, bool eraseArg = true)
|
bool isInList(const wchar_t *token2Find, ParamVector& params, bool eraseArg = true)
|
||||||
{
|
{
|
||||||
for (auto it = params.begin(); it != params.end(); ++it)
|
for (auto it = params.begin(); it != params.end(); ++it)
|
||||||
{
|
{
|
||||||
|
@ -201,14 +201,14 @@ bool isInList(const TCHAR *token2Find, ParamVector& params, bool eraseArg = true
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool getParamVal(TCHAR c, ParamVector & params, std::wstring & value)
|
bool getParamVal(wchar_t c, ParamVector & params, std::wstring & value)
|
||||||
{
|
{
|
||||||
value = TEXT("");
|
value = L"";
|
||||||
size_t nbItems = params.size();
|
size_t nbItems = params.size();
|
||||||
|
|
||||||
for (size_t i = 0; i < nbItems; ++i)
|
for (size_t i = 0; i < nbItems; ++i)
|
||||||
{
|
{
|
||||||
const TCHAR * token = params.at(i).c_str();
|
const wchar_t * token = params.at(i).c_str();
|
||||||
if (token[0] == '-' && lstrlen(token) >= 2 && token[1] == c) //dash, and enough chars
|
if (token[0] == '-' && lstrlen(token) >= 2 && token[1] == c) //dash, and enough chars
|
||||||
{
|
{
|
||||||
value = (token+2);
|
value = (token+2);
|
||||||
|
@ -219,14 +219,14 @@ bool getParamVal(TCHAR c, ParamVector & params, std::wstring & value)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool getParamValFromString(const TCHAR *str, ParamVector & params, std::wstring & value)
|
bool getParamValFromString(const wchar_t *str, ParamVector & params, std::wstring & value)
|
||||||
{
|
{
|
||||||
value = TEXT("");
|
value = L"";
|
||||||
size_t nbItems = params.size();
|
size_t nbItems = params.size();
|
||||||
|
|
||||||
for (size_t i = 0; i < nbItems; ++i)
|
for (size_t i = 0; i < nbItems; ++i)
|
||||||
{
|
{
|
||||||
const TCHAR * token = params.at(i).c_str();
|
const wchar_t * token = params.at(i).c_str();
|
||||||
std::wstring tokenStr = token;
|
std::wstring tokenStr = token;
|
||||||
size_t pos = tokenStr.find(str);
|
size_t pos = tokenStr.find(str);
|
||||||
if (pos != std::wstring::npos && pos == 0)
|
if (pos != std::wstring::npos && pos == 0)
|
||||||
|
@ -251,8 +251,8 @@ std::wstring getLocalizationPathFromParam(ParamVector & params)
|
||||||
{
|
{
|
||||||
std::wstring locStr;
|
std::wstring locStr;
|
||||||
if (!getParamVal('L', params, locStr))
|
if (!getParamVal('L', params, locStr))
|
||||||
return TEXT("");
|
return L"";
|
||||||
locStr = stringToLower(stringReplace(locStr, TEXT("_"), TEXT("-"))); // convert to lowercase format with "-" as separator
|
locStr = stringToLower(stringReplace(locStr, L"_", L"-")); // convert to lowercase format with "-" as separator
|
||||||
return NppParameters::getLocPathFromStr(locStr.c_str());
|
return NppParameters::getLocPathFromStr(locStr.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -271,12 +271,12 @@ intptr_t getNumberFromParam(char paramName, ParamVector & params, bool & isParam
|
||||||
std::wstring getEasterEggNameFromParam(ParamVector & params, unsigned char & type)
|
std::wstring getEasterEggNameFromParam(ParamVector & params, unsigned char & type)
|
||||||
{
|
{
|
||||||
std::wstring EasterEggName;
|
std::wstring EasterEggName;
|
||||||
if (!getParamValFromString(TEXT("-qn="), params, EasterEggName)) // get internal easter egg
|
if (!getParamValFromString(L"-qn=", params, EasterEggName)) // get internal easter egg
|
||||||
{
|
{
|
||||||
if (!getParamValFromString(TEXT("-qt="), params, EasterEggName)) // get user quote from cmdline argument
|
if (!getParamValFromString(L"-qt=", params, EasterEggName)) // get user quote from cmdline argument
|
||||||
{
|
{
|
||||||
if (!getParamValFromString(TEXT("-qf="), params, EasterEggName)) // get user quote from a content of file
|
if (!getParamValFromString(L"-qf=", params, EasterEggName)) // get user quote from a content of file
|
||||||
return TEXT("");
|
return L"";
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
type = 2; // quote content in file
|
type = 2; // quote content in file
|
||||||
|
@ -302,7 +302,7 @@ std::wstring getEasterEggNameFromParam(ParamVector & params, unsigned char & typ
|
||||||
int getGhostTypingSpeedFromParam(ParamVector & params)
|
int getGhostTypingSpeedFromParam(ParamVector & params)
|
||||||
{
|
{
|
||||||
std::wstring speedStr;
|
std::wstring speedStr;
|
||||||
if (!getParamValFromString(TEXT("-qSpeed"), params, speedStr))
|
if (!getParamValFromString(L"-qSpeed", params, speedStr))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
int speed = std::stoi(speedStr, 0);
|
int speed = std::stoi(speedStr, 0);
|
||||||
|
@ -312,46 +312,46 @@ int getGhostTypingSpeedFromParam(ParamVector & params)
|
||||||
return speed;
|
return speed;
|
||||||
}
|
}
|
||||||
|
|
||||||
const TCHAR FLAG_MULTI_INSTANCE[] = TEXT("-multiInst");
|
const wchar_t FLAG_MULTI_INSTANCE[] = L"-multiInst";
|
||||||
const TCHAR FLAG_NO_PLUGIN[] = TEXT("-noPlugin");
|
const wchar_t FLAG_NO_PLUGIN[] = L"-noPlugin";
|
||||||
const TCHAR FLAG_READONLY[] = TEXT("-ro");
|
const wchar_t FLAG_READONLY[] = L"-ro";
|
||||||
const TCHAR FLAG_NOSESSION[] = TEXT("-nosession");
|
const wchar_t FLAG_NOSESSION[] = L"-nosession";
|
||||||
const TCHAR FLAG_NOTABBAR[] = TEXT("-notabbar");
|
const wchar_t FLAG_NOTABBAR[] = L"-notabbar";
|
||||||
const TCHAR FLAG_SYSTRAY[] = TEXT("-systemtray");
|
const wchar_t FLAG_SYSTRAY[] = L"-systemtray";
|
||||||
const TCHAR FLAG_LOADINGTIME[] = TEXT("-loadingTime");
|
const wchar_t FLAG_LOADINGTIME[] = L"-loadingTime";
|
||||||
const TCHAR FLAG_HELP[] = TEXT("--help");
|
const wchar_t FLAG_HELP[] = L"--help";
|
||||||
const TCHAR FLAG_ALWAYS_ON_TOP[] = TEXT("-alwaysOnTop");
|
const wchar_t FLAG_ALWAYS_ON_TOP[] = L"-alwaysOnTop";
|
||||||
const TCHAR FLAG_OPENSESSIONFILE[] = TEXT("-openSession");
|
const wchar_t FLAG_OPENSESSIONFILE[] = L"-openSession";
|
||||||
const TCHAR FLAG_RECURSIVE[] = TEXT("-r");
|
const wchar_t FLAG_RECURSIVE[] = L"-r";
|
||||||
const TCHAR FLAG_FUNCLSTEXPORT[] = TEXT("-export=functionList");
|
const wchar_t FLAG_FUNCLSTEXPORT[] = L"-export=functionList";
|
||||||
const TCHAR FLAG_PRINTANDQUIT[] = TEXT("-quickPrint");
|
const wchar_t FLAG_PRINTANDQUIT[] = L"-quickPrint";
|
||||||
const TCHAR FLAG_NOTEPAD_COMPATIBILITY[] = TEXT("-notepadStyleCmdline");
|
const wchar_t FLAG_NOTEPAD_COMPATIBILITY[] = L"-notepadStyleCmdline";
|
||||||
const TCHAR FLAG_OPEN_FOLDERS_AS_WORKSPACE[] = TEXT("-openFoldersAsWorkspace");
|
const wchar_t FLAG_OPEN_FOLDERS_AS_WORKSPACE[] = L"-openFoldersAsWorkspace";
|
||||||
const TCHAR FLAG_SETTINGS_DIR[] = TEXT("-settingsDir=");
|
const wchar_t FLAG_SETTINGS_DIR[] = L"-settingsDir=";
|
||||||
const TCHAR FLAG_TITLEBAR_ADD[] = TEXT("-titleAdd=");
|
const wchar_t FLAG_TITLEBAR_ADD[] = L"-titleAdd=";
|
||||||
const TCHAR FLAG_APPLY_UDL[] = TEXT("-udl=");
|
const wchar_t FLAG_APPLY_UDL[] = L"-udl=";
|
||||||
const TCHAR FLAG_PLUGIN_MESSAGE[] = TEXT("-pluginMessage=");
|
const wchar_t FLAG_PLUGIN_MESSAGE[] = L"-pluginMessage=";
|
||||||
const TCHAR FLAG_MONITOR_FILES[] = TEXT("-monitor");
|
const wchar_t FLAG_MONITOR_FILES[] = L"-monitor";
|
||||||
|
|
||||||
void doException(Notepad_plus_Window & notepad_plus_plus)
|
void doException(Notepad_plus_Window & notepad_plus_plus)
|
||||||
{
|
{
|
||||||
Win32Exception::removeHandler(); //disable exception handler after excpetion, we dont want corrupt data structurs to crash the exception handler
|
Win32Exception::removeHandler(); //disable exception handler after excpetion, we dont want corrupt data structurs to crash the exception handler
|
||||||
::MessageBox(Notepad_plus_Window::gNppHWND, TEXT("Notepad++ will attempt to save any unsaved data. However, dataloss is very likely."), TEXT("Recovery initiating"), MB_OK | MB_ICONINFORMATION);
|
::MessageBox(Notepad_plus_Window::gNppHWND, L"Notepad++ will attempt to save any unsaved data. However, dataloss is very likely.", L"Recovery initiating", MB_OK | MB_ICONINFORMATION);
|
||||||
|
|
||||||
TCHAR tmpDir[1024];
|
wchar_t tmpDir[1024];
|
||||||
GetTempPath(1024, tmpDir);
|
GetTempPath(1024, tmpDir);
|
||||||
std::wstring emergencySavedDir = tmpDir;
|
std::wstring emergencySavedDir = tmpDir;
|
||||||
emergencySavedDir += TEXT("\\Notepad++ RECOV");
|
emergencySavedDir += L"\\Notepad++ RECOV";
|
||||||
|
|
||||||
bool res = notepad_plus_plus.emergency(emergencySavedDir);
|
bool res = notepad_plus_plus.emergency(emergencySavedDir);
|
||||||
if (res)
|
if (res)
|
||||||
{
|
{
|
||||||
std::wstring displayText = TEXT("Notepad++ was able to successfully recover some unsaved documents, or nothing to be saved could be found.\r\nYou can find the results at :\r\n");
|
std::wstring displayText = L"Notepad++ was able to successfully recover some unsaved documents, or nothing to be saved could be found.\r\nYou can find the results at :\r\n";
|
||||||
displayText += emergencySavedDir;
|
displayText += emergencySavedDir;
|
||||||
::MessageBox(Notepad_plus_Window::gNppHWND, displayText.c_str(), TEXT("Recovery success"), MB_OK | MB_ICONINFORMATION);
|
::MessageBox(Notepad_plus_Window::gNppHWND, displayText.c_str(), L"Recovery success", MB_OK | MB_ICONINFORMATION);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
::MessageBox(Notepad_plus_Window::gNppHWND, TEXT("Unfortunatly, Notepad++ was not able to save your work. We are sorry for any lost data."), TEXT("Recovery failure"), MB_OK | MB_ICONERROR);
|
::MessageBox(Notepad_plus_Window::gNppHWND, L"Unfortunatly, Notepad++ was not able to save your work. We are sorry for any lost data.", L"Recovery failure", MB_OK | MB_ICONERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Looks for -z arguments and strips command line arguments following those, if any
|
// Looks for -z arguments and strips command line arguments following those, if any
|
||||||
|
@ -359,7 +359,7 @@ void stripIgnoredParams(ParamVector & params)
|
||||||
{
|
{
|
||||||
for (auto it = params.begin(); it != params.end(); )
|
for (auto it = params.begin(); it != params.end(); )
|
||||||
{
|
{
|
||||||
if (lstrcmp(it->c_str(), TEXT("-z")) == 0)
|
if (lstrcmp(it->c_str(), L"-z") == 0)
|
||||||
{
|
{
|
||||||
auto nextIt = std::next(it);
|
auto nextIt = std::next(it);
|
||||||
if ( nextIt != params.end() )
|
if ( nextIt != params.end() )
|
||||||
|
@ -387,11 +387,11 @@ int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE /*hPrevInstance
|
||||||
|
|
||||||
bool TheFirstOne = true;
|
bool TheFirstOne = true;
|
||||||
::SetLastError(NO_ERROR);
|
::SetLastError(NO_ERROR);
|
||||||
::CreateMutex(NULL, false, TEXT("nppInstance"));
|
::CreateMutex(NULL, false, L"nppInstance");
|
||||||
if (::GetLastError() == ERROR_ALREADY_EXISTS)
|
if (::GetLastError() == ERROR_ALREADY_EXISTS)
|
||||||
TheFirstOne = false;
|
TheFirstOne = false;
|
||||||
|
|
||||||
std::wstring cmdLineString = pCmdLine ? pCmdLine : _T("");
|
std::wstring cmdLineString = pCmdLine ? pCmdLine : L"";
|
||||||
ParamVector params;
|
ParamVector params;
|
||||||
parseCommandLine(pCmdLine, params);
|
parseCommandLine(pCmdLine, params);
|
||||||
|
|
||||||
|
@ -490,9 +490,9 @@ int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE /*hPrevInstance
|
||||||
}
|
}
|
||||||
|
|
||||||
if (showHelp)
|
if (showHelp)
|
||||||
::MessageBox(NULL, COMMAND_ARG_HELP, TEXT("Notepad++ Command Argument Help"), MB_OK);
|
::MessageBox(NULL, COMMAND_ARG_HELP, L"Notepad++ Command Argument Help", MB_OK);
|
||||||
|
|
||||||
if (cmdLineParams._localizationPath != TEXT(""))
|
if (cmdLineParams._localizationPath != L"")
|
||||||
{
|
{
|
||||||
// setStartWithLocFileName() should be called before parameters are loaded
|
// setStartWithLocFileName() should be called before parameters are loaded
|
||||||
nppParameters.setStartWithLocFileName(cmdLineParams._localizationPath);
|
nppParameters.setStartWithLocFileName(cmdLineParams._localizationPath);
|
||||||
|
@ -536,20 +536,20 @@ int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE /*hPrevInstance
|
||||||
cmdLineParams._isNoSession = true;
|
cmdLineParams._isNoSession = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::wstring quotFileName = TEXT("");
|
std::wstring quotFileName = L"";
|
||||||
// tell the running instance the FULL path to the new files to load
|
// tell the running instance the FULL path to the new files to load
|
||||||
size_t nbFilesToOpen = params.size();
|
size_t nbFilesToOpen = params.size();
|
||||||
|
|
||||||
for (size_t i = 0; i < nbFilesToOpen; ++i)
|
for (size_t i = 0; i < nbFilesToOpen; ++i)
|
||||||
{
|
{
|
||||||
const TCHAR * currentFile = params.at(i).c_str();
|
const wchar_t * currentFile = params.at(i).c_str();
|
||||||
if (currentFile[0])
|
if (currentFile[0])
|
||||||
{
|
{
|
||||||
//check if relative or full path. Relative paths dont have a colon for driveletter
|
//check if relative or full path. Relative paths dont have a colon for driveletter
|
||||||
|
|
||||||
quotFileName += TEXT("\"");
|
quotFileName += L"\"";
|
||||||
quotFileName += relativeFilePathToFullFilePath(currentFile);
|
quotFileName += relativeFilePathToFullFilePath(currentFile);
|
||||||
quotFileName += TEXT("\" ");
|
quotFileName += L"\" ";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -600,13 +600,13 @@ int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE /*hPrevInstance
|
||||||
COPYDATASTRUCT cmdLineData{};
|
COPYDATASTRUCT cmdLineData{};
|
||||||
cmdLineData.dwData = COPYDATA_FULL_CMDLINE;
|
cmdLineData.dwData = COPYDATA_FULL_CMDLINE;
|
||||||
cmdLineData.lpData = (void*)cmdLineString.c_str();
|
cmdLineData.lpData = (void*)cmdLineString.c_str();
|
||||||
cmdLineData.cbData = static_cast<DWORD>((cmdLineString.length() + 1) * sizeof(TCHAR));
|
cmdLineData.cbData = static_cast<DWORD>((cmdLineString.length() + 1) * sizeof(wchar_t));
|
||||||
::SendMessage(hNotepad_plus, WM_COPYDATA, reinterpret_cast<WPARAM>(hInstance), reinterpret_cast<LPARAM>(&cmdLineData));
|
::SendMessage(hNotepad_plus, WM_COPYDATA, reinterpret_cast<WPARAM>(hInstance), reinterpret_cast<LPARAM>(&cmdLineData));
|
||||||
|
|
||||||
COPYDATASTRUCT fileNamesData{};
|
COPYDATASTRUCT fileNamesData{};
|
||||||
fileNamesData.dwData = COPYDATA_FILENAMESW;
|
fileNamesData.dwData = COPYDATA_FILENAMESW;
|
||||||
fileNamesData.lpData = (void *)quotFileName.c_str();
|
fileNamesData.lpData = (void *)quotFileName.c_str();
|
||||||
fileNamesData.cbData = static_cast<DWORD>((quotFileName.length() + 1) * sizeof(TCHAR));
|
fileNamesData.cbData = static_cast<DWORD>((quotFileName.length() + 1) * sizeof(wchar_t));
|
||||||
::SendMessage(hNotepad_plus, WM_COPYDATA, reinterpret_cast<WPARAM>(hInstance), reinterpret_cast<LPARAM>(&fileNamesData));
|
::SendMessage(hNotepad_plus, WM_COPYDATA, reinterpret_cast<WPARAM>(hInstance), reinterpret_cast<LPARAM>(&fileNamesData));
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -617,11 +617,11 @@ int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE /*hPrevInstance
|
||||||
Notepad_plus_Window & notepad_plus_plus = *upNotepadWindow.get();
|
Notepad_plus_Window & notepad_plus_plus = *upNotepadWindow.get();
|
||||||
|
|
||||||
std::wstring updaterDir = nppParameters.getNppPath();
|
std::wstring updaterDir = nppParameters.getNppPath();
|
||||||
updaterDir += TEXT("\\updater\\");
|
updaterDir += L"\\updater\\";
|
||||||
|
|
||||||
std::wstring updaterFullPath = updaterDir + TEXT("gup.exe");
|
std::wstring updaterFullPath = updaterDir + L"gup.exe";
|
||||||
|
|
||||||
std::wstring updaterParams = TEXT("-v");
|
std::wstring updaterParams = L"-v";
|
||||||
updaterParams += VERSION_INTERNAL_VALUE;
|
updaterParams += VERSION_INTERNAL_VALUE;
|
||||||
|
|
||||||
bool isUpExist = nppGui._doesExistUpdater = (::PathFileExists(updaterFullPath.c_str()) == TRUE);
|
bool isUpExist = nppGui._doesExistUpdater = (::PathFileExists(updaterFullPath.c_str()) == TRUE);
|
||||||
|
@ -650,11 +650,11 @@ int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE /*hPrevInstance
|
||||||
{
|
{
|
||||||
if (nppParameters.archType() == IMAGE_FILE_MACHINE_AMD64)
|
if (nppParameters.archType() == IMAGE_FILE_MACHINE_AMD64)
|
||||||
{
|
{
|
||||||
updaterParams += TEXT(" -px64");
|
updaterParams += L" -px64";
|
||||||
}
|
}
|
||||||
else if (nppParameters.archType() == IMAGE_FILE_MACHINE_ARM64)
|
else if (nppParameters.archType() == IMAGE_FILE_MACHINE_ARM64)
|
||||||
{
|
{
|
||||||
updaterParams += TEXT(" -parm64");
|
updaterParams += L" -parm64";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (doUpdateNpp)
|
if (doUpdateNpp)
|
||||||
|
@ -674,22 +674,22 @@ int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE /*hPrevInstance
|
||||||
if (doUpdatePluginList)
|
if (doUpdatePluginList)
|
||||||
{
|
{
|
||||||
// Update Plugin List
|
// Update Plugin List
|
||||||
std::wstring upPlParams = TEXT("-v");
|
std::wstring upPlParams = L"-v";
|
||||||
upPlParams += notepad_plus_plus.getPluginListVerStr();
|
upPlParams += notepad_plus_plus.getPluginListVerStr();
|
||||||
|
|
||||||
if (nppParameters.archType() == IMAGE_FILE_MACHINE_AMD64)
|
if (nppParameters.archType() == IMAGE_FILE_MACHINE_AMD64)
|
||||||
{
|
{
|
||||||
upPlParams += TEXT(" -px64");
|
upPlParams += L" -px64";
|
||||||
}
|
}
|
||||||
else if (nppParameters.archType() == IMAGE_FILE_MACHINE_ARM64)
|
else if (nppParameters.archType() == IMAGE_FILE_MACHINE_ARM64)
|
||||||
{
|
{
|
||||||
upPlParams += TEXT(" -parm64");
|
upPlParams += L" -parm64";
|
||||||
}
|
}
|
||||||
|
|
||||||
upPlParams += TEXT(" -upZip");
|
upPlParams += L" -upZip";
|
||||||
|
|
||||||
// overrided "InfoUrl" in gup.xml
|
// overrided "InfoUrl" in gup.xml
|
||||||
upPlParams += TEXT(" https://notepad-plus-plus.org/update/pluginListDownloadUrl.php");
|
upPlParams += L" https://notepad-plus-plus.org/update/pluginListDownloadUrl.php";
|
||||||
|
|
||||||
// indicate the pluginList installation location
|
// indicate the pluginList installation location
|
||||||
upPlParams += nppParameters.getPluginConfDir();
|
upPlParams += nppParameters.getPluginConfDir();
|
||||||
|
@ -731,10 +731,10 @@ int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE /*hPrevInstance
|
||||||
catch (int i)
|
catch (int i)
|
||||||
{
|
{
|
||||||
wchar_t str[50] = L"God Damned Exception:";
|
wchar_t str[50] = L"God Damned Exception:";
|
||||||
TCHAR code[10];
|
wchar_t code[10];
|
||||||
wsprintf(code, TEXT("%d"), i);
|
wsprintf(code, L"%d", i);
|
||||||
wcscat_s(str, code);
|
wcscat_s(str, code);
|
||||||
::MessageBox(Notepad_plus_Window::gNppHWND, str, TEXT("Int Exception"), MB_OK);
|
::MessageBox(Notepad_plus_Window::gNppHWND, str, L"Int Exception", MB_OK);
|
||||||
doException(notepad_plus_plus);
|
doException(notepad_plus_plus);
|
||||||
}
|
}
|
||||||
catch (std::runtime_error & ex)
|
catch (std::runtime_error & ex)
|
||||||
|
@ -744,10 +744,10 @@ int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE /*hPrevInstance
|
||||||
}
|
}
|
||||||
catch (const Win32Exception & ex)
|
catch (const Win32Exception & ex)
|
||||||
{
|
{
|
||||||
TCHAR message[1024]; //TODO: sane number
|
wchar_t message[1024]; //TODO: sane number
|
||||||
wsprintf(message, TEXT("An exception occured. Notepad++ cannot recover and must be shut down.\r\nThe exception details are as follows:\r\n")
|
wsprintf(message, L"An exception occured. Notepad++ cannot recover and must be shut down.\r\nThe exception details are as follows:\r\n"
|
||||||
TEXT("Code:\t0x%08X\r\nType:\t%S\r\nException address: 0x%p"), ex.code(), ex.what(), ex.where());
|
L"Code:\t0x%08X\r\nType:\t%S\r\nException address: 0x%p", ex.code(), ex.what(), ex.where());
|
||||||
::MessageBox(Notepad_plus_Window::gNppHWND, message, TEXT("Win32Exception"), MB_OK | MB_ICONERROR);
|
::MessageBox(Notepad_plus_Window::gNppHWND, message, L"Win32Exception", MB_OK | MB_ICONERROR);
|
||||||
mdump.writeDump(ex.info());
|
mdump.writeDump(ex.info());
|
||||||
doException(notepad_plus_plus);
|
doException(notepad_plus_plus);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue