mirror of
https://github.com/Open-Shell/Open-Shell-Menu.git
synced 2026-04-11 17:37:22 +10:00
Remove old updating mechanism
We have our own updating already and don't plan to use old one. There is no need to keep it around.
This commit is contained in:
@@ -4,7 +4,6 @@
|
||||
|
||||
#include <stdafx.h>
|
||||
#include "resource.h"
|
||||
#include "..\Setup\UpdateBin\resource.h"
|
||||
#include "DownloadHelper.h"
|
||||
#include "Settings.h"
|
||||
#include "SettingsUIHelper.h"
|
||||
@@ -371,60 +370,6 @@ static DWORD WINAPI ThreadVersionCheck( void *param )
|
||||
data.bNewVersion=(data.newVersion>curVersion);
|
||||
data.bIgnoreVersion=(data.bNewVersion && data.newVersion<=remindedVersion);
|
||||
}
|
||||
{
|
||||
wchar_t languages[100]={0};
|
||||
CString language2=GetSettingString(L"Language");
|
||||
if (!language2.IsEmpty())
|
||||
{
|
||||
Strcpy(languages,_countof(languages)-1,language2);
|
||||
}
|
||||
else
|
||||
{
|
||||
ULONG size=0;
|
||||
ULONG len=_countof(languages);
|
||||
GetUserPreferredUILanguages(MUI_LANGUAGE_NAME,&size,languages,&len);
|
||||
}
|
||||
|
||||
bool bNewLanguage=false;
|
||||
for (wchar_t *lang=languages;*lang;lang+=Strlen(lang)+1)
|
||||
{
|
||||
if (_wcsicmp(lang,L"en")==0 || _wcsnicmp(lang,L"en-",3)==0)
|
||||
break; // English
|
||||
DWORD dllVersion=0, dllBuild=0;
|
||||
HINSTANCE resInstance=LoadTranslationDll(lang);
|
||||
if (resInstance)
|
||||
{
|
||||
dllVersion=GetVersionEx(resInstance,&dllBuild);
|
||||
FreeLibrary(resInstance);
|
||||
}
|
||||
|
||||
DWORD newVersion=0, newBuild=0;
|
||||
for (std::vector<LanguageVersionData>::const_iterator it=data.languages.begin();it!=data.languages.end();++it)
|
||||
{
|
||||
if (_wcsicmp(it->language,lang)==0)
|
||||
{
|
||||
newVersion=it->version;
|
||||
newBuild=it->build;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (newVersion==0)
|
||||
continue;
|
||||
|
||||
if (newVersion>dllVersion || (newVersion==dllVersion && newBuild>dllBuild))
|
||||
{
|
||||
// a new DLL for this language exists
|
||||
data.bNewLanguage=true;
|
||||
data.newLanguage=lang;
|
||||
data.encodedLangVersion=(newVersion&0xFFFF0000)|((newVersion&0xFF)<<8)|(newBuild&0xFF);
|
||||
DWORD remindedVersion;
|
||||
if (regKey.QueryDWORDValue(L"RemindedLangVersion",remindedVersion)!=ERROR_SUCCESS)
|
||||
remindedVersion=0;
|
||||
data.bIgnoreLanguage=(data.encodedLangVersion<=remindedVersion);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
data.bValid=true;
|
||||
if (params.check==CHECK_UPDATE)
|
||||
@@ -433,7 +378,7 @@ static DWORD WINAPI ThreadVersionCheck( void *param )
|
||||
g_bCheckingVersion=false;
|
||||
return 1;
|
||||
}
|
||||
if ((data.bNewVersion && !data.bIgnoreVersion) || (data.bNewLanguage && !data.bIgnoreLanguage))
|
||||
if (data.bNewVersion && !data.bIgnoreVersion)
|
||||
params.callback(data);
|
||||
g_bCheckingVersion=false;
|
||||
return 0;
|
||||
@@ -576,39 +521,6 @@ static CString LoadStringEx( HMODULE hModule, int stringId, int langId )
|
||||
return res;
|
||||
}
|
||||
|
||||
static BOOL CALLBACK EnumStringLanguages( HMODULE hModule, LPCTSTR lpszType, LPCTSTR lpszName, WORD wIDLanguage, LONG_PTR lParam )
|
||||
{
|
||||
VersionData &data=*(VersionData*)lParam;
|
||||
CString url=LoadStringEx(hModule,IDS_LNG_URL,wIDLanguage);
|
||||
if (url.IsEmpty()) return TRUE;
|
||||
CString ver=LoadStringEx(hModule,IDS_LNG_VERSION,wIDLanguage);
|
||||
if (ver.IsEmpty()) return TRUE;
|
||||
CString crc=LoadStringEx(hModule,IDS_LNG_CRC,wIDLanguage);
|
||||
if (crc.IsEmpty()) return TRUE;
|
||||
|
||||
LanguageVersionData langData;
|
||||
langData.bBasic=(ver[ver.GetLength()-1]=='*');
|
||||
|
||||
int v1, v2, v3, v4;
|
||||
if (swscanf_s(ver,L"%d.%d.%d.%d",&v1,&v2,&v3,&v4)==4)
|
||||
{
|
||||
wchar_t buf[100];
|
||||
if (GetLocaleInfo(wIDLanguage,LOCALE_SNAME,buf,_countof(buf)))
|
||||
{
|
||||
langData.languageId=wIDLanguage;
|
||||
langData.language=buf;
|
||||
langData.version=(v1<<24)|(v2<<16)|v3;
|
||||
langData.build=v4;
|
||||
langData.url=url;
|
||||
wchar_t *q;
|
||||
langData.hash=wcstoul(crc,&q,16);
|
||||
data.languages.push_back(langData);
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static bool VerifyDigitalCertificate( const wchar_t *fname, const wchar_t *signer )
|
||||
{
|
||||
// verify the certificate
|
||||
@@ -710,38 +622,24 @@ static bool VerifyDigitalCertificate( const wchar_t *fname, const wchar_t *signe
|
||||
void VersionData::Clear( void )
|
||||
{
|
||||
bValid=false;
|
||||
newVersion=encodedLangVersion=0;
|
||||
newVersion=0;
|
||||
downloadUrl.Empty();
|
||||
downloadSigner.Empty();
|
||||
news.Empty();
|
||||
updateLink.Empty();
|
||||
languageLink.Empty();
|
||||
altUrl.Empty();
|
||||
bNewVersion=bIgnoreVersion=bNewLanguage=bIgnoreLanguage=false;
|
||||
newLanguage.Empty();
|
||||
for (std::vector<LanguageVersionData>::iterator it=languages.begin();it!=languages.end();++it)
|
||||
if (it->bitmap)
|
||||
DeleteObject(it->bitmap);
|
||||
languages.clear();
|
||||
updateLink="https://github.com/Open-Shell/Open-Shell-Menu/releases";
|
||||
bNewVersion=bIgnoreVersion=false;
|
||||
}
|
||||
|
||||
void VersionData::Swap( VersionData &data )
|
||||
{
|
||||
std::swap(bValid,data.bValid);
|
||||
std::swap(newVersion,data.newVersion);
|
||||
std::swap(encodedLangVersion,data.encodedLangVersion);
|
||||
std::swap(downloadUrl,data.downloadUrl);
|
||||
std::swap(downloadSigner,data.downloadSigner);
|
||||
std::swap(news,data.news);
|
||||
std::swap(updateLink,data.updateLink);
|
||||
std::swap(languageLink,data.languageLink);
|
||||
std::swap(altUrl,data.altUrl);
|
||||
std::swap(bNewVersion,data.bNewVersion);
|
||||
std::swap(bIgnoreVersion,data.bIgnoreVersion);
|
||||
std::swap(bNewLanguage,data.bNewLanguage);
|
||||
std::swap(bIgnoreLanguage,data.bIgnoreLanguage);
|
||||
std::swap(newLanguage,data.newLanguage);
|
||||
std::swap(languages,data.languages);
|
||||
}
|
||||
|
||||
std::vector<char> DownloadUrl(const wchar_t* url)
|
||||
@@ -850,69 +748,6 @@ VersionData::TLoadResult VersionData::Load(bool official)
|
||||
}
|
||||
}
|
||||
|
||||
VersionData::TLoadResult VersionData::Load( const wchar_t *fname, bool bLoadFlags )
|
||||
{
|
||||
Clear();
|
||||
if (!VerifyDigitalCertificate(fname,L"Ivaylo Beltchev"))
|
||||
return LOAD_BAD_FILE;
|
||||
|
||||
HMODULE hModule=LoadLibraryEx(fname,NULL,LOAD_LIBRARY_AS_DATAFILE|LOAD_LIBRARY_AS_IMAGE_RESOURCE);
|
||||
if (!hModule) return LOAD_BAD_FILE;
|
||||
|
||||
if (GetVersionEx(hModule)!=GetVersionEx(g_Instance))
|
||||
{
|
||||
FreeLibrary(hModule);
|
||||
return LOAD_BAD_VERSION;
|
||||
}
|
||||
|
||||
wchar_t defLang[100]=L"";
|
||||
{
|
||||
CRegKey regKeyLng;
|
||||
if (regKeyLng.Open(HKEY_LOCAL_MACHINE,L"Software\\OpenShell\\OpenShell",KEY_READ|KEY_WOW64_64KEY)==ERROR_SUCCESS)
|
||||
{
|
||||
ULONG size=_countof(defLang);
|
||||
if (regKeyLng.QueryStringValue(L"DefaultLanguage",defLang,&size)!=ERROR_SUCCESS)
|
||||
defLang[0]=0;
|
||||
}
|
||||
}
|
||||
|
||||
const int DEFAULT_LANGUAGE=0x409;
|
||||
|
||||
int defLangId;
|
||||
if (!defLang[0] || !GetLocaleInfoEx(defLang,LOCALE_ILANGUAGE|LOCALE_RETURN_NUMBER,(LPWSTR)&defLangId,4))
|
||||
defLangId=DEFAULT_LANGUAGE;
|
||||
|
||||
downloadUrl=LoadStringEx(hModule,IDS_INSTALL_URL,defLangId);
|
||||
// these are always in en-US
|
||||
downloadSigner=LoadStringEx(hModule,IDS_INSTALL_SIGNER,DEFAULT_LANGUAGE);
|
||||
CString strVer=LoadStringEx(hModule,IDS_VERSION,defLangId);
|
||||
if (strVer.IsEmpty())
|
||||
strVer=LoadStringEx(hModule,IDS_VERSION,DEFAULT_LANGUAGE);
|
||||
updateLink=LoadStringEx(hModule,IDS_UPDATE_LINK,DEFAULT_LANGUAGE);
|
||||
languageLink=LoadStringEx(hModule,IDS_LANGUAGE_LINK,DEFAULT_LANGUAGE);
|
||||
altUrl=LoadStringEx(hModule,IDS_ALT_URL,DEFAULT_LANGUAGE);
|
||||
|
||||
int v1, v2, v3;
|
||||
if (!downloadUrl.IsEmpty() && swscanf_s(strVer,L"%d.%d.%d",&v1,&v2,&v3)==3)
|
||||
{
|
||||
newVersion=(v1<<24)|(v2<<16)|v3;
|
||||
news=LoadStringEx(hModule,IDS_NEWS,defLangId);
|
||||
if (news.IsEmpty())
|
||||
news=LoadStringEx(hModule,IDS_NEWS,DEFAULT_LANGUAGE);
|
||||
|
||||
EnumResourceLanguages(hModule,RT_STRING,MAKEINTRESOURCE((IDS_LNG_URL>>4)+1),EnumStringLanguages,(LONG_PTR)this);
|
||||
for (std::vector<LanguageVersionData>::iterator it=languages.begin();it!=languages.end();++it)
|
||||
it->bitmap=(HBITMAP)LoadImage(hModule,MAKEINTRESOURCE(it->languageId),IMAGE_BITMAP,22,27,LR_CREATEDIBSECTION);
|
||||
}
|
||||
|
||||
FreeLibrary(hModule);
|
||||
|
||||
if (newVersion && !downloadUrl.IsEmpty() && !news.IsEmpty())
|
||||
return LOAD_OK;
|
||||
Clear();
|
||||
return LOAD_ERROR;
|
||||
}
|
||||
|
||||
struct DownloadFileParams
|
||||
{
|
||||
// input
|
||||
@@ -989,82 +824,6 @@ static DWORD WINAPI ThreadDownloadFile( void *param )
|
||||
return 0;
|
||||
}
|
||||
|
||||
DWORD DownloadLanguageDll( HWND owner, TSettingsComponent component, const LanguageVersionData &data, CString &error )
|
||||
{
|
||||
// download file
|
||||
wchar_t path[_MAX_PATH]=L"%ALLUSERSPROFILE%\\OpenShell\\Languages";
|
||||
DoEnvironmentSubst(path,_countof(path));
|
||||
SHCreateDirectory(NULL,path);
|
||||
wchar_t fname[_MAX_PATH];
|
||||
Sprintf(fname,_countof(fname),L"%s.dll",data.language);
|
||||
|
||||
CProgressDlg progress;
|
||||
progress.Create(owner,LoadStringEx(IDS_PROGRESS_TITLE_DOWNLOAD));
|
||||
|
||||
DownloadFileParams params;
|
||||
params.url=data.url;
|
||||
params.signer=NULL;
|
||||
params.hash=data.hash;
|
||||
params.path=path;
|
||||
params.fname=fname;
|
||||
params.progress=&progress;
|
||||
params.bAcceptCached=true;
|
||||
params.component=component;
|
||||
|
||||
HANDLE hThread=CreateThread(NULL,0,ThreadDownloadFile,¶ms,0,NULL);
|
||||
|
||||
while (1)
|
||||
{
|
||||
DWORD wait=MsgWaitForMultipleObjects(1,&hThread,FALSE,INFINITE,QS_ALLINPUT);
|
||||
if (wait!=WAIT_OBJECT_0+1)
|
||||
break;
|
||||
MSG msg;
|
||||
while (PeekMessage(&msg,0,0,0,PM_REMOVE))
|
||||
{
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
}
|
||||
}
|
||||
progress.DestroyWindow();
|
||||
CloseHandle(hThread);
|
||||
|
||||
if (params.downloadRes==DOWNLOAD_CANCEL)
|
||||
return 2;
|
||||
if (params.downloadRes==DOWNLOAD_INTERNET)
|
||||
{
|
||||
error=LoadStringEx(IDS_INTERNET_FAIL);
|
||||
return 0;
|
||||
}
|
||||
else if (params.downloadRes==DOWNLOAD_START)
|
||||
{
|
||||
error=LoadStringEx(IDS_INITIATE_FAIL);
|
||||
return 0;
|
||||
}
|
||||
else if (params.downloadRes==DOWNLOAD_FAIL)
|
||||
{
|
||||
error=LoadStringEx(IDS_LANG_DOWNLOAD_FAIL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (params.saveRes)
|
||||
{
|
||||
wchar_t msg[256];
|
||||
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,params.saveRes,0,msg,_countof(msg),NULL);
|
||||
error.Format(LoadStringEx(IDS_LANG_SAVE_FAIL),params.fname);
|
||||
error+="\r\n";
|
||||
error+=msg;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!params.valid)
|
||||
{
|
||||
error=LoadStringEx(IDS_LANG_DOWNLOAD_FAIL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
DWORD DownloadNewVersion( HWND owner, TSettingsComponent component, const wchar_t *url, const wchar_t *signer, CString &fname, CString &error )
|
||||
{
|
||||
CComString pPath;
|
||||
|
||||
@@ -15,37 +15,16 @@ enum TVersionCheck
|
||||
|
||||
enum TSettingsComponent;
|
||||
|
||||
struct LanguageVersionData
|
||||
{
|
||||
CString language;
|
||||
CString url;
|
||||
DWORD version;
|
||||
DWORD build;
|
||||
DWORD hash;
|
||||
bool bBasic;
|
||||
WORD languageId;
|
||||
HBITMAP bitmap;
|
||||
|
||||
LanguageVersionData( void ) { bBasic=false; bitmap=NULL; }
|
||||
};
|
||||
|
||||
struct VersionData
|
||||
{
|
||||
bool bValid = false;
|
||||
DWORD newVersion = 0;
|
||||
DWORD encodedLangVersion = 0;
|
||||
CString downloadUrl;
|
||||
CString downloadSigner;
|
||||
CString news;
|
||||
CString updateLink;
|
||||
CString languageLink;
|
||||
CString altUrl;
|
||||
bool bNewVersion = false;
|
||||
bool bIgnoreVersion = false;
|
||||
bool bNewLanguage = false;
|
||||
bool bIgnoreLanguage = false;
|
||||
CString newLanguage;
|
||||
std::vector<LanguageVersionData> languages;
|
||||
|
||||
~VersionData( void ) { Clear(); }
|
||||
void Clear( void );
|
||||
@@ -60,7 +39,6 @@ struct VersionData
|
||||
};
|
||||
|
||||
TLoadResult Load(bool official);
|
||||
TLoadResult Load( const wchar_t *fname, bool bLoadFlags );
|
||||
private:
|
||||
void operator=( const VersionData& );
|
||||
};
|
||||
@@ -69,5 +47,4 @@ typedef void (*tNewVersionCallback)( VersionData &data );
|
||||
|
||||
// 0 - fail, 1 - success, 2 - cancel
|
||||
DWORD CheckForNewVersion( HWND owner, TSettingsComponent component, TVersionCheck check, tNewVersionCallback callback );
|
||||
DWORD DownloadLanguageDll( HWND owner, TSettingsComponent component, const LanguageVersionData &data, CString &error );
|
||||
DWORD DownloadNewVersion( HWND owner, TSettingsComponent component, const wchar_t *url, const wchar_t *signer, CString &fname, CString &error );
|
||||
|
||||
@@ -68,17 +68,13 @@ public:
|
||||
MESSAGE_HANDLER( WM_INITDIALOG, OnInitDialog )
|
||||
MESSAGE_HANDLER( WM_DESTROY, OnDestroy )
|
||||
MESSAGE_HANDLER( WM_SIZE, OnSize )
|
||||
COMMAND_ID_HANDLER( IDC_BUTTONCHECK, OnCheckUpdates )
|
||||
NOTIFY_HANDLER( IDC_LISTLANGUAGE, LVN_ITEMCHANGED, OnSelChange )
|
||||
NOTIFY_HANDLER( IDC_LISTLANGUAGE, LVN_ITEMCHANGING, OnSelChanging )
|
||||
NOTIFY_HANDLER( IDC_LISTLANGUAGE, NM_CUSTOMDRAW, OnCustomDraw )
|
||||
NOTIFY_HANDLER( IDC_LINKDOWNLOAD, NM_CLICK, OnDownload )
|
||||
END_MSG_MAP()
|
||||
|
||||
BEGIN_RESIZE_MAP
|
||||
RESIZE_CONTROL(IDC_LISTLANGUAGE,MOVE_SIZE_X|MOVE_SIZE_Y)
|
||||
RESIZE_CONTROL(IDC_BUTTONCHECK,MOVE_MOVE_Y)
|
||||
RESIZE_CONTROL(IDC_LINKDOWNLOAD,MOVE_SIZE_X|MOVE_MOVE_Y)
|
||||
END_RESIZE_MAP
|
||||
|
||||
void SetGroup( CSetting *pGroup );
|
||||
@@ -92,11 +88,9 @@ protected:
|
||||
LRESULT OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
|
||||
LRESULT OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
|
||||
LRESULT OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
|
||||
LRESULT OnCheckUpdates( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled );
|
||||
LRESULT OnSelChange( int idCtrl, LPNMHDR pnmh, BOOL& bHandled );
|
||||
LRESULT OnSelChanging( int idCtrl, LPNMHDR pnmh, BOOL& bHandled );
|
||||
LRESULT OnCustomDraw( int idCtrl, LPNMHDR pnmh, BOOL& bHandled );
|
||||
LRESULT OnDownload( int idCtrl, LPNMHDR pnmh, BOOL& bHandled );
|
||||
|
||||
private:
|
||||
CSetting *m_pSetting;
|
||||
@@ -114,17 +108,12 @@ private:
|
||||
bool operator<( const LangInfo &info ) { return _wcsicmp(name,info.name)<0; }
|
||||
};
|
||||
std::vector<LangInfo> m_LanguageIDs; // the order matches the items in the listbox
|
||||
static VersionData s_VersionData;
|
||||
static void NewVersionCallback( VersionData &data );
|
||||
|
||||
void UpdateFlags( void );
|
||||
void UpdateLink( const wchar_t *language );
|
||||
|
||||
void AddFlag( const wchar_t *langName, int langId, HBITMAP bmp );
|
||||
};
|
||||
|
||||
VersionData CLanguageSettingsDlg::s_VersionData;
|
||||
|
||||
void CLanguageSettingsDlg::AddFlag( const wchar_t *langName, int langId, HBITMAP bmp )
|
||||
{
|
||||
int idx=1;
|
||||
@@ -156,39 +145,6 @@ void CLanguageSettingsDlg::AddFlag( const wchar_t *langName, int langId, HBITMAP
|
||||
|
||||
void CLanguageSettingsDlg::UpdateFlags( void )
|
||||
{
|
||||
// add flags from s_VersionData
|
||||
for (std::vector<LanguageVersionData>::const_iterator it=s_VersionData.languages.begin();it!=s_VersionData.languages.end();++it)
|
||||
{
|
||||
if (it->bitmap)
|
||||
{
|
||||
BITMAPINFO bi={0};
|
||||
bi.bmiHeader.biSize=sizeof(BITMAPINFOHEADER);
|
||||
bi.bmiHeader.biWidth=m_bLargeFlags?32:24;
|
||||
bi.bmiHeader.biHeight=m_bLargeFlags?16:11;
|
||||
bi.bmiHeader.biPlanes=1;
|
||||
bi.bmiHeader.biBitCount=32;
|
||||
|
||||
HDC hdc=CreateCompatibleDC(NULL);
|
||||
HBITMAP bmp=CreateDIBSection(hdc,&bi,DIB_RGB_COLORS,NULL,NULL,0);
|
||||
HGDIOBJ bmp0=SelectObject(hdc,bmp);
|
||||
HDC hsrc=CreateCompatibleDC(hdc);
|
||||
HGDIOBJ bmp02=SelectObject(hsrc,it->bitmap);
|
||||
SetDCBrushColor(hdc,0xFF00FF);
|
||||
RECT rc={0,0,bi.bmiHeader.biWidth,bi.bmiHeader.biHeight};
|
||||
FillRect(hdc,&rc,(HBRUSH)GetStockObject(DC_BRUSH));
|
||||
if (m_bLargeFlags)
|
||||
BitBlt(hdc,3,0,22,16,hsrc,0,11,SRCCOPY);
|
||||
else
|
||||
BitBlt(hdc,2,0,16,11,hsrc,0,0,SRCCOPY);
|
||||
SelectObject(hsrc,bmp02);
|
||||
DeleteDC(hsrc);
|
||||
SelectObject(hdc,bmp0);
|
||||
DeleteDC(hdc);
|
||||
AddFlag(it->language,it->languageId,bmp);
|
||||
DeleteObject(bmp);
|
||||
}
|
||||
}
|
||||
|
||||
// add flags from dlls
|
||||
for (int pass=0;pass<2;pass++)
|
||||
{
|
||||
@@ -288,7 +244,6 @@ LRESULT CLanguageSettingsDlg::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lPa
|
||||
ListView_SetExtendedListViewStyleEx(list,LVS_EX_DOUBLEBUFFER,LVS_EX_DOUBLEBUFFER);
|
||||
LVCOLUMN column={LVCF_WIDTH,0,rc.right-rc.left};
|
||||
ListView_InsertColumn(list,0,&column);
|
||||
SetDlgItemText(IDC_LINKDOWNLOAD,L"");
|
||||
|
||||
m_LanguageIDs.resize(_countof(g_LanguageIDs)+1);
|
||||
{
|
||||
@@ -331,11 +286,6 @@ LRESULT CLanguageSettingsDlg::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lPa
|
||||
ListView_InsertItem(list,&item);
|
||||
}
|
||||
|
||||
// parse update.ver in data and add all flags
|
||||
wchar_t path[_MAX_PATH]=L"%ALLUSERSPROFILE%\\OpenShell\\update.ver";
|
||||
DoEnvironmentSubst(path,_countof(path));
|
||||
s_VersionData.bValid=(s_VersionData.Load(path,true)==VersionData::LOAD_OK);
|
||||
|
||||
UpdateFlags();
|
||||
|
||||
m_Tooltip.Create(TOOLTIPS_CLASS,m_hWnd,NULL,NULL,WS_POPUP|TTS_NOPREFIX);
|
||||
@@ -359,40 +309,6 @@ LRESULT CLanguageSettingsDlg::OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, B
|
||||
return 0;
|
||||
}
|
||||
|
||||
void CLanguageSettingsDlg::NewVersionCallback( VersionData &data )
|
||||
{
|
||||
s_VersionData.Swap(data);
|
||||
}
|
||||
|
||||
LRESULT CLanguageSettingsDlg::OnCheckUpdates( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled )
|
||||
{
|
||||
DWORD res=CheckForNewVersion(m_hWnd,m_Component,CHECK_UPDATE,NewVersionCallback);
|
||||
if (res==2) return 0;
|
||||
if (res)
|
||||
{
|
||||
UpdateFlags();
|
||||
CString language=GetSettingString(L"Language");
|
||||
CWindow list=GetDlgItem(IDC_LISTLANGUAGE);
|
||||
for (int idx=0;idx<(int)m_LanguageIDs.size();idx++)
|
||||
{
|
||||
const wchar_t *name=idx>0?m_LanguageIDs[idx].name.GetString():L"";
|
||||
if (_wcsicmp(language,name)==0)
|
||||
{
|
||||
ListView_SetItemState(list,idx,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED);
|
||||
ListView_EnsureVisible(list,idx,FALSE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
UpdateLink(language);
|
||||
}
|
||||
else
|
||||
{
|
||||
s_VersionData.Clear();
|
||||
SetDlgItemText(IDC_LINKDOWNLOAD,LoadStringEx(IDS_LANGUAGE_FAIL));
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CLanguageSettingsDlg::OnSelChange( int idCtrl, LPNMHDR pnmh, BOOL& bHandled )
|
||||
{
|
||||
// set setting
|
||||
@@ -411,7 +327,6 @@ LRESULT CLanguageSettingsDlg::OnSelChange( int idCtrl, LPNMHDR pnmh, BOOL& bHand
|
||||
m_pSetting->flags|=CSetting::FLAG_DEFAULT;
|
||||
else
|
||||
m_pSetting->flags&=~CSetting::FLAG_DEFAULT;
|
||||
UpdateLink(name);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -448,41 +363,6 @@ static HRESULT CALLBACK TaskDialogCallbackProc( HWND hwnd, UINT uNotification, W
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
LRESULT CLanguageSettingsDlg::OnDownload( int idCtrl, LPNMHDR pnmh, BOOL& bHandled )
|
||||
{
|
||||
CString language=GetSettingString(L"Language");
|
||||
if (language.IsEmpty())
|
||||
language=m_LanguageIDs[0].name;
|
||||
|
||||
for (std::vector<LanguageVersionData>::const_iterator it=s_VersionData.languages.begin();it!=s_VersionData.languages.end();++it)
|
||||
{
|
||||
if (_wcsicmp(it->language,language)==0)
|
||||
{
|
||||
CString error;
|
||||
DWORD res=DownloadLanguageDll(m_hWnd,m_Component,*it,error);
|
||||
if (res==2)
|
||||
return 0;
|
||||
if (res)
|
||||
MessageBox(LoadStringEx(it->bBasic?IDS_LANGUAGE_SUCCESS2:IDS_LANGUAGE_SUCCESS),LoadStringEx(IDS_UPDATE_TITLE),MB_OK|(it->bBasic?MB_ICONWARNING:MB_ICONINFORMATION));
|
||||
else
|
||||
{
|
||||
if (!s_VersionData.languageLink.IsEmpty())
|
||||
error+=L" "+LoadStringEx(IDS_DOWNLOAD_TIP)+L"\r\n\r\n"+s_VersionData.languageLink;
|
||||
TASKDIALOGCONFIG task={sizeof(task),m_hWnd,NULL,TDF_ENABLE_HYPERLINKS|TDF_ALLOW_DIALOG_CANCELLATION|TDF_USE_HICON_MAIN,TDCBF_OK_BUTTON};
|
||||
CString title=LoadStringEx(IDS_UPDATE_TITLE);
|
||||
task.pszWindowTitle=title;
|
||||
task.pszContent=error;
|
||||
task.hMainIcon=LoadIcon(NULL,IDI_ERROR);
|
||||
task.pfCallback=TaskDialogCallbackProc;
|
||||
TaskDialogIndirect(&task,NULL,NULL,NULL);
|
||||
}
|
||||
UpdateLink(language);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void CLanguageSettingsDlg::SetGroup( CSetting *pGroup )
|
||||
{
|
||||
m_bLocked=false;
|
||||
@@ -504,7 +384,6 @@ void CLanguageSettingsDlg::SetGroup( CSetting *pGroup )
|
||||
break;
|
||||
}
|
||||
}
|
||||
UpdateLink(m_pSetting->value.bstrVal);
|
||||
m_bLocked=m_pSetting->IsLocked();
|
||||
|
||||
TOOLINFO tool={sizeof(tool),0,m_hWnd,'CLSH'};
|
||||
@@ -517,52 +396,6 @@ void CLanguageSettingsDlg::SetGroup( CSetting *pGroup )
|
||||
ListView_SetBkColor(list,GetSysColor(m_bLocked?COLOR_BTNFACE:COLOR_WINDOW));
|
||||
}
|
||||
|
||||
void CLanguageSettingsDlg::UpdateLink( const wchar_t *language )
|
||||
{
|
||||
TOOLINFO tool={sizeof(tool),TTF_SUBCLASS|TTF_IDISHWND,m_hWnd,'CLSH'};
|
||||
tool.uId=(UINT_PTR)GetDlgItem(IDC_LINKDOWNLOAD).m_hWnd;
|
||||
m_Tooltip.SendMessage(TTM_DELTOOL,0,(LPARAM)&tool);
|
||||
|
||||
if (!s_VersionData.bValid)
|
||||
{
|
||||
SetDlgItemText(IDC_LINKDOWNLOAD,L"");
|
||||
return;
|
||||
}
|
||||
if (!*language)
|
||||
language=m_LanguageIDs[0].name;
|
||||
|
||||
wchar_t text[1024];
|
||||
for (std::vector<LanguageVersionData>::const_iterator it=s_VersionData.languages.begin();it!=s_VersionData.languages.end();++it)
|
||||
{
|
||||
if (_wcsicmp(it->language,language)==0)
|
||||
{
|
||||
DWORD dllVersion=0, dllBuild=0;
|
||||
HINSTANCE resInstance=LoadTranslationDll(language);
|
||||
if (resInstance)
|
||||
{
|
||||
dllVersion=GetVersionEx(resInstance,&dllBuild);
|
||||
FreeLibrary(resInstance);
|
||||
}
|
||||
if (it->version>dllVersion || (it->version==dllVersion && it->build>dllBuild))
|
||||
{
|
||||
Sprintf(text,_countof(text),LoadStringEx(IDS_LANGUAGE_DOWNLOAD),language);
|
||||
SetDlgItemText(IDC_LINKDOWNLOAD,text);
|
||||
|
||||
tool.lpszText=(LPWSTR)(LPCWSTR)it->url;
|
||||
m_Tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool);
|
||||
}
|
||||
else
|
||||
{
|
||||
Sprintf(text,_countof(text),LoadStringEx(IDS_LANGUAGE_UPDATED),language);
|
||||
SetDlgItemText(IDC_LINKDOWNLOAD,text);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
Sprintf(text,_countof(text),LoadStringEx(IDS_LANGUAGE_MISSING),language);
|
||||
SetDlgItemText(IDC_LINKDOWNLOAD,text);
|
||||
}
|
||||
|
||||
class CLanguageSettingsPanel: public ISettingsPanel
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -98,8 +98,6 @@ FONT 9, "Segoe UI", 400, 0, 0x0
|
||||
BEGIN
|
||||
CONTROL "",IDC_LISTLANGUAGE,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,7,18,302,99
|
||||
LTEXT "Select a language for the user interface:",IDC_STATICHINT,7,7,131,8
|
||||
PUSHBUTTON "&Check for Updates",IDC_BUTTONCHECK,7,123,75,14
|
||||
CONTROL "download link goes here",IDC_LINKDOWNLOAD,"SysLink",WS_TABSTOP,85,126,224,10
|
||||
END
|
||||
|
||||
IDD_CUSTOMTREE DIALOGEX 0, 0, 365, 183
|
||||
@@ -279,20 +277,12 @@ BEGIN
|
||||
IDS_SETTING_SEARCH "Search Results"
|
||||
IDS_WEBSITE_TIP "Visit Open-Shell on the web - https://open-shell.github.io/Open-Shell-Menu"
|
||||
IDS_LOCATE_SETTING "Locate setting"
|
||||
IDS_LANGUAGE_UPDATED "The language %s is up to date."
|
||||
IDS_LANGUAGE_MISSING "Update for language %s is not available."
|
||||
IDS_LANGUAGE_DOWNLOAD "New update for language %s is available. <a>Click here to install it.</a>"
|
||||
IDS_LANGUAGE_SUCCESS "The language file was installed successfully.\nYou need to log off and back on for the update to take effect."
|
||||
IDS_LANGUAGE_SUCCESS2 "The language file was installed successfully.\nYou need to log off and back on for the update to take effect.\n\nNote: This update provides only basic translations. It supports only the main text found in the start menu and in Explorer. The settings will not be translated."
|
||||
IDS_LANGUAGE_FAIL "Failed to check for updates."
|
||||
IDS_INTERNET_FAIL "Failed to connect to the Internet."
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_INITIATE_FAIL "Failed to initiate the download."
|
||||
IDS_LANG_DOWNLOAD_FAIL "Failed to download the language file."
|
||||
IDS_LANG_SAVE_FAIL "Failed to save language file '%s'."
|
||||
IDS_UPDATE_TITLE "Open-Shell Update"
|
||||
IDS_INST_DOWNLOAD_FAIL "Failed to download the new version."
|
||||
IDS_INST_SAVE_FAIL "Failed to save file '%s'."
|
||||
@@ -308,11 +298,6 @@ BEGIN
|
||||
IDS_UNSAVED_TITLE "Unsaved changes"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_VERSION_URL "http://www.classicshell.net/files/updates/update_"
|
||||
END
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
@@ -54,8 +54,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Win8", "Skins\Win8\Win8.vcx
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StartMenuHelper", "StartMenu\StartMenuHelper\StartMenuHelper.vcxproj", "{A42C6159-ACA8-46D1-A0FB-19C398B137D5}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UpdateBin", "Setup\UpdateBin\UpdateBin.vcxproj", "{F92A5473-F9E0-412F-923C-6632A66D13C1}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Utility", "Setup\Utility\Utility.vcxproj", "{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Midnight7", "Skins\Midnight7\Midnight7.vcxproj", "{7BD26CB3-5280-48FD-9A86-C13E321018D5}"
|
||||
@@ -320,13 +318,6 @@ Global
|
||||
{A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Setup|Win32.Build.0 = Setup|Win32
|
||||
{A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Setup|x64.ActiveCfg = Setup|x64
|
||||
{A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Setup|x64.Build.0 = Setup|x64
|
||||
{F92A5473-F9E0-412F-923C-6632A66D13C1}.Debug|Win32.ActiveCfg = update_4.3.1|Win32
|
||||
{F92A5473-F9E0-412F-923C-6632A66D13C1}.Debug|x64.ActiveCfg = update_4.2.7|Win32
|
||||
{F92A5473-F9E0-412F-923C-6632A66D13C1}.Release|Win32.ActiveCfg = update_4.2.7|Win32
|
||||
{F92A5473-F9E0-412F-923C-6632A66D13C1}.Release|Win32.Build.0 = update_4.2.7|Win32
|
||||
{F92A5473-F9E0-412F-923C-6632A66D13C1}.Release|x64.ActiveCfg = update_4.2.7|Win32
|
||||
{F92A5473-F9E0-412F-923C-6632A66D13C1}.Setup|Win32.ActiveCfg = update_4.2.7|Win32
|
||||
{F92A5473-F9E0-412F-923C-6632A66D13C1}.Setup|x64.ActiveCfg = update_4.3.0|Win32
|
||||
{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Debug|x64.ActiveCfg = Debug|x64
|
||||
@@ -434,7 +425,6 @@ Global
|
||||
{31C016FB-9EA1-4AF5-987A-37210C04DA06} = {409484D8-C0DB-4991-AF03-124128EDEF98}
|
||||
{5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089} = {409484D8-C0DB-4991-AF03-124128EDEF98}
|
||||
{ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94} = {409484D8-C0DB-4991-AF03-124128EDEF98}
|
||||
{F92A5473-F9E0-412F-923C-6632A66D13C1} = {B695E1F6-785D-45CB-BCE0-0E9635DFC1DE}
|
||||
{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF} = {B695E1F6-785D-45CB-BCE0-0E9635DFC1DE}
|
||||
{7BD26CB3-5280-48FD-9A86-C13E321018D5} = {409484D8-C0DB-4991-AF03-124128EDEF98}
|
||||
{598AB4AC-008E-4501-90B3-C5213834C1DA} = {409484D8-C0DB-4991-AF03-124128EDEF98}
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 848 B |
Binary file not shown.
@@ -1,506 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="update_4.1.0|Win32">
|
||||
<Configuration>update_4.1.0</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="update_4.2.0|Win32">
|
||||
<Configuration>update_4.2.0</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="update_4.2.1|Win32">
|
||||
<Configuration>update_4.2.1</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="update_4.2.2|Win32">
|
||||
<Configuration>update_4.2.2</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="update_4.2.3|Win32">
|
||||
<Configuration>update_4.2.3</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="update_4.2.4|Win32">
|
||||
<Configuration>update_4.2.4</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="update_4.2.5|Win32">
|
||||
<Configuration>update_4.2.5</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="update_4.2.6|Win32">
|
||||
<Configuration>update_4.2.6</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="update_4.2.7|Win32">
|
||||
<Configuration>update_4.2.7</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="update_4.3.0|Win32">
|
||||
<Configuration>update_4.3.0</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="update_4.3.1|Win32">
|
||||
<Configuration>update_4.3.1</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{F92A5473-F9E0-412F-923C-6632A66D13C1}</ProjectGuid>
|
||||
<RootNamespace>UpdateBin</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.3.1|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.3.0|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.7|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.6|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.5|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.4|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.3|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.2|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.1|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.0|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.1.0|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='update_4.3.1|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\Version.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='update_4.3.0|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\Version.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.7|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\Version.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.6|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\Version.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.5|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\Version.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.4|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\Version.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.3|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\Version.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.2|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\Version.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.1|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\Version.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.0|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\Version.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='update_4.1.0|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\Version.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.1.0|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.0|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.1|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.2|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.3|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.4|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.5|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.6|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.7|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.3.0|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='update_4.3.1|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='update_4.1.0|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>..\Final\$(Configuration).ver</OutputFile>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<NoEntryPoint>true</NoEntryPoint>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.0|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>..\Final\$(Configuration).ver</OutputFile>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<NoEntryPoint>true</NoEntryPoint>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.1|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>..\Final\$(Configuration).ver</OutputFile>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<NoEntryPoint>true</NoEntryPoint>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.2|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>..\Final\$(Configuration).ver</OutputFile>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<NoEntryPoint>true</NoEntryPoint>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.3|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>..\Final\$(Configuration).ver</OutputFile>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<NoEntryPoint>true</NoEntryPoint>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.4|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>..\Final\$(Configuration).ver</OutputFile>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<NoEntryPoint>true</NoEntryPoint>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.5|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>..\Final\$(Configuration).ver</OutputFile>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<NoEntryPoint>true</NoEntryPoint>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.6|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>..\Final\$(Configuration).ver</OutputFile>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<NoEntryPoint>true</NoEntryPoint>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='update_4.2.7|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>..\Final\$(Configuration).ver</OutputFile>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<NoEntryPoint>true</NoEntryPoint>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='update_4.3.0|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>..\Final\$(Configuration).ver</OutputFile>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<NoEntryPoint>true</NoEntryPoint>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='update_4.3.1|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>..\Final\$(Configuration).ver</OutputFile>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<NoEntryPoint>true</NoEntryPoint>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="resource.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="update_4.1.0.txt" />
|
||||
<Text Include="update_4.2.0.txt" />
|
||||
<Text Include="update_4.2.1.txt" />
|
||||
<Text Include="update_4.2.2.txt" />
|
||||
<Text Include="update_4.2.3.txt" />
|
||||
<Text Include="update_4.2.4.txt" />
|
||||
<Text Include="update_4.2.5.txt" />
|
||||
<Text Include="update_4.2.6.txt" />
|
||||
<Text Include="update_4.2.7.txt" />
|
||||
<Text Include="update_4.3.0.txt" />
|
||||
<Text Include="update_4.3.1.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="UpdateBin.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Utility\Utility.vcxproj">
|
||||
<Project>{dae66c9b-05dc-4ace-97da-2547b490bbff}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -1,10 +0,0 @@
|
||||
#define IDS_VERSION 16
|
||||
#define IDS_NEWS 17
|
||||
#define IDS_INSTALL_URL 18
|
||||
#define IDS_INSTALL_SIGNER 19
|
||||
#define IDS_LNG_URL 20
|
||||
#define IDS_LNG_VERSION 21
|
||||
#define IDS_LNG_CRC 22
|
||||
#define IDS_UPDATE_LINK 23
|
||||
#define IDS_LANGUAGE_LINK 24
|
||||
#define IDS_ALT_URL 25
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -13,7 +13,6 @@
|
||||
#include "FNVHash.h"
|
||||
#include "SettingsParser.h"
|
||||
#include "resource.h"
|
||||
#include "..\UpdateBin\resource.h"
|
||||
#include "ResourceHelper.h"
|
||||
#include <commctrl.h>
|
||||
#include "SaveLogFile.h"
|
||||
@@ -412,256 +411,6 @@ qqq:
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
struct LanguageData
|
||||
{
|
||||
std::map<int,CString> strings;
|
||||
CString bitmap;
|
||||
};
|
||||
|
||||
int GenerateUpdateFile( wchar_t *const *params, int count )
|
||||
{
|
||||
if (count<3) return 3;
|
||||
|
||||
std::vector<unsigned char> buf;
|
||||
LoadFile(params[1],buf);
|
||||
if (buf.empty()) return 1;
|
||||
buf.push_back(0);
|
||||
buf.push_back(0);
|
||||
|
||||
wchar_t token[256];
|
||||
|
||||
std::map<int,LanguageData> languages;
|
||||
const int DEFAULT_LANGUAGE=0x409;
|
||||
|
||||
const wchar_t *str0=(wchar_t*)&buf[0];
|
||||
if (*str0==0xFEFF) str0++;
|
||||
const wchar_t *str;
|
||||
|
||||
// old (current) version
|
||||
str=wcsstr(str0,L"{OLD_VER}");
|
||||
if (!str) return 1;
|
||||
GetToken(str+9,token,_countof(token),L"\r\n");
|
||||
int v1, v2, v3;
|
||||
swscanf_s(token,L"%d.%d.%d",&v1,&v2,&v3);
|
||||
|
||||
// new version
|
||||
str=wcsstr(str0,L"{NEW_VER}");
|
||||
if (!str) return 1;
|
||||
GetToken(str+9,token,_countof(token),L"\r\n");
|
||||
languages[DEFAULT_LANGUAGE].strings[IDS_VERSION]=token;
|
||||
|
||||
// signer
|
||||
str=wcsstr(str0,L"{SIGNER}");
|
||||
if (!str) return 1;
|
||||
GetToken(str+8,token,_countof(token),L"\r\n");
|
||||
languages[DEFAULT_LANGUAGE].strings[IDS_INSTALL_SIGNER]=token;
|
||||
|
||||
// update
|
||||
str=wcsstr(str0,L"{UPDATE}");
|
||||
if (!str) return 1;
|
||||
GetToken(str+8,token,_countof(token),L"\r\n");
|
||||
languages[DEFAULT_LANGUAGE].strings[IDS_UPDATE_LINK]=token;
|
||||
|
||||
// languages
|
||||
str=wcsstr(str0,L"{LANGUAGES}");
|
||||
if (!str) return 1;
|
||||
GetToken(str+11,token,_countof(token),L"\r\n");
|
||||
languages[DEFAULT_LANGUAGE].strings[IDS_LANGUAGE_LINK]=token;
|
||||
|
||||
// language folder
|
||||
str=wcsstr(str0,L"{LANGFOLDER}");
|
||||
if (!str) return 1;
|
||||
wchar_t langFolder[_MAX_PATH];
|
||||
GetToken(str+12,langFolder,_countof(langFolder),L"\r\n");
|
||||
|
||||
// alt url
|
||||
str=wcsstr(str0,L"{ALT}");
|
||||
if (str)
|
||||
{
|
||||
GetToken(str+5,token,_countof(token),L"\r\n");
|
||||
languages[DEFAULT_LANGUAGE].strings[IDS_ALT_URL]=token;
|
||||
}
|
||||
|
||||
// news
|
||||
str=wcsstr(str0,L"{NEWS}");
|
||||
if (!str) return 1;
|
||||
languages[DEFAULT_LANGUAGE].strings[IDS_NEWS]=str+6;
|
||||
|
||||
// look for {INST:
|
||||
str=str0;
|
||||
bool res=true;
|
||||
while (1)
|
||||
{
|
||||
str=wcsstr(str,L"{INST: ");
|
||||
res=true;
|
||||
if (!str) break;
|
||||
res=false;
|
||||
str+=7;
|
||||
str=GetToken(str,token,_countof(token),L"}\r\n");
|
||||
int language;
|
||||
if (!GetLocaleInfoEx(token,LOCALE_ILANGUAGE|LOCALE_RETURN_NUMBER,(LPWSTR)&language,4))
|
||||
break;
|
||||
str=GetToken(str,token,_countof(token),L"\r\n");
|
||||
languages[language].strings[IDS_INSTALL_URL]=token;
|
||||
// languages[language].strings[IDS_VERSION]=...; // TODO: allow per-language version of the installer
|
||||
}
|
||||
|
||||
if (!res) return 1;
|
||||
|
||||
str=str0;
|
||||
while (1)
|
||||
{
|
||||
str=wcsstr(str,L"{LANG: ");
|
||||
res=true;
|
||||
if (!str) break;
|
||||
res=false;
|
||||
str+=7;
|
||||
str=GetToken(str,token,_countof(token),L"}\r\n");
|
||||
int len=Strlen(token);
|
||||
bool bBasic=(len>0 && token[len-1]=='*');
|
||||
if (bBasic) token[len-1]=0;
|
||||
int language;
|
||||
if (!GetLocaleInfoEx(token,LOCALE_ILANGUAGE|LOCALE_RETURN_NUMBER,(LPWSTR)&language,4))
|
||||
break;
|
||||
|
||||
wchar_t fname[_MAX_PATH];
|
||||
Sprintf(fname,_countof(fname),L"%s\\%s.dll",langFolder,token);
|
||||
/* if (GetFileAttributes(fname)==INVALID_FILE_ATTRIBUTES)
|
||||
{
|
||||
fname[0]=0;
|
||||
wchar_t find[_MAX_PATH];
|
||||
Sprintf(find,_countof(find),L"%s\\*.*",langFolder);
|
||||
WIN32_FIND_DATA data;
|
||||
HANDLE h=FindFirstFile(find,&data);
|
||||
while (h!=INVALID_HANDLE_VALUE)
|
||||
{
|
||||
if ((data.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY) && data.cFileName[0]!='.')
|
||||
{
|
||||
Sprintf(fname,_countof(fname),L"%s\\%s\\%s.dll",langFolder,data.cFileName,token);
|
||||
if (GetFileAttributes(fname)!=INVALID_FILE_ATTRIBUTES)
|
||||
{
|
||||
FindClose(h);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!FindNextFile(h,&data))
|
||||
{
|
||||
FindClose(h);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
if (!fname[0]) break;
|
||||
|
||||
unsigned long hash=0;
|
||||
wchar_t version[100];
|
||||
|
||||
hash=CalcFileFNV(fname);
|
||||
if (!hash) break;
|
||||
|
||||
DWORD dllBuild;
|
||||
DWORD dllVer=GetFileVersion(fname,&dllBuild);
|
||||
if (!dllVer) break;
|
||||
if (dllVer>(DWORD)((v1<<24)|(v2<<16)|v3)) break;
|
||||
|
||||
Sprintf(version,_countof(version),L"%d.%d.%d.%d%s",dllVer>>24,(dllVer>>16)&255,dllVer&65535,dllBuild,bBasic?L"*":L"");
|
||||
|
||||
Sprintf(token,_countof(token),L"%08X",hash);
|
||||
languages[language].strings[IDS_LNG_CRC]=token;
|
||||
|
||||
languages[language].strings[IDS_LNG_VERSION]=version;
|
||||
str=GetToken(str,token,_countof(token),L"\r\n");
|
||||
languages[language].strings[IDS_LNG_URL]=token;
|
||||
}
|
||||
|
||||
if (!res) return 1;
|
||||
|
||||
// look for {FLAG:
|
||||
str=str0;
|
||||
while (1)
|
||||
{
|
||||
str=wcsstr(str,L"{FLAG: ");
|
||||
res=true;
|
||||
if (!str) break;
|
||||
res=false;
|
||||
str+=7;
|
||||
str=GetToken(str,token,_countof(token),L"}\r\n");
|
||||
int language;
|
||||
if (!GetLocaleInfoEx(token,LOCALE_ILANGUAGE|LOCALE_RETURN_NUMBER,(LPWSTR)&language,4))
|
||||
break;
|
||||
str=GetToken(str,token,_countof(token),L"\r\n");
|
||||
languages[language].bitmap=token;
|
||||
}
|
||||
|
||||
if (!res) return 1;
|
||||
|
||||
FILE *f=NULL;
|
||||
if (_wfopen_s(&f,params[2],L"wb") || !f)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
fwprintf(f,L"\xFEFF");
|
||||
for (std::map<int,LanguageData>::const_iterator it=languages.begin();it!=languages.end();++it)
|
||||
{
|
||||
fwprintf(f,L"/////////////////////////////////////////////////////////////////////////////\r\n");
|
||||
GetLocaleInfo(it->first,LOCALE_SLANGUAGE,token,_countof(token));
|
||||
fwprintf(f,L"// %s\r\n\r\n",token);
|
||||
fwprintf(f,L"LANGUAGE 0x%02X, 0x%X\r\n",it->first&0x3FF,it->first>>10);
|
||||
fwprintf(f,L"\r\nSTRINGTABLE\r\nBEGIN\r\n");
|
||||
for (std::map<int,CString>::const_iterator it2=it->second.strings.begin();it2!=it->second.strings.end();++it2)
|
||||
{
|
||||
CString str=it2->second;
|
||||
str.Replace(L"\r\n",L"\\r\\n");
|
||||
str.Replace(L"\"",L"\"\"");
|
||||
fwprintf(f,L"%4d \"%s\"\r\n",it2->first,(const wchar_t*)str);
|
||||
}
|
||||
fwprintf(f,L"END\r\n\r\n");
|
||||
|
||||
if (it->first==DEFAULT_LANGUAGE)
|
||||
{
|
||||
fwprintf(f,L"1 VERSIONINFO\r\n");
|
||||
fwprintf(f,L" FILEVERSION %d,%d,%d,0\r\n",v1,v2,v3);
|
||||
fwprintf(f,L" PRODUCTVERSION %d,%d,%d,0\r\n",v1,v2,v3);
|
||||
fwprintf(f,L" FILEFLAGSMASK 0x17L\r\n");
|
||||
fwprintf(f,L" FILEFLAGS 0x0L\r\n");
|
||||
fwprintf(f,L" FILEOS 0x4L\r\n");
|
||||
fwprintf(f,L" FILETYPE 0x1L\r\n");
|
||||
fwprintf(f,L" FILESUBTYPE 0x0L\r\n");
|
||||
fwprintf(f,L"BEGIN\r\n");
|
||||
fwprintf(f,L"\tBLOCK \"StringFileInfo\"\r\n");
|
||||
fwprintf(f,L"\tBEGIN\r\n");
|
||||
fwprintf(f,L"\t\tBLOCK \"040904b0\"\r\n");
|
||||
fwprintf(f,L"\t\tBEGIN\r\n");
|
||||
fwprintf(f,L"\t\t\tVALUE \"CompanyName\", \"OpenShell\"\r\n");
|
||||
fwprintf(f,L"\t\t\tVALUE \"FileDescription\", \"Update information\"\r\n");
|
||||
fwprintf(f,L"\t\t\tVALUE \"FileVersion\", \"%d, %d, %d, 0\"\r\n",v1,v2,v3);
|
||||
fwprintf(f,L"\t\t\tVALUE \"InternalName\", \"Update\"\r\n");
|
||||
fwprintf(f,L"\t\t\tVALUE \"LegalCopyright\", \"Copyright (C) 2017-2018, The Open-Shell Team\"\r\n");
|
||||
fwprintf(f,L"\t\t\tVALUE \"OriginalFilename\", \"update.ver\"\r\n");
|
||||
fwprintf(f,L"\t\t\tVALUE \"ProductName\", \"Open-Shell\"\r\n");
|
||||
fwprintf(f,L"\t\t\tVALUE \"ProductVersion\", \"%d, %d, %d, 0\"\r\n",v1,v2,v3);
|
||||
fwprintf(f,L"\t\tEND\r\n");
|
||||
fwprintf(f,L"\tEND\r\n");
|
||||
fwprintf(f,L"\tBLOCK \"VarFileInfo\"\r\n");
|
||||
fwprintf(f,L"\tBEGIN\r\n");
|
||||
fwprintf(f,L"\t\tVALUE \"Translation\", 0x409, 1200\r\n");
|
||||
fwprintf(f,L"\tEND\r\n");
|
||||
fwprintf(f,L"END\r\n\r\n");
|
||||
|
||||
for (std::map<int,LanguageData>::const_iterator it3=languages.begin();it3!=languages.end();++it3)
|
||||
{
|
||||
if (!it3->second.bitmap.IsEmpty())
|
||||
fwprintf(f,L"%d BITMAP \"%s\"\r\n",it3->first,(const wchar_t*)it3->second.bitmap);
|
||||
}
|
||||
fwprintf(f,L"\r\n");
|
||||
}
|
||||
}
|
||||
fclose(f);
|
||||
return 0;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static void UnsescapeString( wchar_t *string )
|
||||
{
|
||||
wchar_t *dst=string;
|
||||
@@ -1097,7 +846,6 @@ static HRESULT CALLBACK TaskDialogCallback( HWND hwnd, UINT uNotification, WPARA
|
||||
// extract <dll> <csv> // extracts the string table, the dialog text, and the L10N text from a DLL and stores it in a CSV
|
||||
// extract en-us.dll <dll> <csv> // extracts the string table, the dialog text, and the L10N text from two DLL and stores it in a CSV
|
||||
// import <dll> <csv> // replaces the string table in the DLL with the text from the CSV
|
||||
// update <update txt> <update rc> // generates a resource file for UpdateBin.dll by calculating the DLL hashes
|
||||
|
||||
int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpstrCmdLine, int nCmdShow )
|
||||
{
|
||||
@@ -1176,11 +924,6 @@ int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpstrC
|
||||
return ImportStrings(params,count);
|
||||
}
|
||||
|
||||
if (_wcsicmp(params[0],L"update")==0)
|
||||
{
|
||||
return GenerateUpdateFile(params,count);
|
||||
}
|
||||
|
||||
if (_wcsicmp(params[0],L"colors")==0)
|
||||
{
|
||||
ShowMetroColorViewer();
|
||||
|
||||
@@ -103,7 +103,6 @@ public:
|
||||
|
||||
void Run( void );
|
||||
void UpdateData( void );
|
||||
bool HasNewLanguage( void ) { return (m_Data.bNewLanguage && !m_Data.bIgnoreLanguage) && !(m_Data.bNewVersion && !m_Data.bIgnoreVersion); }
|
||||
|
||||
protected:
|
||||
// Handler prototypes:
|
||||
@@ -204,7 +203,7 @@ LRESULT CUpdateDlg::OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bH
|
||||
|
||||
LRESULT CUpdateDlg::OnColorStatic( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled )
|
||||
{
|
||||
if ((m_Data.bNewVersion || m_Data.bNewLanguage) && lParam==(LPARAM)GetDlgItem(IDC_STATICLATEST).m_hWnd)
|
||||
if (m_Data.bNewVersion && lParam==(LPARAM)GetDlgItem(IDC_STATICLATEST).m_hWnd)
|
||||
{
|
||||
HDC hdc=(HDC)wParam;
|
||||
SetTextColor(hdc,0xFF);
|
||||
@@ -288,37 +287,6 @@ LRESULT CUpdateDlg::OnDownload( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL&
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (m_Data.bNewLanguage)
|
||||
{
|
||||
for (std::vector<LanguageVersionData>::const_iterator it=m_Data.languages.begin();it!=m_Data.languages.end();++it)
|
||||
{
|
||||
if (_wcsicmp(m_Data.newLanguage,it->language)==0)
|
||||
{
|
||||
CString error;
|
||||
DWORD res=DownloadLanguageDll(m_hWnd,COMPONENT_UPDATE,*it,error);
|
||||
if (res==2)
|
||||
return 0;
|
||||
if (res)
|
||||
{
|
||||
MessageBox(LoadStringEx(it->bBasic?IDS_LANGUAGE_SUCCESS2:IDS_LANGUAGE_SUCCESS),LoadStringEx(IDS_UPDATE_TITLE),MB_OK|(it->bBasic?MB_ICONWARNING:MB_ICONINFORMATION));
|
||||
SetDlgItemText(IDC_STATICLATEST,L"");
|
||||
}
|
||||
else
|
||||
{
|
||||
error+=LoadStringEx(IDS_DOWNLOAD_TIP)+L"\r\n\r\n"+m_Data.languageLink;
|
||||
TASKDIALOGCONFIG task={sizeof(task),m_hWnd,NULL,TDF_ENABLE_HYPERLINKS|TDF_ALLOW_DIALOG_CANCELLATION|TDF_USE_HICON_MAIN,TDCBF_OK_BUTTON};
|
||||
CString title=LoadStringEx(IDS_UPDATE_TITLE);
|
||||
task.pszWindowTitle=title;
|
||||
task.pszContent=error;
|
||||
task.hMainIcon=LoadIcon(NULL,IDI_ERROR);
|
||||
task.pfCallback=TaskDialogCallbackProc;
|
||||
TaskDialogIndirect(&task,NULL,NULL,NULL);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
Assert(0); // NEWLanguage is not in the list
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -332,11 +300,6 @@ LRESULT CUpdateDlg::OnDontRemind( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL
|
||||
m_Data.bIgnoreVersion=(IsDlgButtonChecked(IDC_CHECKDONT)==BST_CHECKED);
|
||||
regKey.SetDWORDValue(L"RemindedVersion",m_Data.bIgnoreVersion?m_Data.newVersion:0);
|
||||
}
|
||||
else if (m_Data.bNewLanguage)
|
||||
{
|
||||
m_Data.bIgnoreLanguage=(IsDlgButtonChecked(IDC_CHECKDONT)==BST_CHECKED);
|
||||
regKey.SetDWORDValue(L"RemindedLangVersion",m_Data.bIgnoreLanguage?m_Data.encodedLangVersion:0);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -378,28 +341,6 @@ void CUpdateDlg::UpdateUI( void )
|
||||
tool.lpszText=(LPWSTR)(LPCWSTR)m_Data.downloadUrl;
|
||||
m_Tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool);
|
||||
}
|
||||
else if (m_Data.bNewLanguage)
|
||||
{
|
||||
SetDlgItemText(IDC_STATICLATEST,LoadStringEx(IDS_LANG_OUTOFDATE));
|
||||
SetDlgItemText(IDC_EDITTEXT,L"");
|
||||
GetDlgItem(IDC_EDITTEXT).ShowWindow(SW_HIDE);
|
||||
GetDlgItem(IDC_BUTTONDOWNLOAD).ShowWindow(SW_SHOW);
|
||||
bool check=true;
|
||||
if (g_Settings[SETTING_UPDATE].value.vt==VT_I4)
|
||||
check=g_Settings[SETTING_UPDATE].value.intVal!=0;
|
||||
GetDlgItem(IDC_CHECKDONT).ShowWindow(check?SW_SHOW:SW_HIDE);
|
||||
CheckDlgButton(IDC_CHECKDONT,m_Data.bIgnoreLanguage?BST_CHECKED:BST_UNCHECKED);
|
||||
TOOLINFO tool={sizeof(tool),TTF_SUBCLASS|TTF_IDISHWND,m_hWnd,(UINT_PTR)GetDlgItem(IDC_BUTTONDOWNLOAD).m_hWnd};
|
||||
for (std::vector<LanguageVersionData>::const_iterator it=m_Data.languages.begin();it!=m_Data.languages.end();++it)
|
||||
{
|
||||
if (_wcsicmp(m_Data.newLanguage,it->language)==0)
|
||||
{
|
||||
tool.lpszText=(LPWSTR)(LPCWSTR)it->url;
|
||||
break;
|
||||
}
|
||||
}
|
||||
m_Tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetDlgItemText(IDC_STATICLATEST,LoadStringEx(IDS_UPDATED));
|
||||
@@ -550,7 +491,7 @@ int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpstrC
|
||||
Sleep(sleep);
|
||||
|
||||
auto title = LoadStringEx(IDS_UPDATE_TITLE);
|
||||
auto message = LoadStringEx(g_UpdateDlg.HasNewLanguage() ? IDS_LANG_NEWVERSION : IDS_NEWVERSION);
|
||||
auto message = LoadStringEx(IDS_NEWVERSION);
|
||||
|
||||
if (toasts)
|
||||
{
|
||||
|
||||
@@ -183,8 +183,6 @@ BEGIN
|
||||
IDS_OUTOFDATE "There is a new version of Open-Shell"
|
||||
IDS_NEWVERSION "There is a new version of Open-Shell.\nClick here to see what's new or to change the reminder settings."
|
||||
IDS_UPDATE_FAIL "Failed to check for new version"
|
||||
IDS_LANG_OUTOFDATE "There is a new language file for this version of Open-Shell"
|
||||
IDS_LANG_NEWVERSION "There is a new language file for this version of Open-Shell.\nClick here to install it or to change the reminder settings."
|
||||
END
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
|
||||
Reference in New Issue
Block a user