Skip to content

Commit

Permalink
Add some project links into Help menu.
Browse files Browse the repository at this point in the history
  • Loading branch information
zufuliu committed Aug 30, 2018
1 parent f8a8992 commit e008fed
Show file tree
Hide file tree
Showing 8 changed files with 88 additions and 44 deletions.
36 changes: 22 additions & 14 deletions metapath/src/Dialogs.c
Original file line number Diff line number Diff line change
Expand Up @@ -468,6 +468,25 @@ void GotoDlg(HWND hwnd) {
ThemedDialogBox(g_hInstance, MAKEINTRESOURCE(IDD_GOTO), hwnd, GotoDlgProc);
}

void OpenHelpLink(HWND hwnd, int cmd) {
LPCWSTR link = NULL;
switch (cmd) {
case IDC_WEBPAGE_LINK:
link = L"http://www.flos-freeware.ch";
break;
case IDC_EMAIL_LINK:
link = L"mailto:florian.balmer@gmail.com";
break;
case IDC_NEW_PAGE_LINK:
link = VERSION_NEWPAGE_DISPLAY;
break;
}

if (StrNotEmpty(link)) {
ShellExecute(hwnd, L"open", link, NULL, NULL, SW_SHOWNORMAL);
}
}

//=============================================================================
//
// AboutDlgProc()
Expand Down Expand Up @@ -528,20 +547,9 @@ INT_PTR CALLBACK AboutDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam
LPNMHDR pnmhdr = (LPNMHDR)lParam;
switch (pnmhdr->code) {
case NM_CLICK:
case NM_RETURN: {
switch (pnmhdr->idFrom) {
case IDC_WEBPAGE_LINK:
ShellExecute(hwnd, L"open", L"http://www.flos-freeware.ch", NULL, NULL, SW_SHOWNORMAL);
break;
case IDC_EMAIL_LINK:
ShellExecute(hwnd, L"open", L"mailto:florian.balmer@gmail.com", NULL, NULL, SW_SHOWNORMAL);
break;
case IDC_NEW_PAGE_LINK:
ShellExecute(hwnd, L"open", L"https://github.com/zufuliu/notepad2", NULL, NULL, SW_SHOWNORMAL);
break;
}
}
break;
case NM_RETURN:
OpenHelpLink(hwnd, (int)(pnmhdr->idFrom));
break;
}
}
break;
Expand Down
13 changes: 1 addition & 12 deletions metapath/src/Dialogs.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,28 +30,17 @@ int ErrorMessage(int iLevel, UINT uIdMsg, ...);
BOOL GetDirectory(HWND hwndParent, int iTitle, LPWSTR pszFolder, LPCWSTR pszBase);
BOOL GetDirectory2(HWND hwndParent, int iTitle, LPWSTR pszFolder, int iBase);

INT_PTR CALLBACK RunDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam);
void RunDlg(HWND hwnd);

INT_PTR CALLBACK GotoDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam);
void GotoDlg(HWND hwnd);

void OpenHelpLink(HWND hwnd, int cmd);
INT_PTR CALLBACK AboutDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam);
INT_PTR OptionsPropSheet(HWND hwnd, HINSTANCE hInstance);

INT_PTR CALLBACK GetFilterDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam);
BOOL GetFilterDlg(HWND hwnd);

INT_PTR CALLBACK RenameFileDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam);
BOOL RenameFileDlg(HWND hwnd);

INT_PTR CALLBACK CopyMoveDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam);
BOOL CopyMoveDlg(HWND hwnd, UINT *wFunc);

INT_PTR CALLBACK OpenWithDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam);
BOOL OpenWithDlg(HWND hwnd, LPDLITEM lpdliParam);

INT_PTR CALLBACK NewDirDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam);
BOOL NewDirDlg(HWND hwnd, LPWSTR pszNewDir);

INT_PTR CALLBACK FindWinDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam);
Expand Down
57 changes: 39 additions & 18 deletions src/Dialogs.c
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,44 @@ void DisplayCmdLineHelp(HWND hwnd) {
MessageBoxIndirect(&mbp);
}

void OpenHelpLink(HWND hwnd, int cmd) {
LPCWSTR link = NULL;
switch (cmd) {
case IDC_WEBPAGE_LINK:
link = L"http://www.flos-freeware.ch";
break;
case IDC_EMAIL_LINK:
link = L"mailto:florian.balmer@gmail.com";
break;
case IDC_MOD_PAGE_LINK:
link = VERSION_MODPAGE_DISPLAY;
break;
case IDC_SCI_PAGE_LINK:
link = VERSION_SCIPAGE_DISPLAY;
break;
case IDC_NEW_PAGE_LINK:
case IDM_HELP_PROJECT_HOME:
link = VERSION_NEWPAGE_DISPLAY;
break;
case IDM_HELP_LATEST_RELEASE:
link = HELP_LINK_LATEST_RELEASE;
break;
case IDM_HELP_REPORT_ISSUE:
link = HELP_LINK_REPORT_ISSUE;
break;
case IDM_HELP_FEATURE_REQUEST:
link = HELP_LINK_FEATURE_REQUEST;
break;
case IDM_HELP_ONLINE_WIKI:
link = HELP_LINK_ONLINE_WIKI;
break;
}

if (StrNotEmpty(link)) {
ShellExecute(hwnd, L"open", link, NULL, NULL, SW_SHOWNORMAL);
}
}

