Willkommen! Melden Sie sich an oder registrieren Sie sich.

Um schreiben oder kommentieren zu können, benötigen Sie ein Benutzerkonto.

Anmelden - oder - Benutzerkonto erstellen

[gelöst]Alternative zu configSelection wenn man eine Liste mit ~ 80 strings anzeigen will

  • Hallo


    gibt es eine Alternative zu configSelection um eine Stringliste als scrollbare Liste anzuzeigen und dann den entsprechenden Eintag auszuwählen?:think:


    Ich stehe da aufm Schlauch...:) Vielleicht hat ja jemand einen Tip.

  • Die Basis ist eine config Liste, wo ich die ID3 Tags bearbeiten möchte. Für den Eintrag Genre möchte ich gern aus einer Liste von Genres auswählen können. Und da könnte ich in eine eListbox abspringen?

    Es hat noch nicht klick gemacht bei mir...


  • Du baust Dir in Deiner Config-Liste einfach einen Eintrag:

    config.plugins.DeinName.id3Tag --> ConfigText



    Code
    1. .
    2. .
    3. self.id3Tag = getConfigListEntry(_("ID3 Tag:"), config.plugins.DeinName.id3Tag)
    4. self.list.append(self.self.id3Tag)
    5. .
    6. .
    7. ConfigListScreen.__init__(self, self.list, session)


    Lege eine ActionMap an, die auf "ok" reagiert, und in dem Event machst Du folgendes:



    Code
    1. def ok_pressed(self):
    2. cur = self["config"].getCurrent()
    3. if cur == self.id3Tag:
    4. self.session.openWithCallback(self.id3TagResult, ID3TagSelection, config.plugins.DeinName.id3Tag.value)
    5. def id3TagResult(self, result):
    6. if result:
    7. config.plugins.DeinName.id3Tag.value = result



    in der Screen ID3TagSelection bauste Dir eine eListbox mit allen Tags, die Du anbieten willst, und springst automatisch in der Liste zu dem aktuell ausgewählten Tag.

    Dann reagierst Du auf "ok_pressed", die Screen wird geschlossen mit self.close(current_selected_id3_tag_from_listbox) , wobei current_selected_id3_tag_from_listbox ein string ist mit dem aktuell ausgewählten id3tag der Listbox.


    Also so würde ich das bauen.

  • Ich hab im fstabEditor auch was in der Art gemacht für die Optionen

  • Die hat zPosition 1000. du müsstest also deiner choicebox eine höhere prio geben

  • Im skin. Doof nur, dass die choicebox einen zentralen Skin hat. Ich meinte aber, dass ich beim fstabEditor das Problem nicht hatte. Vermutlich hab ich da noch was gemacht, dass keine Tastatur kommt. Oder der andere Screen ist ausgeblendet.

  • So ich habe eine Lösung gefunden...

    Beim ok_pressed setze ich ein:

    Code
    1. config.plugins.musiccenter.genresindb.help_window.hide()

    ab und beim callback ein

    Code
    1. config.plugins.musiccenter.genresindb.help_window.show()

    Das funktioniert. Also nochmals danke Dr.Best und Dre .