Ciao a tutti,
questa domanda è rivolta a chi ha un po' di dimestichezza con la realizzazione di estensioni per il Firefox. Ho intenzione di avere una barra di navigazione ridotta al minimo essenziale (nuovo tab, indietro, avanti, stop/ricarica); il problema è che alcune estensioni utili funzionano solo attraverso un nuovo bottone nella barra e quindi mi sono messo a modificarle.
Tra queste estensioni l'estensione undoclose tab enhanced mi sta creando problemi ( quasi sicuramente dovuti alla non conoscenza della giusta sintassi
); il codice originale, presente in undoclosetab.xul, è il seguente:
<toolbarpalette id="BrowserToolbarPalette">
<toolbarbutton id="btn_undoclose" class="toolbarbutton-1" type="menu" disabled="false"
label="&undoclosetab.label;" tooltiptext="&undoclosetab.tooltip;" orient="vertical">
<menupopup id="undoclose-popup"
onpopupshowing="buildUndoCloseTabList(this, '&undoclosetab.tablistnone;', '&undoclosetab.tablistflush;');"
oncommand="undoCloseTab(event.originalTarget.closeTabIndex);"
/>
</toolbarbutton>
</toolbarpalette>
Con questo codice l'estensione crea un bottone e, premendoci sopra, compare la lista delle schede chiuse e la possibilità di cancellare questa lista.
La mia idea era quella di realizzare un sottomenu da inserire nel menu Strumenti; per fare ciò ho scritto questa roba sempre in undoclosetab.xul:
<menupopup id="menu_ToolsPopup">
<menu label="Recupera schede chiuse" accesskey="s" position="9">
<menupopup>
<menupopup id="undoclose-popup"
onpopupshowing="buildUndoCloseTabList(this, '&undoclosetab.tablistnone;', '&undoclosetab.tablistflush;');"
oncommand="undoCloseTab(event.originalTarget.closeTabIndex);"
/>
</menupopup>
</menu>
</menupopup>
Il risultato di questo codice (che ho creato semplicemente prendendo il codice per fare un menu che si espande + il codice usato per mostrare la lista quando si preme il pulsante) è un nuovo menu che ha, come sottomenu, una singola voce bianca; questa voce bianca, una volta premuta, apre l'ultima scheda chiusa (!!!).
La domanda che pongo a tutto voi: dove sta l'erroraccio?
Il fatto che compaia una voce che funziona correttamente mi dà l'idea che sia l'uso di menupopup e onpopupshowing (la lista di elementi di un menu è un popup? Magari il popup è solo quello che si ottiene premendo qualcosa, non so).
Grazie a tutti
Lore