diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..f323bdc
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+*~i
+*.xpi
diff --git a/README b/README
new file mode 100644
index 0000000..06f45fe
--- /dev/null
+++ b/README
@@ -0,0 +1,7 @@
+This is the source repository of the Firefox Addon "Leo Search" found at:
+
+https://addons.mozilla.org/en-US/firefox/addon/984/
+
+More information will follow next... ;)
+
+hanez
diff --git a/chrome.manifest b/chrome.manifest
new file mode 100644
index 0000000..249667a
--- /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..8ca3754
--- /dev/null
+++ b/chrome/content/about.xul
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/chrome/content/ff-overlay.xul b/chrome/content/ff-overlay.xul
new file mode 100644
index 0000000..613e4a2
--- /dev/null
+++ b/chrome/content/ff-overlay.xul
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/chrome/content/options.xul b/chrome/content/options.xul
new file mode 100644
index 0000000..1b0b2ef
--- /dev/null
+++ b/chrome/content/options.xul
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/chrome/content/overlay.js b/chrome/content/overlay.js
new file mode 100644
index 0000000..ce30279
--- /dev/null
+++ b/chrome/content/overlay.js
@@ -0,0 +1,82 @@
+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 url = "http://dict.leo.org/" + lang + "de?lang=" + sitelang + "&search=" + query;
+ if(e.ctrlKey == true && e.shiftKey == true) {
+ window = window.open(decodeURIComponent(url), "leo_search-resultwindow");
+ window.focus();
+ } else if(e.ctrlKey == true && e.shiftKey == false) {
+ this.newTab(url, true);
+ } else {
+ this.newTab(url, false);
+ }
+ }
+ },
+ onFirefoxLoad: function(event) {
+ document.getElementById("contentAreaContextMenu")
+ .addEventListener("popupshowing",
+ function (e){ leo_search.showFirefoxContextMenu(e); }, false);
+ },
+ 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;
+ }
+ if(!prefs.getBoolPref("boolplde") || !gContextMenu.isTextSelected) {
+ document.getElementById("context-leo_search-pl-de").hidden = true;
+ } else {
+ document.getElementById("context-leo_search-pl-de").hidden = false;
+ }
+ if(!prefs.getBoolPref("boolptde") || !gContextMenu.isTextSelected) {
+ document.getElementById("context-leo_search-pt-de").hidden = true;
+ } else {
+ document.getElementById("context-leo_search-pt-de").hidden = false;
+ }
+ },
+ newTab: function(url, foregroundTab) {
+ var browser = top.document.getElementById("content");
+ var newtab = browser.addTab(decodeURIComponent(url), {relatedToCurrent: true});
+ if (foregroundTab) {
+ browser.selectedTab = newtab;
+ }
+ }
+};
+
+window.addEventListener("load", leo_search.onFirefoxLoad, false);
+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..9665075
--- /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..13adf78
--- /dev/null
+++ b/chrome/locale/de-DE/options.dtd
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/chrome/locale/de-DE/overlay.dtd b/chrome/locale/de-DE/overlay.dtd
new file mode 100644
index 0000000..e512c63
--- /dev/null
+++ b/chrome/locale/de-DE/overlay.dtd
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
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..ddd4023
--- /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..25e2880
--- /dev/null
+++ b/chrome/locale/en-US/options.dtd
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/chrome/locale/en-US/overlay.dtd b/chrome/locale/en-US/overlay.dtd
new file mode 100644
index 0000000..e818e0b
--- /dev/null
+++ b/chrome/locale/en-US/overlay.dtd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
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/pl.png b/chrome/skin/pl.png
new file mode 100644
index 0000000..70ff338
Binary files /dev/null and b/chrome/skin/pl.png differ
diff --git a/chrome/skin/pt.png b/chrome/skin/pt.png
new file mode 100644
index 0000000..711ea65
Binary files /dev/null and b/chrome/skin/pt.png differ
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..90fa43e
--- /dev/null
+++ b/defaults/preferences/prefs.js
@@ -0,0 +1,11 @@
+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);
+pref("extensions.leo_search.boolplde", false);
+pref("extensions.leo_search.boolptde", 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/index.html b/index.html
deleted file mode 100644
index f876e23..0000000
--- a/index.html
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
-
- hanez/leo-search @ GitHub
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Leo Search Addon for Firefox
-
-
-
Authors
-
Johannes Findeisen (you@hanez.org)
-
Contact
-
hanez (you@hanez.org)
-
-
-
Download
-
- You can download this project in either
- zip or
- tar formats.
-
-
You can also clone the project with Git
- by running:
-
$ git clone git://github.com/hanez/leo-search
-
-
-
-
-
-
-
-
-
diff --git a/install.rdf b/install.rdf
new file mode 100644
index 0000000..7990323
--- /dev/null
+++ b/install.rdf
@@ -0,0 +1,35 @@
+
+
+
+ {c666c018-6409-4479-afa3-68e4129e7eff}
+ 2
+ Leo Search
+ 1.4.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 background tab or foreground tab when holding "Ctrl" pressed.
+
+
+
+
+ de-DE
+ LEO Suche
+ Sucht nach markierten Wörtern in der Datenbank von Leo.org und öffnet das Ergebnis in einem neuen Hintergrund Tab oder im Vordergrund beim gedrückt halten von "Strg".
+
+
+ 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
+ 39.*
+
+
+
+
diff --git a/mkxpi b/mkxpi
new file mode 100755
index 0000000..7b1e46a
--- /dev/null
+++ b/mkxpi
@@ -0,0 +1,60 @@
+#!/bin/bash
+#
+# A simple script to make xpi files.
+# Version: 0.1
+#
+# Patched by Johannes Findeisen to work more usefull.
+# Website: http://hanez.org
+#
+# It expects a directory structure like this:
+# /install.rdf - Installation RDF
+# /install.js - Installation JavaSript
+# /chrome/ - will make the .jar file here.
+# /chrome/content/ - project content files
+# /chrome/locale/ - project locale files
+# /chrome/skin/ - project skin files
+
+usage()
+{
+ echo "Usage: mkxpi "
+}
+
+path=`pwd`
+
+echo $path;
+
+project=$1
+
+version=$2
+
+if [ "1$project" = "1" ]; then
+ usage
+ exit 1
+fi
+
+if [ "1$version" = "1" ]; then
+ usage
+ exit 1
+fi
+
+#cd $path
+
+#cd chrome
+
+#jar -cfM $project.jar ./content ./skin ./locale
+
+cd $path
+
+#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..."
+
+cd $path
+
+rm -f ./chrome/$project.jar
+
+echo "Done!"
+
+exit 0