summaryrefslogtreecommitdiff
path: root/demos/gtk-demo/clipboard.c
diff options
context:
space:
mode:
authorWilliam Jon McCann <william.jon.mccann@gmail.com>2013-06-21 13:46:54 -0400
committerWilliam Jon McCann <william.jon.mccann@gmail.com>2013-06-24 14:50:01 -0400
commit708dd8cc52358f13438c9fb53051f3c717dfef50 (patch)
treeba38c11b0586ac3806bfd4e5e4e7f004c966b79f /demos/gtk-demo/clipboard.c
parent75a9b91161aaf946731303e42e47539342b9b692 (diff)
downloadgtk+-708dd8cc52358f13438c9fb53051f3c717dfef50.tar.gz
Remove usage of stock APIs in demo
With the exception of GtkAction.
Diffstat (limited to 'demos/gtk-demo/clipboard.c')
-rw-r--r--demos/gtk-demo/clipboard.c34
1 files changed, 21 insertions, 13 deletions
diff --git a/demos/gtk-demo/clipboard.c b/demos/gtk-demo/clipboard.c
index 9497403545..fdf25fa13b 100644
--- a/demos/gtk-demo/clipboard.c
+++ b/demos/gtk-demo/clipboard.c
@@ -9,6 +9,7 @@
* manager to run.
*/
+#include <glib/gi18n.h>
#include <gtk/gtk.h>
#include <string.h>
@@ -68,17 +69,24 @@ paste_button_clicked (GtkWidget *button,
static GdkPixbuf *
get_image_pixbuf (GtkImage *image)
{
- gchar *stock_id;
+ gchar *icon_name;
GtkIconSize size;
+ GtkIconTheme *icon_theme;
+ int width;
switch (gtk_image_get_storage_type (image))
{
case GTK_IMAGE_PIXBUF:
return g_object_ref (gtk_image_get_pixbuf (image));
- case GTK_IMAGE_STOCK:
- gtk_image_get_stock (image, &stock_id, &size);
- return gtk_widget_render_icon_pixbuf (GTK_WIDGET (image),
- stock_id, size);
+ case GTK_IMAGE_ICON_NAME:
+ gtk_image_get_icon_name (image, &icon_name, &size);
+ icon_theme = gtk_icon_theme_get_for_screen (gtk_widget_get_screen (image));
+ gtk_icon_size_lookup (size, &width, NULL);
+ return gtk_icon_theme_load_icon (icon_theme,
+ icon_name,
+ width,
+ GTK_ICON_LOOKUP_GENERIC_FALLBACK,
+ NULL);
default:
g_warning ("Image storage type %d not handled",
gtk_image_get_storage_type (image));
@@ -177,12 +185,12 @@ button_press (GtkWidget *widget,
menu = gtk_menu_new ();
- item = gtk_image_menu_item_new_from_stock (GTK_STOCK_COPY, NULL);
+ item = gtk_menu_item_new_with_mnemonic (_("_Copy"));
g_signal_connect (item, "activate", G_CALLBACK (copy_image), data);
gtk_widget_show (item);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
- item = gtk_image_menu_item_new_from_stock (GTK_STOCK_PASTE, NULL);
+ item = gtk_menu_item_new_with_mnemonic (_("_Paste"));
g_signal_connect (item, "activate", G_CALLBACK (paste_image), data);
gtk_widget_show (item);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
@@ -228,7 +236,7 @@ do_clipboard (GtkWidget *do_widget)
gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
/* Create the button */
- button = gtk_button_new_from_stock (GTK_STOCK_COPY);
+ button = gtk_button_new_with_mnemonic (_("_Copy"));
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
g_signal_connect (button, "clicked",
G_CALLBACK (copy_button_clicked), entry);
@@ -245,7 +253,7 @@ do_clipboard (GtkWidget *do_widget)
gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
/* Create the button */
- button = gtk_button_new_from_stock (GTK_STOCK_PASTE);
+ button = gtk_button_new_with_mnemonic (_("_Paste"));
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
g_signal_connect (button, "clicked",
G_CALLBACK (paste_button_clicked), entry);
@@ -258,8 +266,8 @@ do_clipboard (GtkWidget *do_widget)
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
/* Create the first image */
- image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_WARNING,
- GTK_ICON_SIZE_BUTTON);
+ image = gtk_image_new_from_icon_name ("dialog-warning",
+ GTK_ICON_SIZE_BUTTON);
ebox = gtk_event_box_new ();
gtk_container_add (GTK_CONTAINER (ebox), image);
gtk_container_add (GTK_CONTAINER (hbox), ebox);
@@ -284,8 +292,8 @@ do_clipboard (GtkWidget *do_widget)
G_CALLBACK (button_press), image);
/* Create the second image */
- image = gtk_image_new_from_stock (GTK_STOCK_STOP,
- GTK_ICON_SIZE_BUTTON);
+ image = gtk_image_new_from_icon_name ("process-stop",
+ GTK_ICON_SIZE_BUTTON);
ebox = gtk_event_box_new ();
gtk_container_add (GTK_CONTAINER (ebox), image);
gtk_container_add (GTK_CONTAINER (hbox), ebox);