Libadwaita 1.5 teegi väljaanne GNOME stiilis liideste loomiseks

GNOME projekt avaldas Libadwaita 1.5 teegi, mis sisaldab komponentide kogumit kasutajaliidese stiilide kujundamiseks, mis vastavad GNOME HIG (Inimese Liidese Suunised) soovitustele. Teek sisaldab valmis vidinaid ja objekte rakenduste loomiseks, mis vastavad GNOME'i üldisele stiilile ning mille liides suudab paindlikult kohanduda erinevate ekraanisuurustega. Teegi kood on kirjutatud C keeles ja see on levitatud 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.5 teegi väljaanne GNOME stiilis liideste loomiseks

Libadwaita 1.5 peamine muudatus on kohandatavate vidinate ümberkujundamine dialoogide loomiseks, mis kohanduvad nähtava ala suurusega. Erinevalt traditsioonilisest dialoogist, mis asub eraldi akendes, luuakse uued dialoogid kliendi poolel, joonistatakse olemasolevate akende sees ja ei saa emakeelest välja ulatuda. Selline lähenemine lihtsustab universaalsete dialoogide loomist, mis sobivad mobiilsete ja lauaarvutisüsteemide liidestega, ning pakub lisavõimalusi dialoogide haldamiseks (näiteks ei pea jälgima akna piiridest väljapääsu, saab valida sulgemisnuppude käitumise ning tagatakse automaatne täiskuva avamine rakenduse mobiiliversioonides, arvestades dialooge tumendamisel praeguse akna stiiliga, mitte süsteemiga).

Libadwaita 1.5 teegi väljaanne GNOME stiilis liideste loomiseks Libadwaita 1.5 teegi väljaanne GNOME stiilis liideste loomiseks

Tulevikus on kavas ellu viia veel üks sarnaste dialoogide variant, mis ei ole seotud akendega, vaid vahekaartidega akna sees. See võib olla nõutav sellistes rakendustes nagu brauserid, et seotud vahekaardi dialoogid ei kataks põhiekraani vahekaartide vahel liikumisel.

Mobiilseadmetele on rakendatud toetus dialoogide paigutamiseks alumistele ekraanile kinnitatud lehtedena (bottom sheets), mitte keskele joondatud lehtedena. Alumisele küljele kinnitatud dialoogid vabastavad kasutajad akende sulgemise segadusest — sellistes dialoogides jääb osa vanemast aknast nähtavaks ja vanema akna ning dialooge sulgemise nupud on selgelt eraldatud, mistõttu neist on nüüd raskem segadusse minna.

Libadwaita 1.5 teegi väljaanne GNOME stiilis liideste loomiseks

Uute dialoogide haldamine toimub AdwDialog klassi abil, mille kasutamine sarnaneb enamasti GtkWindow klassi kasutamisele, kuid erinevused piirduvad kuvamis- ja sulgemistegevustega. Näiteks omadus „:transient-for“ on asendatud parameetriga funktsioonis adw_dialog_present(), lisatud on uus signaal „::close-attempt“ ja muutunud on parameetri „:can-close“ töötlemine. Uute dialoogide jaoks on soovitatav kasutada klasse AdwPreferencesDialog, AdwAboutDialog ja AdwAlertDialog ning mitte klasse AdwPreferencesWindow, AdwAboutWindow ja AdwMessageDialog.

Dialoogid, millel ei ole vanemakna, käsitletakse endiselt eraldi akendena. Samuti funktsioneerivad dialoogid, mille vanemaknaid ei saa dialoogide paigutamiseks kasutada, näiteks kui need ei võimalda suuruse muutmist või kui neil puuduvad klassid AdwWindow ja AdwApplicationWindow.

Libadwaita 1.5-s tehtud dialoogide ümberkujundamisega mitte seotud muudatused:

  • AdwEntryRow klassile on lisatud omadus „:text-length“, et piirata sisendväljas oleva teksti suurust.
  • AdwMessageDialog klassile on lisatud meetod remove_response().
  • AdwBreakpointBin klassi, mis võimaldab kasutajaliidese muutmist sõltuvalt akna suurusest, on lisatud võimalus peatuste programmeeritud eemaldamiseks.
  • AdwSwipeTracker klassi on lisatud lipp «:allow-window-handle», mis lubab kerida üle ülemise paneeli (kasutatakse alumisse serva kinnitatud lehtedes).
  • Tumedate teema korral on akende varjutamisel kasutatavate värvide heledust tõstetud.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster