Control.Move(id, offset) hat keine Auswirkung

  • Hallo

    Ich habe in den DialogAddonSettings die HasPrevious und HasNext Pfeile der Kategorien durch Buttons ersetzt, weil ich damit die Kategorien durchschalten möchte.
    Nur irgendwie hat das keine Auswirkung auf das Control. Es passiert nichts. Wenn ich SetFocus(9,1) verwende geht es. Aber dann eben nur auf die Position 1.
    Wisst ihr einen Rat?

    die kategorieliste ist das:

    meine button sehen so aus:

  • Control.Move funktioniert laut Wiki mit Containern. Ich bin mir jetzt nicht sicher, ob eine Grouplist in diesem Sinne ein Container ist. Hast du es denn schon mal mit einer anderen Control-Type, z.B. "panel" oder "list" probiert?

  • du meinst ich soll grouplist auf panel oder list umstellen?
    ok, versuch ich mal. weiß hat nicht, ob das dann noch alles funktioniert, weil kodiseitig einiges im hintergrund zusammengebaut wird.
    die kategorien werden aus der settings.xml gelesen.

  • Aber wenn du das faken willst in einem container dann hast nur noch buttons aber kein Radiobutton, Slider oder sonst was.
    Ich denk das wäre keine Lösung..

    Du willst was genau machen? Mit einem Button die Optionsliste durchklicken?

    Da würde ich mal im Github versuchen rauszukriegen welche ID´s in der Liste Generiert werden:
    https://github.com/xbmc/xbmc/blob…donSettings.cpp

    Die Optionsliste die nach Focus die zweite grouplist füllt sollte die sein:

    #define CONTROL_START_SECTION 100


    Dann versucht man welche buttons draus "entstehen".. Das sollte dann 101, 102 sein..

    Die könntest dann per click eigentlich so durchschalten.

    Code
    <onclick condition="ControlGroup(9).HasFocus(100)">SetFocus(101)</onclick>
    		<onclick condition="ControlGroup(9).HasFocus(101)">SetFocus(102)</onclick>
    		<onclick condition="ControlGroup(9).HasFocus(102)">SetFocus(103)</onclick>


    Grüße

  • @marc 0810
    das problem ist, wenn man in den addonsettings viele kategorien hat, dann muss man mit keyboard links und rechts zwischen den kategorien wechseln. zumindest in der confluence.

    hat man aber nur eine maus, dann kommt man nur da hin was sichtbar ist. die anderen kategorien erreicht man nicht, weil es nichts zum weiterspringen gibt. deswegen wollte ich das mit zwei buttons erledigen.

  • das problem ist, wenn man in den addonsettings viele kategorien hat, dann muss man mit keyboard links und rechts zwischen den kategorien wechseln. zumindest in der confluence.

    Dann Versuchs doch mal so..

    Wie gesagt.. die groupliste ID 9 die die Kategorien enthält wird mit buttons gefüllt die die id 100, 101, 102.. haben..

    Mit dem Klick kommst dann ja durch denk ich.


    Ja, das meine ich. Ohne Kenntnis darüber, was da so im Hintergrund abläuft, würde ich sagen dass eine der Container-Typen genau das ist was in diesem Fall gebraucht wird. Die sind ja gerade dafür gedacht, dynamisch gefüllt zu werden. Siehe Wiki: 7.2 Filling containers with dynamic content

    Dynamische content sind eigentlich eher für was das einen Pfad hat und einen vordefinierten click für alle Inhalten wie "öffne ein Addon" oder "spiele den Pfad ab bei Filme, oder Episoden":

    Also sowas wie videodb://tvshows/titles/
    Selbst wenn man einen hätte, dann kannst du in einem Containerlayout nur mit extremer Mühe selbst Radiobuttons abbilden, geschweige denn slider die erst bei einem Click reagieren.
    Ich wüsste nicht wie das gehen könnte..

    Grüße

  • Ok, ich muss zurückrudern. Hab ganz außer Acht gelassen, dass Kodi in der DialogAddonSettings.xml ja eine vorgegebene Struktur erwartet. Es ist also nicht möglich, da einfach aus einer Grouplist ein Panel oder List-Container zu machen. Mea culpa!

    Die von Marco810 oben erwähnte Methode sollte funktionieren. Alternativ lässt sich, wenn die Maus ein Scrollrad hat (rechts-/links-Scroll), in der Kategorieleiste auch scrollen. Das geht aber, zumindest wenn ich das in meinem Skin mache, recht hakelig. Es wäre aber einen Versuch wert.

  • Ich denk auch - allerding weil ich mir auch schon die Zähne ausgebissen hab an Containern um dort Radibuttons nachzubilden :) .
    Da ist man oft zu stur um es einzusehen das es eben so nicht geht.

    Aber Ideen Austauschen kann nie verkehrt sein;).. Da muss man erst mal alles in den Raum werfen und sehen was geht im Skinengine.

    Grüße

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!