Compare commits

...

No commits in common. "gh-pages" and "master" have entirely different histories.

31 changed files with 402 additions and 80 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
*~i
*.xpi

7
README Normal file
View file

@ -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

7
chrome.manifest Normal file
View file

@ -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

26
chrome/content/about.xul Normal file
View file

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<!DOCTYPE dialog SYSTEM "chrome://leo_search/locale/about.dtd">
<dialog title="&about; Leo Search"
orient="vertical"
autostretch="always"
onload="sizeToContent()"
buttons="accept"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<groupbox align="center" orient="horizontal">
<vbox>
<text value="Leo Search" style="font-weight: bold; font-size: x-large;"/>
<text value="&version; 1.4.0"/>
<separator class="thin"/>
<text value="&createdBy;" style="font-weight: bold;"/>
<text value="Johannes Findeisen"/>
<separator class="thin"/>
<text value="&homepage;" style="font-weight: bold;" />
<text value="http://hanez.org/leo-search.html" />
<separator class="thin"/>
</vbox>
<spring flex="1"/>
<image src="chrome://leo_search/skin/leo_searchb.png"/>
</groupbox>
</dialog>

View file

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="chrome://leo_search/skin/overlay.css" type="text/css"?>
<!DOCTYPE overlay SYSTEM "chrome://leo_search/locale/overlay.dtd">
<overlay id="leo_search-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script src="overlay.js"/>
<stringbundleset id="stringbundleset">
<stringbundle id="leo_search-strings" src="chrome://leo_search/locale/overlay.properties"/>
</stringbundleset>
<popup id="contentAreaContextMenu">
<menuitem id="context-leo_search-en-de"
label="&leo_searchContext.label-en-de;"
insertafter="context-stop"
image="chrome://leo_search/skin/en.png"
oncommand="leo_search.onSearchCommand(event, 'en', 'de')"/>
<menuitem id="context-leo_search-es-de"
label="&leo_searchContext.label-es-de;"
insertafter="context-stop"
image="chrome://leo_search/skin/es.png"
oncommand="leo_search.onSearchCommand(event, 'es', 'de')"/>
<menuitem id="context-leo_search-fr-de"
label="&leo_searchContext.label-fr-de;"
insertafter="context-stop"
image="chrome://leo_search/skin/fr.png"
oncommand="leo_search.onSearchCommand(event, 'fr', 'de')"/>
<menuitem id="context-leo_search-ch-de"
label="&leo_searchContext.label-ch-de;"
insertafter="context-stop"
image="chrome://leo_search/skin/ch.png"
oncommand="leo_search.onSearchCommand(event, 'ch', 'de')"/>
<menuitem id="context-leo_search-it-de"
label="&leo_searchContext.label-it-de;"
insertafter="context-stop"
image="chrome://leo_search/skin/it.png"
oncommand="leo_search.onSearchCommand(event, 'it', 'de')"/>
<menuitem id="context-leo_search-ru-de"
label="&leo_searchContext.label-ru-de;"
insertafter="context-stop"
image="chrome://leo_search/skin/ru.png"
oncommand="leo_search.onSearchCommand(event, 'ru', 'de')"/>
<menuitem id="context-leo_search-pl-de"
label="&leo_searchContext.label-pl-de;"
insertafter="context-stop"
image="chrome://leo_search/skin/pl.png"
oncommand="leo_search.onSearchCommand(event, 'pl', 'de')"/>
<menuitem id="context-leo_search-pt-de"
label="&leo_searchContext.label-pt-de;"
insertafter="context-stop"
image="chrome://leo_search/skin/pt.png"
oncommand="leo_search.onSearchCommand(event, 'pt', 'de')"/>
</popup>
</overlay>

View file

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<!DOCTYPE prefwindow SYSTEM "chrome://leo_search/locale/options.dtd">
<prefwindow id="leo_search-preferences"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="&prefwindow.title;">
<prefpane id="pane1" label="&pane1.title;">
<preferences>
<preference id="bool_ende" name="extensions.leo_search.boolende" type="bool"/>
<preference id="bool_esde" name="extensions.leo_search.boolesde" type="bool"/>
<preference id="bool_frde" name="extensions.leo_search.boolfrde" type="bool"/>
<preference id="bool_chde" name="extensions.leo_search.boolchde" type="bool"/>
<preference id="bool_itde" name="extensions.leo_search.boolitde" type="bool"/>
<preference id="bool_rude" name="extensions.leo_search.boolrude" type="bool"/>
<preference id="bool_plde" name="extensions.leo_search.boolplde" type="bool"/>
<preference id="bool_ptde" name="extensions.leo_search.boolptde" type="bool"/>
</preferences>
<text value="&selection;"/>
<groupbox align="center" orient="horizontal">
<vbox>
<hbox>
<checkbox id="checkbool_ende" preference="bool_ende" label="&checkboolende.label;"/>
</hbox>
<hbox>
<checkbox id="checkbool_esde" preference="bool_esde" label="&checkboolesde.label;"/>
</hbox>
<hbox>
<checkbox id="checkbool_frde" preference="bool_frde" label="&checkboolfrde.label;"/>
</hbox>
<hbox>
<checkbox id="checkbool_plde" preference="bool_plde" label="&checkboolplde.label;"/>
</hbox>
</vbox>
<vbox>
<hbox>
<checkbox id="checkbool_chde" preference="bool_chde" label="&checkboolchde.label;"/>
</hbox>
<hbox>
<checkbox id="checkbool_itde" preference="bool_itde" label="&checkboolitde.label;"/>
</hbox>
<hbox>
<checkbox id="checkbool_rude" preference="bool_rude" label="&checkboolrude.label;"/>
</hbox>
<hbox>
<checkbox id="checkbool_ptde" preference="bool_ptde" label="&checkboolptde.label;"/>
</hbox>
</vbox>
</groupbox>
</prefpane>
</prefwindow>

