aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--win.c17
1 files 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. */