From eacbbfc786f3cb351d167bffcb6ae01b5920ee07 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?John=20Ankarstr=C3=B6m?= <john@ankarstrom.se>
Date: Fri, 1 Apr 2022 20:07:13 +0200
Subject: Open all selected episodes on Return.

---
 c/episodelistview.c | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

(limited to 'c')

diff --git a/c/episodelistview.c b/c/episodelistview.c
index b292725..657b099 100644
--- a/c/episodelistview.c
+++ b/c/episodelistview.c
@@ -75,11 +75,22 @@ ElvHandleNotify(LPARAM lParam)
 	case NM_DBLCLK:
 	case NM_RETURN:
 	    {
+		LVITEM lvi;
 		term_t t;
+		extern HWND HElv;
+
+		/* Open all selected episodes. */
+
+		lvi.mask = LVIF_PARAM;
+		lvi.iItem = -1;
 		t = T(1);
-		PI(t+0, LpLviElvSelection->lParam) break;
-		P("local_episodes","open_episode",1,t);
-		break;
+		while ((lvi.iItem = ListView_GetNextItem(
+			    HElv, lvi.iItem, LVNI_SELECTED)) != -1) {
+			if (!ListView_GetItem(HElv, &lvi)) goto b;
+			PI(t,lvi.lParam) goto b;
+			P("local_episodes","open_episode",1,t);
+		}
+	    b:	break;
 	    }
 	case NM_RCLICK:
 	    {
-- 
cgit v1.2.3