Module: wine Branch: master Commit: c4c05cf0133acc35bfd349071cce0af394f4f018 URL: http://source.winehq.org/git/wine.git/?a=commit;h=c4c05cf0133acc35bfd349071c...
Author: Ricardo Filipe ricardo_barbano@hotmail.com Date: Wed Feb 18 03:35:26 2009 +0000
setupapi: Initiate resources of SetupPromptForDisk dialog.
---
dlls/setupapi/dialog.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 46 insertions(+), 0 deletions(-)
diff --git a/dlls/setupapi/dialog.c b/dlls/setupapi/dialog.c index b2bca9f..826f0f8 100644 --- a/dlls/setupapi/dialog.c +++ b/dlls/setupapi/dialog.c @@ -47,12 +47,58 @@ struct promptdisk_params { PDWORD PathRequiredSize; };
+/* initiates the fields of the SetupPromptForDisk dialog according to the parameters +*/ +static void promptdisk_init(HWND hwnd, struct promptdisk_params *params) +{ + WCHAR format[256]; + WCHAR message[256]; + + SetWindowLongPtrW(hwnd, DWLP_USER, (LONG_PTR)params); + + if(params->DialogTitle) + SetWindowTextW(hwnd, params->DialogTitle); + if(params->PathToSource) + SetDlgItemTextW(hwnd, IDC_PATH, params->PathToSource); + + if(!(params->DiskPromptStyle & IDF_OEMDISK)) + { + LoadStringW(SETUPAPI_hInstance, IDS_PROMPTDISK, format, + sizeof(format)/sizeof(format[0])); + + if(params->DiskName) + snprintfW(message, sizeof(message)/sizeof(message[0]), format, + params->FileSought, params->DiskName); + else + { + WCHAR unknown[256]; + LoadStringW(SETUPAPI_hInstance, IDS_UNKNOWN, unknown, + sizeof(unknown)/sizeof(unknown[0])); + snprintfW(message, sizeof(message)/sizeof(message[0]), format, + params->FileSought, unknown); + } + SetDlgItemTextW(hwnd, IDC_FILENEEDED, message); + + LoadStringW(SETUPAPI_hInstance, IDS_INFO, message, + sizeof(message)/sizeof(message[0])); + SetDlgItemTextW(hwnd, IDC_INFO, message); + LoadStringW(SETUPAPI_hInstance, IDS_COPYFROM, message, + sizeof(message)/sizeof(message[0])); + SetDlgItemTextW(hwnd, IDC_COPYFROM, message); + } + if(params->DiskPromptStyle & IDF_NOBROWSE) + ShowWindow(GetDlgItem(hwnd, IDC_RUNDLG_BROWSE), SW_HIDE); +} + /* Handles the messages sent to the SetupPromptForDisk dialog */ static INT_PTR CALLBACK promptdisk_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch(msg) { + case WM_INITDIALOG: + promptdisk_init(hwnd, (struct promptdisk_params *)lParam); + return TRUE; case WM_COMMAND: switch(wParam) {