Choice Box in der Kanalliste :-(

  • Hat noch irgend wer eine sinnvollere Idee als das aktuelle Verhalten zu akzeptieren und drum herum was zu bauen?

    • Offizieller Beitrag

    Ich weiß ehrlich gesagt nicht mehr warum die ChannelSelection 1000 bekommen hat.
    Grundsätzlich gab es bestimmt mit "irgendwas" das Problem, dass es die Kanalliste ungewollt überlagert wurde.
    Wir zählen die zPosition grundsätzlich unendlich hoch, haben aber damals "einfach so festgelegt" dass mehr als 1000 offene Screens eher nicht vorkommen werden. Deshalb die 1000 als "soft-limit".


    An einigen Stellen die die zPosition von Screens hardcoded um eben zu vermeiden dass man beim skinnen im dran denken muss. Das ist Mühsam und wird fast garantiert immer wieder mal vergessen ;).


    Ich würde jetzt tats. beim session.open(...., zPosition=1001) mitgeben, das geht immer und erspart einem den ständigen hinweis an die Skinner ;).
    session.open und session.openWithCallback filtern das zPosition keyword raus und setzen die korrekte zPosition für den Screen.


    Oder spricht irgendwas tats. dagegen, dann können wir gerne nach einer besseren Lösung sehen!


    EDIT: Ich habe mir eben erst den verlinkten commit angesehen.
    Ich durchdenke das Ganze nochmal und geb bescheid was wir tun...

    • Offizieller Beitrag

    Wir fixen das mit dem nächsten Update im code.
    Die Skins können sich das setzen der zPosition für ChannelList und/oder SubtitleDisplay zukünftig sparen, der code forciert die korrekten werte ;).


    Das Problem mit der Choicebox sollte dann auch dahin sein :smiling_face:


    @gutemine Als etwas schönere rückwärtskompatible Lösung kannst du auch einfach statt der zPosition=1001 Lösung "is_dialog=False" als keyword in open übergeben.
    Ich hab's jetzt mit dem ChannelContextMenu getestet und es geht nach der Änderung auch ordentlich wenn es an ist ;).

  • Toast hat in der plugin.py hardcoded 9999 als zPosition, aber ich wollte eben nicht brutal drüber fahren. Ich probier das mal mit dem is_dialog und warte auf Eure Commits, weil das Instant EPG Timer Plugin ist eh noch nicht fertig, also hat das Zeit.

  • Nur kurzes Fedback, das is_dialog=False erfüllt seinen Zweck, sogar bei der Timerlänge oder Endzeiteingabe und nicht nur bei der ChoiceBox, weil die hatten das Problem auch wenn man sie aus der Kanalliste direkt aufruft.


    Und ich habe gesehen dass das Virtuelle Keyboard auch 1001 bekommen hatte in der skin_default.xml falls das wer aufräumen will.