82
chrome/content/overlay.js Normal file
View file

@ -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);

View file

@ -0,0 +1,4 @@
<!ENTITY about "Über">
<!ENTITY version "Version:">
<!ENTITY createdBy "Autor:">
<!ENTITY homepage "Home Page:">

View file

@ -0,0 +1,12 @@
<!ENTITY prefwindow.title "Leo Search Einstellungen">
<!ENTITY pane1.title "Leo Search Einstellungen">
<!ENTITY selection "Sprach-Auswahl:">
<!ENTITY checkboolende.label "Englisch - Deutsch">
<!ENTITY checkboolesde.label "Spanisch - Deutsch">
<!ENTITY checkboolfrde.label "Französich - Deutsch">
<!ENTITY checkboolchde.label "Chinesisch - Deutsch">
<!ENTITY checkboolitde.label "Italienisch - Deutsch">
<!ENTITY checkboolrude.label "Russisch - Deutsch">
<!ENTITY checkboolplde.label "Polnisch - Deutsch">
<!ENTITY checkboolptde.label "Portugiesich - Deutsch">

View file

@ -0,0 +1,9 @@
<!ENTITY leo_search.label "Übersetzen bei Leo.org">
<!ENTITY leo_searchContext.label-en-de "Übersetzen bei Leo.org (en)">
<!ENTITY leo_searchContext.label-es-de "Übersetzen bei Leo.org (es)">
<!ENTITY leo_searchContext.label-fr-de "Übersetzen bei Leo.org (fr)">
<!ENTITY leo_searchContext.label-ch-de "Übersetzen bei Leo.org (ch)">
<!ENTITY leo_searchContext.label-it-de "Übersetzen bei Leo.org (it)">
<!ENTITY leo_searchContext.label-ru-de "Übersetzen bei Leo.org (ru)">
<!ENTITY leo_searchContext.label-pl-de "Übersetzen bei Leo.org (pl)">
<!ENTITY leo_searchContext.label-pt-de "Übersetzen bei Leo.org (pt)">

View file

@ -0,0 +1 @@
extensions.ec8030f7-c20a-464f-9b0e-13a3a9e97384.description=description

View file

@ -0,0 +1,4 @@
<!ENTITY about "About">
<!ENTITY version "Version:">
<!ENTITY createdBy "Created By:">
<!ENTITY homepage "Home Page:">

View file

@ -0,0 +1,12 @@
<!ENTITY prefwindow.title "Leo Search preferences">
<!ENTITY pane1.title "Leo Search preferences">
<!ENTITY selection "Language selection:">
<!ENTITY checkboolende.label "English - German">
<!ENTITY checkboolesde.label "Spanish - German">
<!ENTITY checkboolfrde.label "French - German">
<!ENTITY checkboolchde.label "Chinese - German">
<!ENTITY checkboolitde.label "Italian - German">
<!ENTITY checkboolrude.label "Russian - German">
<!ENTITY checkboolplde.label "Polish - German">
<!ENTITY checkboolptde.label "Portuguese - German">

View file

@ -0,0 +1,10 @@
<!ENTITY leo_search.label "Translate at Leo.org">
<!ENTITY leo_searchContext.label-en-de "Translate at Leo.org (en)">
<!ENTITY leo_searchContext.label-es-de "Translate at Leo.org (es)">
<!ENTITY leo_searchContext.label-fr-de "Translate at Leo.org (fr)">
<!ENTITY leo_searchContext.label-ch-de "Translate at Leo.org (ch)">
<!ENTITY leo_searchContext.label-it-de "Translate at Leo.org (it)">
<!ENTITY leo_searchContext.label-ru-de "Translate at Leo.org (ru)">
<!ENTITY leo_searchContext.label-pl-de "Translate at Leo.org (pl)">
<!ENTITY leo_searchContext.label-pt-de "Translate at Leo.org (pt)">

View file

@ -0,0 +1 @@
extensions.ec8030f7-c20a-464f-9b0e-13a3a9e97384.description=description

BIN
chrome/skin/ch.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 833 B

17
chrome/skin/contents.rdf Normal file
View file

