new scheme for different platforms

This commit is contained in:
Mario Colque 2014-05-27 17:57:44 -03:00
commit 82cd5a8ebc
12 changed files with 253 additions and 104 deletions

13
firefox/README.md Normal file
View file

@ -0,0 +1,13 @@
System Requirements
* Download [Add-on SDK](https://addons.mozilla.org/en-US/developers/builder)
* Install it. [Mozilla Docs](https://developer.mozilla.org/en-US/Add-ons/SDK/Tutorials/Installation)
Run
```
$ sh firefox/build.sh
```
- Copy the content of firefox/firefox-addon (lib, data, package.json) to your development path.
- Compile the XPI file [Mozilla Docs](https://developer.mozilla.org/en-US/Add-ons/SDK/Tutorials/Getting_started)

51
firefox/build.sh Normal file
View file

@ -0,0 +1,51 @@
#! /bin/bash
# Description: This script compiles and copy the needed files to later package the application for Firefox
OpenColor="\033["
Red="1;31m"
Yellow="1;33m"
Green="1;32m"
CloseColor="\033[0m"
# Check function OK
checkOK() {
if [ $? != 0 ]; then
echo "${OpenColor}${Red}* ERROR. Exiting...${CloseColor}"
exit 1
fi
}
# Configs
BUILDDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
APPDIR="$BUILDDIR/firefox-addon"
ZIPFILE="copay-firefox-addon.zip"
VERSION=`git describe --tags --abbrev=0 | cut -c 2-`
# Move to the build directory
cd $BUILDDIR
# Create/Clean temp dir
echo "${OpenColor}${Green}* Checking temp dir...${CloseColor}"
if [ -d $APPDIR ]; then
rm -rf $APPDIR
fi
mkdir -p "$APPDIR/data"
# Re-compile copayBundle.js
echo "${OpenColor}${Green}* Generating copay bundle...${CloseColor}"
grunt --target=dev shell
checkOK
# Copy all chrome-extension files
echo "${OpenColor}${Green}* Copying all firefox-addon files...${CloseColor}"
sed "s/APP_VERSION/$VERSION/g" package.json > $APPDIR/package.json
checkOK
cd $BUILDDIR/..
cp -af {css,font,img,js,lib,sound,config.js,version.js,index.html,./popup.html} "$APPDIR/data"
cp -af "$BUILDDIR/lib" $APPDIR
checkOK
echo "${OpenColor}${Yellow}\nAwesome! We have a brand new Firefox Addon, enjoy it!${CloseColor}"

43
firefox/lib/main.js Normal file
View file

@ -0,0 +1,43 @@
var { ToggleButton } = require('sdk/ui/button/toggle');
var panels = require('sdk/panel');
var self = require('sdk/self');
var panelScript = "window.addEventListener('click', function(event) {" +
" var t = event.target;" +
" if (t.nodeName == 'A')" +
" self.port.emit('click-link');" +
"}, false);"
var button = ToggleButton({
id: 'copay-addon',
label: 'Copay',
icon: {
'16': './img/icons/icon-16.png',
'32': './img/icons/icon-32.png',
'64': './img/icons/icon-64.png'
},
onChange: handleChange
});
var panel = panels.Panel({
contentURL: self.data.url('popup.html'),
contentScript: panelScript,
onHide: handleHide,
height: 150
});
function handleChange(state) {
if (state.checked) {
panel.show({
position: button
});
}
}
function handleHide() {
button.state('window', {checked: false});
}
panel.port.on('click-link', function(url) {
panel.hide();
});

10
firefox/package.json Normal file
View file

@ -0,0 +1,10 @@
{
"name": "copay-addon",
"title": "Copay",
"id": "jid1-shqjFWBfQ0pYhQ",
"description": "A multisignature Bitcoin wallet",
"author": "",
"license": "MIT",
"version": "APP_VERSION"
}