kein Listenrefresh nach dem löschen eines Timereintrags

  • Auf meiner DM920 mit aktuellster unstable existiert ein kleiner, aber sehr alter Fehler.


    Wenn ich über das Timermenü einen Eintrag mit der roten Taste lösche, dann wird nur das aktive Listenelement refreshed, nicht aber der Rest der Liste.

    Mein Skin ist ein leicht modifizierter Default-HD.

  • Ähm, doch. Die Liste wird gem. Code neu eingelesen. Und was genau sollte denn noch passieren, ausser dass der selektierte Timer gelöscht wird?

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • Ich habe es jetzt nochmal ganz konkret ausprobiert was passiert...


    Ich öffne das Menu -> Timer. Sehe also die Liste und der oberste Eintrag ist ausgewählt. Ich drücke die rote Taste zum Löschen und werde gefragt ob ich das wirklich will. Ich bestätige mit "ja".


    Nun sieht die Liste exakt so aus als wäre nichts gelöscht worden, also so wie zuvor. Wenn ich jetzt "cursor down" mache, dann wird der Eintrag, der den Fokus verliert und jener der in erhält (also im Beispiel der 1. und 2.) "refreshed" und korrekt angezeigt. Gehe ich in der Liste weiter runter werden die Einträge nach und nach "refreshed".


    Ich sehe da noch keinen Widerspruch zu meiner Aussage, denn es kann ja durchaus sein, dass der Code die Liste neu einliest, aber die angezeigte Liste wird erst nach und nach neu dargestellt. Ich weiß nichts über Enigma-Interna, aber bei anderen GUIs gibt es ja durchaus die Notwendigkeit noch ein Update/Refresh auf das entsprechende Objekt zu machen um Datenänderungen auch darzustellen.

  • mal kurz durch den Code geschmökert ... mit

    Diff
    --- TimerEdit.py.orig
    +++ TimerEdit.py
    @@ -219,6 +219,7 @@
                 self.session.nav.RecordTimer.removeEntry(timer)
                 self.refill()
                 self.updateState()
    +            list.invalidate()
     
         def refill(self):
             self.fillTimerList()

    wird die Liste korrekt refreshed. Soll aber nur ein POC sein.

  • Ich gehe bei mir in die Timerliste (Menü > Timer), bewege den Cursor auf den Timer, den ich löschen möchte, drück die rote Taste. Der Eintrag wird aus der Liste entfernt.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • Jössas. Danke für den Pointer. Damit hätte ich es jetzt nicht gerade in Verbindung gebracht. Alles klar. Und ja, ich war bisher zu faul meine Box mit GP4 neu aufzusetzen. Funktioniert eigentlich viel zu gut.

  • Danke für Dein Angebot, aber das ist eigentlich nicht tragisch. Mein kleiner Patch weiter oben funktioniert ja und selbst wenn der durch updates wieder rausfliegt... egal. Hauptsache es ist kein Fehler in Enigma selbst. Der Rest ist persönliches Schicksal;-)