Udgivelsen af biblioteket Libadwaita 1.5 til oprettelse af brugergrænseflader i GNOME-stil.

GNOME-projektet har udgivet version 1.5 af Libadwaita-biblioteket, som inkluderer et sæt komponenter til stilindretning af brugergrænsefladen i overensstemmelse med GNOME HIG (Human Interface Guidelines). Biblioteket indeholder færdige widgets og objekter til opbygning af applikationer, der følger GNOME's overordnede stil, og hvis grænseflader kan tilpasse sig skærme af enhver størrelse. Koden til biblioteket er skrevet i C og distribueres under LGPL 2.1+-licensen.

Libadwaita-biblioteket bruges sammen med GTK4 og inkluderer komponenter fra GNOME-temaet Adwaita, som er blevet udskilt fra GTK til et separat bibliotek. At udskille GNOME's visuelle elementer i et separat bibliotek muliggør udvikling af nødvendige ændringer for GNOME uafhængigt af GTK, hvilket giver GTK-udviklerne mulighed for at fokusere på de grundlæggende elementer, mens GNOME-udviklerne hurtigere og mere fleksibelt kan fremdrive de stiltilpasninger, de har brug for, uden at påvirke selve GTK.

Biblioteket indeholder typiske widgets, der dækker forskellige brugergrænsefladeelementer, såsom lister, paneler, redigeringsfelter, knapper, faner, søgeformularer, dialogvinduer osv. De foreslåede widgets gør det muligt at skabe alsidige grænseflader, der organisk fungerer både på store PC- og bærbare skærme og på små berøringsskærme af smartphones. Applikationernes grænseflade ændrer sig dynamisk afhængigt af skærmstørrelsen og de tilgængelige inputenheder. Biblioteket inkluderer også et sæt Adwaita-stilarter, der bringer udseendet i overensstemmelse med GNOME's anbefalinger uden behov for manuel tilpasning.

Udgivelsen af biblioteket Libadwaita 1.5 til oprettelse af brugergrænseflader i GNOME-stil.

Den væsentligste ændring i libadwaita 1.5 er en genarbejdning af de adaptive widgets til oprettelse af dialogvinduer, der tilpasser sig størrelsen på det synlige område. I modsætning til traditionelle dialoger, der placeres i separate vinduer, dannes de nye dialoger på klientsiden, tegnes inden for eksisterende vinduer og kan ikke gå ud over rammerne for forældrevinduet. Denne tilgang forenkler oprettelsen af universelle dialoger, der passer til grænseflader for både mobile og stationære systemer, samt giver ekstra muligheder for at styre dialogerne (for eksempel er det ikke nødvendigt at holde øje med udgangen af vinduet, man kan vælge adfærd for lukke-knapperne, automatisk fuldskærmsudrulning på mobile versioner af applikationer tages i betragtning, og stilen for det aktuelle vindue og ikke systemet hensyntages, når dialogen dæmpes).

Udgivelsen af biblioteket Libadwaita 1.5 til oprettelse af brugergrænseflader i GNOME-stil. Udgivelsen af biblioteket Libadwaita 1.5 til oprettelse af brugergrænseflader i GNOME-stil.

Fremover er det planlagt at implementere en anden variant af sådanne dialoger, der er knyttet ikke til vinduer, men til faner inden for et vindue, hvilket kan være eftertragtet i applikationer som webbrowsere, så fanerelaterede dialoger ikke dækker hovedvinduet ved skift mellem faner.

For mobile enheder er der implementeret støtte til placering af dialoger i form af bundeplader, der er fastgjort til bunden af skærmen (bottom sheets), snarere end centrerede plader. Dialoger, der er fastgjort til bunden, befrier brugerne fra forvirring med at lukke vinduer — i sådanne dialoger forbliver en del af forældrevinduet synlig, og knapperne til at lukke både forældrevinduet og selve dialogen er tydeligt adskilt, så de nu er svære at forveksle.

Udgivelsen af biblioteket Libadwaita 1.5 til oprettelse af brugergrænseflader i GNOME-stil.

Håndteringen af nye dialoger udføres ved hjælp af klassen AdwDialog, hvis brug i de fleste tilfælde svarer til brugen af klassen GtkWindow, og forskellene drejer sig om visningsoperationer og lukning. For eksempel er egenskaben «:transient-for» blevet erstattet af en parameter i funktionen adw_dialog_present(), et nyt signal «::close-attempt» er tilføjet, og håndteringen af parameteren «:can-close» er ændret. I stedet for klasserne AdwPreferencesWindow, AdwAboutWindow og AdwMessageDialog anbefales det at bruge klasserne AdwPreferencesDialog, AdwAboutDialog og AdwAlertDialog med de nye dialoger.

Dialoger, der ikke har et overordnet vindue, vil stadig blive håndteret som separate vinduer. Dialoger, hvis forældrevinduer ikke kan bruges til at placere dialoger, som f.eks. hvis de ikke tillader ændringer i størrelsen eller ikke har klasserne AdwWindow og AdwApplicationWindow, vil også fungere som vinduer.

Ikke-relaterede ændringer i dialogerne i Libadwaita 1.5:

  • I klassen AdwEntryRow er egenskaben «:text-length» blevet tilføjet for at begrænse tekststørrelsen i inputfeltet.
  • Metoden remove_response() er blevet tilføjet i klassen AdwMessageDialog.
  • I klassen AdwBreakpointBin, som giver mulighed for at ændre brugergrænsefladen på en vilkårlig måde afhængigt af vinduets størrelse, er der tilføjet en funktion til programmæssigt at fjerne breakpoint-punkter.
  • I klassen AdwSwipeTracker er flaget «:allow-window-handle» blevet tilføjet, hvilket tillader rulning over den øverste bjælke (bruges i faner, der er fastgjort til bunden).
  • Farverne, der bruges til at skygge vinduer i det mørke tema, er blevet lysnet.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster