Bug 520405 - [Glance] Dark theme is not applied to search panel

Change-Id: Ied40247b8c571cc48b4b08f4577ff58950785a48
diff --git a/bundles/org.eclipse.ui.glance/src/org/eclipse/ui/glance/internal/panels/PopupSearchDialog.java b/bundles/org.eclipse.ui.glance/src/org/eclipse/ui/glance/internal/panels/PopupSearchDialog.java
index bed63da..f51cc9b 100644
--- a/bundles/org.eclipse.ui.glance/src/org/eclipse/ui/glance/internal/panels/PopupSearchDialog.java
+++ b/bundles/org.eclipse.ui.glance/src/org/eclipse/ui/glance/internal/panels/PopupSearchDialog.java
@@ -24,7 +24,6 @@
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Shell;
-
 import org.eclipse.ui.glance.panels.SearchPanel;
 import org.eclipse.ui.glance.sources.Match;
 import org.eclipse.ui.glance.utils.UIUtils;
@@ -207,8 +206,12 @@
 			return list;
 		}
 
+		private Color initialBackground;
+
 		public void setBackground(boolean found) {
-			Color color = found ? getBackground() : BAD_COLOR;
+			if (initialBackground == null)
+				initialBackground = getBackgroundColor();
+			Color color = found ? initialBackground : BAD_COLOR;
 			applyBackgroundColor(color);
 		}
 
diff --git a/bundles/org.eclipse.ui.glance/src/org/eclipse/ui/glance/internal/panels/SearchDialog.java b/bundles/org.eclipse.ui.glance/src/org/eclipse/ui/glance/internal/panels/SearchDialog.java
index 87613db..9ddfc03 100644
--- a/bundles/org.eclipse.ui.glance/src/org/eclipse/ui/glance/internal/panels/SearchDialog.java
+++ b/bundles/org.eclipse.ui.glance/src/org/eclipse/ui/glance/internal/panels/SearchDialog.java
@@ -52,7 +52,6 @@
 		separator = createHorizontalSeparator(composite);
 		createInfoTextArea(composite);
 
-		applyColors(composite);
 		applyFonts(composite);
 		return composite;
 	}
@@ -87,11 +86,6 @@
 		info.setText(text);
 	}
 
-	protected void applyColors(final Composite composite) {
-		applyForegroundColor(getForeground(), composite);
-		applyBackgroundColor(getBackground(), composite);
-	}
-
 	protected void applyFonts(final Composite composite) {
 		Dialog.applyDialogFont(composite);
 
@@ -163,6 +157,10 @@
 		return result;
 	}
 
+	protected Color getBackgroundColor() {
+		return titleArea.getBackground();
+	}
+
 	protected void applyBackgroundColor(final Color color) {
 		applyBackgroundColor(color, titleArea);
 	}
diff --git a/bundles/org.eclipse.ui.glance/src/org/eclipse/ui/glance/panels/SearchPanel.java b/bundles/org.eclipse.ui.glance/src/org/eclipse/ui/glance/panels/SearchPanel.java
index 4569b4d..463e8af 100644
--- a/bundles/org.eclipse.ui.glance/src/org/eclipse/ui/glance/panels/SearchPanel.java
+++ b/bundles/org.eclipse.ui.glance/src/org/eclipse/ui/glance/panels/SearchPanel.java
@@ -658,11 +658,12 @@
 	}
 
 	protected void setBackground(final boolean found) {
-		title.setBackground(found ? GOOD_COLOR : BAD_COLOR);
+		if (initialBackground == null)
+			initialBackground = title.getBackground();
+		title.setBackground(found ? initialBackground : BAD_COLOR);
 	}
 
-	protected static final Color GOOD_COLOR = Display.getDefault()
-			.getSystemColor(SWT.COLOR_WHITE);
+	protected Color initialBackground;
 	protected static final Color BAD_COLOR = new Color(Display.getDefault(),
 			255, 102, 102);