XPI für Seamonkey 2.11 - Serverpfad kann ueber Einstellungsdialog geändert werden

This commit is contained in:
Andreas Österreicher
2013-04-02 08:21:09 +00:00
parent 495d42ddb9
commit 944bbefb5e
27 changed files with 312 additions and 0 deletions
@@ -0,0 +1,3 @@
content fhcomplete jar:chrome/fhcomplete.jar!/content/
skin fhcomplete classic/1.0 jar:chrome/fhcomplete.jar!/skin/
overlay chrome://navigator/content/navigator.xul chrome://fhcomplete/content/statusbaroverlay.xul
@@ -0,0 +1,28 @@
<?xml version="1.0"?>
<!DOCTYPE window >
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="appchoose"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="FH Complete Application Chooser"
>
<vbox flex="1" align="center">
<spacer flex="1"/>
<description style="font-weight: bold">Bitte wählen Sie die gewünschte Applikation</description>
<spacer flex="1" />
<button label="FAS" orient="vertical" oncommand="window.parent.LoadApp('fas')" style="width: 300px">
<image src="../skin/fasonline.png" width="64"/>
<description>Fachhochschul Administrationssystem</description>
</button>
<spacer flex="1"/>
<button label="Tempus" orient="vertical" oncommand="window.parent.LoadApp('tempus')" style="width: 300px">
<image src="../skin/tempus.png" width="64"/>
<description>Tempus LV-Planung</description>
</button>
<spacer flex="1"/>
<button label="Planner" orient="vertical" oncommand="window.parent.LoadApp('planner')" style="width: 300px">
<image src="../skin/planner.png" width="64"/>
<description>Planner - Projektverwaltung</description>
</button>
<spacer flex="1" />
</vbox>
</window>
@@ -0,0 +1,19 @@
<?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:package:root">
<RDF:li resource="urn:mozilla:package:fhcomplete" />
</RDF:Seq>
<RDF:Description about="urn:mozilla:package:fhcomplete"
chrome:extension="true"
chrome:name="fhcomplete"
chrome:displayName="FH-Complete"
chrome:author="FH Technikum Wien"
/>
<RDF:Seq about="urn:mozilla:overlays">
<RDF:li resource="chrome://browser/content/browser.xul"/>
</RDF:Seq>
</RDF:RDF>
@@ -0,0 +1,14 @@
<?xml version="1.0"?>
<!DOCTYPE window >
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="fhcomplete"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="FAS"
width="800"
height="600"
persist="screenX screenY width height sizemode"
onload="init(false);LoadApp('fas');"
>
<script type="application/x-javascript" src="fhcomplete.js"/>
<browser id="fhcomplete_browser" type="content-primary" flex="1" src="about:blank"/>
</window>
@@ -0,0 +1,93 @@
var serverURL='';
var tempus_url='';
var fas_url='';
var planner_url='';
var default_app='';
var app_load_delay;
function init(loadapp)
{
// URL aus den Preferences holen
var prefs = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.fhcomplete.");
prefs.QueryInterface(Components.interfaces.nsIPrefBranch2);
serverURL = prefs.getCharPref("url");
fas_url = prefs.getCharPref("fas_url");
tempus_url = prefs.getCharPref("tempus_url");
planner_url = prefs.getCharPref("planner_url");
default_app = prefs.getCharPref("default_app");
app_load_delay = prefs.getCharPref("app_load_delay");
// Remote XUL für diese URL aktivieren
var uri = Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService)
.newURI(serverURL, null, null);
Components.classes["@mozilla.org/permissionmanager;1"]
.getService(Components.interfaces.nsIPermissionManager)
.add(uri, 'allowXULXBL', Components.interfaces.nsIPermissionManager.ALLOW_ACTION);
if(loadapp==undefined)
{
// URL nach kurzem Delay setzten da sonst die Authentifizierung nicht greift
window.setTimeout(function (){
LoadApp(default_app);
}, app_load_delay);
}
}
function OpenApp(app)
{
init(false);
switch(app)
{
case 'fas':
url = 'chrome://fhcomplete/content/fas.xul';
break;
case 'tempus':
url = 'chrome://fhcomplete/content/tempus.xul';
break
case 'planner':
url = 'chrome://fhcomplete/content/planner.xul';
break;
default:
url = 'chrome://fhcomplete/content/appchoose.xul';
break;
}
window.openDialog(url, "_blank",
"chrome,all,dialog=no", null,
"charset=" + window.content.document.characterSet);
/* window.setTimeout(function(){
LoadApp(app);
}, 500);*/
}
function getAppUrl(app)
{
var url = serverURL;
switch(app)
{
case 'fas':
url = url+fas_url;
break;
case 'tempus':
url = url+tempus_url;
break
case 'planner':
url = url+planner_url;
break;
default:
url = 'chrome://fhcomplete/content/appchoose.xul';
break;
}
return url;
}
function LoadApp(app)
{
url = getAppUrl(app);
document.getElementById('fhcomplete_browser').setAttribute('src',url);
}
@@ -0,0 +1,14 @@
<?xml version="1.0"?>
<!DOCTYPE window >
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="fhcomplete"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="FHComplete"
width="800"
height="600"
persist="screenX screenY width height sizemode"
onload="init()"
>
<script type="application/x-javascript" src="fhcomplete.js"/>
<browser id="fhcomplete_browser" type="content-primary" flex="1" src="about:blank"/>
</window>
@@ -0,0 +1,35 @@
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<prefwindow id="fhcomplete-prefs"
title="FH Complete Einstellungen"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<prefpane id="fhcomplete-prefs-pane" label="FHComplete Server" image="../skin/fhcomplete.png">
<preferences>
<preference id="pref_url" name="extensions.fhcomplete.url" type="string"/>
</preferences>
<caption label="FH-Complete Server URL" />
<textbox preference="pref_url" id="url" maxlength="256" size="40"/>
</prefpane>
<prefpane id="fhcomplete-prefs-pane2" label="Erweiterte Einstellungen" image="../skin/settings.png">
<preferences>
<preference id="pref_fas_url" name="extensions.fhcomplete.fas_url" type="string"/>
<preference id="pref_tempus_url" name="extensions.fhcomplete.tempus_url" type="string"/>
<preference id="pref_planner_url" name="extensions.fhcomplete.planner_url" type="string"/>
<preference id="pref_default_app" name="extensions.fhcomplete.default_app" type="string"/>
<preference id="pref_app_load_delay" name="extensions.fhcomplete.app_load_delay" type="string"/>
</preferences>
<caption label="FAS URL" />
<textbox preference="pref_fas_url" id="fas_url" maxlength="256" size="40"/>
<caption label="Tempus URL" />
<textbox preference="pref_tempus_url" id="tempus_url" maxlength="256" size="40"/>
<caption label="Planner URL" />
<textbox preference="pref_planner_url" id="planner_url" maxlength="256" size="40"/>
<caption label="Default App" />
<textbox preference="pref_default_app" id="default_app" maxlength="256" size="40"/>
<caption label="Ladeverzögerung (erhöhen bei Authentifizierungsfehler)" />
<textbox preference="pref_app_load_delay" id="app_load_delay" maxlength="256" size="40"/>
</prefpane>
</prefwindow>
@@ -0,0 +1,14 @@
<?xml version="1.0"?>
<!DOCTYPE window >
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="fhcomplete"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="Planner"
width="800"
height="600"
persist="screenX screenY width height sizemode"
onload="init(false);LoadApp('planner');"
>
<script type="application/x-javascript" src="fhcomplete.js"/>
<browser id="fhcomplete_browser" type="content-primary" flex="1" src="about:blank"/>
</window>
@@ -0,0 +1,17 @@
<?xml version="1.0"?>
<overlay id="fhcomplete-overlay-browsertoolbar"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<!-- Overlay für die Statusleiste mit Startern für die einzelnen Applikationen -->
<script type="application/x-javascript" src="chrome://fhcomplete/content/fhcomplete.js"/>
<statusbar id="status-bar">
<statusbarpanel id="fhcomplete-component-bar">
<toolbarbutton id="fhcomplete-toolbarbutton-fas" oncommand="OpenApp('fas')"
tooltiptext="FAS" image="chrome://fhcomplete/skin/fasonline15.png"/>
<toolbarbutton id="fhcomplete-toolbarbutton-tempus" oncommand="OpenApp('tempus')"
tooltiptext="Tempus" image="chrome://fhcomplete/skin/tempus15.png" insertbefore="fhcomplete-toolbarbutton-fas"/>
<toolbarbutton id="fhcomplete-toolbarbutton-planner" oncommand="OpenApp('planner')"
tooltiptext="Planner" image="chrome://fhcomplete/skin/planner15.png" insertbefore="fhcomplete-toolbarbutton-tempus"/>
</statusbarpanel>
</statusbar>
</overlay>
@@ -0,0 +1,14 @@
<?xml version="1.0"?>
<!DOCTYPE window >
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="fhcomplete"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="Tempus"
width="800"
height="600"
persist="screenX screenY width height sizemode"
onload="init(false);LoadApp('tempus');"
>
<script type="application/x-javascript" src="fhcomplete.js"/>
<browser id="fhcomplete_browser" type="content-primary" flex="1" src="about:blank"/>
</window>
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 734 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 791 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 785 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

