+ enh: first draft for UpdateCheck call

This commit is contained in:
Rainer Kottenhoff 2018-02-01 23:34:29 +01:00
parent bb7271dada
commit 81370e57d0
6 changed files with 81 additions and 52 deletions

View File

@ -2343,6 +2343,29 @@ INT_PTR CALLBACK InfoBoxDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
}
//=============================================================================
//
// InfoBox()
//
//
void UpdateCheck()
{
SHELLEXECUTEINFO sei;
ZeroMemory(&sei, sizeof(SHELLEXECUTEINFO));
sei.cbSize = sizeof(SHELLEXECUTEINFO);
sei.fMask = SEE_MASK_NOZONECHECKS;
sei.hwnd = NULL;
sei.lpVerb = NULL;
sei.lpFile = VERSION_UPDATE_CHECK;
sei.lpParameters = NULL;
sei.lpDirectory = NULL;
sei.nShow = SW_SHOWNORMAL;
ShellExecuteEx(&sei);
}
//=============================================================================
//
// InfoBox()
@ -2352,33 +2375,29 @@ extern WCHAR szIniFile[MAX_PATH];
INT_PTR InfoBox(int iType,LPCWSTR lpstrSetting,int uidMessage,...)
{
HWND hwnd;
int idDlg = IDD_INFOBOX;
INFOBOX ib;
WCHAR wchFormat[LARGE_BUFFER];
int iMode;
iMode = IniGetInt(L"Suppressed Messages",lpstrSetting,0);
int iMode = IniGetInt(L"Suppressed Messages",lpstrSetting,0);
if (lstrlen(lpstrSetting) > 0 && iMode == 1)
return (iType == MBYESNO) ? IDYES : IDOK;
WCHAR wchFormat[LARGE_BUFFER];
if (!GetString(uidMessage,wchFormat,COUNTOF(wchFormat)))
return(-1);
INFOBOX ib;
ib.lpstrMessage = LocalAlloc(LPTR, HUGE_BUFFER * sizeof(WCHAR));
StringCchVPrintfW(ib.lpstrMessage,HUGE_BUFFER,wchFormat,(LPVOID)((PUINT_PTR)&uidMessage + 1));
ib.lpstrSetting = (LPWSTR)lpstrSetting;
ib.bDisableCheckBox = (StringCchLenW(szIniFile,COUNTOF(szIniFile)) == 0 || lstrlen(lpstrSetting) == 0 || iMode == 2) ? TRUE : FALSE;
int idDlg = IDD_INFOBOX;
if (iType == MBYESNO)
idDlg = IDD_INFOBOX2;
else if (iType == MBOKCANCEL)
idDlg = IDD_INFOBOX3;
HWND focus = GetFocus();
hwnd = focus ? focus : g_hwndMain;
HWND hwnd = focus ? focus : g_hwndMain;
MessageBeep(MB_ICONEXCLAMATION);

View File

@ -41,6 +41,7 @@ BOOL SelectDefEncodingDlg(HWND,int *);
BOOL SelectEncodingDlg(HWND,int *);
BOOL RecodeDlg(HWND,int *);
BOOL SelectDefLineEndingDlg(HWND,int *);
void UpdateCheck();
INT_PTR InfoBox(int,LPCWSTR,int,...);

View File

@ -4757,12 +4757,18 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam)
break;
case IDM_HELP_UPDATECHECK:
UpdateCheck();
break;
case CMD_WEBACTION1:
case CMD_WEBACTION2:
{
WCHAR szCmdTemplate[256] = { L'\0' };
LPWSTR lpszTemplateName = (LOWORD(wParam) == CMD_WEBACTION1) ? L"WebTemplate1" : L"WebTemplate2";
WCHAR szCmdTemplate[256] = { L'\0' };
BOOL bCmdEnabled = IniGetString(L"Settings2",lpszTemplateName,L"",szCmdTemplate,COUNTOF(szCmdTemplate));
if (bCmdEnabled) {

View File

@ -181,8 +181,8 @@ BEGIN
END
POPUP "&Block"
BEGIN
MENUITEM "&Indent\t(Tab)", IDM_EDIT_INDENT
MENUITEM "&Unindent\t(Shift+Tab)", IDM_EDIT_UNINDENT
MENUITEM "&Indent\t(Tab)", IDM_EDIT_INDENT
MENUITEM "&Unindent\t(Shift+Tab)", IDM_EDIT_UNINDENT
MENUITEM SEPARATOR
POPUP "&Enclose Selection"
BEGIN
@ -310,9 +310,9 @@ BEGIN
MENUITEM "Match &Case Sensitive", IDM_VIEW_MARKOCCUR_CASE
POPUP "Match &Whole Word Only"
BEGIN
MENUITEM "OFF", IDM_VIEW_MARKOCCUR_WNONE
MENUITEM "Match &Selected Word", IDM_VIEW_MARKOCCUR_WORD
MENUITEM "Match &Current Word", IDM_VIEW_MARKOCCUR_CURRENT
MENUITEM "OFF", IDM_VIEW_MARKOCCUR_WNONE
MENUITEM "Match &Selected Word", IDM_VIEW_MARKOCCUR_WORD
MENUITEM "Match &Current Word", IDM_VIEW_MARKOCCUR_CURRENT
END
END
MENUITEM SEPARATOR
@ -322,61 +322,62 @@ BEGIN
MENUITEM "Code &Folding\tCtrl+Shift+Alt+F", IDM_VIEW_FOLDING
MENUITEM "&Toggle All Folds\tCtrl+Shift+F", IDM_VIEW_TOGGLEFOLDS
MENUITEM SEPARATOR
MENUITEM "Zoom &In\tCtrl++", IDM_VIEW_ZOOMIN
MENUITEM "Zoom &Out\tCtrl+-", IDM_VIEW_ZOOMOUT
MENUITEM "Reset &Zoom\tCtrl+0", IDM_VIEW_RESETZOOM
MENUITEM "Zoom &In\tCtrl++", IDM_VIEW_ZOOMIN
MENUITEM "Zoom &Out\tCtrl+-", IDM_VIEW_ZOOMOUT
MENUITEM "Reset &Zoom\tCtrl+0", IDM_VIEW_RESETZOOM
END
POPUP "&Settings"
BEGIN
MENUITEM "Insert Tabs as &Spaces", IDM_VIEW_TABSASSPACES
MENUITEM "&Tab Settings...\tCtrl+T", IDM_VIEW_TABSETTINGS
MENUITEM "&Word Wrap Settings...", IDM_VIEW_WORDWRAPSETTINGS
MENUITEM "&Long Line Settings...", IDM_VIEW_LONGLINESETTINGS
MENUITEM "Auto In&dent Text", IDM_VIEW_AUTOINDENTTEXT
MENUITEM "Insert Tabs as &Spaces", IDM_VIEW_TABSASSPACES
MENUITEM "&Tab Settings...\tCtrl+T", IDM_VIEW_TABSETTINGS
MENUITEM "&Word Wrap Settings...", IDM_VIEW_WORDWRAPSETTINGS
MENUITEM "&Long Line Settings...", IDM_VIEW_LONGLINESETTINGS
MENUITEM "Auto In&dent Text", IDM_VIEW_AUTOINDENTTEXT
MENUITEM "Auto Close &HTML/XML\tCtrl+Shift+H", IDM_VIEW_AUTOCLOSETAGS
MENUITEM "Auto Complete Wo&rds", IDM_VIEW_AUTOCOMPLETEWORDS
MENUITEM "Auto Complete Wo&rds", IDM_VIEW_AUTOCOMPLETEWORDS
MENUITEM "&Accelerated Word Navigation", IDM_VIEW_ACCELWORDNAV
MENUITEM SEPARATOR
MENUITEM "&Reuse Window", IDM_VIEW_REUSEWINDOW
MENUITEM "Sticky Window &Position", IDM_VIEW_STICKYWINPOS
MENUITEM "&Always On Top\tAlt+T", IDM_VIEW_ALWAYSONTOP
MENUITEM "Minimi&ze To Tray", IDM_VIEW_MINTOTRAY
MENUITEM "&Reuse Window", IDM_VIEW_REUSEWINDOW
MENUITEM "Sticky Window &Position", IDM_VIEW_STICKYWINPOS
MENUITEM "&Always On Top\tAlt+T", IDM_VIEW_ALWAYSONTOP
MENUITEM "Minimi&ze To Tray", IDM_VIEW_MINTOTRAY
MENUITEM "Transparent &Mode\tCtrl+Numpad_*", IDM_VIEW_TRANSPARENT
MENUITEM SEPARATOR
MENUITEM "Single &File Instance", IDM_VIEW_SINGLEFILEINSTANCE
MENUITEM "Single &File Instance", IDM_VIEW_SINGLEFILEINSTANCE
MENUITEM "File &Change Notification...\tAlt+F5", IDM_VIEW_CHANGENOTIFY
POPUP "Window Title Displa&y"
BEGIN
MENUITEM "Filename &Only", IDM_VIEW_SHOWFILENAMEONLY
MENUITEM "Filename and &Directory", IDM_VIEW_SHOWFILENAMEFIRST
MENUITEM "Full &Pathname", IDM_VIEW_SHOWFULLPATH
MENUITEM "&Text Excerpt\tCtrl+9", IDM_VIEW_SHOWEXCERPT
MENUITEM "Filename &Only", IDM_VIEW_SHOWFILENAMEONLY
MENUITEM "Filename and &Directory", IDM_VIEW_SHOWFILENAMEFIRST
MENUITEM "Full &Pathname", IDM_VIEW_SHOWFULLPATH
MENUITEM "&Text Excerpt\tCtrl+9", IDM_VIEW_SHOWEXCERPT
END
POPUP "Esc &Key Function"
BEGIN
MENUITEM "&None", IDM_VIEW_NOESCFUNC
MENUITEM "&Minimize Notepad3", IDM_VIEW_ESCMINIMIZE
MENUITEM "E&xit Notepad3", IDM_VIEW_ESCEXIT
MENUITEM "&None", IDM_VIEW_NOESCFUNC
MENUITEM "&Minimize Notepad3", IDM_VIEW_ESCMINIMIZE
MENUITEM "E&xit Notepad3", IDM_VIEW_ESCEXIT
END
MENUITEM "Sa&ve Before Running Tools", IDM_VIEW_SAVEBEFORERUNNINGTOOLS
MENUITEM "Remember Recent F&iles", IDM_VIEW_NOSAVERECENT
MENUITEM "Preserve Caret &Position", IDM_VIEW_NOPRESERVECARET
MENUITEM "Remember S&earch Strings", IDM_VIEW_NOSAVEFINDREPL
MENUITEM "Sa&ve Before Running Tools", IDM_VIEW_SAVEBEFORERUNNINGTOOLS
MENUITEM "Remember Recent F&iles", IDM_VIEW_NOSAVERECENT
MENUITEM "Preserve Caret &Position", IDM_VIEW_NOPRESERVECARET
MENUITEM "Remember S&earch Strings", IDM_VIEW_NOSAVEFINDREPL
MENUITEM SEPARATOR
MENUITEM "Sh&ow Toolbar", IDM_VIEW_TOOLBAR
MENUITEM "C&ustomize Toolbar...", IDM_VIEW_CUSTOMIZETB
MENUITEM "Sh&ow Statusbar", IDM_VIEW_STATUSBAR
MENUITEM "Sh&ow Toolbar", IDM_VIEW_TOOLBAR
MENUITEM "C&ustomize Toolbar...", IDM_VIEW_CUSTOMIZETB
MENUITEM "Sh&ow Statusbar", IDM_VIEW_STATUSBAR
MENUITEM SEPARATOR
MENUITEM "Save Settings On E&xit", IDM_VIEW_SAVESETTINGS
MENUITEM "Save Settings &Now\tF7", IDM_VIEW_SAVESETTINGSNOW
MENUITEM "Save Settings On E&xit", IDM_VIEW_SAVESETTINGS
MENUITEM "Save Settings &Now\tF7", IDM_VIEW_SAVESETTINGSNOW
MENUITEM "&Open Settings File\tCtrl+F7", CMD_OPENINIFILE
END
POPUP "&?"
BEGIN
MENUITEM "&Online Documentation\tF1", IDM_HELP_ONLINEDOCUMENTATION
MENUITEM "&Online Documentation\tF1", IDM_HELP_ONLINEDOCUMENTATION
MENUITEM SEPARATOR
MENUITEM "&About...", IDM_HELP_ABOUT
MENUITEM "&Command Line Help", IDM_HELP_CMD
MENUITEM "&About...", IDM_HELP_ABOUT
MENUITEM "&Command Line Help", IDM_HELP_CMD
MENUITEM "Check for Updates", IDM_HELP_UPDATECHECK
END
END
@ -535,7 +536,7 @@ BEGIN
VK_DOWN, IDM_EDIT_MOVELINEDOWN, VIRTKEY, SHIFT, CONTROL, NOINVERT
VK_ESCAPE, CMD_ESCAPE, VIRTKEY, NOINVERT
VK_ESCAPE, CMD_SHIFTESC, VIRTKEY, SHIFT, NOINVERT
VK_F1, IDM_HELP_ONLINEDOCUMENTATION, VIRTKEY, NOINVERT
VK_F1, IDM_HELP_ONLINEDOCUMENTATION, VIRTKEY, NOINVERT
VK_F11, CMD_LEXDEFAULT, VIRTKEY, NOINVERT
VK_F11, CMD_LEXHTML, VIRTKEY, CONTROL, NOINVERT
VK_F11, CMD_LEXXML, VIRTKEY, SHIFT, NOINVERT

View File

@ -43,6 +43,8 @@
#define VERSION_WEBPAGE2DISPLAY L"http://www.flos-freeware.ch"
#define VERSION_SCIVERSION L"Scintilla Library Ver: " STRINGIFY(SCINTILLA_VER) L" (RegEx:Onigmo v." STRINGIFY(ONIGMO_REGEX_VER) L")"
#define VERSION_UPDATE_CHECK L"https://www.rizonesoft.com/notepad3/update.html?version=" VERSION_FILEVERSION
#if defined(_WIN64)
// #define VERSION_FILEVERSION_LONG L"Notepad3 (64-bit) " STRINGIFY(VERSION_MAJOR) L" Build " \
// STRINGIFY(VERSION_BUILD)
@ -55,7 +57,6 @@
#endif
// Compiler specific
#if defined(_MSC_VER)
#if (_MSC_VER >= 1912)

View File

@ -30,7 +30,7 @@
#define IDC_INFOBOXTEXT 124
#define IDB_OPEN 125
#define IDR_ACCFINDREPLACE 126
#define IDC_STYLELABEL_ROOT 127
#define IDC_STYLELABEL_ROOT 127
#define IDC_STYLELABEL 128
#define IDC_STYLEEDIT_ROOT 129
#define IDC_STYLEEDIT 130
@ -159,6 +159,7 @@
#define IDC_EDIT3 510
#define IDS_PASS_FAILURE 511
#define IDS_NOPASS 512
#define IDM_HELP_UPDATECHECK 513
#define IDS_APPTITLE 10000
#define IDS_APPTITLE_ELEVATED 10001
#define IDS_APPTITLE_PASTEBOARD 10002
@ -492,7 +493,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NO_MFC 1
#define _APS_NEXT_RESOURCE_VALUE 601
#define _APS_NEXT_COMMAND_VALUE 703
#define _APS_NEXT_COMMAND_VALUE 701
#define _APS_NEXT_CONTROL_VALUE 801
#define _APS_NEXT_SYMED_VALUE 901
#endif