From b44bc77ed98ff7158e6793489ffdf68acc6e64ed Mon Sep 17 00:00:00 2001 From: kichik Date: Wed, 2 Apr 2003 18:09:52 +0000 Subject: [PATCH] NSISdl will now take the font from the NSIS installer git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2410 212acab6-be3b-0410-9dea-997c60f758d6 --- Contrib/NSISdl/nsisdl.cpp | 67 ++++++++++++++++++++------------------ Plugins/nsisdl.dll | Bin 13312 -> 13312 bytes 2 files changed, 35 insertions(+), 32 deletions(-) diff --git a/Contrib/NSISdl/nsisdl.cpp b/Contrib/NSISdl/nsisdl.cpp index 764917ab..c476c9d9 100644 --- a/Contrib/NSISdl/nsisdl.cpp +++ b/Contrib/NSISdl/nsisdl.cpp @@ -45,9 +45,7 @@ void operator delete( void *p ) { if (p) GlobalFree(p); } HANDLE hModule; -HWND g_parent; HWND g_dialog; -HWND g_childwnd; HWND g_hwndProgressBar; static int g_cancelled; @@ -119,6 +117,8 @@ __declspec(dllexport) void download (HWND parent, int wasen=0; HWND hwndL=0; HWND hwndB=0; + HWND dlg=0; + HWND childwnd=0; static char szDownloading[32];//= "Downloading %s"; static char szConnecting[32];//= "Connecting ..."; @@ -129,7 +129,6 @@ __declspec(dllexport) void download (HWND parent, static char szProgress[128];//= "%dkB (%d%%) of %dkB @ %d.%01dkB/s"; static char szRemaining[128];//= " (%d %s%s remaining)"; - g_parent = parent; EXDLL_INIT(); popstring(url); @@ -167,47 +166,51 @@ __declspec(dllexport) void download (HWND parent, wsprintf (buf, "Unable to open %s", filename); setuservariable(INST_0, buf); } else { - if (g_parent) + if (parent) { - g_childwnd=FindWindowEx(g_parent,NULL,"#32770",NULL); - hwndL=GetDlgItem(g_childwnd,1016); - hwndB=GetDlgItem(g_childwnd,1027); + childwnd=FindWindowEx(parent,NULL,"#32770",NULL); + hwndL=GetDlgItem(childwnd,1016); + hwndB=GetDlgItem(childwnd,1027); if (hwndL && IsWindowVisible(hwndL)) ShowWindow(hwndL,SW_HIDE); else hwndL=NULL; if (hwndB && IsWindowVisible(hwndB)) ShowWindow(hwndB,SW_HIDE); else hwndB=NULL; - wasen=EnableWindow(GetDlgItem(g_parent,IDCANCEL),1); - lpWndProcOld = (void *) GetWindowLong(g_parent,GWL_WNDPROC); - SetWindowLong(g_parent,GWL_WNDPROC,(long)ParentWndProc); + wasen=EnableWindow(GetDlgItem(parent,IDCANCEL),1); + lpWndProcOld = (void *) GetWindowLong(parent,GWL_WNDPROC); + SetWindowLong(parent,GWL_WNDPROC,(long)ParentWndProc); - g_dialog = CreateDialog((HINSTANCE)hModule, + dlg = g_dialog = CreateDialog((HINSTANCE)hModule, MAKEINTRESOURCE(IDD_DIALOG1), - g_childwnd, + childwnd, DownloadDialogProc); - if (g_dialog) + if (dlg) { - GetWindowRect(g_dialog,&cr); - ScreenToClient(g_dialog,(LPPOINT)&cr); - ScreenToClient(g_dialog,((LPPOINT)&cr)+1); - GetWindowRect(GetDlgItem(g_childwnd,1016),&r); - ScreenToClient(g_childwnd,(LPPOINT)&r); - ScreenToClient(g_childwnd,((LPPOINT)&r)+1); - SetWindowPos(g_dialog,0,r.left,r.top,r.right-r.left,cr.bottom-cr.top,SWP_NOACTIVATE|SWP_NOZORDER); + GetWindowRect(dlg,&cr); + ScreenToClient(dlg,(LPPOINT)&cr); + ScreenToClient(dlg,((LPPOINT)&cr)+1); + GetWindowRect(GetDlgItem(childwnd,1016),&r); + ScreenToClient(childwnd,(LPPOINT)&r); + ScreenToClient(childwnd,((LPPOINT)&r)+1); + SetWindowPos(dlg,0,r.left,r.top,r.right-r.left,cr.bottom-cr.top,SWP_NOACTIVATE|SWP_NOZORDER); AdjustSize(IDC_STATIC2); AdjustSize(IDC_PROGRESS1); - ShowWindow(g_dialog,SW_SHOWNA); + ShowWindow(dlg,SW_SHOWNA); char *p=filename; while (*p) p++; while (*p != '\\' && p != filename) p=CharPrev(filename,p); wsprintf(buf,szDownloading, p!=filename?p+1:p); - SetDlgItemText(g_childwnd,1006,buf); + SetDlgItemText(childwnd,1006,buf); + SetDlgItemText (dlg, IDC_STATIC2, szConnecting); - SetDlgItemText (g_dialog, IDC_STATIC2, szConnecting); + // set font + long hFont = SendMessage(parent, WM_GETFONT, 0, 0); + SendDlgItemMessage(dlg, IDC_PROGRESS1, WM_SETFONT, hFont, 0); + SendDlgItemMessage(dlg, IDC_STATIC2, WM_SETFONT, hFont, 0); } } - g_hwndProgressBar = GetDlgItem (g_dialog, IDC_PROGRESS1); + g_hwndProgressBar = GetDlgItem (dlg, IDC_PROGRESS1); JNL_HTTPGet *get; char *error=NULL; @@ -260,10 +263,10 @@ __declspec(dllexport) void download (HWND parent, get->connect (url); while (1) { - if (g_dialog) + if (dlg) { MSG msg; - while (PeekMessage(&msg,g_dialog,0,0,PM_REMOVE)) + while (PeekMessage(&msg,dlg,0,0,PM_REMOVE)) { TranslateMessage(&msg); DispatchMessage(&msg); @@ -312,7 +315,7 @@ __declspec(dllexport) void download (HWND parent, if (cl == 0) { error = "Server did not specify content length."; break; - } else if (g_dialog) { + } else if (dlg) { SendMessage(g_hwndProgressBar, PBM_SETRANGE, 0, MAKELPARAM(0,30000)); g_file_size=cl; } @@ -379,17 +382,17 @@ __declspec(dllexport) void download (HWND parent, } CloseHandle(hFile); - if (g_parent) + if (parent) { - if (g_dialog) DestroyWindow(g_dialog); + if (dlg) DestroyWindow(dlg); if (lpWndProcOld) - SetWindowLong(g_parent,GWL_WNDPROC,(long)lpWndProcOld); - if (g_childwnd) + SetWindowLong(parent,GWL_WNDPROC,(long)lpWndProcOld); + if (childwnd) { if (hwndB) ShowWindow(hwndB,SW_SHOWNA); if (hwndL) ShowWindow(hwndL,SW_SHOWNA); } - if (wasen) EnableWindow(GetDlgItem(g_parent,IDCANCEL),0); + if (wasen) EnableWindow(GetDlgItem(parent,IDCANCEL),0); } if (g_cancelled) { diff --git a/Plugins/nsisdl.dll b/Plugins/nsisdl.dll index 848e4a9448715dad3429edd7f9554a41b05b439b..fbbbe4b1d4fdc4eafe64c7b0e0cea7738041e6e7 100644 GIT binary patch delta 4057 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