2014-06-14 18 views
8

Voglio combinare due "pulsanti di azione" in uno, allo stesso modo in cui Firefox fa attualmente con il loro addon Segnalibri, notare che è trattato come un pulsante nel 'Personalizza ... ' opzioni.Firefox Extension Addon SDK combina più "pulsanti di azione"

Ecco uno screenshot dell'intero pulsante sulla barra di navigazione.

Here is what the button looks like on the navBar

Ecco uno screenshot del pulsante 'Preferiti' nella gui il 'Personalizza'.

Here is what the button looks like in the customization panel (Bookmarks)

Ho rivisto la documentazione SDK con attenzione e non c'è modo esplicito di fare questo. Sembra che ciò richieda la manipolazione della libreria sdk/ui stessa. Apprezzo qualsiasi informazione o intuizione che mi porta a una soluzione per questo problema. Grazie.

Fare clic su here per il riferimento api del pulsante di azione.

+1

penserei provare a impostare 'type =" Menu- pulsante "' e quindi lo styling del 'dropmarker' con un'immagine.+1 per aiutarti a ottenere 10 in modo da poter aggiungere immagini – Noitidart

+0

Forse vuoi un 'frame' invece di un' ActionButton', vedi https://developer.mozilla.org/en-US/Add-ons/SDK/Low -Level_APIs/ui_frame – Lori

+1

L'utente Noitidart ha ragione. Controlla il codice su [questa pagina] (http://stackoverflow.com/questions/22192379/link-add-on-sdk-panel-to-toolbar-button) per il contesto. Una cornice, come suggerito da Lori, prenderà una nuova fila. – willlma

risposta

2

ho esitato a rispondere a questo in un primo momento, ma come non c'è nessuno a quanto pare con una risposta migliore, ecco la mia risposta "non-risposta" ora:

Il ActionButton API non supporta questo in questo tempo.

Ma non tutto è perduto. Puoi implementarlo direttamente utilizzando le nuove API CustomizableUI oltre a un po 'di XUL e CSS, ma questo è un territorio inesplorato in generale. Ecco i draghi; sei stato avvertito.

Se si guarda in fonti per i pulsanti predefiniti troverete che ci sono diversi modi per implementare i pulsanti come questo, in generale:

  • Il pulsante segnalibro è essenzialmente un "normale" con una certa <toolbarbutton type="menu-button"> stili personalizzati per .toolbarbutton-menubutton-dropmarker (casella contenente il contrassegno a discesa) e/o .dropmarker-icon (<image> in .toolbarbutton-menubutton-dropmarker con l'icona a discesa effettiva). Quando il pulsante si trova su una barra degli strumenti, l'immagine del marcatore a discesa verrà impostata su quell'icona "elenco" invece dell'icona predefinita a freccia in giù, mentre nella palette o nel menu "hamburger", l'intero oggetto verrà nascosto. Naturalmente, vi è anche un codice aggiuntivo che risolverà l'azione predefinita del pulsante e/o del marcatore a discesa.
  • I controlli di Zoom d'altra parte sembrano essere in realtà tre pulsanti in un contenitore speciale di nuovo con alcuni stili personalizzati in quelle che sembrano essere principalmente classi riutilizzabili (impostate tramite updateCombinedWidgetStyle). Vedi CustomizeableWidgets ad es. su MXR.

Ti suggerisco di leggere su come utilizzare CustomizableUI e, naturalmente, leggere il codice e le regole CSS dei widget integrati. Anche il DOM della finestra di Chrome con il componente aggiuntivo DOM Inspector può essere d'aiuto, ad es. per capire più velocemente quali regole CSS sono in gioco e da dove provengono;) Anche la cronologia/i changeset dei file reali potrebbe essere utile.

Inoltre, potrebbe essere una buona idea di chiedere al team SDK per sostenere tali pulsanti combinati nel ActionButton SDK (o creare una patch per che te;)

Problemi correlati