@@ -0,0 +1,6 @@
pref("extensions.fhcomplete.url", "http://localhost/");
pref("extensions.fhcomplete.fas_url", "content/fas.xul.php");
pref("extensions.fhcomplete.tempus_url", "content/tempus.xul.php");
pref("extensions.fhcomplete.planner_url", "content/planner.xul.php");
pref("extensions.fhcomplete.default_app", "");
pref("extensions.fhcomplete.app_load_delay","300");
@@ -0,0 +1,48 @@
<?xml version="1.0"?>
<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>fhcomplete@technikum-wien.at</em:id>
<em:name>FH Complete</em:name>
<em:version>2.0</em:version>
<em:type>2</em:type>
<em:description>Freies Administrationssystem fuer Fachhochschulen</em:description>
<em:creator>Fachhochschule Technikum Wien</em:creator>
<em:developer>Christian Paminger</em:developer>
<em:developer>Andreas Oesterreicher</em:developer>
<em:developer>Karl Burkhart</em:developer>
<em:developer>Manfred Kindl</em:developer>
<em:homepageURL>http://fhcomplete.technikum-wien.at/</em:homepageURL>
<em:optionsURL>chrome://fhcomplete/content/options.xul</em:optionsURL>
<!-- Front End Integration Hooks (used by Extension Manager)-->
<em:iconURL>chrome://fhcomplete/skin/fhcomplete.png</em:iconURL>
<em:file>
<Description about="urn:mozilla:extension:file:fhcomplete.jar">
<em:package>content/</em:package>
<em:skin>skin/</em:skin>
</Description>
</em:file>
<!-- Target Application this extension can install into,
with minimum and maximum supported versions. -->
<!-- FireFox -->
<em:targetApplication>
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>3.0.9</em:minVersion>
<em:maxVersion>14</em:maxVersion>
</Description>
</em:targetApplication>
<!-- SeaMonkey -->
<em:targetApplication>
<Description>
<em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id>
<em:minVersion>2.0b1pre</em:minVersion>
<em:maxVersion>2.11</em:maxVersion>
</Description>
</em:targetApplication>
</Description>
</RDF>
+7
View File
@@ -0,0 +1,7 @@
#!/bin/sh
cd chrome
rm fhcomplete.jar
zip -r fhcomplete.jar content skin
cd ..
rm fhcomplete.xpi
zip -r fhcomplete.xpi chrome defaults chrome.manifest install.rdf