- for name in self.names:
- self.remove_widget(name)
- self.names = []
- for icon, filename, time_info, playing in playlist:
- name_label = PlayListName(text=filename, is_playing=playing)
- self.add_widget(name_label)
- self.names.append(name_label)
+ names_length = len(self.names)
+ index = -1
+ for index, [icon, filename, time_info, playing] in enumerate(playlist):
+ if index >= names_length:
+ name_label = PlayListName(text=filename, is_playing=playing)
+ self.add_widget(name_label)
+ self.names.append(name_label)
+ else:
+ self.names[index].text = filename
+
+ if index+1 < names_length:
+ self.clear_widgets(children=self.names[index+1:names_length])
+ del(self.names[index+1:names_length])