def __init__(self, session, args=0):
     self.session = session
     self.setup_title = _("Movie List Configuration")
     Screen.__init__(self, session)
     cfg = ConfigSubsection()
     self.cfg = cfg
     # this kludge is needed because ConfigSelection only takes numbers
     # and someone appears to be fascinated by 'enums'.
     cfg.moviesort = ConfigSelection(
         default=str(config.movielist.moviesort.value),
         choices=[(str(MovieList.SORT_RECORDED), _("sort by date")),
                  (str(MovieList.SORT_ALPHANUMERIC), _("alphabetic sort")),
                  (str(MovieList.SHUFFLE), _("shuffle"))])
     cfg.listtype = ConfigSelection(
         default=str(config.movielist.listtype.value),
         choices=[
             (str(MovieList.LISTTYPE_ORIGINAL), _("list style default")),
             (str(MovieList.LISTTYPE_COMPACT_DESCRIPTION),
              _("list style compact with description")),
             (str(MovieList.LISTTYPE_COMPACT), _("list style compact")),
             (str(MovieList.LISTTYPE_MINIMAL), _("list style single line"))
         ])
     cfg.description = ConfigYesNo(default=(
         config.movielist.description.value != MovieList.HIDE_DESCRIPTION))
     configList = [
         getConfigListEntry(_("Sort"), cfg.moviesort),
         getConfigListEntry(_("show extended description"),
                            cfg.description),
         getConfigListEntry(_("Type"), cfg.listtype),
         getConfigListEntry(
             _("Load Length of Movies in Movielist"),
             config.usage.load_length_of_movies_in_moviellist),
         getConfigListEntry(_("Show status icons in Movielist"),
                            config.usage.show_icons_in_movielist),
         getConfigListEntry(_("Show icon for new/unseen items"),
                            config.usage.movielist_unseen),
         getConfigListEntry(_("Play audio in background"),
                            config.movielist.play_audio_internal),
     ]
     for k, v in userDefinedButtons.items():
         configList.append(getConfigListEntry(_(k), v))
     ConfigListScreen.__init__(self,
                               configList,
                               session=session,
                               on_change=self.changedEntry)
     self["key_red"] = Button(_("Cancel"))
     self["key_green"] = Button(_("Ok"))
     self["key_yellow"] = Button("")
     self["key_blue"] = Button("")
     self["statusbar"] = Label()
     self["status"] = Label()
     self["setupActions"] = ActionMap(
         ["SetupActions", "ColorActions"], {
             "red": self.cancel,
             "green": self.save,
             "save": self.save,
             "cancel": self.cancel,
             "ok": self.save,
         }, -2)
     self.onChangedEntry = []
	def __init__(self, session, args = 0):
		self.session = session
		self.setup_title = _("Movie List Configuration")
		Screen.__init__(self, session)
		cfg = ConfigSubsection()
		self.cfg = cfg
		# this kludge is needed because ConfigSelection only takes numbers
		# and someone appears to be fascinated by 'enums'.
		cfg.moviesort = ConfigSelection(default=str(config.movielist.moviesort.value), choices = [
			(str(MovieList.SORT_RECORDED), _("sort by date")),
			(str(MovieList.SORT_ALPHANUMERIC), _("alphabetic sort")),
			(str(MovieList.SHUFFLE), _("shuffle"))])
		cfg.listtype = ConfigSelection(default=str(config.movielist.listtype.value), choices = [
			(str(MovieList.LISTTYPE_ORIGINAL), _("list style default")),
			(str(MovieList.LISTTYPE_COMPACT_DESCRIPTION), _("list style compact with description")),
			(str(MovieList.LISTTYPE_COMPACT), _("list style compact")),
			(str(MovieList.LISTTYPE_MINIMAL), _("list style single line"))])
		cfg.description = ConfigYesNo(default=(config.movielist.description.value != MovieList.HIDE_DESCRIPTION))
		configList = [
			getConfigListEntry(_("Sort"), cfg.moviesort),
			getConfigListEntry(_("show extended description"), cfg.description),
			getConfigListEntry(_("Type"), cfg.listtype),
			getConfigListEntry(_("Load Length of Movies in Movielist"), config.usage.load_length_of_movies_in_moviellist),
			getConfigListEntry(_("Show status icons in Movielist"), config.usage.show_icons_in_movielist),
			getConfigListEntry(_("Show icon for new/unseen items"), config.usage.movielist_unseen),
			getConfigListEntry(_("Play audio in background"), config.movielist.play_audio_internal),
			]
		for k,v in userDefinedButtons.items():
			configList.append(getConfigListEntry(_(k), v))
		ConfigListScreen.__init__(self, configList, session=session, on_change = self.changedEntry)
		self["key_red"] = Button(_("Cancel"))
		self["key_green"] = Button(_("Ok"))
		self["key_yellow"] = Button("")
		self["key_blue"] = Button("")
		self["statusbar"] = Label()
		self["status"] = Label()
		self["setupActions"] = ActionMap(["SetupActions", "ColorActions"],
		{
			"red": self.cancel,
			"green": self.save,
			"save": self.save,
			"cancel": self.cancel,
			"ok": self.save,
		}, -2)
		self.onChangedEntry = []