Co je nového pro vývojáře

Následující popsané změny jsou důležité pro vývojáře, kteří používají vývojovou platformu GNOME 2.24. Pokud vás tyto informace nezajímají, můžete přeskočit rovnou na Oddíl 5 ― Co je nového na scéně mobilní.

4.1. Přípravy na GLib/GTK+ 3.0

Aby se započalo s přípravou vývojářů na GLib a GTK+ 3.0, nadcházející vydání obou knihoven budou obsahovat návěští k zajištění striktní kompatibility.

GLib, GTK+ a ATK 3.0 budou vyžadovat, aby byla v aplikacích zahrnuta pouze záhlaví nejvyšší úrovně (např. glib.h, gobject.h, gio.h). Taková změna je důležitá kvůli možnosti odstranění, přejmenování a přeskupení jednotlivých záhlaví bez narušení kompatibility zdrojového kódu ve vztahu k aplikacím.

Aby nyní mohli vývojáři testovat své aplikace ve smyslu kompatibility, byly přidány nové překladové volby: G_DISABLE_SINGLE_INCLUDES u GLib, GTK_DISABLE_SINGLE_INCLUDES u GTK+ a ATK_DISABLE_SINGLE_INCLUDES u ATK.

Tyto jednoduše použijte jako příznaky překladu u dané aplikace (např. -DG_DISABLE_SINGLE_INCLUDES), tím zajistíte, že bude aplikace bez problémů.

Další testování kompatibility

GLib, GTK+ a související aplikace také poskytují další překladové volby, které je možné použít k testování kompatibility s GTK+ 3.0.

Podporu zastaralých symbolů a tříd, které budou odstraněny ve verzi 3.0, lze vypnout zadáním následujícího při překladu: ATK_DISABLE_DEPRECATED, PANGO_DISABLE_DEPRECATED, G_DISABLE_DEPRECATED, GDK_PIXBUF_DISABLE_DEPRECATED, GDK_DISABLE_DEPRECATED a GTK_DISABLE_DEPRECATED u ATK, resp. Pango, GLib, GdkPixbuf, GDK a GTK+.

Ověření, že váš program používá pouze funkce korektně podporující systémy o více monitorech, lze provést zadáním GDK_MULTIHEAD_SAFE a GTK_MULTIHEAD_SAFE.

4.2. GLib 2.18

GNOME 2.24 je prvním vydáním, které závisí na GLib 2.18.

GLib 2.18 přináší lepší podporu při poskytování kontextu v překladech řetězců s makry C_() a NC_(), stejně jako dodatečné API v GIO.

Úplný seznam nových symbolů je dostupný k GLib a GIO.

4.3. GTK+ 2.14

GNOME 2.24 je první vydanou verzí, která závisí na GTK+ 2.14.

Důležitá změna v této verzi GTK+ je skutečnost, že všechny widgety dědící z GtkAdjustment (např. posuvníky) nyní striktně vyžadují, aby byl jejich rozsah dán jako [nižší, vyšší - velikost stránky], dle dokumentace. Požadujete-li rozsah [nižší, vyšší], nastavte page_size na 0.

Glade a GTK+ 2.14

Všechny verze Glade (včetně 3.4.1) v současnosti ve výchozím stavu vytváří GtkSpinButton, GtkHScale a GtkVScale s page_size o velikosti 10. Vývojáři by měli ověřit, zda některý z jimi vytvořených souborů Glade neobsahuje nesmyslnou velikost stránky.

Byla zavedena nová třída GtkMountOperation k předávání g_volume_mount. GtkMountOperation je GMountOperation se schopností zobrazit uživateli dialog ověření, je-li to potřeba.

Přenositelná metoda otevírání souborů a dalších URI za použití výchozí aplikace je nyní dostupná pomocí funkce gtk_show_uri(), není již třeba libgnome. GDK nyní poskytuje implementaci GAppLaunchContext ke zpracovávání grafických aplikací (včetně upozornění při spuštění a zamezení převzetí aktivního okna), totiž GdkAppLaunchContext.

Dále je v GTK+ 2.14 API založené na GFile pro GtkFileChooser a možnost GtkBuilder překládat části stromu XML.

Úplný seznam nových symbolů je dostupný u GTK+ a GDK.

4.4. Knihovny rychlé výměny zpráv

Spolu s novým klientem rychlé výměny zpráv (viz Oddíl 2.1 ― Zůstaňte v kontaktu) obsahuje GNOME 2.24 knihovny libempathy, libempathy-gtk a telepathy-glib, které mohou být použity k integraci vlastností rychlé výměny zpráv do jakékoliv aplikace GNOME.

4.5. Deskbar

Rozhraní match nyní zahrnuje dvě metody: set_snippet a get_snippet. Je-li úryvek nastaven, bude zobrazen na novém řádku pod hodnotou match get_verb.

Rozhraní Akce získalo novou metodu get_tooltip. Přepsáním této metody je možné, aby byla místní nápověda zobrazena při přejetí ukazatele myši přes match nebo akci.