//=============================================================================
//
// BFFCallBack()
Expand Down Expand Up @@ -273,26 +311,9 @@ INT_PTR CALLBACK AboutDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam
case WM_NOTIFY: {
LPNMHDR pnmhdr = (LPNMHDR)lParam;
switch (pnmhdr->code) {

case NM_CLICK:
case NM_RETURN:
switch (pnmhdr->idFrom) {
case IDC_WEBPAGE_LINK:
ShellExecute(hwnd, L"open", L"http://www.flos-freeware.ch", NULL, NULL, SW_SHOWNORMAL);
break;
case IDC_EMAIL_LINK:
ShellExecute(hwnd, L"open", L"mailto:florian.balmer@gmail.com", NULL, NULL, SW_SHOWNORMAL);
break;
case IDC_MOD_PAGE_LINK:
ShellExecute(hwnd, L"open", L"https://xhmikosr.github.io/notepad2-mod/", NULL, NULL, SW_SHOWNORMAL);
break;
case IDC_NEW_PAGE_LINK:
ShellExecute(hwnd, L"open", L"https://github.com/zufuliu/notepad2", NULL, NULL, SW_SHOWNORMAL);
break;
case IDC_SCI_PAGE_LINK:
ShellExecute(hwnd, L"open", L"http://www.scintilla.org/", NULL, NULL, SW_SHOWNORMAL);
break;
}
OpenHelpLink(hwnd, (int)(pnmhdr->idFrom));
break;
}
}
Expand Down
1 change: 1 addition & 0 deletions src/Dialogs.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@

int MsgBox(int iType, UINT uIdMsg, ...);
void DisplayCmdLineHelp(HWND hwnd);
void OpenHelpLink(HWND hwnd, int cmd);
BOOL GetDirectory(HWND hwndParent, int iTitle, LPWSTR pszFolder, LPCWSTR pszBase);
INT_PTR CALLBACK AboutDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam);
void RunDlg(HWND hwnd, LPCWSTR lpstrDefault);
Expand Down
8 changes: 8 additions & 0 deletions src/Notepad2.c
Original file line number Diff line number Diff line change
Expand Up @@ -4206,6 +4206,14 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam) {
DisplayCmdLineHelp(hwnd);
break;

case IDM_HELP_PROJECT_HOME:
case IDM_HELP_LATEST_RELEASE:
case IDM_HELP_REPORT_ISSUE:
case IDM_HELP_FEATURE_REQUEST:
case IDM_HELP_ONLINE_WIKI:
OpenHelpLink(hwnd, LOWORD(wParam));
break;

case CMD_ESCAPE:
//close the AutoComplete box
SendMessage(hwndEdit, SCI_AUTOCCANCEL, 0, 0);
Expand Down
7 changes: 7 additions & 0 deletions src/Notepad2.rc
Original file line number Diff line number Diff line change
Expand Up @@ -507,7 +507,14 @@ BEGIN
END
POPUP "&Help"
BEGIN
MENUITEM "Project Home", IDM_HELP_PROJECT_HOME
MENUITEM "Latest Release", IDM_HELP_LATEST_RELEASE
MENUITEM "Report Issue", IDM_HELP_REPORT_ISSUE
MENUITEM "Feature Request", IDM_HELP_FEATURE_REQUEST
MENUITEM SEPARATOR
MENUITEM "Online Wiki", IDM_HELP_ONLINE_WIKI
MENUITEM "&Command Line Help", IDM_CMDLINE_HELP
MENUITEM SEPARATOR
MENUITEM "&About Notepad2\tF1", IDM_HELP_ABOUT
END
END
Expand Down
5 changes: 5 additions & 0 deletions src/Version.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,11 @@
#define VERSION_NEWPAGE_DISPLAY L"https://github.com/zufuliu/notepad2"
#define VERSION_SCIPAGE_DISPLAY L"http://www.scintilla.org/"

#define HELP_LINK_LATEST_RELEASE L"https://github.com/zufuliu/notepad2/releases"
#define HELP_LINK_REPORT_ISSUE L"https://github.com/zufuliu/notepad2/issues"
#define HELP_LINK_FEATURE_REQUEST L"https://github.com/zufuliu/notepad2/issues"
#define HELP_LINK_ONLINE_WIKI L"https://github.com/zufuliu/notepad2/wiki"

#if defined(_WIN64)
#define VERSION_FILEVERSION_LONG L"Notepad2 (64-bit) " STRINGIFY(VERSION_MAJOR) L"." \
STRINGIFY(VERSION_MINOR) L"." STRINGIFY(VERSION_BUILD) \
Expand Down
5 changes: 5 additions & 0 deletions src/resource.h
Original file line number Diff line number Diff line change
Expand Up @@ -462,6 +462,11 @@

#define IDM_HELP_ABOUT 40500 // F1
#define IDM_CMDLINE_HELP 40501
#define IDM_HELP_PROJECT_HOME 40502
#define IDM_HELP_LATEST_RELEASE 40503
#define IDM_HELP_REPORT_ISSUE 40504
#define IDM_HELP_FEATURE_REQUEST 40505
#define IDM_HELP_ONLINE_WIKI 40506

#define IDM_TRAY_RESTORE 40600
#define IDM_TRAY_EXIT 40601
Expand Down

0 comments on commit e008fed

Please sign in to comment.