Lansarea bibliotecii Libadwaita 1.2 pentru crearea de interfețe în stil GNOME

Proiectul GNOME a publicat versiunea bibliotecii Libadwaita 1.2, care include un set de componente pentru stilizarea interfeței utilizatorului, conform recomandărilor GNOME HIG (Human Interface Guidelines). Biblioteca conține widget-uri și obiecte gata făcute pentru a construi aplicații, care corespund stilului general GNOME, interfața acestora putându-se adapta la ecrane de orice dimensiune. Codul bibliotecii este scris în limbajul C și este distribuit sub licența LGPL 2.1+.

Lansarea bibliotecii Libadwaita 1.2 pentru crearea de interfețe în stil GNOME

Biblioteca libadwaita este utilizată împreună cu GTK4 și include componente ale temei de design Adwaita utilizată în GNOME, care au fost separate din GTK într-o bibliotecă de sine stătătoare. Separarea elementelor de design vizual GNOME într-o bibliotecă separată permite dezvoltarea modificărilor necesare pentru GNOME independent de GTK, oferind dezvoltatorilor GTK posibilitatea de a se concentra asupra aspectelor fundamentale, iar dezvoltatorilor GNOME să implementeze mai rapid și flexibil modificările dorite în stilul de design, fără a afecta GTK în sine.

Biblioteca include widgeturi standard care acoperă diverse elemente ale interfeței, cum ar fi listele, panourile, blocurile de editare, butoanele, tab-urile, formularele de căutare, feronurile de dialog etc. Widgeturile propuse permit crearea de interfețe universale, care funcționează organic atât pe ecrane mari de PC-uri și laptopuri, cât și pe ecrane mici tactile de smartphone-uri. Interfața aplicațiilor se schimbă dinamic în funcție de dimensiunea ecranului și de dispozitivele de intrare disponibile. Biblioteca include, de asemenea, un set de stiluri Adwaita, care aduce aspectul în conformitate cu recomandările GNOME, fără a necesita adaptări manuale.

Modificările principale în libadwaita 1.2:

  • A fost adăugat widget-ul Adw.EntryRow, destinat utilizării ca element al listelor. Widget-ul oferă un câmp de introducere și un titlu cu posibilitatea de a atașa widget-uri suplimentare înainte și după câmpul de introducere (de exemplu, butoane pentru confirmarea introducerii sau un indicator că datele pot fi editate). De asemenea, este disponibil un variant Adw.PasswordEntryRow, destinat introducerii parolelor.
    Lansarea bibliotecii Libadwaita 1.2 pentru crearea de interfețe în stil GNOME
  • A fost adăugat widget-ul Adw.MessageDialog pentru a afișa o fereastră de dialog cu un mesaj sau o întrebare. Widget-ul este o înlocuire extinsă a Gtk.MessageDialog, care poate adapta aranjarea elementelor la dimensiunea ferestrei. De exemplu, în ferontele largi, butoanele pot fi afișate într-o singură linie, iar în cele înguste, pot fi împărțite în mai multe coloane. O altă diferență este că widget-ul nu este o clasă derivată din GtkDialog și oferă un API complet nou, nelegat de tipurile predefinite de butoane GtkResponseType (în Adw.MessageDialog, gestionarea tuturor acțiunilor se face de către aplicație), simplificând integrarea altor widget-uri folosind proprietatea extra-child și oferind stiluri separate pentru titlu și textul principal.
    Lansarea bibliotecii Libadwaita 1.2 pentru crearea de interfețe în stil GNOME
  • A fost adăugat widget-ul Adw.AboutWindow pentru a afișa o fereastră cu informații despre program. Widget-ul înlocuiește Gtk.AboutDialog și se distinge prin utilizarea unei aranjări adaptive a elementelor și prin secțiuni auxiliare extinse, cum ar fi lista modificărilor, o fereastră de mulțumiri, informații despre licențele componentelor externe, link-uri către resursele informaționale și date pentru simplificarea depanării.
    Lansarea bibliotecii Libadwaita 1.2 pentru crearea de interfețe în stil GNOMELansarea bibliotecii Libadwaita 1.2 pentru crearea de interfețe în stil GNOME
  • Funcționalitatea widget-urilor Adw.TabView și Adw.TabBar a fost extinsă, mecanismul de gestionare a tastelor rapide a fost reproiectat pentru a rezolva problema combinațiilor care intrau în conflict cu handlerii GTK4 (de exemplu, Ctrl+Tab). Noua versiune oferă de asemenea o proprietate pentru a seta sugestii contextualizate pentru indicatoarele și butoanele filelor.
  • A fost adăugat clasa Adw.PropertyAnimationTarget pentru a simplifica animarea proprietăților obiectelor.
  • Stilul barei de file (Adw.TabBar) a fost semnificativ modificat — fila activă este acum mai bine evidențiată și contrastele elementelor în varianta întunecată au fost îmbunătățite.
    Lansarea bibliotecii Libadwaita 1.2 pentru crearea de interfețe în stil GNOME
    Lansarea bibliotecii Libadwaita 1.2 pentru crearea de interfețe în stil GNOME
  • Înălțimea separatorilor verticali a fost redusă, permițând eliminarea marginilor deschise distragătoare din panoul cu titlu și bara de căutare, în favoarea marginilor întunecate stabilite cu @headerbar_shade_color, și adăugarea unui stil de fundal care se îmbină cu panourile din titlu.
  • Clasa de stil „.large-title” a fost declarată învechită, recomandându-se utilizarea „.title-1”.
  • Marginile widget-ului Adw.ActionRow au fost reduse pentru a-i apropia aspectul de panourile și widget-ul Adw.EntryRow.
  • Widget-urile Gtk.Actionbar și Adw.ViewSwitcherBar folosesc aceleași stiluri aplicate panourilor din titlu, de căutare și de file.
    Lansarea bibliotecii Libadwaita 1.2 pentru crearea de interfețe în stil GNOME

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster