Puoi trovare i widget di Dashboard predefiniti in / Libreria / Widget. Sono scritti usando JavaScript, quindi è abbastanza facile accedere al codice. Ad esempio, se fai clic con il pulsante destro del mouse sul widget Azioni e scegli "Mostra contenuto pacchetto", troverai un file chiamato "Stocks.js" all'interno del pacchetto che contiene la logica dietro il widget.
Sulla riga 1319 di quel file c'è una funzione chiamata "addOrSelectItem".
Oltre a definire le variabili, la prima cosa che fa la funzione è controllare se stai provando ad aggiungere uno stock esistente (riga 1321), se sei allora seleziona solo lo stock esistente nell'interfaccia utente. Tuttavia, se si aggiunge un nuovo stock, la prossima cosa da fare è controllare se ci sono meno di 20 titoli (riga 1323), se ce ne sono meno di 20 poi aggiunge il nuovo. Se ci sono già 20 titoli, allora non fa nulla.
Codice semplificato sotto. I commenti sono i commenti di Apple. Chiaramente avere più di 20 titoli non è "corretto". :)
function addOrSelectItem () {
var index = symbolAlreadyInSet(lastValidEntry.symbol);
if (index < 0) {
// make sure we have the correct number of items
if (allTheData.length < 20) {
...
}
} else {
// select the item that is already there.
...
}
}
In teoria qualcuno potrebbe fare una copia di quel file Stocks.wdgt, aprirlo, cambiare quella singola riga in un editor di testo per consentire più di 20 scorte e salvarlo. Ovviamente la distribuzione di quella versione modificata sarebbe una brutta cosa, ma la modifica di una copia per uso personale non dovrebbe essere un problema.
Se crei la tua versione, potresti dover uccidere la procedura di Dashboard per far sì che noti le modifiche. Basta selezionarlo in Monitor attività e chiudilo, verrà automaticamente riavviato.