[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xine-cvslog
Subject:    [xine-cvs] CVS: gnome-xine/src xml_widgets.c,1.29,1.30
From:       Darren Salt <dsalt () users ! sourceforge ! net>
Date:       2006-07-30 13:04:42
Message-ID: E1G7AyI-0005SH-Dx () sc8-pr-cvs10 ! sourceforge ! net
[Download RAW message or body]

Update of /cvsroot/xine/gnome-xine/src
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv20936/src

Modified Files:
	xml_widgets.c 
Log Message:
Allow named icons to be used.


Index: xml_widgets.c
===================================================================
RCS file: /cvsroot/xine/gnome-xine/src/xml_widgets.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- xml_widgets.c	19 Jul 2006 01:51:47 -0000	1.29
+++ xml_widgets.c	30 Jul 2006 13:04:40 -0000	1.30
@@ -396,11 +396,26 @@
     }
     return NULL;
 #else
-    button = check_stock (image)
-	     ? gtk_button_new_from_stock (image)
-	     : xml_parser_get_bool (node, "mnemonic")
+    if (check_stock (image))
+      button = gtk_button_new_from_stock (image);
+    else if (alt)
+      button = xml_parser_get_bool (node, "mnemonic")
 	       ? gtk_button_new_with_mnemonic (TRANSLATE (alt))
 	       : gtk_button_new_with_label (TRANSLATE (alt));
+    else
+    {
+      button = gtk_button_new ();
+      if (image)
+	g_object_set (G_OBJECT (button), "image",
+		gtk_image_new_from_icon_name (image, GTK_ICON_SIZE_BUTTON),
+		NULL);
+      else
+	g_object_set (G_OBJECT (button), "image",
+		gtk_image_new_from_stock (GTK_STOCK_MISSING_IMAGE,
+					  GTK_ICON_SIZE_BUTTON),
+		NULL);
+    }
+
     goto created;
 #endif
   }
@@ -449,6 +464,10 @@
       g_object_set (G_OBJECT (button),
 	"label", TRANSLATE (alt),
 	NULL);
+    else if (!label && image)
+      g_object_set (G_OBJECT (button),
+	"image", gtk_image_new_from_icon_name (image, GTK_ICON_SIZE_BUTTON),
+	NULL);
     else if (!label)
       g_object_set (G_OBJECT (button),
 	"image", gtk_image_new_from_stock (GTK_STOCK_MISSING_IMAGE,
@@ -720,9 +739,11 @@
   const char *item = xml_parser_get_property (node, "stock");
   if (item && check_stock (item))
     return gtk_image_new_from_stock (item, lookup_image_size (node));
-  item = xml_parser_get_property (node, "alt");
+  const char *alt = xml_parser_get_property (node, "alt");
+  if (alt)
+    return gtk_label_new (TRANSLATE (alt));
   if (item)
-    return gtk_label_new (TRANSLATE (item));
+    return gtk_image_new_from_icon_name (item, lookup_image_size (node));
   return gtk_image_new_from_stock (GTK_STOCK_MISSING_IMAGE,
 				   lookup_image_size (node));
 #endif


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Xine-cvslog mailing list
Xine-cvslog@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xine-cvslog
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic