Programmendu in Vala è GTK +, tutti noi ci semu mai dumandati cumu fà chì una applicazione scritta in Vala è GTK + sia capace di salvà i stati di i parametri di dimensione di a finestra è altri? Sò di questi casi tipichi chì usamu gschema per salvà questi valori (sta famosa applicazione dconf-editor) chì gestisce graficamente questi schemi.
Avà vi mostru cumu fà questu in passi semplici è senza cumplicazioni cù a classe Granite.Services.Settings da a biblioteca di Granite.
Chì avemu bisognu?
Prima ci vole à avè e biblioteche GTK +, Granitu è Vala installate per compilà u nostru còdice. Per fà questu in Ubuntu / ElementaryOS usamu u cumandimu:
sudo apt-get install libgtk-3-dev libgranite-dev granite-demo valac
È averemu ancu bisognu di qualsiasi editore di testu chì supporti Vala / GTK + è sintassi XML cum'è Scratch Text Editor (ElementaryOS default), GEdit, Sublime Text + Plugins, etc.
U codice
Eccu l'Esempiu di fugliali. Per una megliu capiscitura lasciu u codice in PASTE cù cummenti in elli:
Spiegazioni
U schedariu Schema, se o se deve esse XML è esse chjamatu ORG.APLICACION.GSCHEMA.XML. Hè cusì, sia l'ORG sia GSCHEMA.XML devenu esse lì per dconf di ricunnosce lu cum'è schema. Inoltre, questi diagrammi devenu esse copiati in u percorsu:
/usr/share/glib-2.0/schemas/
è anu bisognu à esse compilati per DCONF per piglià, per questu eseguemu u cumandimu:
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
Cumpilazione
Per compilà u nostru prugramma duvemu lancià u cumandimu seguente in un terminal:
valac --pkg gtk+-3.0 --pkg granite main.vala tutorial.vala settings.vala
E run u binariu cù u cumandimu:
./main
CONCLUSIONES
Hè unu di i migliori metudi per salvà u statu di a nostra APP in GSCHEMA cù GLIB. Ogni tipu di dumanda seraghju felice di risponde.
Eccu una screenshot di u mo Ubuntu è l'Esempiu:
3 cumenti, lasciate i toi
Bon articulu, uni pochi di tutoriali GTK in C ++ sò boni. E cose sò cambiate assai, u situ ufficiale GTK ricumanda libri da u 2002, aghju fattu l'errore di cumprà.
DevHelp aiuta più di qualsiasi libru.
Scusate mi vulia dì C, micca C ++. Quandu apru i codici, sceltu sempre "Un prugettu in C ++", ma prugramu in C.
Bonu tutu, mi piacerebbe sapè è so chì ùn hè micca u casu, ma in verità mi sò datu abbastanza colpi di testa per pudè realizà questu approcciu, aghju bisognu di persunalizà u fondu è a schermata di login cun un istituziunale maghjina di induve travagliu in e squadre di l'utenti, anu una distro venezuelana chjamata Canaima, basata nantu à Debian 7 Wheezy, l'utenti si autentificanu via LDAP è parechji utilizatori ponu travaglià nantu à u listessu PC, allora pò esse u casu chì ci sò parechji sessioni in i quali devenu avè u carta da parati, e squadre sò persunalizate da u script per facilità u travagliu di i tecnichi è poi e pulitiche sò injectate da u servitore puppetmaster.
Aghju pruvatu cù gsettings ma funziona solu cù l'utilizatore chì accede, apparentemente salva l'infurmazioni in una basa di dati lucale per utilizatore chì ùn aghju micca ancu realizatu, cercu qualchì cunfigurazione chì s'applica à tuttu u sistema è micca à un solu utilizatore.
Vale a pena ammintà chì l'immagine hè in costante mutazione per via di e date naziunali è di qualsiasi altra ragione, dunque ùn hè micca solu una maghjina, sò caricate da u burattone per ogni cliente.
Ùn aghju micca idea se qualcosa di simile pò esse applicata à u mo casu.
Saluti.