@ -0,0 +1,17 @@
<?xml version="1.0"?>
<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:chrome="http://www.mozilla.org/rdf/chrome#">
<RDF:Seq about="urn:mozilla:skin:root">
<RDF:li resource="urn:mozilla:skin:classic/1.0" />
</RDF:Seq>
<RDF:Description about="urn:mozilla:skin:classic/1.0">
<chrome:packages>
<RDF:Seq about="urn:mozilla:skin:classic/1.0:packages">
<RDF:li resource="urn:mozilla:skin:classic/1.0:leo_search" />
</RDF:Seq>
</chrome:packages>
</RDF:Description>
</RDF:RDF>

BIN
chrome/skin/en.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 467 B

BIN
chrome/skin/es.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 385 B

BIN
chrome/skin/fr.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 B

BIN
chrome/skin/it.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 778 B

BIN
chrome/skin/leo_search.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 B

BIN
chrome/skin/leo_searchb.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 482 B

1
chrome/skin/overlay.css Normal file
View file

@ -0,0 +1 @@

BIN
chrome/skin/pl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 697 B

BIN
chrome/skin/pt.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 726 B

BIN
chrome/skin/ru.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 651 B

View file

@ -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");

View file

@ -1,80 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>hanez/leo-search @ GitHub</title>
<style type="text/css">
body {
margin-top: 1.0em;
background-color: #f1aeaf;
font-family: "Helvetica,Arial,FreeSans";
color: #000000;
}
#container {
margin: 0 auto;
width: 700px;
}
h1 { font-size: 3.8em; color: #0e5150; margin-bottom: 3px; }
h1 .small { font-size: 0.4em; }
h1 a { text-decoration: none }
h2 { font-size: 1.5em; color: #0e5150; }
h3 { text-align: center; color: #0e5150; }
a { color: #0e5150; }
.description { font-size: 1.2em; margin-bottom: 30px; margin-top: 30px; font-style: italic;}
.download { float: right; }
pre { background: #000; color: #fff; padding: 15px;}
hr { border: 0; width: 80%; border-bottom: 1px solid #aaa}
.footer { text-align:center; padding-top:30px; font-style: italic; }
</style>
</head>
<body>
<a href="http://github.com/hanez/leo-search"><img style="position: absolute; top: 0; right: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub" /></a>
<div id="container">
<div class="download">
<a href="http://github.com/hanez/leo-search/zipball/master">
<img border="0" width="90" src="http://github.com/images/modules/download/zip.png"></a>
<a href="http://github.com/hanez/leo-search/tarball/master">
<img border="0" width="90" src="http://github.com/images/modules/download/tar.png"></a>
</div>
<h1><a href="http://github.com/hanez/leo-search">leo-search</a>
<span class="small">by <a href="http://github.com/hanez">hanez</a></span></h1>
<div class="description">
Leo Search Addon for Firefox
</div>
<h2>Authors</h2>
<p>Johannes Findeisen (you@hanez.org) <br/> <br/> </p>
<h2>Contact</h2>
<p>hanez (you@hanez.org) <br/> </p>
<h2>Download</h2>
<p>
You can download this project in either
<a href="http://github.com/hanez/leo-search/zipball/master">zip</a> or
<a href="http://github.com/hanez/leo-search/tarball/master">tar</a> formats.
</p>
<p>You can also clone the project with <a href="http://git-scm.com">Git</a>
by running:
<pre>$ git clone git://github.com/hanez/leo-search</pre>
</p>
<div class="footer">
get the source code on GitHub : <a href="http://github.com/hanez/leo-search">hanez/leo-search</a>
</div>
</div>
</body>
</html>

35
install.rdf Normal file
View file

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
<em:id>{c666c018-6409-4479-afa3-68e4129e7eff}</em:id>
<em:type>2</em:type><!-- Extension -->
<em:name>Leo Search</em:name>
<em:version>1.4.0</em:version>
<em:creator>Johannes Findeisen</em:creator>
<em:homepageURL>http://hanez.org/leo-search.html</em:homepageURL>
<em:localized>
<Description>
<em:locale>en-US</em:locale>
<em:name>LEO Search</em:name>
<em:description>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.</em:description>
</Description>
</em:localized>
<em:localized>
<Description>
<em:locale>de-DE</em:locale>
<em:name>LEO Suche</em:name>
<em:description>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".</em:description>
</Description>
</em:localized>
<em:aboutURL>chrome://leo_search/content/about.xul</em:aboutURL>
<em:iconURL>chrome://leo_search/skin/leo_search.png</em:iconURL>
<em:optionsURL>chrome://leo_search/content/options.xul</em:optionsURL>
<em:targetApplication>
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id><!-- Firefox -->
<em:minVersion>3.5</em:minVersion>
<em:maxVersion>39.*</em:maxVersion>
</Description>
</em:targetApplication>
</Description>
</RDF>

60
mkxpi Executable file
View file

@ -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 <project>.jar file here.
# /chrome/content/ - project content files
# /chrome/locale/ - project locale files
# /chrome/skin/ - project skin files
usage()
{
echo "Usage: mkxpi <Project_Name> <Version>"
}
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