From f39d414332e15c6406951f7684ef4b5ada7e7414 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Ankarstr=C3=B6m?= Date: Mon, 14 Feb 2022 23:09:50 +0100 Subject: Finish implementation of UpdateName. --- win.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/win.c b/win.c index d9a94ab..b7f79ae 100644 --- a/win.c +++ b/win.c @@ -22,7 +22,7 @@ static void SetupFonts(); static TCHAR *TSZFromSZ(char *, int); static int Attach(void); -static void UpdateName(HWND, int); +static void UpdateName(HWND, NMLISTVIEW *); static void UpdateList(HWND); static void ShowEpisode(HWND, int); static int Watched(int); @@ -264,7 +264,7 @@ HandleListViewNotify(HWND hWnd, LPARAM lParam) if ((pNmLv->uChanged & LVIF_STATE) && (pNmLv->uNewState & LVIS_FOCUSED)) { g_SelectedItem = pNmLv->iItem; - UpdateName(hWnd, pNmLv->lParam); + UpdateName(hWnd, pNmLv); //ShowEpisode(hWnd, pNmLv->lParam); } break; @@ -415,13 +415,15 @@ ShowEpisode(HWND hWnd, int iEpisode) /* Update episode name. */ void -UpdateName(HWND hWnd, int iEpisode) +UpdateName(HWND hWnd, NMLISTVIEW *pNmLv) { char *szName; + HWND hListView; + TCHAR *tszName; term_t t; t = PL_new_term_refs(3); - if (!PL_put_integer(t+0, iEpisode)) + if (!PL_put_integer(t+0, pNmLv->lParam)) return; PL_call_predicate(NULL, PL_Q_NORMAL, @@ -431,7 +433,12 @@ UpdateName(HWND hWnd, int iEpisode) if (!PL_get_atom_chars(t+1, &szName)) return; - printf("%s\n", szName); + tszName = TSZFromSZ(szName, CP_UTF8); + if (!tszName) + return; + + hListView = GetDlgItem(hWnd, IDC_LISTVIEW); + ListView_SetItemText(hListView, pNmLv->iItem, 1, tszName); } /* Update episode list. */ -- cgit v1.2.3