diff options
author | John Ankarström <john@ankarstrom.se> | 2022-03-02 21:55:57 +0100 |
---|---|---|
committer | John Ankarström <john@ankarstrom.se> | 2022-03-02 21:55:57 +0100 |
commit | 170e048f4ceb11633b62cfcc5b82df6a5aa9c27b (patch) | |
tree | 62ae2a9c4fb672d6cd61d640342381ee3a747937 /c/listview.c | |
parent | 85cf754ff86c053c4f7a34b57b1528c0cf655b35 (diff) | |
download | EpisodeBrowser-170e048f4ceb11633b62cfcc5b82df6a5aa9c27b.tar.gz |
Open episode on Enter, but in a better way.
Diffstat (limited to 'c/listview.c')
-rw-r--r-- | c/listview.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/c/listview.c b/c/listview.c index 3025297..2c24048 100644 --- a/c/listview.c +++ b/c/listview.c @@ -47,18 +47,23 @@ LvProc(HWND hLv, UINT uMsg, WPARAM wParam, LPARAM lParam) return TRUE; } break; - case WM_GETDLGCODE: /* Open episode on Enter. */ + case WM_GETDLGCODE: { LRESULT lResult; extern HWND HElv; extern LPLVITEM LpLviElvSelection; + + /* For the episode list view, the Enter key should not + * be handled by the dialog manager, but instead be sent + * along to the main window procedure, so that it may be + * handled by the NM_RETURN case in ElvHandleNotify. + */ + if (hLv != HElv) break; lResult = CallWindowProc(LvPrevProc, hLv, uMsg, wParam, lParam); if (lParam && ((MSG *)lParam)->message == WM_KEYDOWN - && ((MSG *)lParam)->wParam == VK_RETURN) { - lResult &= ~DLGC_WANTMESSAGE; - ElvEnter(LpLviElvSelection); - } + && ((MSG *)lParam)->wParam == VK_RETURN) + return DLGC_WANTMESSAGE; return lResult; } } |