GNOME projekt avaldas Libadwaita 1.2 teegi, mis sisaldab komponentide komplekti kasutajaliidese stiilide kujundamiseks vastavalt GNOME HIG (Human Interface Guidelines) soovitustele. Teek sisaldab valmis vidinaid ja objekte rakenduste loomiseks, mis vastavad GNOME'i ühtsele stiilile, mille kasutajaliides saab kohanduda igas suuruses ekraanidele. Teegi kood on kirjutatud C-keeles ja seda levitatakse LGPL 2.1+ litsentsi alusel.

Libadwaita raamatukogu kasutatakse koos GTK4-ga ja sisaldab GNOME teema Adwaita komponente, mis on eraldatud GTK-st eraldi raamatukoguks. GNOME visuaalsete elementide eraldamine eraldi raamatukogusse võimaldab GNOME-l teha vajalikke muudatusi sõltumatult GTK-st, mis annab GTK arendajatele võimaluse keskenduda põhiasjadele, samas kui GNOME arendajad saavad kiiremini ja paindlikumalt edendada oma stiilimuudatusi, mõjutamata GTK-d.
Raamistik sisaldab erinevaid liideselemente, sealhulgas loendeid, paneele, redigeerimisbloke, nuppe, vahekaartide, otsinguvorme, dialooge jne. Pakutud vidinad võimaldavad luua universaalseid liideseid, mis sujuvalt töötavad nii suurte arvutiekraanide kui ka väikeste puuteekraanide, nagu nutitelefonide, puhul. Rakenduse liides muutub dünaamiliselt vastavalt ekraani suurusele ja saadaval olevatele sisendi seadmetele. Raamistik sisaldab ka Adwaita stiilide kogumit, mis kohandab välimuse GNOME'i soovitustega kooskõlla, ilma käsitsi kohandamise vajaduseta.
Libadwaita 1.2 peamised muudatused:
- Lisatud vidin Adw.EntryRow, mis on mõeldud kasutamiseks loendite elemendina. Vidin pakub sisestusvälja ja pealkirja, millele saab enne ja pärast sisendi välja kinnitada täiendavaid vidinaid (näiteks sisendi kinnitamise nuppe või indikaatorit, et andmeid saab redigeerida). Samuti on saadaval variant Adw.PasswordEntryRow, mis on mõeldud paroolide sisestamiseks.

- Lisatud on Adw.MessageDialog vidin, mis võimaldab kuvada teate- või küsimusdialooge. See vidin on täiustatud asendus Gtk.MessageDialog'ile, millel on võimalus kohandada elementide paigutust akna suurusele. Näiteks laiade akende puhul võivad nupud ilmuda ühte ritta, samas kui kitsastes akendes jagunevad need mitmeks veeruks. Veel üks erinevus on see, et vidin ei ole GtkDialog'i alamklass ja pakub täiesti uut API-d, mis ei ole seotud ettenähtud nuppude tüüpidega GtkResponseType (Adw.MessageDialog'is käsitleb kõiki toiminguid rakendus), lihtsustades teiste vidinate integreerimise võimalusi extra-child omaduse kaudu ning pakkudes eraldi stiile pealkirjale ja põhitekstile.

- Lisatud on Adw.AboutWindow vidin, mis kuvab programmi teavet. See vidin asendab Gtk.AboutDialog'i ja erineb elementide adaptiivse paigutuse rakendamisest ning täiendavatest abijagudest, nagu muudatuste loetelu, tänude aken, kolmandate osapoolte komponentide litsentside teave, lingid teabeallikatele ja andmed tõrkeotsingut lihtsustamiseks.


- Adw.TabView ja Adw.TabBar vidinate funktsioone on laiendatud, sealhulgas on ümber töötatud klaviatuuri otsetee käitlemise mehhanism, et lahendada probleemide kombinatsioonide töötamises, mis kattuvad GTK4 töötlejatega (näiteks Ctrl+Tab). Uues versioonis on ka pakkuda omadus, millega saab seadistada tööriistaribade ja vahelehtede nuppude hüpikjuhiseid.
- Lisatud klass Adw.PropertyAnimationTarget, et lihtsustada objektide omaduste animatsiooni.
- Vahekaartide paneeli (Adw.TabBar) stiil on oluliselt muutunud — aktiivne vahekaart on rohkem esile tõstetud ja tumeda kujunduse variandi elementide kontrastsust on suurendatud.


- Vertikaalsete jagajate kõrgust on vähendatud, mis võimaldas pealkirjaga paneelis ja otsinguribal eemaldada segavaid heledaid piire tumedate piiride kasuks, mis on määratud @headerbar_shade_color abil, ning lisada taustastiili, mis sobib kokku pealkirja paneelidega.
- Stiiliklass „.large-title“ on kuulutatud ajakohatud, selle asemel tuleks kasutada „.title-1“.
- Adw.ActionRow vidina servad on vähendatud, et viia selle välimus lähemale paneelidele ja vidinale Adw.EntryRow.
- Gtk.Actionbar ja Adw.ViewSwitcherBar vidžetites on kasutatud samu stiile, mis kehtivad päise, otsingu ja vahelehtede paneelides.

Allikas: opennet.ru







