Re: Migrating away from GtkStock stuff
- From: Gabriele Greco <gabriele greco wyscout com>
- To: Emmanuele Bassi <ebassi gmail com>
- Cc: gtk-app-devel-list list <gtk-app-devel-list gnome org>
- Subject: Re: Migrating away from GtkStock stuff
- Date: Thu, 7 Feb 2019 14:30:40 +0100
If you're using `edit-find` or `document-save` then you're using a named
icon from the icon theme, not the stock identifier.
For those, you'll have to ship an icon theme like Adwaita.
That's really strange, it seems there is something in my gtk stack that
converts GTK_STOCK_XXX to the icon theme equivalent, anyway they should
show since I've the Adwaita theme installed.
See the following example to see how gtk-about became help-about
#include <gtk/gtk.h>
int main(int argc, char *argv[]) {
gtk_init(&argc, &argv);
GtkWidget *w = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_container_add(GTK_CONTAINER(w),
gtk_image_new_from_stock(GTK_STOCK_ABOUT, GTK_ICON_SIZE_LARGE_TOOLBAR));
gtk_widget_show_all(w);
gtk_main();
}
shelob-2 $ grep -r GTK_STOCK_ABOUT /usr/local/gtk/include/gtk-3.0/gtk
/usr/local/gtk/include/gtk-3.0/gtk/deprecated/gtkstock.h: * GTK_STOCK_ABOUT:
/usr/local/gtk/include/gtk-3.0/gtk/deprecated/gtkstock.h:#define
GTK_STOCK_ABOUT ((GtkStock)"gtk-about")
shelob-2 $ g++ -o test test.c `pkg-config gtk+-3.0 --cflags --libs`
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior
is deprecated [-Wdeprecated]
test.c:8:34: warning: 'GtkStock' is deprecated [-Wdeprecated-declarations]
gtk_image_new_from_stock(GTK_STOCK_ABOUT,
GTK_ICON_SIZE_LARGE_TOOLBAR));
^
/usr/local/gtk/include/gtk-3.0/gtk/deprecated/gtkstock.h:123:38: note:
expanded from macro 'GTK_STOCK_ABOUT'
#define GTK_STOCK_ABOUT ((GtkStock)"gtk-about")
^
/usr/local/gtk/include/gtk-3.0/gtk/deprecated/gtkstock.h:105:1: note:
'GtkStock' has been explicitly marked deprecated here
G_DEPRECATED
^
/usr/local/gtk/include/glib-2.0/glib/gmacros.h:432:37: note: expanded from
macro 'G_DEPRECATED'
#define G_DEPRECATED __attribute__((__deprecated__))
^
test.c:8:9: warning: 'gtk_image_new_from_stock' is deprecated
[-Wdeprecated-declarations]
gtk_image_new_from_stock(GTK_STOCK_ABOUT,
GTK_ICON_SIZE_LARGE_TOOLBAR));
^
/usr/local/gtk/include/gtk-3.0/gtk/gtkimage.h:121:1: note:
'gtk_image_new_from_stock' has been explicitly marked deprecated here
GDK_DEPRECATED_IN_3_10_FOR(gtk_image_new_from_icon_name)
^
/usr/local/gtk/include/gtk-3.0/gdk/gdkversionmacros.h:329:47: note:
expanded from macro 'GDK_DEPRECATED_IN_3_10_FOR'
# define GDK_DEPRECATED_IN_3_10_FOR(f) GDK_DEPRECATED_FOR(f)
^
/usr/local/gtk/include/gtk-3.0/gdk/gdkversionmacros.h:49:31: note: expanded
from macro 'GDK_DEPRECATED_FOR'
#define GDK_DEPRECATED_FOR(f) G_DEPRECATED_FOR(f) _GDK_EXTERN
^
/usr/local/gtk/include/glib-2.0/glib/gmacros.h:444:29: note: expanded from
macro 'G_DEPRECATED_FOR'
#define G_DEPRECATED_FOR(f) G_DEPRECATED
^
/usr/local/gtk/include/glib-2.0/glib/gmacros.h:432:37: note: expanded from
macro 'G_DEPRECATED'
#define G_DEPRECATED __attribute__((__deprecated__))
^
2 warnings generated.
shelob-2 $ ./test
(process:77229): Gtk-WARNING **: 14:28:48.629: Locale not supported by C
library.
Using the fallback 'C' locale.
(test:77229): Gtk-WARNING **: 14:28:49.162: Could not find the icon
'help-about'. The 'hicolor' theme
was not found either, perhaps you need to install it.
You can get a copy from:
http://icon-theme.freedesktop.org/releases
(test:77229): Gtk-WARNING **: 14:28:49.162: Error loading theme icon
'help-about' for stock: Icon 'help-about' not present in theme Adwaita
--
Ciao,
Gabry
--
Le informazioni contenute nella presente comunicazione e i relativi
allegati possono essere riservate e sono, comunque, destinate
esclusivamente alle persone o alla Società sopraindicati e non sono da
considerarsi comunicazioni personali, quindi eventuali risposte potranno
essere conosciute da persone appartenenti all’azienda. La diffusione,
distribuzione e/o copiatura del documento trasmesso da parte di qualsiasi
soggetto diverso dal destinatario è proibita ai sensi dell’art. 616 c.p. I
dati forniti verranno trattati ai sensi dell'art. 13 del Regolamento UE
2016/679 (normativa sulla privacy). Se ha ricevuto questo messaggio per
errore Ti preghiamo di distruggerlo e di informarci immediatamente
contattandoci mandando una mail a privacy wyscout com
<mailto:privacy wyscout com>. Copia integrale dell’informativa potrà essere
visionata presso le nostre sedi.
Any information herein included (even
any attachments) shall be considered confidential and/or privileged
material and meant to be only for the abovementioned persons and/or
Company, therefore such communication is intended to be for the addressee
only. Such information is not personal, that is why this e-mail and any
replies may be known exclusively by people belonging to the company. It is
expressively not allowed communicate, disclose and/or copy any
documentation transmitted by a person other than the recipient, according
to the Italian Criminal Code, Section 616 and the Regulation EU 2016/679.
Your provided data are processed in accordance with Regulation EU 2016/679
(Data Protection Law), Section 13. A full copy of the relevant information
notice is available at the company’s registered office upon request. If you
received this in error, please destroy it and inform us immediately by
sending an e-mail to the following e-mail address privacy wyscout com
<mailto:privacy wyscout com>. A full copy of the relevant information
notice is available at the company’s registered office upon request.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]