Listbox und Shortcuts ?

  • Hi Leute,


    kann mir wer von euch helfen?


    Ich brauche Shortcuts in einer Listbox. Ich kann die Shortcuts nur darstellen, weil ich nicht weiter weiß.




    Bitte helft mir weiter.


    CU Emanuel :winking_face:

    rosig

  • Um Shortcuts zu behandeln, musst du dir vermutlich eine neue Listbox-Klasse schreiben (von eListBoxBase ableiten) und darin eine eigene eventHandler-Funktion definieren.
    Schau dir mal die eListBoxBaseExt-Klasse an, die macht das.


    Für die Zahlentasten habe ich da vor einiger Zeit mal was eingecheckt, sodass die automatisch die Aktionen ausführen, die mit den ersten 9 Einträgen der Listbox verknüpft sind (Das wird z.B. vom Einstellungen-Menü verwendet).
    Um das zu aktivieren, musst du nur das Flag "flagHasShortcuts" für deine Listbox setzen.
    Allerdings berücksichtigt das nicht die Farbtasten.


    dbluelle

  • hi dbluelle,


    Ja Ich kenne Deine Klasse =). Aber ich wollte das eigentlich umgehen.


    Ich habe ehe so kämpfen müssen mit meinen bescheidenen C/C++ Wissen.


    Ich mußte für das eWindow ein handel für die exitTaste schreiben,


    da habe ich es "mitreingepackt" ist jetzt zwar nicht die sauberste Lösung


    ging aber. Ich will es aber noch so machen wie Du es beschreibst.


    Ein bischen Erfahrung habe Ich schon beim Eintrag schreiben bekommen.


    Die kommen auch aus einer Basisklasse mit XML Knoten, Shortcut usw.


    Mein aktuelles Problem ist Ich bekomme keine Keyboard Nummerntasten


    im eAction event handle, FB alles, Keyboard nur die RGYB, Exit, rauf, runter, usw.


    aber keine Nummern :loudly_crying_face: .



    Hast Du eine Ahnung wie Ich die kriege?


    CU Emanuel :winking_face:

    rosig

  • Meinst du die DMM-Tastatur (bzw. USB-Tastaturen ? )


    Wenn ja, dann müsstest du dir mal die /lib/gui/textinput.cpp anschauen.
    Da wird, soweit ich weiss, auch die Texteingabe über Tastatur abgehandelt.


    dbluelle

  • So, ich habe mir das mal genauer angesehen:


    In eListBoxBaseExt ist die Möglichkeit eingebaut, über die Tastatur zum ersten Eintrag zu springen, der mit dem entsprechenden Buchstaben beginnt (wird im ServiceSelektor verwendet, wenn du da z.B. auf Z drückst, dann wird ZDF ausgewählt).


    In eListBoxBase war noch ein Fehler drin (nicht von mir :winking_face: ) , durch den die Tastaturevents für die Zahlentasten nicht in Shortcut-Events umgewandelt wurden (Stichwort "setKeyboardMode").
    Das habe ich aber im CVS gefixt.


    Im übrigen sind jetzt auch die Farbtasten über das Flag "flagHasShortcuts" als Shortcuts verfügbar
    (kann man sehen, wenn man mehr als 10 Plugins installiert hat :winking_face: )


    dbluelle

  • Zitat

    Original von dbluelle
    ...
    Im übrigen sind jetzt auch die Farbtasten über das Flag "flagHasShortcuts" als Shortcuts verfügbar
    (kann man sehen, wenn man mehr als 10 Plugins installiert hat :winking_face: )


    dbluelle


    doof ist nur wenn man noch mehr plugins drin hat :smiling_face:
    sortieren kann man dann nichts mehr, weil ja mit rot bereits ein plugin aufgerufen wird.
    hab das bei mir angepasst. aber du hast da bestimmt auch ne lösung fürs cvs.


    cu kami

    Einmal editiert, zuletzt von kamikazemike ()

  • Mayby we can try to put in the CVS, a graphical eListBox, I mean to specify which PNG file it has to use, and it will appear next to the text -> like shortcuts numbers?

  • kamikazemike
    Ist korrigiert, siehe hier


    tracer
    You can generate your own eListBoxEntry-derived class where you just have to overwrite the redraw(..)-Method
    (IMHO if we add a class to the cvs which isn't used in a "normal" Enigma it will be removed from the binary when you "make rebuild-flash")


    dbluelle

  • @dbblue


    For example


    CONNECT((new eListBoxEntryGraphicMenu("/share/tuxbox/enigma/pictures/menu/1_ico.png", (&list, _("Timeshift"), eString().sprintf("(%d) %s", ++entry, _("open timeshift setup"))) ))->selected, eZapSetup::timeshift_setup);


    eListBoxEntryGraphicMenu


    and


    /share/tuxbox/enigma/pictures/menu/1_ico.png


    I think it can be good idea to include this -> no just numbers ?


    What do you think ?

  • The images used by the shortcuts depend on the selected skin so you can't use hard coded paths for images.


    You can, of course, put such a class in the cvs, but as i said above, i think it will be automatically removed from the compiled binary, so you cannot use it in your plugin.


    dbluelle

  • Yes, yes i understand you well.


    I was trying to modificate above code, but not succes to put string ( path ) to png file.


    Can You help me write this think ?? as a "new" gui element ( not for cvs ) just for play :smiling_face: ?