[Winmerge-svn] SF.net SVN: winmerge: [4595] trunk/Src/Common
Windows visual diff and merge for files and directories
Brought to you by:
christianlist,
grimmdp
From: <jt...@us...> - 2007-10-06 12:21:30
|
Revision: 4595 http://winmerge.svn.sourceforge.net/winmerge/?rev=4595&view=rev Author: jtuc Date: 2007-10-06 05:21:28 -0700 (Sat, 06 Oct 2007) Log Message: ----------- Patch #1804762 continued Modified Paths: -------------- trunk/Src/Common/LanguageSelect.cpp trunk/Src/Common/LanguageSelect.h trunk/Src/Common/PreferencesDlg.cpp Modified: trunk/Src/Common/LanguageSelect.cpp =================================================================== --- trunk/Src/Common/LanguageSelect.cpp 2007-10-06 12:20:08 UTC (rev 4594) +++ trunk/Src/Common/LanguageSelect.cpp 2007-10-06 12:21:28 UTC (rev 4595) @@ -861,6 +861,40 @@ return s; } +std::wstring CLanguageSelect::LoadDialogCaption(LPCTSTR lpDialogTemplateID) const +{ + std::wstring s; + if (HINSTANCE hInst = AfxFindResourceHandle(lpDialogTemplateID, RT_DIALOG)) + { + if (HRSRC hRsrc = FindResource(hInst, lpDialogTemplateID, RT_DIALOG)) + { + if (LPCWSTR text = (LPCWSTR)LoadResource(hInst, hRsrc)) + { + // Skip DLGTEMPLATE or DLGTEMPLATEEX + text += text[1] == 0xFFFF ? 13 : 9; + // Skip menu name string or ordinal + if (*text == (const WCHAR)-1) + text += 2; // WCHARs + else + while (*text++); + // Skip class name string or ordinal + if (*text == (const WCHAR)-1) + text += 2; // WCHARs + else + while (*text++); + // Caption string is ahead +#if LANG_PO(FALSE, TRUE) // compiling for use with .PO files + int line = 0; + swscanf(text, L"Merge.rc:%d", &line); + if (!TranslateString(line, s)) +#endif + s = text; + } + } + } + return s; +} + void CLanguageSelect::ReloadMenu() { if (m_idDocMenu) Modified: trunk/Src/Common/LanguageSelect.h =================================================================== --- trunk/Src/Common/LanguageSelect.h 2007-10-06 12:20:08 UTC (rev 4594) +++ trunk/Src/Common/LanguageSelect.h 2007-10-06 12:21:28 UTC (rev 4595) @@ -52,6 +52,7 @@ void TranslateMenu(HMENU) const; void TranslateDialog(HWND) const; String LoadString(UINT) const; + std::wstring LoadDialogCaption(LPCTSTR lpDialogTemplateID) const; // Implementation data private: Modified: trunk/Src/Common/PreferencesDlg.cpp =================================================================== --- trunk/Src/Common/PreferencesDlg.cpp 2007-10-06 12:20:08 UTC (rev 4594) +++ trunk/Src/Common/PreferencesDlg.cpp 2007-10-06 12:21:28 UTC (rev 4595) @@ -207,7 +207,7 @@ // update caption CString sCaption; - AfxFormatString1(sCaption, IDS_OPTIONS_TITLE, GetItemPath(htiSel)); + LangFormatString1(sCaption, IDS_OPTIONS_TITLE, GetItemPath(htiSel)); SetWindowText(sCaption); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |