diff --git a/chrome.manifest b/chrome.manifest
new file mode 100644
index 0000000..7c2d49c
--- /dev/null
+++ b/chrome.manifest
@@ -0,0 +1,7 @@
+content leo_search chrome/content/
+skin leo_search classic/1.0 chrome/skin/
+locale leo_search en-US chrome/locale/en-US/
+locale leo_search de-DE chrome/locale/de-DE/
+
+overlay chrome://browser/content/browser.xul chrome://leo_search/content/ff-overlay.xul
+
diff --git a/chrome/content/about.xul b/chrome/content/about.xul
new file mode 100644
index 0000000..25f1127
--- /dev/null
+++ b/chrome/content/about.xul
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/chrome/content/ff-overlay.js b/chrome/content/ff-overlay.js
new file mode 100644
index 0000000..8451975
--- /dev/null
+++ b/chrome/content/ff-overlay.js
@@ -0,0 +1,49 @@
+leo_search.onFirefoxLoad = function(event) {
+ document.getElementById("contentAreaContextMenu")
+ .addEventListener("popupshowing",
+ function (e){ leo_search.showFirefoxContextMenu(e); }, false);
+};
+
+leo_search.showFirefoxContextMenu = function(event) {
+ var prefs = Components.classes["@mozilla.org/preferences-service;1"]
+ .getService(Components.interfaces.nsIPrefService);
+ prefs = prefs.getBranch("extensions.leo_search.");
+
+ if(!prefs.getBoolPref("boolende") || !gContextMenu.isTextSelected) {
+ document.getElementById("context-leo_search-en-de").hidden = true;
+ } else {
+ document.getElementById("context-leo_search-en-de").hidden = false;
+ }
+
+ if(!prefs.getBoolPref("boolesde") || !gContextMenu.isTextSelected) {
+ document.getElementById("context-leo_search-es-de").hidden = true;
+ } else {
+ document.getElementById("context-leo_search-es-de").hidden = false;
+ }
+
+ if(!prefs.getBoolPref("boolfrde") || !gContextMenu.isTextSelected) {
+ document.getElementById("context-leo_search-fr-de").hidden = true;
+ } else {
+ document.getElementById("context-leo_search-fr-de").hidden = false;
+ }
+
+ if(!prefs.getBoolPref("boolchde") || !gContextMenu.isTextSelected) {
+ document.getElementById("context-leo_search-ch-de").hidden = true;
+ } else {
+ document.getElementById("context-leo_search-ch-de").hidden = false;
+ }
+
+ if(!prefs.getBoolPref("boolitde") || !gContextMenu.isTextSelected) {
+ document.getElementById("context-leo_search-it-de").hidden = true;
+ } else {
+ document.getElementById("context-leo_search-it-de").hidden = false;
+ }
+
+ if(!prefs.getBoolPref("boolrude") || !gContextMenu.isTextSelected) {
+ document.getElementById("context-leo_search-ru-de").hidden = true;
+ } else {
+ document.getElementById("context-leo_search-ru-de").hidden = false;
+ }
+};
+
+window.addEventListener("load", leo_search.onFirefoxLoad, false);
diff --git a/chrome/content/ff-overlay.xul b/chrome/content/ff-overlay.xul
new file mode 100644
index 0000000..fd2c692
--- /dev/null
+++ b/chrome/content/ff-overlay.xul
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/chrome/content/options.xul b/chrome/content/options.xul
new file mode 100644
index 0000000..923a32a
--- /dev/null
+++ b/chrome/content/options.xul
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/chrome/content/overlay.js b/chrome/content/overlay.js
new file mode 100644
index 0000000..8655f30
--- /dev/null
+++ b/chrome/content/overlay.js
@@ -0,0 +1,16 @@
+var leo_search = {
+ onLoad: function() {
+ this.initialized = true;
+ this.strings = document.getElementById("leo_search-strings");
+ },
+ onSearchCommand: function(e, lang, sitelang) {
+ var query = window._content.window.getSelection();
+ if(query != null)
+ {
+ var myURL = "http://dict.leo.org/" + lang + "de?lang=" + sitelang + "&search=" + query;
+ openNewTabWith(myURL, null, null, true);
+ }
+ }
+};
+
+window.addEventListener("load", leo_search.onLoad, false);
diff --git a/chrome/locale/de-DE/about.dtd b/chrome/locale/de-DE/about.dtd
new file mode 100644
index 0000000..9923bca
--- /dev/null
+++ b/chrome/locale/de-DE/about.dtd
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/chrome/locale/de-DE/options.dtd b/chrome/locale/de-DE/options.dtd
new file mode 100644
index 0000000..cdda7c3
--- /dev/null
+++ b/chrome/locale/de-DE/options.dtd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/chrome/locale/de-DE/overlay.dtd b/chrome/locale/de-DE/overlay.dtd
new file mode 100644
index 0000000..a8c5c10
--- /dev/null
+++ b/chrome/locale/de-DE/overlay.dtd
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/chrome/locale/de-DE/overlay.properties b/chrome/locale/de-DE/overlay.properties
new file mode 100644
index 0000000..9c6bb35
--- /dev/null
+++ b/chrome/locale/de-DE/overlay.properties
@@ -0,0 +1 @@
+extensions.ec8030f7-c20a-464f-9b0e-13a3a9e97384.description=description
diff --git a/chrome/locale/en-US/about.dtd b/chrome/locale/en-US/about.dtd
new file mode 100644
index 0000000..0a359dd
--- /dev/null
+++ b/chrome/locale/en-US/about.dtd
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/chrome/locale/en-US/options.dtd b/chrome/locale/en-US/options.dtd
new file mode 100644
index 0000000..254a51d
--- /dev/null
+++ b/chrome/locale/en-US/options.dtd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/chrome/locale/en-US/overlay.dtd b/chrome/locale/en-US/overlay.dtd
new file mode 100644
index 0000000..f76683f
--- /dev/null
+++ b/chrome/locale/en-US/overlay.dtd
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/chrome/locale/en-US/overlay.properties b/chrome/locale/en-US/overlay.properties
new file mode 100644
index 0000000..9c6bb35
--- /dev/null
+++ b/chrome/locale/en-US/overlay.properties
@@ -0,0 +1 @@
+extensions.ec8030f7-c20a-464f-9b0e-13a3a9e97384.description=description
diff --git a/chrome/skin/ch.png b/chrome/skin/ch.png
new file mode 100644
index 0000000..506b63b
Binary files /dev/null and b/chrome/skin/ch.png differ
diff --git a/chrome/skin/contents.rdf b/chrome/skin/contents.rdf
new file mode 100644
index 0000000..5349c81
--- /dev/null
+++ b/chrome/skin/contents.rdf
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/chrome/skin/en.png b/chrome/skin/en.png
new file mode 100644
index 0000000..eda1e5f
Binary files /dev/null and b/chrome/skin/en.png differ
diff --git a/chrome/skin/es.png b/chrome/skin/es.png
new file mode 100644
index 0000000..eea0f28
Binary files /dev/null and b/chrome/skin/es.png differ
diff --git a/chrome/skin/fr.png b/chrome/skin/fr.png
new file mode 100644
index 0000000..fb5dba8
Binary files /dev/null and b/chrome/skin/fr.png differ
diff --git a/chrome/skin/it.png b/chrome/skin/it.png
new file mode 100644
index 0000000..a290a6a
Binary files /dev/null and b/chrome/skin/it.png differ
diff --git a/chrome/skin/leo_search.png b/chrome/skin/leo_search.png
new file mode 100644
index 0000000..1cf6c2e
Binary files /dev/null and b/chrome/skin/leo_search.png differ
diff --git a/chrome/skin/leo_searchb.png b/chrome/skin/leo_searchb.png
new file mode 100644
index 0000000..bee08ec
Binary files /dev/null and b/chrome/skin/leo_searchb.png differ
diff --git a/chrome/skin/overlay.css b/chrome/skin/overlay.css
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/chrome/skin/overlay.css
@@ -0,0 +1 @@
+
diff --git a/chrome/skin/ru.png b/chrome/skin/ru.png
new file mode 100644
index 0000000..77276fe
Binary files /dev/null and b/chrome/skin/ru.png differ
diff --git a/defaults/preferences/prefs.js b/defaults/preferences/prefs.js
new file mode 100644
index 0000000..9c07c06
--- /dev/null
+++ b/defaults/preferences/prefs.js
@@ -0,0 +1,9 @@
+pref("extensions.leo_search.boolende", true);
+pref("extensions.leo_search.boolesde", false);
+pref("extensions.leo_search.boolfrde", false);
+pref("extensions.leo_search.boolchde", false);
+pref("extensions.leo_search.boolitde", false);
+pref("extensions.leo_search.boolrude", false);
+
+// https://developer.mozilla.org/en/Localizing_extension_descriptions
+pref("extensions.ec8030f7-c20a-464f-9b0e-13a3a9e97384.description", "chrome://leo_search/locale/overlay.properties");
diff --git a/install.rdf b/install.rdf
index bf64dfb..a549455 100644
--- a/install.rdf
+++ b/install.rdf
@@ -1,28 +1,35 @@
-
-
-
- {c666c018-6409-4479-afa3-68e4129e7eff}
- Leo Search
- 0.3.2
- Searches for marked words in the Database at Leo.org and opens the result in a new tab.
- Johannes Findeisen (you@hanez.org)
- http://hanez.org/leo-search.html
- chrome://leo_search/skin/leo_search.png
- chrome://leo_search/content/about.xul
-
-
- content/leo_search/
- skin/classic/leo_search/
-
-
-
-
-
- {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
- 1.0
- 3.5.*
-
-
-
+
+
+
+ {c666c018-6409-4479-afa3-68e4129e7eff}
+ 2
+ Leo Search
+ 1.1.0
+ Johannes Findeisen
+ http://hanez.org/leo-search.html
+
+
+ en-US
+ LEO Search
+ Searches for marked words in the Database at Leo.org and opens the result in a new tab.
+
+
+
+
+ de-DE
+ LEO Suche
+ Sucht nach markierten Wörtern in der Datenbank von Leo.org und öffnet das Ergebnis in einem neuen Tab.
+
+
+ chrome://leo_search/content/about.xul
+ chrome://leo_search/skin/leo_search.png
+ chrome://leo_search/content/options.xul
+
+
+ {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
+ 3.5
+ 8.*
+
+
+
diff --git a/mkxpi b/mkxpi
index 9e28690..7b1e46a 100755
--- a/mkxpi
+++ b/mkxpi
@@ -37,15 +37,17 @@ if [ "1$version" = "1" ]; then
exit 1
fi
-cd $path
+#cd $path
-cd chrome
+#cd chrome
-jar -cfM $project.jar ./content ./skin ./locale
+#jar -cfM $project.jar ./content ./skin ./locale
cd $path
-jar -cfM $project-$version-fx.xpi ./chrome/$project.jar ./install.rdf
+#jar -cfM $project-$version-fx.xpi ./chrome/$project.jar ./install.rdf ./chrome.manifest
+
+jar -cfM $project-$version-fx.xpi ./chrome ./defaults ./install.rdf ./chrome.manifest
echo "Cleaning up..."