Blob Blame History Raw
--- org/gudy/azureus2/ui/swt/ImageRepository.java.orig	2006-04-24 06:11:48.000000000 -0700
+++ org/gudy/azureus2/ui/swt/ImageRepository.java	2006-05-12 09:54:14.000000000 -0700
@@ -32,6 +32,8 @@
 import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.InputStream;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
 import java.lang.reflect.Method;
 import java.util.*;
 
@@ -61,6 +63,25 @@
     loadImage(display, "org/gudy/azureus2/ui/splash/azureus.jpg", "azureus_splash");
   }
 
+  private static org.gnu.gtk.IconTheme iconTheme;
+
+  public static String getThemedIcon (String name, String def)
+  {
+    try
+      {
+	if (iconTheme == null)
+	  iconTheme = org.gnu.gtk.IconTheme.getDefault();
+
+	org.gnu.gtk.IconInfo icon = iconTheme.lookupIcon (name, 24, 
+	    org.gnu.gtk.IconLookupFlags.NO_SVG);
+	return icon != null ? icon.getFilename() : def;
+      }
+    catch (Exception ex)
+      {
+	return def;
+      }
+  }
+
   public static void loadImages(Display display) {
     loadImage(display, "org/gudy/azureus2/ui/icons/a32.png", "azureus32");
     loadImage(display, "org/gudy/azureus2/ui/icons/a64.png", "azureus64");
@@ -105,20 +126,44 @@
     //ToolBar Icons
 
     loadImage(display, "org/gudy/azureus2/ui/icons/toolbar/open.gif", "cb_open");
-    loadImage(display, "org/gudy/azureus2/ui/icons/toolbar/open_no_default.gif", "cb_open_no_default");
+    loadImage(display, 
+	      getThemedIcon ("fileopen", "org/gudy/azureus2/ui/icons/toolbar/open_no_default.gif"), 
+	      "cb_open_no_default");
     loadImage(display, "org/gudy/azureus2/ui/icons/toolbar/open_folder.gif", "cb_open_folder");
     loadImage(display, "org/gudy/azureus2/ui/icons/toolbar/open_url.gif", "cb_open_url");
-    loadImage(display, "org/gudy/azureus2/ui/icons/toolbar/new.gif", "cb_new");
-    loadImage(display, "org/gudy/azureus2/ui/icons/toolbar/up.gif", "cb_up");
-    loadImage(display, "org/gudy/azureus2/ui/icons/toolbar/down.gif", "cb_down");
-    loadImage(display, "org/gudy/azureus2/ui/icons/toolbar/top.gif", "cb_top");
-    loadImage(display, "org/gudy/azureus2/ui/icons/toolbar/bottom.gif", "cb_bottom");
-    loadImage(display, "org/gudy/azureus2/ui/icons/toolbar/run.gif", "cb_run");
-    loadImage(display, "org/gudy/azureus2/ui/icons/toolbar/start.gif", "cb_start");
-    loadImage(display, "org/gudy/azureus2/ui/icons/toolbar/stop.gif", "cb_stop");
-    loadImage(display, "org/gudy/azureus2/ui/icons/toolbar/remove.gif", "cb_remove");
-    loadImage(display, "org/gudy/azureus2/ui/icons/toolbar/host.gif", "cb_host");
-    loadImage(display, "org/gudy/azureus2/ui/icons/toolbar/publish.gif", "cb_publish");
+    loadImage(display, 
+	      getThemedIcon ("filenew", "org/gudy/azureus2/ui/icons/toolbar/new.gif"), 
+	      "cb_new");
+    loadImage(display, 
+	      getThemedIcon ("gtk-go-up", "org/gudy/azureus2/ui/icons/toolbar/up.gif"), 
+	      "cb_up");
+    loadImage(display, 
+	      getThemedIcon ("gtk-go-down", "org/gudy/azureus2/ui/icons/toolbar/down.gif"),
+	      "cb_down");
+    loadImage(display, 
+	      getThemedIcon ("gtk-goto-top", "org/gudy/azureus2/ui/icons/toolbar/top.gif"), 
+	      "cb_top");
+    loadImage(display, 
+	      getThemedIcon ("gtk-goto-bottom", "org/gudy/azureus2/ui/icons/toolbar/bottom.gif"), 
+	      "cb_bottom");
+    loadImage(display, 
+	      getThemedIcon ("exec", "org/gudy/azureus2/ui/icons/toolbar/run.gif"), 
+	      "cb_run");
+    loadImage(display, 
+	      getThemedIcon ("gtk-go-forward", "org/gudy/azureus2/ui/icons/toolbar/start.gif"), 
+	      "cb_start");
+    loadImage(display, 
+	      getThemedIcon ("gtk-stop", "org/gudy/azureus2/ui/icons/toolbar/stop.gif"), 
+	      "cb_stop");
+    loadImage(display, 
+	      getThemedIcon ("edit_remove", "org/gudy/azureus2/ui/icons/toolbar/remove.gif"), 
+	      "cb_remove");
+    loadImage(display, 
+	      getThemedIcon ("gohome", "org/gudy/azureus2/ui/icons/toolbar/host.gif"), 
+	      "cb_host");
+    loadImage(display, 
+	      getThemedIcon ("icon-html", "org/gudy/azureus2/ui/icons/toolbar/publish.gif"), 
+	      "cb_publish");
     loadImage(display, "org/gudy/azureus2/ui/icons/toolbar/sendto.png", "cb_send");
 
     //Status icons
@@ -167,6 +212,16 @@
     Image im = getImage(name,false);
     if(null == im) {
       InputStream is = loader.getResourceAsStream(res);
+      if (is == null)
+	{
+	  try
+	    {
+	      is = new FileInputStream (res);
+	    }
+	  catch (FileNotFoundException fnf)
+	    {
+	    }
+	}
       if(null != is) {
       	try { 
 	        if(alpha == 255) {
@@ -483,4 +538,4 @@
       
       return key;
     }
-}
\ No newline at end of file
+}