Hat hónapos fejlesztés után megjelent egy többplatformos eszközkészlet a grafikus felhasználói felület létrehozásához - a GTK 4.10.0. A GTK 4-et egy új fejlesztési folyamat részeként fejlesztik, amelynek célja, hogy az alkalmazásfejlesztők számára stabil és támogatott API-t biztosítson több éven keresztül, amely használható anélkül, hogy félne attól, hogy félévente újra kell írnia az alkalmazásokat a következő GTK API változásai miatt. ág.
A GTK 4.10 legjelentősebb fejlesztései közé tartoznak a következők:
- A GtkFileChooserWidget widget, amely egy párbeszédablakot valósít meg az alkalmazásokban lévő fájlok kiválasztásához, egy módot valósít meg a könyvtártartalom megjelenítésére ikonok hálózata formájában. Alapértelmezés szerint továbbra is a klasszikus nézet, fájllista formájában marad használatban, és a panel jobb oldalán egy külön gomb jelent meg, amellyel ikon módba lehet váltani. ikonok:
- A GtkColorDialog, GtkFontDialog, GtkFileDialog és GtkAlertDialog új osztályokkal bővült a színek, betűtípusok és fájlok kiválasztására, valamint figyelmeztetések megjelenítésére szolgáló párbeszédpanelek megvalósítása. Az új lehetőségeket egy holisztikusabb és kiegyensúlyozottabb API-ra való átállás különbözteti meg, amely aszinkron módban (GIO async) működik. Az új párbeszédablakban, amikor csak lehetséges és elérhető, Freedesktop portálokat (xdg-desktop-portal) használnak, amelyek a felhasználói környezet erőforrásaihoz való hozzáférés megszervezésére szolgálnak az elszigetelt alkalmazásokból.
- Új CPDB (Common Printing Dialog Backend) került hozzáadásra, amely szabványos kezelőket biztosít a nyomtatási párbeszédpanelekhez. A korábban használt lpr nyomtatási háttérrendszer megszűnt.
- A GTK és a grafikus alrendszer közötti réteget biztosító GDK könyvtár a GdkTextureDownloader struktúrát kínálja, amely a GdkTexture osztály textúráinak betöltésére szolgál, és különféle formátumok konvertálására szolgál. Továbbfejlesztett textúra skálázás az OpenGL segítségével.
- A GSK könyvtár (GTK Scene Kit), amely képes grafikus jelenetek megjelenítésére OpenGL és Vulkan segítségével, támogatja a csomópontokat maszkokkal és a méretezhető textúrák egyéni szűrésével.
- A Wayland protokollbővítmények új verzióinak támogatása megtörtént. Az „xdg-activation” protokoll használatakor az indítási értesítések kimenete módosult. Megoldott a kurzormérettel kapcsolatos problémák nagy pixelsűrűségű képernyőkön.
- A GtkMountOperation osztály nem X11-es környezetekben való működésre készült.
- A Broadway háttérrendszer, amely lehetővé teszi a GTK-könyvtár kimenetének webböngészőablakban történő megjelenítését, kiegészítette a modális ablakok támogatását.
- A GtkFileLauncher osztály új aszinkron API-t kínál a gtk_show_uri helyére.
- A gtk-builder-tool segédprogram továbbfejlesztette a sablonfeldolgozást.
- A GtkSearchEntry widget kiegészítette a kitöltő szöveg támogatását, amely akkor jelenik meg, ha a mező üres, és nincs beviteli fókusz.
- Hozzáadtuk a GtkUriLauncher osztályt, amely felváltja a gtk_show_uri függvényt, amely az adott URI megjelenítésére elindított alkalmazás meghatározására szolgál, vagy ha nincs kezelő, hibaüzenetet küld.
- A GtkStringSorter osztály kiegészítette a különféle „összeválogatási” metódusok támogatását, lehetővé téve a karakterek jelentése alapján történő egyeztetést és rendezést (például ha van ékezetes jel).
- Az API-k és widgetek nagy része elavult, amelyeket úgy döntöttek, hogy nem támogatnak a jövőbeni GTK5 ágban, és amelyeket aszinkron módban működő analógokra cseréltek:
- GtkDialog (a GtkWindow-t kell használnia).
- GtkTreeView (a GtkListView és a GtkColumnView használata javasolt) .
- GtkIconView (a GtkGridView-t kell használnia).
- GtkComboBox (a GtkDropDown-t kell használni).
- GtkAppChooser (a GtkDropDown-t kell használni).
- GtkMessageDialog (a GtkAlertDialogot kell használni).
- GtkColorChooser (a GtkColorDialog-ot és a GtkColorDialogButton-t kell használni).
- GtkFontChooser (a GtkFontDialog-ot és a GtkFontDialogButton-t kell használni).
- GtkFileChooser (a GtkFileDialog-ot kell használnia).
- GtkInfoBar
- GtkEntryCompletion
- GtkStyleContext
- GtkVolumeButton
- GtkStatusbar
- GtkAssistant
- GtkLockButton
- gtk_widget_show/hide
- gtk_show_uri
- gtk_render_ és gtk_snapshot_render_
- gtk_gesture_set_sequence_state
- A GtkAccessible felület átkerült a nyilvános kategóriába, amely lehetővé teszi a fogyatékkal élők interfészelemeinek külső kezelőinek csatlakoztatását. Hozzáadott GtkAccessibleRange interfész.
- A macOS platform támogatja az elemek egérrel való húzását (DND, Drag-and-Drop).
- A Windows platformon a rendszerbeállításokkal való integráció javult.
- A hibakeresés kimeneti formátuma egységes lett.
- A JPEG képfeltöltő memóriakorlátját 1 GB-ra emelték.
Forrás: opennet.ru