GUI enhancement: MD5 and SHA256 Hash dialogs
- add accelerators - add initializers - optimize dark mod Fix #13579, close #13580
This commit is contained in:
parent
997ef821d1
commit
7e6c4b3c6b
|
@ -519,27 +519,27 @@ The comments are here for explanation, it's not necessary to translate them.
|
|||
</Run>
|
||||
|
||||
<MD5FromFilesDlg title="Generate MD5 digest from files">
|
||||
<Item id="1922" name="Choose files to generate MD5..."/>
|
||||
<Item id="1924" name="Copy to Clipboard"/>
|
||||
<Item id="2" name="Close"/>
|
||||
<Item id="1922" name="Choose files to &generate MD5..."/>
|
||||
<Item id="1924" name="Co&py to Clipboard"/>
|
||||
<Item id="2" name="&Close"/>
|
||||
</MD5FromFilesDlg>
|
||||
|
||||
<MD5FromTextDlg title="Generate MD5 digest">
|
||||
<Item id="1932" name="Treat each line as a separate string"/>
|
||||
<Item id="1934" name="Copy to Clipboard"/>
|
||||
<Item id="2" name="Close"/>
|
||||
<Item id="1932" name="Treat each line as a &separate string"/>
|
||||
<Item id="1934" name="Co&py to Clipboard"/>
|
||||
<Item id="2" name="&Close"/>
|
||||
</MD5FromTextDlg>
|
||||
|
||||
<SHA256FromFilesDlg title="Generate SHA-256 digest from files">
|
||||
<Item id="1922" name="Choose files to generate SHA-256..."/>
|
||||
<Item id="1924" name="Copy to Clipboard"/>
|
||||
<Item id="2" name="Close"/>
|
||||
<Item id="1922" name="Choose files to &generate SHA-256..."/>
|
||||
<Item id="1924" name="Co&py to Clipboard"/>
|
||||
<Item id="2" name="&Close"/>
|
||||
</SHA256FromFilesDlg>
|
||||
|
||||
<SHA256FromTextDlg title="Generate SHA-256 digest">
|
||||
<Item id="1932" name="Treat each line as a separate string"/>
|
||||
<Item id="1934" name="Copy to Clipboard"/>
|
||||
<Item id="2" name="Close"/>
|
||||
<Item id="1932" name="Treat each line as a &separate string"/>
|
||||
<Item id="1934" name="Co&py to Clipboard"/>
|
||||
<Item id="2" name="&Close"/>
|
||||
</SHA256FromTextDlg>
|
||||
|
||||
<PluginsAdminDlg title="Plugins Admin" titleAvailable="Available" titleUpdates="Updates" titleInstalled="Installed" titleIncompatible="Incompatible">
|
||||
|
|
|
@ -514,27 +514,27 @@ The comments are here for explanation, it's not necessary to translate them.
|
|||
</Run>
|
||||
|
||||
<MD5FromFilesDlg title="Generate MD5 digest from files">
|
||||
<Item id="1922" name="Choose files to generate MD5..."/>
|
||||
<Item id="1924" name="Copy to Clipboard"/>
|
||||
<Item id="2" name="Close"/>
|
||||
<Item id="1922" name="Choose files to &generate MD5..."/>
|
||||
<Item id="1924" name="Co&py to Clipboard"/>
|
||||
<Item id="2" name="&Close"/>
|
||||
</MD5FromFilesDlg>
|
||||
|
||||
<MD5FromTextDlg title="Generate MD5 digest">
|
||||
<Item id="1932" name="Treat each line as a separate string"/>
|
||||
<Item id="1934" name="Copy to Clipboard"/>
|
||||
<Item id="2" name="Close"/>
|
||||
<Item id="1932" name="Treat each line as a &separate string"/>
|
||||
<Item id="1934" name="Co&py to Clipboard"/>
|
||||
<Item id="2" name="&Close"/>
|
||||
</MD5FromTextDlg>
|
||||
|
||||
<SHA256FromFilesDlg title="Generate SHA-256 digest from files">
|
||||
<Item id="1922" name="Choose files to generate SHA-256..."/>
|
||||
<Item id="1924" name="Copy to Clipboard"/>
|
||||
<Item id="2" name="Close"/>
|
||||
<Item id="1922" name="Choose files to &generate SHA-256..."/>
|
||||
<Item id="1924" name="Co&py to Clipboard"/>
|
||||
<Item id="2" name="&Close"/>
|
||||
</SHA256FromFilesDlg>
|
||||
|
||||
<SHA256FromTextDlg title="Generate SHA-256 digest">
|
||||
<Item id="1932" name="Treat each line as a separate string"/>
|
||||
<Item id="1934" name="Copy to Clipboard"/>
|
||||
<Item id="2" name="Close"/>
|
||||
<Item id="1932" name="Treat each line as a &separate string"/>
|
||||
<Item id="1934" name="Co&py to Clipboard"/>
|
||||
<Item id="2" name="&Close"/>
|
||||
</SHA256FromTextDlg>
|
||||
|
||||
<PluginsAdminDlg title="Plugins Admin" titleAvailable="Available" titleUpdates="Updates" titleInstalled="Installed" titleIncompatible="Incompatible">
|
||||
|
|
|
@ -50,26 +50,20 @@ intptr_t CALLBACK HashFromFilesDlg::run_dlgProc(UINT message, WPARAM wParam, LPA
|
|||
|
||||
case WM_CTLCOLORDLG:
|
||||
{
|
||||
if (NppDarkMode::isEnabled())
|
||||
{
|
||||
return NppDarkMode::onCtlColorDarker(reinterpret_cast<HDC>(wParam));
|
||||
}
|
||||
break;
|
||||
return NppDarkMode::onCtlColorDarker(reinterpret_cast<HDC>(wParam));
|
||||
}
|
||||
|
||||
case WM_CTLCOLORSTATIC:
|
||||
{
|
||||
if (NppDarkMode::isEnabled())
|
||||
{
|
||||
HWND hwnd = reinterpret_cast<HWND>(lParam);
|
||||
if (hwnd == ::GetDlgItem(_hSelf, IDC_HASH_PATH_EDIT) || hwnd == ::GetDlgItem(_hSelf, IDC_HASH_RESULT_EDIT))
|
||||
const auto hdcStatic = reinterpret_cast<HDC>(wParam);
|
||||
const auto dlgCtrlID = ::GetDlgCtrlID(reinterpret_cast<HWND>(lParam));
|
||||
if (dlgCtrlID == IDC_HASH_PATH_EDIT || dlgCtrlID == IDC_HASH_RESULT_EDIT)
|
||||
{
|
||||
return NppDarkMode::onCtlColor(reinterpret_cast<HDC>(wParam));
|
||||
}
|
||||
else
|
||||
{
|
||||
return NppDarkMode::onCtlColorDarker(reinterpret_cast<HDC>(wParam));
|
||||
return NppDarkMode::onCtlColor(hdcStatic);
|
||||
}
|
||||
return NppDarkMode::onCtlColorDarker(hdcStatic);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -89,7 +83,7 @@ intptr_t CALLBACK HashFromFilesDlg::run_dlgProc(UINT message, WPARAM wParam, LPA
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
case WM_COMMAND :
|
||||
case WM_COMMAND:
|
||||
{
|
||||
switch (wParam)
|
||||
{
|
||||
|
@ -137,7 +131,7 @@ intptr_t CALLBACK HashFromFilesDlg::run_dlgProc(UINT message, WPARAM wParam, LPA
|
|||
{
|
||||
std::string content = getFileContent(it.c_str());
|
||||
|
||||
uint8_t sha2hash[32];
|
||||
uint8_t sha2hash[32]{};
|
||||
calc_sha_256(sha2hash, reinterpret_cast<const uint8_t*>(content.c_str()), content.length());
|
||||
|
||||
wchar_t sha2hashStr[65] = { '\0' };
|
||||
|
@ -186,7 +180,7 @@ intptr_t CALLBACK HashFromFilesDlg::run_dlgProc(UINT message, WPARAM wParam, LPA
|
|||
}
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
LRESULT run_textEditProc(WNDPROC oldEditProc, HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
|
@ -230,13 +224,13 @@ void HashFromFilesDlg::doDialog(bool isRTL)
|
|||
generic_string title = TEXT("Generate SHA-256 digest from files");
|
||||
::SetWindowText(_hSelf, title.c_str());
|
||||
|
||||
generic_string buttonText = TEXT("Choose files to generate SHA-256...");
|
||||
generic_string buttonText = TEXT("Choose files to &generate SHA-256...");
|
||||
::SetDlgItemText(_hSelf, IDC_HASH_FILEBROWSER_BUTTON, buttonText.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
// Adjust the position in the center
|
||||
goToCenter();
|
||||
goToCenter(SWP_SHOWWINDOW | SWP_NOSIZE);
|
||||
}
|
||||
|
||||
void HashFromTextDlg::generateHash()
|
||||
|
@ -261,7 +255,7 @@ void HashFromTextDlg::generateHash()
|
|||
}
|
||||
else if (_ht == hash_sha256)
|
||||
{
|
||||
uint8_t sha2hash[32];
|
||||
uint8_t sha2hash[32]{};
|
||||
calc_sha_256(sha2hash, reinterpret_cast<const uint8_t*>(newText), strlen(newText));
|
||||
|
||||
wchar_t sha2hashStr[65] = { '\0' };
|
||||
|
@ -359,43 +353,25 @@ intptr_t CALLBACK HashFromTextDlg::run_dlgProc(UINT message, WPARAM wParam, LPAR
|
|||
|
||||
case WM_CTLCOLOREDIT:
|
||||
{
|
||||
if (NppDarkMode::isEnabled())
|
||||
{
|
||||
HWND hwnd = reinterpret_cast<HWND>(lParam);
|
||||
if (hwnd == ::GetDlgItem(_hSelf, IDC_HASH_TEXT_EDIT))
|
||||
{
|
||||
return NppDarkMode::onCtlColorSofter(reinterpret_cast<HDC>(wParam));
|
||||
}
|
||||
else
|
||||
{
|
||||
return NppDarkMode::onCtlColor(reinterpret_cast<HDC>(wParam));
|
||||
}
|
||||
}
|
||||
break;
|
||||
return NppDarkMode::onCtlColorSofter(reinterpret_cast<HDC>(wParam));
|
||||
}
|
||||
|
||||
case WM_CTLCOLORDLG:
|
||||
{
|
||||
if (NppDarkMode::isEnabled())
|
||||
{
|
||||
return NppDarkMode::onCtlColorDarker(reinterpret_cast<HDC>(wParam));
|
||||
}
|
||||
break;
|
||||
return NppDarkMode::onCtlColorDarker(reinterpret_cast<HDC>(wParam));
|
||||
}
|
||||
|
||||
case WM_CTLCOLORSTATIC:
|
||||
{
|
||||
if (NppDarkMode::isEnabled())
|
||||
{
|
||||
HWND hwnd = reinterpret_cast<HWND>(lParam);
|
||||
if (hwnd == ::GetDlgItem(_hSelf, IDC_HASH_RESULT_FOMTEXT_EDIT))
|
||||
const auto hdcStatic = reinterpret_cast<HDC>(wParam);
|
||||
const auto dlgCtrlID = ::GetDlgCtrlID(reinterpret_cast<HWND>(lParam));
|
||||
if (dlgCtrlID == IDC_HASH_RESULT_FOMTEXT_EDIT)
|
||||
{
|
||||
return NppDarkMode::onCtlColor(reinterpret_cast<HDC>(wParam));
|
||||
}
|
||||
else
|
||||
{
|
||||
return NppDarkMode::onCtlColorDarker(reinterpret_cast<HDC>(wParam));
|
||||
return NppDarkMode::onCtlColor(hdcStatic);
|
||||
}
|
||||
return NppDarkMode::onCtlColorDarker(hdcStatic);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -415,7 +391,7 @@ intptr_t CALLBACK HashFromTextDlg::run_dlgProc(UINT message, WPARAM wParam, LPAR
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
case WM_COMMAND :
|
||||
case WM_COMMAND:
|
||||
{
|
||||
if (HIWORD(wParam) == EN_CHANGE && LOWORD(wParam) == IDC_HASH_TEXT_EDIT)
|
||||
{
|
||||
|
@ -471,7 +447,7 @@ intptr_t CALLBACK HashFromTextDlg::run_dlgProc(UINT message, WPARAM wParam, LPAR
|
|||
}
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void HashFromTextDlg::setHashType(hashType hashType2set)
|
||||
|
@ -493,5 +469,5 @@ void HashFromTextDlg::doDialog(bool isRTL)
|
|||
}
|
||||
|
||||
// Adjust the position in the center
|
||||
goToCenter();
|
||||
goToCenter(SWP_SHOWWINDOW | SWP_NOSIZE);
|
||||
}
|
||||
|
|
|
@ -28,11 +28,11 @@ public :
|
|||
HashFromFilesDlg() = default;
|
||||
|
||||
void doDialog(bool isRTL = false);
|
||||
virtual void destroy() {};
|
||||
void destroy() override {};
|
||||
void setHashType(hashType hashType2set);
|
||||
|
||||
protected :
|
||||
virtual intptr_t CALLBACK run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam);
|
||||
intptr_t CALLBACK run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam) override;
|
||||
hashType _ht = hash_md5;
|
||||
|
||||
static LRESULT CALLBACK HashPathEditStaticProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {
|
||||
|
@ -56,13 +56,13 @@ public :
|
|||
HashFromTextDlg() = default;
|
||||
|
||||
void doDialog(bool isRTL = false);
|
||||
virtual void destroy() {};
|
||||
void destroy() override {};
|
||||
void generateHash();
|
||||
void generateHashPerLine();
|
||||
void setHashType(hashType hashType2set);
|
||||
|
||||
protected :
|
||||
virtual intptr_t CALLBACK run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam);
|
||||
intptr_t CALLBACK run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam) override;
|
||||
hashType _ht = hash_md5;
|
||||
|
||||
static LRESULT CALLBACK HashTextEditStaticProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {
|
||||
|
|
|
@ -19,28 +19,28 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|||
#include <windows.h>
|
||||
#include "md5Dlgs_rc.h"
|
||||
|
||||
IDD_HASHFROMFILES_DLG DIALOGEX 0, 0, 357, 213
|
||||
IDD_HASHFROMFILES_DLG DIALOGEX 0, 0, 353, 196
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_DLGMODALFRAME | WS_EX_WINDOWEDGE
|
||||
CAPTION "Generate MD5 digest from files"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
PUSHBUTTON "Choose files to generate MD5...",IDC_HASH_FILEBROWSER_BUTTON,9,4,131,14
|
||||
EDITTEXT IDC_HASH_PATH_EDIT,9,21,340,64,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | NOT WS_BORDER | WS_VSCROLL | WS_HSCROLL,WS_EX_CLIENTEDGE
|
||||
EDITTEXT IDC_HASH_RESULT_EDIT,9,105,340,64,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | NOT WS_BORDER | WS_VSCROLL | WS_HSCROLL,WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "Copy to Clipboard",IDC_HASH_TOCLIPBOARD_BUTTON,259,172,90,14
|
||||
PUSHBUTTON "Close",IDCANCEL,148,190,60,14
|
||||
PUSHBUTTON "Choose files to &generate MD5...",IDC_HASH_FILEBROWSER_BUTTON,7,4,131,14
|
||||
EDITTEXT IDC_HASH_PATH_EDIT,7,21,340,64,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_HSCROLL
|
||||
EDITTEXT IDC_HASH_RESULT_EDIT,7,91,340,64,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_HSCROLL
|
||||
PUSHBUTTON "Co&py to Clipboard",IDC_HASH_TOCLIPBOARD_BUTTON,257,158,90,14
|
||||
PUSHBUTTON "&Close",IDCANCEL,146,176,60,14
|
||||
END
|
||||
|
||||
IDD_HASHFROMTEXT_DLG DIALOGEX 0, 0, 357, 213
|
||||
IDD_HASHFROMTEXT_DLG DIALOGEX 0, 0, 353, 196
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_DLGMODALFRAME | WS_EX_WINDOWEDGE
|
||||
CAPTION "Generate MD5 digest"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
CONTROL "Treat each line as a separate string",IDC_HASH_EACHLINE_CHECK,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,9,3,179,16
|
||||
EDITTEXT IDC_HASH_TEXT_EDIT, 9, 21, 340, 64, ES_MULTILINE | ES_AUTOVSCROLL | NOT WS_BORDER | WS_VSCROLL | WS_HSCROLL | ES_WANTRETURN,WS_EX_CLIENTEDGE
|
||||
EDITTEXT IDC_HASH_RESULT_FOMTEXT_EDIT,9,105,340,64,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | NOT WS_BORDER | WS_VSCROLL | WS_HSCROLL,WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "Copy to Clipboard",IDC_HASH_FROMTEXT_TOCLIPBOARD_BUTTON,259,172,90,14
|
||||
PUSHBUTTON "Close",IDCANCEL,148,190,60,14
|
||||
CONTROL "Treat each line as a &separate string",IDC_HASH_EACHLINE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,6,179,10
|
||||
EDITTEXT IDC_HASH_TEXT_EDIT,7,21,340,64,ES_MULTILINE | ES_AUTOVSCROLL | WS_VSCROLL | WS_HSCROLL | ES_WANTRETURN
|
||||
EDITTEXT IDC_HASH_RESULT_FOMTEXT_EDIT,7,91,340,64,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_HSCROLL
|
||||
PUSHBUTTON "Co&py to Clipboard",IDC_HASH_FROMTEXT_TOCLIPBOARD_BUTTON,257,158,90,14
|
||||
PUSHBUTTON "&Close",IDCANCEL,146,176,60,14
|
||||
END
|
||||
|
|
Loading…
Reference in New Issue