Megjelent a Libadwaita 1.5 könyvtár a GNOME stílusú felületek létrehozásához

A GNOME projekt közzétette a Libadwaita 1.5 könyvtár kiadását, amely felhasználói felület stílusának kialakításához szükséges komponenseket tartalmaz, amelyek megfelelnek a GNOME HIG (Human Interface Guidelines) ajánlásainak. A könyvtár tartalmaz kész widgeteket és objektumokat alkalmazások létrehozásához, amelyek összhangban vannak a GNOME általános stílusával, és az interfészük adaptívan alkalmazkodhat bármilyen méretű képernyőhöz. A könyvtár kódja C nyelven íródott és LGPL 2.1+ licenc alatt terjesztik.

A libadwaita könyvtár a GTK4-el együtt használatos, és tartalmazza a GNOME által használt Adwaita téma komponenseit, amelyeket a GTK-ból egy külön könyvtárba helyeztek át. A GNOME vizuális elemeinek külön könyvtárba való áthelyezése lehetővé teszi, hogy a GNOME-hoz szükséges változtatásokat függetlenül fejleszthessék a GTK-tól, ami lehetőséget ad a GTK fejlesztőinek, hogy a alapvető dolgokra összpontosítsanak, míg a GNOME fejlesztői gyorsabban és rugalmasabban előmozdíthassák a szükséges stílusváltoztatásokat anélkül, hogy magát a GTK-t érintenék.

A könyvtár tartalmaz tipikus widgeteket, amelyek különféle felületi elemeket ölelnek fel, például listákat, paneleket, szerkesztő blokkokat, gombokat, lapokat, kereső űrlapokat, párbeszédpanelek stb. A javasolt widgetek lehetővé teszik univerzális felületek létrehozását, amelyek zökkenőmentesen működnek nagy képernyős PC-ken és laptopokon, valamint kisméretű érintőképernyős okostelefonokon. Az alkalmazások felülete dinamikusan változik a képernyő mérete és az elérhető bemeneti eszközök szerint. A könyvtár emellett tartalmazza az Adwaita stílusok halmazát is, amelyek megjelenését a GNOME irányelveivel összhangba hozzák, kézi alkalmazkodás nélkül.

Megjelent a Libadwaita 1.5 könyvtár a GNOME stílusú felületek létrehozásához

A libadwaita 1.5 fő változása az adaptív widgetek átworkingázása a méretigényeknek megfelelő párbeszédpanelek készítésére, amelyek alkalmazkodnak a látható terület méretéhez. A hagyományos párbeszédpanelek helyett, amelyek külön ablakokban helyezkednek el, az új párbeszédek az ügyfél oldalán vannak létrehozva, a meglévő ablakokon belül van megjelenítve és nem léphetnek túl a szülőablak határain. Ez a megközelítés egyszerűsíti az univerzális párbeszédek létrehozását, amelyek ötvözik a mobil és asztali rendszerek interfészeit, valamint további lehetőségeket nyújt a párbeszédek kezelésére (például nem szükséges figyelni az ablak határainak átlépésére, megválasztható a záró gombok viselkedése, automatikus teljes képernyős megjelenítést biztosít a mobil változatokban, figyelembe veszi az aktuális ablak stílusát, nem a rendszerét a párbeszéd árnyékolásakor).

Megjelent a Libadwaita 1.5 könyvtár a GNOME stílusú felületek létrehozásához Megjelent a Libadwaita 1.5 könyvtár a GNOME stílusú felületek létrehozásához

A későbbiekben tervezik egy újabb olyan párbeszédpanelek megvalósítását, amelyek nem az ablakokhoz, hanem az ablakon belüli lapokhoz vannak kötve, ami hasznos lehet olyan alkalmazásokban, mint a böngészők, így a laphoz kapcsolódó párbeszédek nem takarják el a fő ablakot a lapok közötti váltás során.

Mobil eszközökön a párbeszédek rögzített alsó lapok formájában jelennek meg, nem pedig középre igazított lapok formájában. Az alsó részhez rögzített párbeszédek megszüntetik a felhasználók zűrzavarát az ablakok bezárásakor — ezeknél a párbeszédeknél a szülőablak egy része látható marad, és a szülőablak és a párbeszéd bezáró gombjai egyértelműen el vannak választva, így már nehezen keverhetők össze.

Megjelent a Libadwaita 1.5 könyvtár a GNOME stílusú felületek létrehozásához

Az új párbeszédek kezelése az AdwDialog osztály segítségével történik, amelynek használata a legtöbb esetben hasonló a GtkWindow osztályhoz, a különbségek a megjelenítési és zárási műveletekre korlátozódnak. Például a „:transient-for” tulajdonság át lett alakítva a adw_dialog_present() függvény paraméterévé, új „::close-attempt” jelzés került bevezetésre, és a „:can-close” paraméter kezelése megváltozott. Az AdwPreferencesWindow, AdwAboutWindow és AdwMessageDialog helyett az új párbeszédekkel az AdwPreferencesDialog, AdwAboutDialog és AdwAlertDialog osztályokat ajánlják használni.

Azok a párbeszédek, amelyeknek nincs szülőablaka, továbbra is külön ablakok formájában kerülnek feldolgozásra. A párbeszédek is ablakokként fognak működni, amelyek szülőablakai nem használhatók a párbeszédek elhelyezésére, például, ha nem engedélyezik a méretezést vagy az AdwWindow és AdwApplicationWindow osztályok hiányoznak.

A párbeszédek újragondolásával nem kapcsolatos változások a Libadwaita 1.5-ben:

  • Az AdwEntryRow osztályhoz hozzáadva a „:text-length” tulajdonság a bemeneti mező szövegméretének korlátozására.
  • Az AdwMessageDialog osztályhoz hozzáadva a remove_response() metódus.
  • Az AdwBreakpointBin osztályhoz, amely lehetővé teszi a felhasználói felület tetszőleges módon történő megváltoztatását az ablak mérete alapján, hozzáadva a törölhető breakpointok programozott eltávolításának lehetőségét.
  • Az AdwSwipeTracker osztályhoz hozzáadva a „:allow-window-handle” flag, amely lehetővé teszi a felső panelen való lapozást (az alsó szélsőségekhez rögzített lapoknál használják).
  • Fokozva a sötét téma designjánál alkalmazott színek fényerejét az ablakok árnyékolásakor.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster