Show an icon in the menu bar to go to the preferences

Instead of having a link at the and of the page.

The icons are taken from the Tango Icon Library [1].

[1] http://tango.freedesktop.org/Tango_Icon_Library

Change-Id: Id6c245f9b1347af956d0f8270a21ddbd1d1f46f8
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/client/ImagarePreferenceScreen.java b/src/main/java/com/googlesource/gerrit/plugins/imagare/client/ImagarePreferenceScreen.java
index a696c59..9d63ecd 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/imagare/client/ImagarePreferenceScreen.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/client/ImagarePreferenceScreen.java
@@ -17,7 +17,9 @@
 import com.google.gerrit.plugin.client.Plugin;
 import com.google.gerrit.plugin.client.rpc.RestApi;
 import com.google.gerrit.plugin.client.screen.Screen;
-import com.google.gwt.user.client.ui.InlineHyperlink;
+import com.google.gwt.user.client.ui.Anchor;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.ImageResourceRenderer;
 
 public class ImagarePreferenceScreen extends ImagareConfigScreen {
 
@@ -36,11 +38,15 @@
 
   @Override
   protected void display(ConfigInfo info) {
-    super.display(info);
+    HorizontalPanel p = new HorizontalPanel();
+    p.setStyleName("imagare-menu-panel");
+    Anchor prefsAnchor = new Anchor(new ImageResourceRenderer().render(
+        ImagarePlugin.RESOURCES.image()),
+        "#/x/" + Plugin.get().getPluginName() + "/upload");
+    prefsAnchor.setTitle("Upload Image");
+    p.add(prefsAnchor);
+    add(p);
 
-    InlineHyperlink uploadLink =
-        new InlineHyperlink("Upload Image", "/x/"
-            + Plugin.get().getPluginName() + "/upload");
-    add(uploadLink);
+    super.display(info);
   }
 }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/client/ImageUploadScreen.java b/src/main/java/com/googlesource/gerrit/plugins/imagare/client/ImageUploadScreen.java
index 72e8a12..f7fe518 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/imagare/client/ImageUploadScreen.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/client/ImageUploadScreen.java
@@ -20,8 +20,9 @@
 import com.google.gwt.http.client.URL;
 import com.google.gwt.user.client.Window;
 import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.google.gwt.user.client.ui.Anchor;
 import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.InlineHyperlink;
+import com.google.gwt.user.client.ui.ImageResourceRenderer;
 import com.google.gwt.user.client.ui.Label;
 import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwt.user.client.ui.VerticalPanel;
@@ -51,6 +52,15 @@
     setStyleName("imagare-image-upload-screen");
 
     HorizontalPanel p = new HorizontalPanel();
+    p.setStyleName("imagare-menu-panel");
+    Anchor prefsAnchor = new Anchor(new ImageResourceRenderer().render(
+        ImagarePlugin.RESOURCES.preferences()),
+        "#/x/" + Plugin.get().getPluginName() + "/preferences");
+    prefsAnchor.setTitle("Edit Preferences");
+    p.add(prefsAnchor);
+    add(p);
+
+    p = new HorizontalPanel();
     p.setStyleName("imagare-label-panel");
     p.add(new Label("Project:"));
     projectBox = new TextBox();
@@ -84,11 +94,6 @@
             // never invoked
           }
         });
-
-    InlineHyperlink preferenceLink =
-        new InlineHyperlink("Edit Preferences", "/x/"
-            + Plugin.get().getPluginName() + "/preferences");
-    add(preferenceLink);
   }
 
   private static String getParameter(String name) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/client/Resources.java b/src/main/java/com/googlesource/gerrit/plugins/imagare/client/Resources.java
index 1a627db..4b202d8 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/imagare/client/Resources.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/client/Resources.java
@@ -19,9 +19,15 @@
 
 public interface Resources extends ClientBundle {
 
+  @Source("delete.png")
+  public ImageResource delete();
+
+  @Source("image.png")
+  public ImageResource image();
+
   @Source("info.png")
   public ImageResource info();
 
-  @Source("delete.png")
-  public ImageResource delete();
+  @Source("preferences.png")
+  public ImageResource preferences();
 }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/client/image.png b/src/main/java/com/googlesource/gerrit/plugins/imagare/client/image.png
new file mode 100644
index 0000000..68da502
--- /dev/null
+++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/client/image.png
Binary files differ
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/client/preferences.png b/src/main/java/com/googlesource/gerrit/plugins/imagare/client/preferences.png
new file mode 100644
index 0000000..d90ab66
--- /dev/null
+++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/client/preferences.png
Binary files differ
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/public/imagare.css b/src/main/java/com/googlesource/gerrit/plugins/imagare/public/imagare.css
index 64ac11a..86d52d8 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/imagare/public/imagare.css
+++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/public/imagare.css
@@ -20,6 +20,19 @@
   vertical-align: middle !important;
 }
 
+.imagare-menu-panel {
+  width: 350px;
+  background-color: #F6F6F6;
+  margin-bottom: 15px;
+}
+
+.imagare-menu-panel img {
+  float: right;
+  margin-top: 1px;
+  margin-left: 3px;
+  margin-right: 1px;
+}
+
 .imagare-image-upload-panel {
   width: 350px;
   border: 1px solid #B3B2B2;