AutoTimer Plugin

  • Da werden ja standard-Elemente verwendet, also kein eigenes widget. Kennst du irgendwo ein "Muster"-Beispiel?

  • um etwas skinbar zu machen gibt es einige wege ,habe schon so einiges gesehen (nur selber machen kann ich das im code nicht)
    und klar kann man in seinem eigenen skin das <widget name="entries" einsetzen nur halt kann man den inhalt so einer liste nicht verändern durch den skin ,weil man da keine listbox oder ähnliches einsetzen kann ,alles ist im code des Plugins vorgegeben .
    man müsste daher das komplette widget umbauen um sowas skinbar zu machen ,das beste was da gehen würde wäre sicherlich
    render="Listbox"
    <convert type="TemplatedMultiContent">
    {"template":[
    usw.


    aber wie gesagt dafür müsste man das komplett umbauen.
    das mit dem weglassen des 2 colors würde wie gesagt da auch erstmal reichen (ich glaub nichtmal das viele gewust haben das für Disabled eine andere farbe genutzt wird ,weil die unterscheidet sich kaum vom weiß )
    Ich hab das zb. auch erst jetzt mitbekommen nachdem das Kurti im skinbereich gepostet hatte.
    Ich versuche gerade auch mal die Disabled farbe ein wenig grauer zu machen damit man da das auch besser erkennen kann .

  • Habe ich ja auch nicht mitbekommen, dass disabled ne andere Farbe hat. Mich hat nur immer gewurmt, dass man erst in den Timer schauen musste, um zu erkenne, ob er aktiv ist.
    Dass mit dem MultiContent wäre natürlich ne feine Sache, damit ginge dann ziemlich viel.

    Kein Support per Mail oder PN

  • Wundert mich, dass es da keine möglichkeit gibt.
    Wozu wird dann die methode "applySkin" implementiert?
    In der wird explizit auf diese color eingegeangen:

    Code
    elif attrib == "colorDisabled":
    self.colorDisabled = int(parseColor(value))
  • ich kann Dir das so nicht sagen ,nur das was ich getestet habe und da hab ich nix gefunden im skin was auswirkung auf die Disabled farbe hat,es wurde nur die aus dem Plugin verwendet.
    mit dem entfernen des zweiten colors wird aber beim selectieren mit dem cursor wenigstens die selectfarbe des genutzten skins benutzt ,für die farbe der Disabled einträge hab ich aber im skin nix machen können es wurde immer die vorgegebene genutzt.

  • Dachte ich mir, dass dieser Literal "colorDisabled" nicht zum Spass eingeführt wurde :-)

  • also ich denke Du hast da was falsch gemacht bzw. den falschen screen dir angesehen.
    name="config" gibt es in dem name="AutoTimerOverview" screen garnicht dort lautet es name="entries" und da kann man das colorDisabled="grey" auch nicht einsetzen,da knallt die box weg.

  • joe128
    wie ich schon schrieb das geht so nicht und das kann man durch den skin nicht regelen (zumindest nicht derzeitig)
    man könnte den cursor max. ausblenden mit selectionDisabled="0" aber dann kann man die einträge nicht mehr bearbeiten ,eine farbe durch den skin setzen geht nicht so wie das aufgebaut ist vomn Plugin her.
    zumindest bin ich gerade überfragt wie das gehen sollte.

  • Sorry, Kommando zurück.
    Ich hatte den falschen Screen erwischt.
    Geht doch nicht.


    Das kommt mit disabledColor="grey"

    Kein Support per Mail oder PN

  • Hi,


    ich bin schon mal auf die Lösung gespannt. Leider habe ich vom programmieren auch keine Ahnung. Ich möchte aber mal folgendes einwerfen.


    Code
    res.append(MultiContentEntryText(pos=(40, 50), size=(150, 20), flags=RT_HALIGN_LEFT, font=1, color=col_timer, color_sel=col_auswahl, text=state))


    Das habe ich verwendet um meine Timerliste einzufärben. Leider kann ich die Farben "nur" manuell wählen. Vielleicht hilft es euch aber etwas.
    Am wahrscheinlichsten ist aber das ich völlig daneben liege.

  • joe128
    was Programmieren angeht hab ich ja keinen Plan (ich wünsche da er immer nur :D )
    aber schau mal hier
    pzyP4T - Priorities 4 Timers ( v0.2 --- 17.05.2014 )
    da hat pzy-co eine skinbare und erweiterte Timerliste gebaut,diese ist voll skinbar (eventuell kann man da was abschauen (da ist auch die Choicebox skinbar) also er hat da recht gute Dinge gebaut und denke da könnte man sich eventuell was abschauen und so auch hier etwas besser skinbar machen .
    Wie gesagt ist nur eine Idee ob das hier so geht oder notwendig ist,keine Ahnung dafür reichen meine Kenntnisse nicht aus.
    PS. hab gerade gesehen Du kennst die ja schon :D eventuell hilft dir da ja was von.

  • nein ,nur den screen halt anderst skinnen und ist ja egal ob man nur das eine brauch ,da diese skinbar ist brauch man nicht die originale umpatchen und so system sachen verändern ,das find ich halt besser ,solange man die originale nicht skinnen kann.
    aber fragen dazu in dem anderen Thread.

  • Quote

    Original von LukaNoah
    Sorry, Kommando zurück.
    Ich hatte den falschen Screen erwischt.
    Geht doch nicht.


    Das kommt mit disabledColor="grey"


    Wundert mich alles ein bisschen, da PzyP4T eigentlich auch nicht viel anders macht.


    Bist du dir sicher, dass dies kein anderer Fehler war? Da soll eigentlich der AutotimerEditor aufgemacht werden, was ja mit dem ursprünglichem Skin nichts zu tun hat.


    Wenn ich es richtig verstanden habe, müsste das colorDisabled- Attribut in das Widget entries vom Screen "AutoTimerOverview".
    Zumindest wid das beim pzy-Timer sinngemäß auch so gemacht für das Attribut "color_title_filter_disabled" im widget "list", das auch eine MenuList darstellt.

  • joe128 hat das schon richtig erfasst.


    Screen "AutoTimerOverview"
    widget name="entries"


    colorDisabled=grey müsste aber colorDisabled="grey" heißen, deshalb der GS.



    Es gibt aber noch ein Problem im Code vom AutoTimer, also wird das so leider nichts.
    Hier mal der relevante Teil, hatte colorDisabled="#00ff0000", also rot:


    File "/usr/lib/enigma2/python/Plugins/Extensions/AutoTimer/AutoTimerList.py", line 31, in applySkin
    self.colorDisabled = int(parseColor(value))
    TypeError: int() argument must be a string or a number, not 'gRGB'



    parseColor gibt immer ein Objekt vom Typ 'gRGB' zurück.
    In pzyP4T wird das so genutzt, damit ein verwendbarer Hexwert geparsed wird, somit ist dann "blue", oder "#000000ff" möglich:



    def skin2hex(e2color="#00000000"):
    col = parseColor(e2color) #grgb
    return eval("0x%02x%02x%02x%02x"%(col.a,col.r,col.g,col.b))



    Hoffe, das macht die Sache klarer.



    Gruß


    pzy-co