diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Arp Se\314\201lection.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Arp S\303\251lection.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Arp Se\314\201lection.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Arp S\303\251lection.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Arte France Cine\314\201ma.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Arte France Cin\303\251ma.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Arte France Cine\314\201ma.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Arte France Cin\303\251ma.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Bo\314\201rd Scanna\314\201n na hE\314\201ireann.png" "b/hack/boxee/skin/boxee/720p/resources/studios/B\303\263rd Scann\303\241n na h\303\211ireann.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Bo\314\201rd Scanna\314\201n na hE\314\201ireann.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/B\303\263rd Scann\303\241n na h\303\211ireann.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Canal+ Espan\314\203a.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Canal+ Espa\303\261a.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Canal+ Espan\314\203a.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Canal+ Espa\303\261a.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Centre National de la Cine\314\201matographie (CNC).png" "b/hack/boxee/skin/boxee/720p/resources/studios/Centre National de la Cin\303\251matographie (CNC).png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Centre National de la Cine\314\201matographie (CNC).png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Centre National de la Cin\303\251matographie (CNC).png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Ceska\314\201 Televize.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Cesk\303\241 Televize.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Ceska\314\201 Televize.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Cesk\303\241 Televize.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Cine\314\201Groupe.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Cin\303\251Groupe.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Cine\314\201Groupe.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Cin\303\251Groupe.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Conspirac\314\247ao Filmes.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Conspira\303\247ao Filmes.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Conspirac\314\247ao Filmes.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Conspira\303\247ao Filmes.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Conspirac\314\247a\314\203o Filmes.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Conspira\303\247\303\243o Filmes.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Conspirac\314\247a\314\203o Filmes.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Conspira\303\247\303\243o Filmes.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Elze\314\201vir Films.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Elz\303\251vir Films.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Elze\314\201vir Films.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Elz\303\251vir Films.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Eurofilm Stu\314\201dio\314\201.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Eurofilm St\303\272di\303\263.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Eurofilm Stu\314\201dio\314\201.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Eurofilm St\303\272di\303\263.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Film i Va\314\210st.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Film i V\303\244st.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Film i Va\314\210st.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Film i V\303\244st.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Mo\314\210bius Entertainment.png" "b/hack/boxee/skin/boxee/720p/resources/studios/M\303\266bius Entertainment.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Mo\314\210bius Entertainment.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/M\303\266bius Entertainment.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Pathe\314\201 Consortium Cine\314\201ma.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Path\303\251 Consortium Cin\303\251ma.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Pathe\314\201 Consortium Cine\314\201ma.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Path\303\251 Consortium Cin\303\251ma.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Pathe\314\201 Distribution.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Path\303\251 Distribution.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Pathe\314\201 Distribution.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Path\303\251 Distribution.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Pathe\314\201 Exchange.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Path\303\251 Exchange.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Pathe\314\201 Exchange.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Path\303\251 Exchange.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Pathe\314\201 Fre\314\200res.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Path\303\251 Fr\303\250res.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Pathe\314\201 Fre\314\200res.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Path\303\251 Fr\303\250res.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Pathe\314\201 Pictures International.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Path\303\251 Pictures International.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Pathe\314\201 Pictures International.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Path\303\251 Pictures International.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Pathe\314\201.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Path\303\251.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Pathe\314\201.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Path\303\251.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Pa\314\203o Com Ovo Filmes.png" "b/hack/boxee/skin/boxee/720p/resources/studios/P\303\243o Com Ovo Filmes.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Pa\314\203o Com Ovo Filmes.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/P\303\243o Com Ovo Filmes.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/RTE\314\201.png" "b/hack/boxee/skin/boxee/720p/resources/studios/RT\303\211.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/RTE\314\201.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/RT\303\211.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Radio Telefi\314\201s E\314\201ireann.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Radio Telef\303\255s \303\211ireann.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Radio Telefi\314\201s E\314\201ireann.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Radio Telef\303\255s \303\211ireann.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Shochiku Kinema Kenkyu\314\202-jo.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Shochiku Kinema Kenky\303\273-jo.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Shochiku Kinema Kenkyu\314\202-jo.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Shochiku Kinema Kenky\303\273-jo.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Tesela Producciones Cinematogra\314\201ficas.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Tesela Producciones Cinematogr\303\241ficas.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Tesela Producciones Cinematogra\314\201ficas.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Tesela Producciones Cinematogr\303\241ficas.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Tre Va\314\210nner Produktion AB.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Tre V\303\244nner Produktion AB.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Tre Va\314\210nner Produktion AB.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Tre V\303\244nner Produktion AB.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Union Ge\314\201ne\314\201rale Cine\314\201matographique.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Union G\303\251n\303\251rale Cin\303\251matographique.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Union Ge\314\201ne\314\201rale Cine\314\201matographique.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Union G\303\251n\303\251rale Cin\303\251matographique.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Wytwo\314\201rnia Filmo\314\201w Dokumentalnych i Fabularnych (WFDiF).png" "b/hack/boxee/skin/boxee/720p/resources/studios/Wytw\303\263rnia Film\303\263w Dokumentalnych i Fabularnych (WFDiF).png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Wytwo\314\201rnia Filmo\314\201w Dokumentalnych i Fabularnych (WFDiF).png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Wytw\303\263rnia Film\303\263w Dokumentalnych i Fabularnych (WFDiF).png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Zazen Produc\314\247oes.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Zazen Produ\303\247oes.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Zazen Produc\314\247oes.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Zazen Produ\303\247oes.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Zazen Produc\314\247o\314\203es.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Zazen Produ\303\247\303\265es.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Zazen Produc\314\247o\314\203es.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Zazen Produ\303\247\303\265es.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Zespo\314\201l Filmowy Oko.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Zesp\303\263l Filmowy Oko.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Zespo\314\201l Filmowy Oko.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Zesp\303\263l Filmowy Oko.png" diff --git "a/hack/boxee/skin/boxee/720p/resources/studios/Zespo\314\201l Filmowy Tor.png" "b/hack/boxee/skin/boxee/720p/resources/studios/Zesp\303\263l Filmowy Tor.png" old mode 100755 new mode 100644 similarity index 100% rename from "hack/boxee/skin/boxee/720p/resources/studios/Zespo\314\201l Filmowy Tor.png" rename to "hack/boxee/skin/boxee/720p/resources/studios/Zesp\303\263l Filmowy Tor.png" diff --git a/hack/boxee/skin/boxee/720p/scripts/boxeehack_setwatched.py b/hack/boxee/skin/boxee/720p/scripts/boxeehack_setwatched.py index 552300c..4f9558c 100644 --- a/hack/boxee/skin/boxee/720p/scripts/boxeehack_setwatched.py +++ b/hack/boxee/skin/boxee/720p/scripts/boxeehack_setwatched.py @@ -32,6 +32,8 @@ def focus_last_unwatched(listNum): jumpenabled = get_jump_to_last_unwatched_value() if jumpenabled == "0": return + + mc.LogInfo("focus_last_unwatched() began") # sometimes the list control isn't available yet onload # so add some checking to make sure @@ -52,49 +54,64 @@ def focus_last_unwatched(listNum): if lst == "" or len(lst.GetItems()) <= 2: pass else: - item = lst.GetItem(1) + + # If there is an item already selected when the list is loaded then it means + # that the player has just been dismissed after playing an item. In this case + # there is no need to find the last unwatched, just honor the previous selection. + # This also fixes the issue whereby after finishing playback the top item gets + # selected due to Boxee reporting it as watched, regardless of its actual status, + # until the list items are updated asynchronously (and slowly). + if lst.GetFocusedItem() != 1: + return + items = lst.GetItems() + firstItem = items[1] lastItem = items[-1] - more = 1 reverse = 0 - if item.GetSeason() < lastItem.GetSeason(): + if firstItem.GetSeason() < lastItem.GetSeason(): reverse = 1 - if item.GetSeason() == lastItem.GetSeason() and item.GetEpisode() < lastItem.GetEpisode(): + elif firstItem.GetSeason() == lastItem.GetSeason() and firstItem.GetEpisode() < lastItem.GetEpisode(): reverse = 1 - if item.GetSeason() == 1 and item.GetEpisode() == 1: + elif firstItem.GetSeason() == 1 and firstItem.GetEpisode() == 1: reverse = 1 - + if reverse == 0: - info_count = 0 - focus = info_count - for item in items: - watched = "%s" % mc.GetInfoString("Container(52).ListItem("+str(info_count)+").Property(watched)") - - info_count = info_count + 1 - if watched == "0" and info_count > focus and more == 1: - focus = info_count - - if watched == "1": - more = 0 + # newest items first + start = 0 + end = len(items) + step = 1 else: - info_count = len(items) - 1 - focus = info_count - for item in items: - watched = "%s" % mc.GetInfoString("Container(52).ListItem("+str(info_count)+").Property(watched)") - - if watched == "0" and info_count < focus and more == 1: - focus = info_count + 1 - info_count = info_count - 1 - - if watched == "1": - more = 0 - + # oldest items first + start = len(items) - 1 + end = 0 + step = -1 + + focus = end + + for n in range(start, end, step): + item = items[n] + + # skip items that are just list separators ('Season' labels) + if item.GetSeason() == -1 and item.GetEpisode() == -1: + continue + + # Note: for whatever reason the indexes of 'items' and 'Container(52).ListItem' happen to be off by 1 + # So: items[0] == Container(52).ListItem(-1), items[1] == Container(52).ListItem(0) and so on and so forth + watched = mc.GetInfoString("Container(52).ListItem(" + str(n - 1) + ").Property(watched)") + + if watched == "1": + # no need to look any further + break + else: + focus = n + # make sure the list still exists lst = get_list(listNum, False) if lst != "": - lst.SetFocusedItem(focus) + mc.LogInfo("focus_last_unwatched() ended selecting list item with index #" + str(focus)) + lst.SetFocusedItem(focus) def set_watched(command): lst = get_list(52, False)