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 "msapi_utf8.h"
|
||||||
#include "rufus.h"
|
#include "rufus.h"
|
||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
|
#include "localization.h"
|
||||||
|
|
||||||
#undef BIG_ENDIAN_HOST
|
#undef BIG_ENDIAN_HOST
|
||||||
|
|
||||||
|
/* Globals */
|
||||||
|
char sha1str[41], md5str[33];
|
||||||
|
|
||||||
#if defined(__GNUC__)
|
#if defined(__GNUC__)
|
||||||
#define ALIGNED(m) __attribute__ ((__aligned__(m)))
|
#define ALIGNED(m) __attribute__ ((__aligned__(m)))
|
||||||
#elif defined(_MSC_VER)
|
#elif defined(_MSC_VER)
|
||||||
|
@ -514,13 +518,44 @@ static void md5_final(MD5_CONTEXT *ctx)
|
||||||
#undef X
|
#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)
|
DWORD WINAPI SumThread(void* param)
|
||||||
{
|
{
|
||||||
HANDLE h = INVALID_HANDLE_VALUE;
|
HANDLE h = INVALID_HANDLE_VALUE;
|
||||||
DWORD rSize = 0, LastRefresh = 0;
|
DWORD rSize = 0, LastRefresh = 0;
|
||||||
uint64_t rb;
|
uint64_t rb;
|
||||||
char buffer[4096];
|
char buffer[4096];
|
||||||
char str[41];
|
|
||||||
SHA1_CONTEXT sha1_ctx;
|
SHA1_CONTEXT sha1_ctx;
|
||||||
MD5_CONTEXT md5_ctx;
|
MD5_CONTEXT md5_ctx;
|
||||||
int i, r = -1;
|
int i, r = -1;
|
||||||
|
@ -565,15 +600,17 @@ DWORD WINAPI SumThread(void* param)
|
||||||
md5_final(&md5_ctx);
|
md5_final(&md5_ctx);
|
||||||
|
|
||||||
for (i = 0; i < 16; i++)
|
for (i = 0; i < 16; i++)
|
||||||
safe_sprintf(&str[2 * i], sizeof(str) - 2 * i, "%02x", md5_ctx.buf[i]);
|
safe_sprintf(&md5str[2 * i], sizeof(md5str) - 2 * i, "%02x", md5_ctx.buf[i]);
|
||||||
uprintf(" MD5:\t%s", str);
|
uprintf(" MD5:\t%s", md5str);
|
||||||
for (i = 0; i < 20; i++)
|
for (i = 0; i < 20; i++)
|
||||||
safe_sprintf(&str[2*i], sizeof(str) - 2*i, "%02x", sha1_ctx.buf[i]);
|
safe_sprintf(&sha1str[2*i], sizeof(sha1str) - 2*i, "%02x", sha1_ctx.buf[i]);
|
||||||
uprintf(" SHA1:\t%s", str);
|
uprintf(" SHA1:\t%s", sha1str);
|
||||||
r = 0;
|
r = 0;
|
||||||
|
|
||||||
out:
|
out:
|
||||||
safe_closehandle(h);
|
safe_closehandle(h);
|
||||||
PostMessage(hMainDialog, UM_FORMAT_COMPLETED, (WPARAM)FALSE, 0);
|
PostMessage(hMainDialog, UM_FORMAT_COMPLETED, (WPARAM)FALSE, 0);
|
||||||
|
if (r == 0)
|
||||||
|
MyDialogBox(hMainInstance, IDD_CHECKSUM, hMainDialog, ChecksumCallback);
|
||||||
ExitThread(r);
|
ExitThread(r);
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,6 +34,7 @@ const loc_control_id control_id[] = {
|
||||||
LOC_CTRL(IDD_LOG),
|
LOC_CTRL(IDD_LOG),
|
||||||
LOC_CTRL(IDD_UPDATE_POLICY),
|
LOC_CTRL(IDD_UPDATE_POLICY),
|
||||||
LOC_CTRL(IDD_NEW_VERSION),
|
LOC_CTRL(IDD_NEW_VERSION),
|
||||||
|
LOC_CTRL(IDD_CHECKSUM),
|
||||||
LOC_CTRL(IDC_DEVICE),
|
LOC_CTRL(IDC_DEVICE),
|
||||||
LOC_CTRL(IDC_FILESYSTEM),
|
LOC_CTRL(IDC_FILESYSTEM),
|
||||||
LOC_CTRL(IDC_START),
|
LOC_CTRL(IDC_START),
|
||||||
|
@ -56,6 +57,7 @@ const loc_control_id control_id[] = {
|
||||||
LOC_CTRL(IDC_DISK_ID),
|
LOC_CTRL(IDC_DISK_ID),
|
||||||
LOC_CTRL(IDC_EXTRA_PARTITION),
|
LOC_CTRL(IDC_EXTRA_PARTITION),
|
||||||
LOC_CTRL(IDC_ENABLE_FIXED_DISKS),
|
LOC_CTRL(IDC_ENABLE_FIXED_DISKS),
|
||||||
|
LOC_CTRL(IDC_HASH),
|
||||||
LOC_CTRL(IDC_ABOUT_LICENSE),
|
LOC_CTRL(IDC_ABOUT_LICENSE),
|
||||||
LOC_CTRL(IDC_ABOUT_ICON),
|
LOC_CTRL(IDC_ABOUT_ICON),
|
||||||
LOC_CTRL(IDC_ABOUT_UPDATES),
|
LOC_CTRL(IDC_ABOUT_UPDATES),
|
||||||
|
@ -84,6 +86,8 @@ const loc_control_id control_id[] = {
|
||||||
LOC_CTRL(IDC_YOUR_VERSION),
|
LOC_CTRL(IDC_YOUR_VERSION),
|
||||||
LOC_CTRL(IDC_LATEST_VERSION),
|
LOC_CTRL(IDC_LATEST_VERSION),
|
||||||
LOC_CTRL(IDC_DOWNLOAD_URL),
|
LOC_CTRL(IDC_DOWNLOAD_URL),
|
||||||
|
LOC_CTRL(IDC_MD5),
|
||||||
|
LOC_CTRL(IDC_SHA1),
|
||||||
LOC_CTRL(IDS_DEVICE_TXT),
|
LOC_CTRL(IDS_DEVICE_TXT),
|
||||||
LOC_CTRL(IDS_PARTITION_TYPE_TXT),
|
LOC_CTRL(IDS_PARTITION_TYPE_TXT),
|
||||||
LOC_CTRL(IDS_FILESYSTEM_TXT),
|
LOC_CTRL(IDS_FILESYSTEM_TXT),
|
||||||
|
@ -398,4 +402,5 @@ loc_dlg_list loc_dlg[] = {
|
||||||
LOC_DLG(IDD_LOG),
|
LOC_DLG(IDD_LOG),
|
||||||
LOC_DLG(IDD_UPDATE_POLICY),
|
LOC_DLG(IDD_UPDATE_POLICY),
|
||||||
LOC_DLG(IDD_NEW_VERSION),
|
LOC_DLG(IDD_NEW_VERSION),
|
||||||
|
LOC_DLG(IDD_CHECKSUM),
|
||||||
};
|
};
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
#define IDD_LOG 105
|
#define IDD_LOG 105
|
||||||
#define IDD_UPDATE_POLICY 106
|
#define IDD_UPDATE_POLICY 106
|
||||||
#define IDD_NEW_VERSION 107
|
#define IDD_NEW_VERSION 107
|
||||||
|
#define IDD_CHECKSUM 108
|
||||||
#define IDI_ICON 110
|
#define IDI_ICON 110
|
||||||
#define IDI_UP 111
|
#define IDI_UP 111
|
||||||
#define IDI_DOWN 112
|
#define IDI_DOWN 112
|
||||||
|
@ -123,6 +124,8 @@
|
||||||
#define IDC_YOUR_VERSION 1068
|
#define IDC_YOUR_VERSION 1068
|
||||||
#define IDC_LATEST_VERSION 1069
|
#define IDC_LATEST_VERSION 1069
|
||||||
#define IDC_DOWNLOAD_URL 1070
|
#define IDC_DOWNLOAD_URL 1070
|
||||||
|
#define IDC_MD5 1071
|
||||||
|
#define IDC_SHA1 1072
|
||||||
#define IDS_DEVICE_TXT 2000
|
#define IDS_DEVICE_TXT 2000
|
||||||
#define IDS_PARTITION_TYPE_TXT 2001
|
#define IDS_PARTITION_TYPE_TXT 2001
|
||||||
#define IDS_FILESYSTEM_TXT 2002
|
#define IDS_FILESYSTEM_TXT 2002
|
||||||
|
@ -425,7 +428,7 @@
|
||||||
#define _APS_NO_MFC 1
|
#define _APS_NO_MFC 1
|
||||||
#define _APS_NEXT_RESOURCE_VALUE 505
|
#define _APS_NEXT_RESOURCE_VALUE 505
|
||||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||||
#define _APS_NEXT_CONTROL_VALUE 1071
|
#define _APS_NEXT_CONTROL_VALUE 1073
|
||||||
#define _APS_NEXT_SYMED_VALUE 4000
|
#define _APS_NEXT_SYMED_VALUE 4000
|
||||||
#endif
|
#endif
|
||||||
#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
|
IDD_DIALOG DIALOGEX 12, 12, 242, 376
|
||||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
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
|
FONT 8, "Segoe UI Symbol", 400, 0, 0x0
|
||||||
BEGIN
|
BEGIN
|
||||||
LTEXT "Device",IDS_DEVICE_TXT,9,6,200,8
|
LTEXT "Device",IDS_DEVICE_TXT,9,6,200,8
|
||||||
|
@ -79,13 +79,25 @@ CAPTION "About Rufus"
|
||||||
FONT 8, "Segoe UI Symbol", 400, 0, 0x0
|
FONT 8, "Segoe UI Symbol", 400, 0, 0x0
|
||||||
BEGIN
|
BEGIN
|
||||||
ICON IDI_ICON,IDC_ABOUT_ICON,11,8,20,20
|
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_BLURB,"RichEdit20W",0x884,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_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 "License",IDC_ABOUT_LICENSE,46,215,50,14,WS_GROUP
|
||||||
PUSHBUTTON "Updates",IDC_ABOUT_UPDATES,100,215,50,14,NOT WS_VISIBLE | 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
|
DEFPUSHBUTTON "OK",IDOK,251,215,50,14,WS_GROUP
|
||||||
END
|
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
|
IDD_LICENSE DIALOGEX 0, 0, 335, 205
|
||||||
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "Rufus License"
|
CAPTION "Rufus License"
|
||||||
|
@ -127,7 +139,7 @@ FONT 8, "Segoe UI Symbol", 400, 0, 0x0
|
||||||
BEGIN
|
BEGIN
|
||||||
ICON IDI_ICON,IDC_ABOUT_ICON,11,8,20,20
|
ICON IDI_ICON,IDC_ABOUT_ICON,11,8,20,20
|
||||||
DEFPUSHBUTTON "Close",IDCANCEL,221,172,50,14,WS_GROUP
|
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
|
GROUPBOX "Settings",IDS_UPDATE_SETTINGS_GRP,45,145,165,46
|
||||||
LTEXT "Check for updates",IDS_UPDATE_FREQUENCY_TXT,51,159,76,11
|
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
|
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
|
FONT 8, "Segoe UI Symbol", 400, 0, 0x0
|
||||||
BEGIN
|
BEGIN
|
||||||
PUSHBUTTON "Close",IDCANCEL,167,244,50,14,WS_GROUP
|
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
|
DEFPUSHBUTTON "Download",IDC_DOWNLOAD,293,211,74,14,WS_GROUP
|
||||||
CONTROL "",IDC_PROGRESS,"msctls_progress32",WS_BORDER,15,212,270,11
|
CONTROL "",IDC_PROGRESS,"msctls_progress32",WS_BORDER,15,212,270,11
|
||||||
GROUPBOX "Release Notes",IDS_NEW_VERSION_NOTES_GRP,8,63,367,111
|
GROUPBOX "Release Notes",IDS_NEW_VERSION_NOTES_GRP,8,63,367,111
|
||||||
|
@ -253,6 +265,10 @@ BEGIN
|
||||||
BEGIN
|
BEGIN
|
||||||
END
|
END
|
||||||
|
|
||||||
|
IDD_CHECKSUM, DIALOG
|
||||||
|
BEGIN
|
||||||
|
END
|
||||||
|
|
||||||
IDD_LICENSE, DIALOG
|
IDD_LICENSE, DIALOG
|
||||||
BEGIN
|
BEGIN
|
||||||
END
|
END
|
||||||
|
@ -282,8 +298,8 @@ END
|
||||||
//
|
//
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 2,3,690,0
|
FILEVERSION 2,3,691,0
|
||||||
PRODUCTVERSION 2,3,690,0
|
PRODUCTVERSION 2,3,691,0
|
||||||
FILEFLAGSMASK 0x3fL
|
FILEFLAGSMASK 0x3fL
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
|
@ -300,13 +316,13 @@ BEGIN
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)"
|
VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)"
|
||||||
VALUE "FileDescription", "Rufus"
|
VALUE "FileDescription", "Rufus"
|
||||||
VALUE "FileVersion", "2.3.690"
|
VALUE "FileVersion", "2.3.691"
|
||||||
VALUE "InternalName", "Rufus"
|
VALUE "InternalName", "Rufus"
|
||||||
VALUE "LegalCopyright", "© 2011-2015 Pete Batard (GPL v3)"
|
VALUE "LegalCopyright", "© 2011-2015 Pete Batard (GPL v3)"
|
||||||
VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html"
|
VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html"
|
||||||
VALUE "OriginalFilename", "rufus.exe"
|
VALUE "OriginalFilename", "rufus.exe"
|
||||||
VALUE "ProductName", "Rufus"
|
VALUE "ProductName", "Rufus"
|
||||||
VALUE "ProductVersion", "2.3.690"
|
VALUE "ProductVersion", "2.3.691"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|
Loading…
Reference in a new issue