GUIEnhancement: About, Debug, Save dialogs
- add accelerators - optimize dark mode - remove/comment unused variables - replace debug copy link with push button - fix override warnings - add initializers Fix #13686, close #13687
This commit is contained in:
parent
779db128ac
commit
1806b8994b
|
@ -1324,11 +1324,11 @@ You can define several column markers by using white space to separate the diffe
|
|||
<DoSaveAll title="Save All Confirmation">
|
||||
<Item id="1766" name="Are you sure you want to save all modified documents?
|
||||
|
||||
Choose "Always Yes" if you don't want to see this dialog again.
|
||||
Choose "Always yes" if you don't want to see this dialog again.
|
||||
You can re-activate this dialog in Preferences later."/>
|
||||
<Item id="6" name="&Yes"/>
|
||||
<Item id="7" name="&No"/>
|
||||
<Item id="4" name="Always Yes"/>
|
||||
<Item id="4" name="&Always yes"/>
|
||||
</DoSaveAll><!-- HowToReproduce: Check the 'Enable Save All confirm dialog' checkbox in Preference->MISC, now click 'Save all' -->
|
||||
</Dialog>
|
||||
<MessageBox>
|
||||
|
|
|
@ -1324,11 +1324,11 @@ You can define several column markers by using white space to separate the diffe
|
|||
<DoSaveAll title="Save All Confirmation">
|
||||
<Item id="1766" name="Are you sure you want to save all modified documents?
|
||||
|
||||
Choose "Always Yes" if you don't want to see this dialog again.
|
||||
Choose "Always yes" if you don't want to see this dialog again.
|
||||
You can re-activate this dialog in Preferences later."/>
|
||||
<Item id="6" name="&Yes"/>
|
||||
<Item id="7" name="&No"/>
|
||||
<Item id="4" name="Always Yes"/>
|
||||
<Item id="4" name="&Always yes"/>
|
||||
</DoSaveAll><!-- HowToReproduce: Check the 'Enable Save All confirm dialog' checkbox in Preference->MISC, now click 'Save all' -->
|
||||
</Dialog>
|
||||
<MessageBox>
|
||||
|
|
|
@ -1257,7 +1257,7 @@ BEGIN
|
|||
END
|
||||
END
|
||||
|
||||
IDD_ABOUTBOX DIALOGEX 0, 0, 271, 240
|
||||
IDD_ABOUTBOX DIALOGEX 0, 0, 270, 240
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_BORDER | WS_SYSMENU
|
||||
FONT 8, TEXT("MS Shell Dlg"), 0, 0, 0x1
|
||||
BEGIN
|
||||
|
@ -1277,48 +1277,49 @@ BEGIN
|
|||
//LTEXT "Happy Users' Edition",IDC_AUTHOR_NAME,85,38,100,8
|
||||
//LTEXT "I want to get a refund",IDC_HOME_ADDR,85,48,126,8
|
||||
LTEXT "Home:",IDC_STATIC,21,58,47,8
|
||||
LTEXT "https://notepad-plus-plus.org/",IDC_HOME_ADDR,50,58,126,8
|
||||
GROUPBOX "GNU General Public Licence",IDC_STATIC,19,75,231,131,BS_CENTER
|
||||
DEFPUSHBUTTON "OK",IDOK,106,215,50,14,BS_FLAT
|
||||
LTEXT "https://notepad-plus-plus.org/",IDC_HOME_ADDR,50,57,126,10
|
||||
GROUPBOX "GNU General Public Licence",IDC_STATIC,20,75,230,138,BS_CENTER
|
||||
DEFPUSHBUTTON "OK",IDOK,110,220,50,14
|
||||
// IDC_LICENCE_EDIT should be the last line, don't know why
|
||||
EDITTEXT IDC_LICENCE_EDIT,31,99,209,96,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | NOT WS_BORDER | WS_VSCROLL
|
||||
EDITTEXT IDC_LICENCE_EDIT,30,93,210,117,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | NOT WS_BORDER
|
||||
END
|
||||
|
||||
IDD_DEBUGINFOBOX DIALOGEX 0, 0, 271, 200
|
||||
IDD_DEBUGINFOBOX DIALOGEX 0, 0, 246, 195
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_DLGMODALFRAME | WS_EX_WINDOWEDGE
|
||||
CAPTION "Debug Info"
|
||||
FONT 8, TEXT("MS Shell Dlg"), 0, 0, 0x1
|
||||
BEGIN
|
||||
EDITTEXT IDC_DEBUGINFO_EDIT,31,20,220,96,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | NOT WS_BORDER | WS_VSCROLL
|
||||
LTEXT "Copy debug info into clipboard",IDC_DEBUGINFO_COPYLINK,31,120,126,8
|
||||
DEFPUSHBUTTON "OK",IDOK,106,160,50,14,BS_FLAT
|
||||
GROUPBOX "",IDC_STATIC,8,3,230,151,BS_CENTER
|
||||
EDITTEXT IDC_DEBUGINFO_EDIT,18,16,210,128,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | NOT WS_BORDER | WS_VSCROLL
|
||||
PUSHBUTTON "&Copy debug info into clipboard",IDC_DEBUGINFO_COPYLINK,8,157,126,14
|
||||
DEFPUSHBUTTON "OK",IDOK,98,175,50,14
|
||||
END
|
||||
|
||||
IDD_DOSAVEORNOTBOX DIALOGEX 0, 0, 310, 80
|
||||
IDD_DOSAVEORNOTBOX DIALOGEX 0, 0, 312, 80
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_DLGMODALFRAME | WS_EX_WINDOWEDGE
|
||||
CAPTION "Save"
|
||||
FONT 8, TEXT("MS Shell Dlg"), 0, 0, 0x1
|
||||
BEGIN
|
||||
LTEXT "",IDC_DOSAVEORNOTTEXT,7,10,290,40,SS_EDITCONTROL
|
||||
DEFPUSHBUTTON "&Yes",IDYES,10,60,50,14,BS_FLAT
|
||||
PUSHBUTTON "&No",IDNO,65,60,50,14,BS_FLAT
|
||||
PUSHBUTTON "&Cancel",IDCANCEL,120,60,50,14,BS_FLAT
|
||||
PUSHBUTTON "Yes to &all",IDRETRY,175,60,60,14,BS_FLAT
|
||||
PUSHBUTTON "N&o to all",IDIGNORE,240,60,60,14,BS_FLAT
|
||||
DEFPUSHBUTTON "&Yes",IDYES,10,60,50,14
|
||||
PUSHBUTTON "&No",IDNO,63,60,50,14
|
||||
PUSHBUTTON "&Cancel",IDCANCEL,116,60,60,14
|
||||
PUSHBUTTON "Yes to &all",IDRETRY,179,60,60,14
|
||||
PUSHBUTTON "N&o to all",IDIGNORE,242,60,60,14
|
||||
END
|
||||
|
||||
IDD_DOSAVEALLBOX DIALOGEX 0, 0, 260, 100
|
||||
IDD_DOSAVEALLBOX DIALOGEX 0, 0, 260, 95
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_DLGMODALFRAME | WS_EX_WINDOWEDGE
|
||||
CAPTION "Save"
|
||||
FONT 8, TEXT("MS Shell Dlg"), 0, 0, 0x1
|
||||
BEGIN
|
||||
LTEXT "",IDC_DOSAVEALLTEXT,7,10,250,70,SS_EDITCONTROL
|
||||
DEFPUSHBUTTON "&Yes",IDYES,47,75,50,14,BS_FLAT
|
||||
PUSHBUTTON "Always Yes", IDRETRY, 102, 75, 60, 14, BS_FLAT
|
||||
PUSHBUTTON "&No",IDNO,167,75,50,14,BS_FLAT
|
||||
DEFPUSHBUTTON "&Yes",IDYES,47,75,50,14
|
||||
PUSHBUTTON "&Always yes",IDRETRY,100,75,60,14
|
||||
PUSHBUTTON "&No",IDNO,163,75,50,14
|
||||
END
|
||||
|
||||
IDD_GOLINE DIALOGEX 0, 0, 258, 75
|
||||
|
|
|
@ -27,12 +27,12 @@ intptr_t CALLBACK AboutDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM lPar
|
|||
{
|
||||
switch (message)
|
||||
{
|
||||
case WM_INITDIALOG :
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
NppDarkMode::autoSubclassAndThemeChildControls(_hSelf);
|
||||
|
||||
HWND compileDateHandle = ::GetDlgItem(_hSelf, IDC_BUILD_DATETIME);
|
||||
generic_string buildTime = TEXT("Build time : ");
|
||||
generic_string buildTime = TEXT("Build time: ");
|
||||
|
||||
WcharMbcsConvertor& wmc = WcharMbcsConvertor::getInstance();
|
||||
buildTime += wmc.char2wchar(__DATE__, CP_ACP);
|
||||
|
@ -68,11 +68,7 @@ intptr_t CALLBACK AboutDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM lPar
|
|||
case WM_CTLCOLORDLG:
|
||||
case WM_CTLCOLORSTATIC:
|
||||
{
|
||||
if (NppDarkMode::isEnabled())
|
||||
{
|
||||
return NppDarkMode::onCtlColorDarker(reinterpret_cast<HDC>(wParam));
|
||||
}
|
||||
break;
|
||||
return NppDarkMode::onCtlColorDarker(reinterpret_cast<HDC>(wParam));
|
||||
}
|
||||
|
||||
case WM_PRINTCLIENT:
|
||||
|
@ -97,7 +93,7 @@ intptr_t CALLBACK AboutDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM lPar
|
|||
int w = dpiManager.scaleX(iconSideSize);
|
||||
int h = dpiManager.scaleY(iconSideSize);
|
||||
|
||||
HICON hIcon;
|
||||
HICON hIcon = nullptr;
|
||||
if (NppDarkMode::isEnabled())
|
||||
hIcon = (HICON)::LoadImage(_hInst, MAKEINTRESOURCE(IDI_CHAMELEON_DM), IMAGE_ICON, w, h, LR_DEFAULTSIZE);
|
||||
else
|
||||
|
@ -139,8 +135,8 @@ void AboutDlg::doDialog()
|
|||
if (!isCreated())
|
||||
create(IDD_ABOUTBOX);
|
||||
|
||||
// Adjust the position of AboutBox
|
||||
goToCenter();
|
||||
// Adjust the position of AboutBox
|
||||
goToCenter(SWP_SHOWWINDOW | SWP_NOSIZE);
|
||||
}
|
||||
|
||||
|
||||
|
@ -183,7 +179,7 @@ intptr_t CALLBACK DebugInfoDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
|||
|
||||
// Binary path
|
||||
_debugInfoStr += TEXT("Path : ");
|
||||
TCHAR nppFullPath[MAX_PATH];
|
||||
TCHAR nppFullPath[MAX_PATH]{};
|
||||
::GetModuleFileName(NULL, nppFullPath, MAX_PATH);
|
||||
_debugInfoStr += nppFullPath;
|
||||
_debugInfoStr += TEXT("\r\n");
|
||||
|
@ -212,7 +208,7 @@ intptr_t CALLBACK DebugInfoDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
|||
_debugInfoStr += TEXT("\r\n");
|
||||
|
||||
// OS information
|
||||
HKEY hKey;
|
||||
HKEY hKey = nullptr;
|
||||
DWORD dataSize = 0;
|
||||
|
||||
constexpr size_t bufSize = 96;
|
||||
|
@ -335,9 +331,6 @@ intptr_t CALLBACK DebugInfoDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
|||
_debugInfoStr += _loadedPlugins.length() == 0 ? TEXT("none") : _loadedPlugins;
|
||||
_debugInfoStr += TEXT("\r\n");
|
||||
|
||||
_copyToClipboardLink.init(_hInst, _hSelf);
|
||||
_copyToClipboardLink.create(::GetDlgItem(_hSelf, IDC_DEBUGINFO_COPYLINK), IDC_DEBUGINFO_COPYLINK);
|
||||
|
||||
getClientRect(_rc);
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -345,11 +338,7 @@ intptr_t CALLBACK DebugInfoDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
|||
case WM_CTLCOLORDLG:
|
||||
case WM_CTLCOLORSTATIC:
|
||||
{
|
||||
if (NppDarkMode::isEnabled())
|
||||
{
|
||||
return NppDarkMode::onCtlColorDarker(reinterpret_cast<HDC>(wParam));
|
||||
}
|
||||
break;
|
||||
return NppDarkMode::onCtlColorDarker(reinterpret_cast<HDC>(wParam));
|
||||
}
|
||||
|
||||
case WM_PRINTCLIENT:
|
||||
|
@ -378,14 +367,15 @@ intptr_t CALLBACK DebugInfoDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
|||
|
||||
case IDC_DEBUGINFO_COPYLINK:
|
||||
{
|
||||
if ((GetKeyState(VK_LBUTTON) & 0x100) != 0)
|
||||
{
|
||||
// Visual effect
|
||||
::SendDlgItemMessage(_hSelf, IDC_DEBUGINFO_EDIT, EM_SETSEL, 0, _debugInfoDisplay.length() - 1);
|
||||
// Visual effect
|
||||
::SendDlgItemMessage(_hSelf, IDC_DEBUGINFO_EDIT, EM_SETSEL, 0, _debugInfoDisplay.length() - 1);
|
||||
|
||||
// Copy to clipboard
|
||||
str2Clipboard(_debugInfoDisplay, _hSelf);
|
||||
|
||||
// Set focus to edit control
|
||||
::SendMessage(_hSelf, WM_NEXTDLGCTL, reinterpret_cast<WPARAM>(::GetDlgItem(_hSelf, IDC_DEBUGINFO_EDIT)), TRUE);
|
||||
|
||||
// Copy to clipboard
|
||||
str2Clipboard(_debugInfoDisplay, _hSelf);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
default:
|
||||
|
@ -412,7 +402,7 @@ void DebugInfoDlg::doDialog()
|
|||
refreshDebugInfo();
|
||||
|
||||
// Adjust the position of AboutBox
|
||||
goToCenter();
|
||||
goToCenter(SWP_SHOWWINDOW | SWP_NOSIZE);
|
||||
}
|
||||
|
||||
void DebugInfoDlg::refreshDebugInfo()
|
||||
|
@ -454,8 +444,8 @@ void DoSaveOrNotBox::changeLang()
|
|||
|
||||
if (nativeLangSpeaker->changeDlgLang(_hSelf, "DoSaveOrNot"))
|
||||
{
|
||||
const unsigned char len = 255;
|
||||
TCHAR text[len];
|
||||
constexpr unsigned char len = 255;
|
||||
TCHAR text[len]{};
|
||||
::GetDlgItemText(_hSelf, IDC_DOSAVEORNOTTEXT, text, len);
|
||||
msg = text;
|
||||
}
|
||||
|
@ -478,18 +468,14 @@ intptr_t CALLBACK DoSaveOrNotBox::run_dlgProc(UINT message, WPARAM wParam, LPARA
|
|||
changeLang();
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDRETRY), _isMulti);
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDIGNORE), _isMulti);
|
||||
goToCenter();
|
||||
goToCenter(SWP_SHOWWINDOW | SWP_NOSIZE);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case WM_CTLCOLORDLG:
|
||||
case WM_CTLCOLORSTATIC:
|
||||
{
|
||||
if (NppDarkMode::isEnabled())
|
||||
{
|
||||
return NppDarkMode::onCtlColorDarker(reinterpret_cast<HDC>(wParam));
|
||||
}
|
||||
break;
|
||||
return NppDarkMode::onCtlColorDarker(reinterpret_cast<HDC>(wParam));
|
||||
}
|
||||
|
||||
case WM_PRINTCLIENT:
|
||||
|
@ -571,8 +557,8 @@ void DoSaveAllBox::changeLang()
|
|||
|
||||
if (nativeLangSpeaker->changeDlgLang(_hSelf, "DoSaveAll"))
|
||||
{
|
||||
const size_t len = 1024;
|
||||
TCHAR text[len];
|
||||
constexpr size_t len = 1024;
|
||||
TCHAR text[len]{};
|
||||
::GetDlgItemText(_hSelf, IDC_DOSAVEALLTEXT, text, len);
|
||||
msg = text;
|
||||
}
|
||||
|
@ -592,18 +578,14 @@ intptr_t CALLBACK DoSaveAllBox::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
|||
NppDarkMode::autoSubclassAndThemeChildControls(_hSelf);
|
||||
|
||||
changeLang();
|
||||
goToCenter();
|
||||
goToCenter(SWP_SHOWWINDOW | SWP_NOSIZE);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case WM_CTLCOLORDLG:
|
||||
case WM_CTLCOLORSTATIC:
|
||||
{
|
||||
if (NppDarkMode::isEnabled())
|
||||
{
|
||||
return NppDarkMode::onCtlColorDarker(reinterpret_cast<HDC>(wParam));
|
||||
}
|
||||
break;
|
||||
return NppDarkMode::onCtlColorDarker(reinterpret_cast<HDC>(wParam));
|
||||
}
|
||||
|
||||
case WM_PRINTCLIENT:
|
||||
|
|
|
@ -43,17 +43,17 @@ public :
|
|||
|
||||
void doDialog();
|
||||
|
||||
virtual void destroy() {
|
||||
_emailLink.destroy();
|
||||
_pageLink.destroy();
|
||||
};
|
||||
void destroy() override {
|
||||
//_emailLink.destroy();
|
||||
_pageLink.destroy();
|
||||
};
|
||||
|
||||
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;
|
||||
|
||||
private :
|
||||
URLCtrl _emailLink;
|
||||
URLCtrl _pageLink;
|
||||
//URLCtrl _emailLink;
|
||||
URLCtrl _pageLink;
|
||||
};
|
||||
|
||||
|
||||
|
@ -72,12 +72,10 @@ public:
|
|||
|
||||
void refreshDebugInfo();
|
||||
|
||||
virtual void destroy() {
|
||||
_copyToClipboardLink.destroy();
|
||||
};
|
||||
void destroy() override {};
|
||||
|
||||
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;
|
||||
|
||||
private:
|
||||
typedef const CHAR * (__cdecl * PWINEGETVERSION)();
|
||||
|
@ -86,7 +84,6 @@ private:
|
|||
const generic_string _cmdLinePlaceHolder { L"$COMMAND_LINE_PLACEHOLDER$" };
|
||||
bool _isAdmin = false;
|
||||
generic_string _loadedPlugins;
|
||||
URLCtrl _copyToClipboardLink;
|
||||
};
|
||||
|
||||
class DoSaveOrNotBox : public StaticDialog
|
||||
|
@ -104,7 +101,7 @@ public:
|
|||
|
||||
void doDialog(bool isRTL = false);
|
||||
|
||||
virtual void destroy() {};
|
||||
void destroy() override {};
|
||||
|
||||
int getClickedButtonId() const {
|
||||
return clickedButtonId;
|
||||
|
@ -113,7 +110,7 @@ public:
|
|||
void changeLang();
|
||||
|
||||
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;
|
||||
|
||||
private:
|
||||
int clickedButtonId = -1;
|
||||
|
@ -128,7 +125,7 @@ public:
|
|||
|
||||
void doDialog(bool isRTL = false);
|
||||
|
||||
virtual void destroy() {};
|
||||
void destroy() override {};
|
||||
|
||||
int getClickedButtonId() const {
|
||||
return clickedButtonId;
|
||||
|
@ -137,7 +134,7 @@ public:
|
|||
void changeLang();
|
||||
|
||||
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;
|
||||
|
||||
private:
|
||||
int clickedButtonId = -1;
|
||||
|
|
Loading…
Reference in New Issue