mirror of
				https://github.com/pbatard/rufus.git
				synced 2024-08-14 23:57:05 +00:00 
			
		
		
		
	[ui] add new dialog to display MD5 & SHA-1
This commit is contained in:
		
							parent
							
								
									485b016f17
								
							
						
					
					
						commit
						957bb9c495
					
				
					 4 changed files with 76 additions and 15 deletions
				
			
		|  | @ -29,9 +29,13 @@ | |||
| #include "msapi_utf8.h" | ||||
| #include "rufus.h" | ||||
| #include "resource.h" | ||||
| #include "localization.h" | ||||
| 
 | ||||
| #undef BIG_ENDIAN_HOST | ||||
| 
 | ||||
| /* Globals */ | ||||
| char sha1str[41], md5str[33]; | ||||
| 
 | ||||
| #if defined(__GNUC__) | ||||
| #define ALIGNED(m) __attribute__ ((__aligned__(m))) | ||||
| #elif defined(_MSC_VER) | ||||
|  | @ -514,13 +518,44 @@ static void md5_final(MD5_CONTEXT *ctx) | |||
| #undef X | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
|  * Checksum dialog callback | ||||
|  */ | ||||
| INT_PTR CALLBACK ChecksumCallback(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) | ||||
| { | ||||
| 	HFONT hFont; | ||||
| 	switch (message) { | ||||
| 	case WM_INITDIALOG: | ||||
| 		apply_localization(IDD_CHECKSUM, hDlg); | ||||
| 		// Create the font and brush for the Info edit box
 | ||||
| 		hFont = CreateFontA(-MulDiv(9, GetDeviceCaps(GetDC(hDlg), LOGPIXELSY), 72), | ||||
| 			0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, DEFAULT_CHARSET, | ||||
| 			0, 0, PROOF_QUALITY, 0, "Courier New"); | ||||
| 		SendDlgItemMessageA(hDlg, IDC_MD5, WM_SETFONT, (WPARAM)hFont, TRUE); | ||||
| 		SendDlgItemMessageA(hDlg, IDC_SHA1, WM_SETFONT, (WPARAM)hFont, TRUE); | ||||
| 		SetWindowTextA(GetDlgItem(hDlg, IDC_MD5), md5str); | ||||
| 		SetWindowTextA(GetDlgItem(hDlg, IDC_SHA1), sha1str); | ||||
| 		CenterDialog(hDlg); | ||||
| 		break; | ||||
| 	case WM_COMMAND: | ||||
| 		switch (LOWORD(wParam)) { | ||||
| 		case IDOK: | ||||
| 		case IDCANCEL: | ||||
| 			reset_localization(IDD_CHECKSUM); | ||||
| 			EndDialog(hDlg, LOWORD(wParam)); | ||||
| 			return (INT_PTR)TRUE; | ||||
| 		} | ||||
| 	} | ||||
| 	return (INT_PTR)FALSE; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| DWORD WINAPI SumThread(void* param) | ||||
| { | ||||
| 	HANDLE h = INVALID_HANDLE_VALUE; | ||||
| 	DWORD rSize = 0, LastRefresh = 0; | ||||
| 	uint64_t rb; | ||||
| 	char buffer[4096]; | ||||
| 	char str[41]; | ||||
| 	SHA1_CONTEXT sha1_ctx; | ||||
| 	MD5_CONTEXT md5_ctx; | ||||
| 	int i, r = -1; | ||||
|  | @ -565,15 +600,17 @@ DWORD WINAPI SumThread(void* param) | |||
| 	md5_final(&md5_ctx); | ||||
| 
 | ||||
| 	for (i = 0; i < 16; i++) | ||||
| 		safe_sprintf(&str[2 * i], sizeof(str) - 2 * i, "%02x", md5_ctx.buf[i]); | ||||
| 	uprintf("  MD5:\t%s", str); | ||||
| 		safe_sprintf(&md5str[2 * i], sizeof(md5str) - 2 * i, "%02x", md5_ctx.buf[i]); | ||||
| 	uprintf("  MD5:\t%s", md5str); | ||||
| 	for (i = 0; i < 20; i++) | ||||
| 		safe_sprintf(&str[2*i], sizeof(str) - 2*i, "%02x", sha1_ctx.buf[i]); | ||||
| 	uprintf("  SHA1:\t%s", str); | ||||
| 		safe_sprintf(&sha1str[2*i], sizeof(sha1str) - 2*i, "%02x", sha1_ctx.buf[i]); | ||||
| 	uprintf("  SHA1:\t%s", sha1str); | ||||
| 	r = 0; | ||||
| 
 | ||||
| out: | ||||
| 	safe_closehandle(h); | ||||
| 	PostMessage(hMainDialog, UM_FORMAT_COMPLETED, (WPARAM)FALSE, 0); | ||||
| 	if (r == 0) | ||||
| 		MyDialogBox(hMainInstance, IDD_CHECKSUM, hMainDialog, ChecksumCallback); | ||||
| 	ExitThread(r); | ||||
| } | ||||
|  |  | |||
|  | @ -34,6 +34,7 @@ const loc_control_id control_id[] = { | |||
| 	LOC_CTRL(IDD_LOG), | ||||
| 	LOC_CTRL(IDD_UPDATE_POLICY), | ||||
| 	LOC_CTRL(IDD_NEW_VERSION), | ||||
| 	LOC_CTRL(IDD_CHECKSUM), | ||||
| 	LOC_CTRL(IDC_DEVICE), | ||||
| 	LOC_CTRL(IDC_FILESYSTEM), | ||||
| 	LOC_CTRL(IDC_START), | ||||
|  | @ -56,6 +57,7 @@ const loc_control_id control_id[] = { | |||
| 	LOC_CTRL(IDC_DISK_ID), | ||||
| 	LOC_CTRL(IDC_EXTRA_PARTITION), | ||||
| 	LOC_CTRL(IDC_ENABLE_FIXED_DISKS), | ||||
| 	LOC_CTRL(IDC_HASH), | ||||
| 	LOC_CTRL(IDC_ABOUT_LICENSE), | ||||
| 	LOC_CTRL(IDC_ABOUT_ICON), | ||||
| 	LOC_CTRL(IDC_ABOUT_UPDATES), | ||||
|  | @ -84,6 +86,8 @@ const loc_control_id control_id[] = { | |||
| 	LOC_CTRL(IDC_YOUR_VERSION), | ||||
| 	LOC_CTRL(IDC_LATEST_VERSION), | ||||
| 	LOC_CTRL(IDC_DOWNLOAD_URL), | ||||
| 	LOC_CTRL(IDC_MD5), | ||||
| 	LOC_CTRL(IDC_SHA1), | ||||
| 	LOC_CTRL(IDS_DEVICE_TXT), | ||||
| 	LOC_CTRL(IDS_PARTITION_TYPE_TXT), | ||||
| 	LOC_CTRL(IDS_FILESYSTEM_TXT), | ||||
|  | @ -398,4 +402,5 @@ loc_dlg_list loc_dlg[] = { | |||
| 	LOC_DLG(IDD_LOG), | ||||
| 	LOC_DLG(IDD_UPDATE_POLICY), | ||||
| 	LOC_DLG(IDD_NEW_VERSION), | ||||
| 	LOC_DLG(IDD_CHECKSUM), | ||||
| }; | ||||
|  |  | |||
|  | @ -9,6 +9,7 @@ | |||
| #define IDD_LOG                         105 | ||||
| #define IDD_UPDATE_POLICY               106 | ||||
| #define IDD_NEW_VERSION                 107 | ||||
| #define IDD_CHECKSUM                    108 | ||||
| #define IDI_ICON                        110 | ||||
| #define IDI_UP                          111 | ||||
| #define IDI_DOWN                        112 | ||||
|  | @ -123,6 +124,8 @@ | |||
| #define IDC_YOUR_VERSION                1068 | ||||
| #define IDC_LATEST_VERSION              1069 | ||||
| #define IDC_DOWNLOAD_URL                1070 | ||||
| #define IDC_MD5                         1071 | ||||
| #define IDC_SHA1                        1072 | ||||
| #define IDS_DEVICE_TXT                  2000 | ||||
| #define IDS_PARTITION_TYPE_TXT          2001 | ||||
| #define IDS_FILESYSTEM_TXT              2002 | ||||
|  | @ -425,7 +428,7 @@ | |||
| #define _APS_NO_MFC                     1 | ||||
| #define _APS_NEXT_RESOURCE_VALUE        505 | ||||
| #define _APS_NEXT_COMMAND_VALUE         40001 | ||||
| #define _APS_NEXT_CONTROL_VALUE         1071 | ||||
| #define _APS_NEXT_CONTROL_VALUE         1073 | ||||
| #define _APS_NEXT_SYMED_VALUE           4000 | ||||
| #endif | ||||
| #endif | ||||
|  |  | |||
							
								
								
									
										34
									
								
								src/rufus.rc
									
										
									
									
									
								
							
							
						
						
									
										34
									
								
								src/rufus.rc
									
										
									
									
									
								
							|  | @ -32,7 +32,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL | |||
| 
 | ||||
| IDD_DIALOG DIALOGEX 12, 12, 242, 376 | ||||
| STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | ||||
| CAPTION "Rufus 2.3.690" | ||||
| CAPTION "Rufus 2.3.691" | ||||
| FONT 8, "Segoe UI Symbol", 400, 0, 0x0 | ||||
| BEGIN | ||||
|     LTEXT           "Device",IDS_DEVICE_TXT,9,6,200,8 | ||||
|  | @ -79,13 +79,25 @@ CAPTION "About Rufus" | |||
| FONT 8, "Segoe UI Symbol", 400, 0, 0x0 | ||||
| BEGIN | ||||
|     ICON            IDI_ICON,IDC_ABOUT_ICON,11,8,20,20 | ||||
|     CONTROL         "",IDC_ABOUT_BLURB,"RichEdit20W",ES_MULTILINE | ES_AUTOHSCROLL | ES_READONLY,45,7,268,107 | ||||
|     CONTROL         "",IDC_ABOUT_COPYRIGHTS,"RichEdit20W",ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_TABSTOP,46,115,267,91,WS_EX_STATICEDGE | ||||
|     CONTROL         "",IDC_ABOUT_BLURB,"RichEdit20W",0x884,45,7,268,107 | ||||
|     CONTROL         "",IDC_ABOUT_COPYRIGHTS,"RichEdit20W",WS_VSCROLL | WS_TABSTOP | 0x804,46,115,267,91,WS_EX_STATICEDGE | ||||
|     PUSHBUTTON      "License",IDC_ABOUT_LICENSE,46,215,50,14,WS_GROUP | ||||
|     PUSHBUTTON      "Updates",IDC_ABOUT_UPDATES,100,215,50,14,NOT WS_VISIBLE | WS_GROUP | ||||
|     DEFPUSHBUTTON   "OK",IDOK,251,215,50,14,WS_GROUP | ||||
| END | ||||
| 
 | ||||
| IDD_CHECKSUM DIALOGEX 0, 0, 301, 69 | ||||
| STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | ||||
| CAPTION "Checksums" | ||||
| FONT 8, "Segoe UI Symbol", 400, 0, 0x0 | ||||
| BEGIN | ||||
|     DEFPUSHBUTTON   "OK",IDOK,244,49,50,14,WS_GROUP | ||||
|     EDITTEXT        IDC_SHA1,40,31,197,12,ES_LOWERCASE | ES_AUTOHSCROLL | ES_READONLY | ||||
|     EDITTEXT        IDC_MD5,40,15,197,12,ES_LOWERCASE | ES_AUTOHSCROLL | ES_READONLY | ||||
|     LTEXT           "MD5:",IDC_STATIC,13,16,18,8 | ||||
|     LTEXT           "SHA-1:",IDC_STATIC,13,32,22,8 | ||||
| END | ||||
| 
 | ||||
| IDD_LICENSE DIALOGEX 0, 0, 335, 205 | ||||
| STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | ||||
| CAPTION "Rufus License" | ||||
|  | @ -127,7 +139,7 @@ FONT 8, "Segoe UI Symbol", 400, 0, 0x0 | |||
| BEGIN | ||||
|     ICON            IDI_ICON,IDC_ABOUT_ICON,11,8,20,20 | ||||
|     DEFPUSHBUTTON   "Close",IDCANCEL,221,172,50,14,WS_GROUP | ||||
|     CONTROL         "",IDC_POLICY,"RichEdit20W",ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_TABSTOP,46,8,235,130,WS_EX_STATICEDGE | ||||
|     CONTROL         "",IDC_POLICY,"RichEdit20W",WS_VSCROLL | WS_TABSTOP | 0x804,46,8,235,130,WS_EX_STATICEDGE | ||||
|     GROUPBOX        "Settings",IDS_UPDATE_SETTINGS_GRP,45,145,165,46 | ||||
|     LTEXT           "Check for updates",IDS_UPDATE_FREQUENCY_TXT,51,159,76,11 | ||||
|     COMBOBOX        IDC_UPDATE_FREQUENCY,133,155,66,12,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | ||||
|  | @ -143,7 +155,7 @@ CAPTION "Check For Updates - Rufus" | |||
| FONT 8, "Segoe UI Symbol", 400, 0, 0x0 | ||||
| BEGIN | ||||
|     PUSHBUTTON      "Close",IDCANCEL,167,244,50,14,WS_GROUP | ||||
|     CONTROL         "",IDC_RELEASE_NOTES,"RichEdit20W",ES_MULTILINE | ES_READONLY | WS_VSCROLL,15,77,352,88,WS_EX_STATICEDGE | ||||
|     CONTROL         "",IDC_RELEASE_NOTES,"RichEdit20W",WS_VSCROLL | 0x804,15,77,352,88,WS_EX_STATICEDGE | ||||
|     DEFPUSHBUTTON   "Download",IDC_DOWNLOAD,293,211,74,14,WS_GROUP | ||||
|     CONTROL         "",IDC_PROGRESS,"msctls_progress32",WS_BORDER,15,212,270,11 | ||||
|     GROUPBOX        "Release Notes",IDS_NEW_VERSION_NOTES_GRP,8,63,367,111 | ||||
|  | @ -253,6 +265,10 @@ BEGIN | |||
|     BEGIN | ||||
|     END | ||||
| 
 | ||||
|     IDD_CHECKSUM, DIALOG | ||||
|     BEGIN | ||||
|     END | ||||
| 
 | ||||
|     IDD_LICENSE, DIALOG | ||||
|     BEGIN | ||||
|     END | ||||
|  | @ -282,8 +298,8 @@ END | |||
| // | ||||
| 
 | ||||
| VS_VERSION_INFO VERSIONINFO | ||||
|  FILEVERSION 2,3,690,0 | ||||
|  PRODUCTVERSION 2,3,690,0 | ||||
|  FILEVERSION 2,3,691,0 | ||||
|  PRODUCTVERSION 2,3,691,0 | ||||
|  FILEFLAGSMASK 0x3fL | ||||
| #ifdef _DEBUG | ||||
|  FILEFLAGS 0x1L | ||||
|  | @ -300,13 +316,13 @@ BEGIN | |||
|         BEGIN | ||||
|             VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)" | ||||
|             VALUE "FileDescription", "Rufus" | ||||
|             VALUE "FileVersion", "2.3.690" | ||||
|             VALUE "FileVersion", "2.3.691" | ||||
|             VALUE "InternalName", "Rufus" | ||||
|             VALUE "LegalCopyright", "© 2011-2015 Pete Batard (GPL v3)" | ||||
|             VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html" | ||||
|             VALUE "OriginalFilename", "rufus.exe" | ||||
|             VALUE "ProductName", "Rufus" | ||||
|             VALUE "ProductVersion", "2.3.690" | ||||
|             VALUE "ProductVersion", "2.3.691" | ||||
|         END | ||||
|     END | ||||
|     BLOCK "VarFileInfo" | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue