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:
ge0rdi
2023-06-09 17:52:18 +02:00
parent 714c98130a
commit 9f949dd99b
23 changed files with 6 additions and 1296 deletions
-167
View File
@@ -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: