Browse Source

initial fork of anoncoin 0.8.56

pull/5/head
orignal 8 years ago
parent
commit
951d14deb2
  1. 37
      share/certs/BitcoinFoundation_Apple_Cert.pem
  2. 37
      share/certs/BitcoinFoundation_Comodo_Cert.pem
  3. 46
      share/certs/PrivateKeyNotes.md
  4. 35
      share/genbuild.sh
  5. BIN
      share/pixmaps/addressbook16.bmp
  6. BIN
      share/pixmaps/addressbook16mask.bmp
  7. BIN
      share/pixmaps/addressbook20.bmp
  8. BIN
      share/pixmaps/addressbook20mask.bmp
  9. BIN
      share/pixmaps/bitcoin-bc.ico
  10. BIN
      share/pixmaps/bitcoin.ico
  11. BIN
      share/pixmaps/bitcoin128.png
  12. 1084
      share/pixmaps/bitcoin128.xpm
  13. BIN
      share/pixmaps/bitcoin16.png
  14. 167
      share/pixmaps/bitcoin16.xpm
  15. BIN
      share/pixmaps/bitcoin256.png
  16. 1969
      share/pixmaps/bitcoin256.xpm
  17. BIN
      share/pixmaps/bitcoin32.png
  18. 348
      share/pixmaps/bitcoin32.xpm
  19. BIN
      share/pixmaps/bitcoin64.png
  20. 612
      share/pixmaps/bitcoin64.xpm
  21. BIN
      share/pixmaps/check.ico
  22. BIN
      share/pixmaps/favicon.ico
  23. BIN
      share/pixmaps/nsis-header.bmp
  24. BIN
      share/pixmaps/nsis-wizard.bmp
  25. BIN
      share/pixmaps/send16.bmp
  26. BIN
      share/pixmaps/send16mask.bmp
  27. BIN
      share/pixmaps/send16masknoshadow.bmp
  28. BIN
      share/pixmaps/send20.bmp
  29. BIN
      share/pixmaps/send20mask.bmp
  30. 37
      share/qt/Info.plist
  31. 29
      share/qt/clean_mac_info_plist.py
  32. 72
      share/qt/extract_strings_qt.py
  33. BIN
      share/qt/img/reload.xcf
  34. 43
      share/qt/make_spinner.py
  35. 9
      share/qt/make_windows_icon.sh
  36. 162
      share/setup.nsi
  37. 15
      share/ui.rc

37
share/certs/BitcoinFoundation_Apple_Cert.pem

@ -0,0 +1,37 @@ @@ -0,0 +1,37 @@
Bag Attributes
friendlyName: Developer ID Application: BITCOIN FOUNDATION, INC., THE
localKeyID: 6B 9C 6C A8 A5 73 70 70 E2 57 A3 49 D8 62 FB 97 C7 A5 5D 5E
subject=/UID=PBV4GLS9J4/CN=Developer ID Application: BITCOIN FOUNDATION, INC., THE/OU=PBV4GLS9J4/O=BITCOIN FOUNDATION, INC., THE/C=US
issuer=/CN=Developer ID Certification Authority/OU=Apple Certification Authority/O=Apple Inc./C=US
-----BEGIN CERTIFICATE-----
MIIFhzCCBG+gAwIBAgIIJ0r1rumyfZAwDQYJKoZIhvcNAQELBQAweTEtMCsGA1UE
AwwkRGV2ZWxvcGVyIElEIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSYwJAYDVQQL
DB1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUg
SW5jLjELMAkGA1UEBhMCVVMwHhcNMTMwMTEwMjIzOTAxWhcNMTgwMTExMjIzOTAx
WjCBqDEaMBgGCgmSJomT8ixkAQEMClBCVjRHTFM5SjQxQDA+BgNVBAMMN0RldmVs
b3BlciBJRCBBcHBsaWNhdGlvbjogQklUQ09JTiBGT1VOREFUSU9OLCBJTkMuLCBU
SEUxEzARBgNVBAsMClBCVjRHTFM5SjQxJjAkBgNVBAoMHUJJVENPSU4gRk9VTkRB
VElPTiwgSU5DLiwgVEhFMQswCQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBALTd5zURuZVoJviusr119aktXksenb9IN9vq6kBbq38vxEk7
9wkKMES2XfBRh0HxcEizGzhMNy5OCXuTLMaNMihYdfwYSoBoR2foEU+6kjPUnyJ4
dQBFLJZJr5/QeQmALmYHEgZ6lwXFD2lU8t92340zeJ4y5LZw5pcEHtH9IummYDut
OGCkCGXDcjL+5nHhNScJiXHhswM+62o6XXsQiP6EWbM1CsgrGTNLtaa0U/UvVDwE
79YKklSC5Bog2LD0jBcTuveI66mFzqu++L9X9u+ZArtebwCl7BPNQ+uboYy5uV2d
zf8lpNNZLfXCFjoLe9bLICKfZ7ub9V5aC8+GhckCAwEAAaOCAeEwggHdMD4GCCsG
AQUFBwEBBDIwMDAuBggrBgEFBQcwAYYiaHR0cDovL29jc3AuYXBwbGUuY29tL29j
c3AtZGV2aWQwMTAdBgNVHQ4EFgQUa5xsqKVzcHDiV6NJ2GL7l8elXV4wDAYDVR0T
AQH/BAIwADAfBgNVHSMEGDAWgBRXF+2iz9x8mKEQ4Py+hy0s8uMXVDCCAQ4GA1Ud
IASCAQUwggEBMIH+BgkqhkiG92NkBQEwgfAwKAYIKwYBBQUHAgEWHGh0dHA6Ly93
d3cuYXBwbGUuY29tL2FwcGxlY2EwgcMGCCsGAQUFBwICMIG2DIGzUmVsaWFuY2Ug
b24gdGhpcyBjZXJ0aWZpY2F0ZSBieSBhbnkgcGFydHkgYXNzdW1lcyBhY2NlcHRh
bmNlIG9mIHRoZSB0aGVuIGFwcGxpY2FibGUgc3RhbmRhcmQgdGVybXMgYW5kIGNv
bmRpdGlvbnMgb2YgdXNlLCBjZXJ0aWZpY2F0ZSBwb2xpY3kgYW5kIGNlcnRpZmlj
YXRpb24gcHJhY3RpY2Ugc3RhdGVtZW50cy4wDgYDVR0PAQH/BAQDAgeAMBYGA1Ud
JQEB/wQMMAoGCCsGAQUFBwMDMBMGCiqGSIb3Y2QGAQ0BAf8EAgUAMA0GCSqGSIb3
DQEBCwUAA4IBAQAfJ0BjID/1dS2aEeVyhAzPzCBjG8vm0gDf+/qfwRn3+yWeL9vS
nMdbilwM48IyQWTagjGGcojbsAd/vE4N7NhQyHInoCllNoeor1I5xx+blTaGRBK+
dDhJbbdlGCjsLnH/BczGZi5fyEJds9lUIrp1hJidRcUKO76qb/9gc6qNZpl1vH5k
lDUuJYt7YhAs+L6rTXDyqcK9maeQr0gaOPsRRAQLLwiQCorPeMTUNsbVMdMwZYJs
R+PxiAnk+nyi7rfiFvPoASAYUuI6OzYL/Fa6QU4/gYyPgic944QYVkaQBnc0vEP1
nXq6LGKwgVGcqJnkr/E2kui5gJoV5C3qll3e
-----END CERTIFICATE-----

37
share/certs/BitcoinFoundation_Comodo_Cert.pem

@ -0,0 +1,37 @@ @@ -0,0 +1,37 @@
Bag Attributes
friendlyName: The Bitcoin Foundation, Inc.'s COMODO CA Limited ID
localKeyID: 8C 94 64 E3 B5 B0 41 89 5B 89 B0 57 CC 74 B9 44 E5 B2 92 66
subject=/C=US/postalCode=98104-1444/ST=WA/L=Seattle/street=Suite 300/street=71 Columbia St/O=The Bitcoin Foundation, Inc./CN=The Bitcoin Foundation, Inc.
issuer=/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO Code Signing CA 2
-----BEGIN CERTIFICATE-----
MIIFeDCCBGCgAwIBAgIRAJVYMd+waOER7lUqtiz3M2IwDQYJKoZIhvcNAQEFBQAw
ezELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxITAfBgNV
BAMTGENPTU9ETyBDb2RlIFNpZ25pbmcgQ0EgMjAeFw0xMzAxMTYwMDAwMDBaFw0x
NDAxMTYyMzU5NTlaMIG8MQswCQYDVQQGEwJVUzETMBEGA1UEEQwKOTgxMDQtMTQ0
NDELMAkGA1UECAwCV0ExEDAOBgNVBAcMB1NlYXR0bGUxEjAQBgNVBAkMCVN1aXRl
IDMwMDEXMBUGA1UECQwONzEgQ29sdW1iaWEgU3QxJTAjBgNVBAoMHFRoZSBCaXRj
b2luIEZvdW5kYXRpb24sIEluYy4xJTAjBgNVBAMMHFRoZSBCaXRjb2luIEZvdW5k
YXRpb24sIEluYy4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQChUwLD
u/hu5aFZ/n11B27awONaaDrmHm0pamiWHb01yL4JmTBtaLCrSftF8RhCscQ8jpI0
UG1Cchmay0e3zH5o5XRs0H9C3x+SM5ozms0TWDmAYiB8aQEghsGovDk0D2nyTQeK
Q0xqyCh0m8ZPOnMnYrakHEmF6WvhLdJvI6Od4KIwbKxgN17cPFIfLVsZ7GrzmmbU
Gdi4wSQCHy5rxzvBxho8Qq/SfBl93uOMUrqOHjOUAPhNuTJG3t/MdhU8Zp24s29M
abHtYkT9W86hMjIiI8RTAR+WHKVglx9SB0cjDabXN8SZ3gME0+H++LyzlySHT8sI
ykepojZ7UBRgp9w3AgMBAAGjggGzMIIBrzAfBgNVHSMEGDAWgBQexbEsfYfaAmh8
JbwMB4Q/ts/e8TAdBgNVHQ4EFgQUfPf+ZyDWl/4LH0Y5BuJTelkRd/EwDgYDVR0P
AQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwMwEQYJ
YIZIAYb4QgEBBAQDAgQQMEYGA1UdIAQ/MD0wOwYMKwYBBAGyMQECAQMCMCswKQYI
KwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJlLmNvbW9kby5uZXQvQ1BTMEEGA1UdHwQ6
MDgwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL0NPTU9ET0NvZGVTaWdu
aW5nQ0EyLmNybDByBggrBgEFBQcBAQRmMGQwPAYIKwYBBQUHMAKGMGh0dHA6Ly9j
cnQuY29tb2RvY2EuY29tL0NPTU9ET0NvZGVTaWduaW5nQ0EyLmNydDAkBggrBgEF
BQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMCgGA1UdEQQhMB+BHWxpbmRz
YXlAYml0Y29pbmZvdW5kYXRpb24ub3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAqibjo
D4HG5XSIIMCmYE5RgQBSEAJfI+EZERk1G9F83ZUWr0yNRZCw4O+RaM7xQhvJhEoD
G2kpk/q2bNOc71/VyZ6SrE1JRVUON41/Flhz4M6cP0BclTicXvh+efVwqZhIz+ws
UxF2hvC/1Xx6rqI7NYAlOYXk2MSUq3HREo+gWUPKM8em4MZZV/7XCH4QbsfxOl1J
xS6EOQmV8hfUN4KRXI5WfGUmedBxq7dM0RSJOSQl8fq2f+JjRLfjQwQucy7LDY+y
pRTsL2TdQV/DuDuI3s0NHRGznQNddoX5jqpXhSQFAAdgrhN1gGkWaaTPzr9IF2TG
qgr6PEp9tIYC+MbM
-----END CERTIFICATE-----

46
share/certs/PrivateKeyNotes.md

@ -0,0 +1,46 @@ @@ -0,0 +1,46 @@
Code-signing private key notes
==
The private keys for these certificates were generated on Gavin's main work machine,
following the certificate authoritys' recommendations for generating certificate
signing requests.
For OSX, the private key was generated by Keychain.app on Gavin's main work machine.
The key and certificate is in a separate, passphrase-protected keychain file that is
unlocked to sign the Bitcoin-Qt.app bundle.
For Windows, the private key was generated by Firefox running on Gavin's main work machine.
The key and certificate were exported into a separate, passphrase-protected PKCS#12 file, and
then deleted from Firefox's keystore. The exported file is used to sign the Windows setup.exe.
Threat analysis
--
Gavin is a single point of failure. He could be coerced to divulge the secret signing keys,
allowing somebody to distribute a Bitcoin-Qt.app or bitcoin-qt-setup.exe with a valid
signature but containing a malicious binary.
Or the machine Gavin uses to sign the binaries could be compromised, either remotely or
by breaking in to his office, allowing the attacker to get the private key files and then
install a keylogger to get the passphrase that protects them.
Threat Mitigation
--
"Air gapping" the machine used to do the signing will not work, because the signing
process needs to access a timestamp server over the network. And it would not
prevent the "rubber hose cryptography" threat (coercing Gavin to sign a bad binary
or divulge the private keys).
Windows binaries are reproducibly 'gitian-built', and the setup.exe file created
by the NSIS installer system is a 7zip archive, so you could check to make sure
that the bitcoin-qt.exe file inside the installer had not been tampered with.
However, an attacker could modify the installer's code, so when the setup.exe
was run it compromised users' systems. A volunteer to write an auditing tool
that checks the setup.exe for tampering, and checks the files in it against
the list of gitian signatures, is needed.
The long-term solution is something like the 'gitian downloader' system, which
uses signatures from multiple developers to determine whether or not a binary
should be trusted. However, that just pushes the problem to "how will
non-technical users securely get the gitian downloader code to start?"

35
share/genbuild.sh

@ -0,0 +1,35 @@ @@ -0,0 +1,35 @@
#!/bin/sh
if [ $# -gt 0 ]; then
FILE="$1"
shift
if [ -f "$FILE" ]; then
INFO="$(head -n 1 "$FILE")"
fi
else
echo "Usage: $0 <filename>"
exit 1
fi
if [ -e "$(which git)" ]; then
# clean 'dirty' status of touched files that haven't been modified
git diff >/dev/null 2>/dev/null
# get a string like "v0.6.0-66-g59887e8-dirty"
DESC="$(git describe --dirty 2>/dev/null)"
# get a string like "2012-04-10 16:27:19 +0200"
TIME="$(git log -n 1 --format="%ci")"
fi
if [ -n "$DESC" ]; then
NEWINFO="#define BUILD_DESC \"$DESC\""
else
NEWINFO="// No build information available"
fi
# only update build.h if necessary
if [ "$INFO" != "$NEWINFO" ]; then
echo "$NEWINFO" >"$FILE"
echo "#define BUILD_DATE \"$TIME\"" >>"$FILE"
fi

BIN
share/pixmaps/addressbook16.bmp

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
share/pixmaps/addressbook16mask.bmp

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 B

BIN
share/pixmaps/addressbook20.bmp

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
share/pixmaps/addressbook20mask.bmp

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 B

BIN
share/pixmaps/bitcoin-bc.ico

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
share/pixmaps/bitcoin.ico

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

BIN
share/pixmaps/bitcoin128.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

1084
share/pixmaps/bitcoin128.xpm

File diff suppressed because it is too large Load Diff

BIN
share/pixmaps/bitcoin16.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 871 B

167
share/pixmaps/bitcoin16.xpm

@ -0,0 +1,167 @@ @@ -0,0 +1,167 @@
/* XPM */
static char *graphic[] = {
/* width height num_colors chars_per_pixel */
"16 16 144 2",
/* colors */
" c None",
". c #888888",
"X c #AAAAAA",
"o c #CCCCCC",
"O c #979797",
"+ c #B9B9B9",
"@ c #DBDBDB",
"# c None",
"$ c #848484",
"% c #A6A6A6",
"& c #C8C8C8",
"* c #8F8F8F",
"= c #747474",
"- c #939393",
"; c #B5B5B5",
": c None",
"> c #F9F9F9",
", c None",
"< c None",
"1 c #A2A2A2",
"2 c #C4C4C4",
"3 c #707070",
"4 c #707070",
"5 c #9E9E9E",
"6 c #8F8F8F",
"7 c #B1B1B1",
"8 c #D3D3D3",
"9 c #686868",
"0 c #686868",
"q c #6C6C6C",
"w c #C0C0C0",
"e c #9E9E9E",
"r c #C0C0C0",
"t c #9A9A9A",
"y c None",
"u c #5C5C5C",
"i c #8B8B8B",
"p c #ADADAD",
"a c #CFCFCF",
"s c #9A9A9A",
"d c #BCBCBC",
"f c None",
"g c #969696",
"h c #878787",
"j c #A9A9A9",
"k c #CBCBCB",
"l c #969696",
"z c #B8B8B8",
"x c #B8B8B8",
"c c #DADADA",
"v c #C7C7C7",
"b c #E9E9E9",
"n c #A1A1A1",
"m c #929292",
"M c None",
"N c #B4B4B4",
"B c None",
"V c None",
"C c #7F7F7F",
"Z c #A1A1A1",
"A c None",
"S c #8A8A8A",
"D c #C3C3C3",
"F c #8A8A8A",
"G c None",
"H c #9D9D9D",
"J c #8E8E8E",
"K c None",
"L c #B0B0B0",
"P c #5F5F5F",
"I c #5F5F5F",
"U c #BFBFBF",
"Y c #BFBFBF",
"T c None",
"R c #5B5B5B",
"E c #CECECE",
"W c #999999",
"Q c #DDDDDD",
"! c None",
"~ c #868686",
"^ c #A8A8A8",
"/ c #CACACA",
"( c #737373",
") c #959595",
"_ c #B7B7B7",
"` c #B7B7B7",
"' c None",
"] c #828282",
"[ c #A4A4A4",
"{ c #C6C6C6",
"} c #A0A0A0",
"| c #919191",
" . c None",
".. c #B3B3B3",
"X. c None",
"o. c #6A6A6A",
"O. c #A0A0A0",
"+. c #6E6E6E",
"@. c #C2C2C2",
"#. c #6E6E6E",
"$. c #898989",
"%. c None",
"&. c #8D8D8D",
"*. c #AFAFAF",
"=. c #D1D1D1",
"-. c #F3F3F3",
";. c #5E5E5E",
":. c #5E5E5E",
">. c #BEBEBE",
",. c #9C9C9C",
"<. c #858585",
"1. c #989898",
"2. c #898989",
"3. c #EFEFEF",
"4. c #989898",
"5. c #A7A7A7",
"6. c None",
"7. c #C9C9C9",
"8. c #EBEBEB",
"9. c #909090",
"0. c #949494",
"q. c #B6B6B6",
"w. c #B6B6B6",
"e. c #D8D8D8",
"r. c #818181",
"t. c #A3A3A3",
"y. c #C5C5C5",
"u. c #B2B2B2",
"i. c None",
"p. c #D4D4D4",
"a. c None",
"s. c None",
"d. c #7D7D7D",
"f. c #9F9F9F",
"g. c #C1C1C1",
"h. c #E3E3E3",
"j. c None",
"k. c #656565",
"l. c None",
"z. c #AEAEAE",
"x. c #656565",
"c. c #BDBDBD",
"v. c #9B9B9B",
"b. c #BDBDBD",
/* pixels */
" G y A I o.0 :.< # G ",
" 6.V = n w / 7.>.5 4 X.6. ",
" 6.s.9.o 7.j | 6 ..8 / F K 6. ",
"G V * p.d 1 ~ | l s u.^ o F X.G ",
"' = o r z.t.e 7.@.] C C ; & #.f ",
", } & f.t.s N e.x $ 5.@.v E t X.",
"P U N ^ 7 ,.a b b.0.w.5.. O.z u ",
"9 / v { X Z 8.-.g.2.. r.&.p 2 x.",
"9 / ` 1 ) @ > Q h J 4.*.2 2 2 k.",
";.c.L 1 4.7.3.y.~ - ,.W i % q.R ",
"V H =.{ X p.h.c o 7.v - d.r g a.",
"# 3 7.u.( 0.t.t.e W v.s g.2 q %.",
"G : S k j ..+ [ | m 1 Y E <. .! ",
" M l.$.& 8 x ) O z.7.2 <.j.i. ",
" i.a.+.1.z D D _ g q .i. ",
" G T B u x.x.R a.T G "
};

BIN
share/pixmaps/bitcoin256.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

1969
share/pixmaps/bitcoin256.xpm

File diff suppressed because it is too large Load Diff

BIN
share/pixmaps/bitcoin32.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

348
share/pixmaps/bitcoin32.xpm

@ -0,0 +1,348 @@ @@ -0,0 +1,348 @@
/* XPM */
static char *graphic[] = {
/* width height num_colors chars_per_pixel */
"32 32 309 2",
/* colors */
" c None",
". c #444444",
"X c #474747",
"o c #666666",
"O c #888888",
"+ c None",
"@ c #AAAAAA",
"# c None",
"$ c #CCCCCC",
"% c #474747",
"& c #EEEEEE",
"* c #535353",
"= c None",
"- c #757575",
"; c #979797",
": c #B9B9B9",
"> c #DBDBDB",
", c #FDFDFD",
"< c #626262",
"1 c #848484",
"2 c #A6A6A6",
"3 c #C8C8C8",
"4 c #EAEAEA",
"5 c #686868",
"6 c #737373",
"7 c #717171",
"8 c #939393",
"9 c #B5B5B5",
"0 c #D7D7D7",
"q c #F9F9F9",
"w c #3C3C3C",
"e c #5E5E5E",
"r c #808080",
"t c #4E4E4E",
"y c None",
"u c #A2A2A2",
"i c None",
"p c #C4C4C4",
"a c #E6E6E6",
"s c #4B4B4B",
"d c None",
"f c None",
"g c #6D6D6D",
"h c #8F8F8F",
"j c #B1B1B1",
"k c #D3D3D3",
"l c #F5F5F5",
"z c None",
"x c None",
"c c #434343",
"v c None",
"b c #5A5A5A",
"n c None",
"m c #7C7C7C",
"M c None",
"N c #9E9E9E",
"B c #C0C0C0",
"V c None",
"C c #E2E2E2",
"Z c None",
"A c #5C5C5C",
"S c #474747",
"D c None",
"F c #696969",
"G c #8B8B8B",
"H c None",
"J c #ADADAD",
"K c #CFCFCF",
"L c #4A4A4A",
"P c #F1F1F1",
"I c None",
"U c #565656",
"Y c #787878",
"T c #9A9A9A",
"R c #BCBCBC",
"E c #3F3F3F",
"W c #DEDEDE",
"Q c #6F6F6F",
"! c None",
"~ c #434343",
"^ c #656565",
"/ c None",
"( c #878787",
") c #A9A9A9",
"_ c #CBCBCB",
"` c #EDEDED",
"' c None",
"] c #525252",
"[ c None",
"{ c None",
"} c #747474",
"| c #6B6B6B",
" . c #969696",
".. c #B8B8B8",
"X. c None",
"o. c #DADADA",
"O. c #515151",
"+. c None",
"@. c #FCFCFC",
"#. c None",
"$. c #3F3F3F",
"%. c #464646",
"&. c #616161",
"*. c #838383",
"=. c #A5A5A5",
"-. c #C7C7C7",
";. c #3B3B3B",
":. c None",
">. c #E9E9E9",
",. c #464646",
"<. c None",
"1. c #3B3B3B",
"2. c None",
"3. c #4E4E4E",
"4. c #707070",
"5. c #929292",
"6. c #676767",
"7. c #B4B4B4",
"8. c #424242",
"9. c #D6D6D6",
"0. c #F8F8F8",
"q. c #3B3B3B",
"w. c None",
"e. c None",
"r. c #5D5D5D",
"t. c None",
"y. c #7F7F7F",
"u. c None",
"i. c #A1A1A1",
"p. c #C3C3C3",
"a. c #E5E5E5",
"s. c None",
"d. c None",
"f. c None",
"g. c #373737",
"h. c None",
"j. c #4D4D4D",
"k. c #4A4A4A",
"l. c #6C6C6C",
"z. c #8E8E8E",
"x. c #424242",
"c. c None",
"v. c #B0B0B0",
"b. c #4D4D4D",
"n. c #D2D2D2",
"m. c None",
"M. c #F4F4F4",
"N. c #424242",
"B. c None",
"V. c #4D4D4D",
"C. c None",
"Z. c #7B7B7B",
"A. c #9D9D9D",
"S. c None",
"D. c #BFBFBF",
"F. c #E1E1E1",
"G. c None",
"H. c #636363",
"J. c None",
"K. c #424242",
"L. c #464646",
"P. c None",
"I. c None",
"U. c #686868",
"Y. c #8A8A8A",
"T. c #424242",
"R. c None",
"E. c #ACACAC",
"W. c #CECECE",
"Q. c None",
"!. c #424242",
"~. c #F0F0F0",
"^. c #555555",
"/. c #777777",
"(. c None",
"). c #999999",
"_. c None",
"`. c #BBBBBB",
"'. c #DDDDDD",
"]. c None",
"[. c #FFFFFF",
"{. c #424242",
"}. c None",
"|. c #868686",
" X c #A8A8A8",
".X c #CACACA",
"XX c #3E3E3E",
"oX c #ECECEC",
"OX c #454545",
"+X c #515151",
"@X c #737373",
"#X c #959595",
"$X c #B7B7B7",
"%X c #D9D9D9",
"&X c #454545",
"*X c #FBFBFB",
"=X c None",
"-X c None",
";X c #454545",
":X c #606060",
">X c #A4A4A4",
",X c #3A3A3A",
"<X c #C6C6C6",
"1X c #717171",
"2X c #E8E8E8",
"3X c #3A3A3A",
"4X c None",
"5X c None",
"6X c #4D4D4D",
"7X c #6F6F6F",
"8X c #919191",
"9X c #B3B3B3",
"0X c #4C4C4C",
"qX c None",
"wX c #D5D5D5",
"eX c #F7F7F7",
"rX c #4C4C4C",
"tX c #5C5C5C",
"yX c #A0A0A0",
"uX c #5E5E5E",
"iX c #C2C2C2",
"pX c #E4E4E4",
"aX c None",
"sX c #6D6D6D",
"dX c #494949",
"fX c None",
"gX c #6B6B6B",
"hX c #6D6D6D",
"jX c #8D8D8D",
"kX c #AFAFAF",
"lX c #D1D1D1",
"zX c None",
"xX c #F3F3F3",
"cX c None",
"vX c #454545",
"bX c #6D6D6D",
"nX c #585858",
"mX c #7A7A7A",
"MX c #414141",
"NX c #9C9C9C",
"BX c None",
"VX c #BEBEBE",
"CX c #E0E0E0",
"ZX c #414141",
"AX c #414141",
"SX c #676767",
"DX c #414141",
"FX c #898989",
"GX c #ABABAB",
"HX c #CDCDCD",
"JX c #EFEFEF",
"KX c None",
"LX c #545454",
"PX c #767676",
"IX c None",
"UX c #989898",
"YX c #BABABA",
"TX c #DCDCDC",
"RX c #FEFEFE",
"EX c #636363",
"WX c #858585",
"QX c #A7A7A7",
"!X c #C9C9C9",
"~X c #EBEBEB",
"^X c #3D3D3D",
"/X c #505050",
"(X c #727272",
")X c #696969",
"_X c #949494",
"`X c #B6B6B6",
"'X c None",
"]X c #D8D8D8",
"[X c #FAFAFA",
"{X c None",
"}X c #5F5F5F",
"|X c #818181",
" o c None",
".o c #A3A3A3",
"Xo c #C5C5C5",
"oo c #E7E7E7",
"Oo c #6E6E6E",
"+o c #909090",
"@o c #B2B2B2",
"#o c #D4D4D4",
"$o c #F6F6F6",
"%o c #5B5B5B",
"&o c #7D7D7D",
"*o c #9F9F9F",
"=o c #C1C1C1",
"-o c #E3E3E3",
";o c #656565",
":o c None",
">o c #484848",
",o c #6A6A6A",
"<o c #8C8C8C",
"1o c None",
"2o c #AEAEAE",
"3o c #353535",
"4o c #D0D0D0",
"5o c None",
"6o c #F2F2F2",
"7o c #444444",
"8o c #444444",
"9o c #575757",
"0o c #797979",
"qo c #707070",
"wo c #9B9B9B",
"eo c #BDBDBD",
"ro c #DFDFDF",
/* pixels */
" h.:o5ohXH.;osXc.:.]. ",
" V fX% vX6XU e r.^.s 8oX 4XB. ",
" P.A AXU |XQXB $ lXlX_ VX>X&o+XE uX+. ",
" m.;X* _X3 C P 0.*X[X[X@.0.& roXoh 6X8.v ",
" { ^XPX=oa.eXM.%X..u 8 8XwokX0 6oxXC VXg XX/ ",
" d ~ G 9.~.eX<X5.|Xy.mXPXOo4.<oE.v.$ l ` lX|Xq.D ",
" H 1.Y.o.$oooA.h A. .r.+X+XnXF - YXTXiX@ >.6owX|Xg.s. ",
" I.,.- wXl ro; @ 2o=.mXm _ Xo-.K r =.XoyXg g a.P 4o,o%.KX ",
" bX+XB ~.oo*oeo9 2 GX@XkX$ p -.W (Xy.Y g 7Xr.F 4 4 YXS 1X ",
" <.DX8 pX$oGX..2o.o XJ gX_ !X$ k W.] Z.0o7 g r N j xXW O MXu. ",
" 'XLX<X$o-.jXyXN >X@ ).} W W.#opXGXU y.&o_X..9.a D.n.JXB >ow. ",
"h.b.y.rol 8X8XwoN yXQXZ.8 a ]XTX~.*.7 ) =ok 9.]XCX0 2 P o.(Xt d.",
"IX7o=.& o.&o#XUX.oE.7.7XYXooC oo>.L.F =.HXlX#o-.=.m :XW 2X).T._.",
"M s eoeX: O v.eoB eo@ogX'.>.~X6opX=.: /.3 @o5.PX,o,o9o..6o9X. Z ",
"Q.9o!X$o..3 k .XXop .} $oJXM.0.[.[.).l.z.Z./.PX7XF gXGXl B dX+ ",
"Q tXW.M...wXwX.X7.Y +Xv.[.q , [.kX< tX|XWXr 0oPX( kXW.: ~.-.* 6.",
"qo%oHXM.: $ 7..o} &ooX[.RX, RXJX* &o_X<o*.1 .7.K o.wX..~.<X] 5 ",
"R.U 3 0.2oG 5.T U.-.W *X*XeX@.3 :XA.8X+oA.7.p.3 W.0 Xo..P D.>oJ.",
"! >o`.$o`.r _X_XFXEX,oRXxX~.*X_X&.8X8 yX) J @oeo$XUXEX: P j {.# ",
"e.!.i.oXTXy.i.`X.X( QX*XoX>.$o|X%o4.(X@X} /.PX%oF F }Xrooo .AXy ",
"= j.mX'.6oGX0 0 #oy.HXJXa -oa.oo-oroW TXo.]XF.tXo ^ O $o0 l.O.}.",
" 2.3.iX6o4oeoC iXY & 4 oopXCXW TX]X9.k 4olX$ dXy.Z.K & `.. f ",
" X.K.<oCXM.2o; ^ SX4op =oB =o=oB D.VXVXR iXY.mX_ YXxX> r c z ",
" 6 dX`.~X4 F U dX$.k.}Xg g F SX^ :Xb e F mXB @o>.a 7.{.#. ",
" =X&XgXK 6oa 7 (XJ 3 4o!XiXVX@ou UXN J eo$X2 pX4 _ e V.n ",
" o3Xy.wX~.~X@op 0 wXW.YXwo( |.5.A.*o .@ 4 ~X4o@X;.I ",
" G.w y.4o~Xl K @o Xr < EXOo/.&o*.NX4oxXa _ @X3of. ",
" aX,XU.: CX~.6oo.7.*o .T XD.W xX& TX7.e DXcX ",
" i OX>o( D.> 4 xX0.0.eX$oP 2X%X`.r . L 5X ",
" S.[ N.dX4.UX9X=o-.-.B j #Xl.L.x.' C. ",
" (.BXrXK.~ >o/X/X>o~ ZX0X{Xx ",
" zXqXt.)X| w.-X1o "
};

BIN
share/pixmaps/bitcoin64.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

612
share/pixmaps/bitcoin64.xpm

@ -0,0 +1,612 @@ @@ -0,0 +1,612 @@
/* XPM */
static char *graphic[] = {
/* width height num_colors chars_per_pixel */
"64 64 541 2",
/* colors */
" c None",
". c None",
"X c #444444",
"o c None",
"O c #404040",
"+ c #666666",
"@ c #565656",
"# c #474747",
"$ c #888888",
"% c #4A4A4A",
"& c None",
"* c #404040",
"= c #AAAAAA",
"- c #CCCCCC",
"; c None",
": c #EEEEEE",
"> c #474747",
", c #4A4A4A",
"< c None",
"1 c #404040",
"2 c #434343",
"3 c #404040",
"4 c None",
"5 c None",
"6 c None",
"7 c #535353",
"8 c #404040",
"9 c #404040",
"0 c #757575",
"q c #404040",
"w c #979797",
"e c #B9B9B9",
"r c #404040",
"t c None",
"y c #DBDBDB",
"u c #404040",
"i c None",
"p c #404040",
"a c #FDFDFD",
"s c #404040",
"d c #474747",
"f c #4A4A4A",
"g c #404040",
"h c #626262",
"j c #848484",
"k c None",
"l c #515151",
"z c None",
"x c #A6A6A6",
"c c #C8C8C8",
"v c None",
"b c None",
"n c #EAEAEA",
"m c #515151",
"M c None",
"N c #4F4F4F",
"B c #434343",
"V c None",
"C c None",
"Z c #717171",
"A c None",
"S c #939393",
"D c None",
"F c #B5B5B5",
"G c #4A4A4A",
"H c #474747",
"J c #D7D7D7",
"K c #434343",
"L c #525252",
"P c #474747",
"I c #F9F9F9",
"U c None",
"Y c #3C3C3C",
"T c #5E5E5E",
"R c #808080",
"E c #4D4D4D",
"W c #555555",
"Q c None",
"! c #A2A2A2",
"~ c None",
"^ c #525252",
"/ c #C4C4C4",
"( c None",
") c #E6E6E6",
"_ c None",
"` c None",
"' c None",
"] c None",
"[ c #4B4B4B",
"{ c #4D4D4D",
"} c #6D6D6D",
"| c #8F8F8F",
" . c #464646",
".. c None",
"X. c None",
"o. c #B1B1B1",
"O. c None",
"+. c #D3D3D3",
"@. c #F5F5F5",
"#. c None",
"$. c None",
"%. c None",
"&. c None",
"*. c #383838",
"=. c #434343",
"-. c #5A5A5A",
";. c #434343",
":. c #7C7C7C",
">. c None",
",. c None",
"<. c #9E9E9E",
"1. c #464646",
"2. c #515151",
"3. c #4E4E4E",
"4. c #C0C0C0",
"5. c None",
"6. c #E2E2E2",
"7. c #474747",
"8. c #3F3F3F",
"9. c #474747",
"0. c #464646",
"q. c #474747",
"w. c #696969",
"e. c None",
"r. c #4A4A4A",
"t. c None",
"y. c None",
"u. c #464646",
"i. c #8B8B8B",
"p. c None",
"a. c #ADADAD",
"s. c None",
"d. c #CFCFCF",
"f. c #494949",
"g. c #464646",
"h. c #515151",
"j. c #F1F1F1",
"k. c None",
"l. c #434343",
"z. c None",
"x. c #515151",
"c. c None",
"v. c #343434",
"b. c #565656",
"n. c #787878",
"m. c None",
"M. c None",
"N. c #9A9A9A",
"B. c #4A4A4A",
"V. c #434343",
"C. c #BCBCBC",
"Z. c #3F3F3F",
"A. c #DEDEDE",
"S. c #3F3F3F",
"D. c #434343",
"F. c #3F3F3F",
"G. c None",
"H. c #4D4D4D",
"J. c #434343",
"K. c None",
"L. c #3F3F3F",
"P. c None",
"I. c #434343",
"U. c #3F3F3F",
"Y. c #656565",
"T. c None",
"R. c #3F3F3F",
"E. c #878787",
"W. c #424242",
"Q. c None",
"!. c #A9A9A9",
"~. c #464646",
"^. c #CBCBCB",
"/. c #3F3F3F",
"(. c #4D4D4D",
"). c #EDEDED",
"_. c None",
"`. c #464646",
"'. c None",
"]. c #3F3F3F",
"[. c #525252",
"{. c #464646",
"}. c None",
"|. c #747474",
" X c #3F3F3F",
".X c #969696",
"XX c #3F3F3F",
"oX c #4D4D4D",
"OX c #B8B8B8",
"+X c #555555",
"@X c #DADADA",
"#X c #545454",
"$X c #3F3F3F",
"%X c #3F3F3F",
"&X c #FCFCFC",
"*X c None",
"=X c None",
"-X c #464646",
";X c #3F3F3F",
":X c #616161",
">X c #545454",
",X c None",
"<X c #838383",
"1X c #494949",
"2X c #464646",
"3X c #A5A5A5",
"4X c None",
"5X c #C7C7C7",
"6X c #E9E9E9",
"7X c None",
"8X c None",
"9X c None",
"0X c #4E4E4E",
"qX c #707070",
"wX c #494949",
"eX c #494949",
"rX c #929292",
"tX c #424242",
"yX c #B4B4B4",
"uX c #D6D6D6",
"iX c None",
"pX c #F8F8F8",
"aX c #3B3B3B",
"sX c #424242",
"dX c #5D5D5D",
"fX c #545454",
"gX c #424242",
"hX c #7F7F7F",
"jX c #A1A1A1",
"kX c #545454",
"lX c None",
"zX c #C3C3C3",
"xX c #E5E5E5",
"cX c None",
"vX c #4D4D4D",
"bX c #545454",
"nX c None",
"mX c #4A4A4A",
"MX c None",
"NX c None",
"BX c None",
"VX c #6C6C6C",
"CX c None",
"ZX c #4D4D4D",
"AX c None",
"SX c #4C4C4C",
"DX c #8E8E8E",
"FX c #B0B0B0",
"GX c #D2D2D2",
"HX c None",
"JX c None",
"KX c #F4F4F4",
"LX c #454545",
"PX c None",
"IX c None",
"UX c #595959",
"YX c #424242",
"TX c #454545",
"RX c #7B7B7B",
"EX c #9D9D9D",
"WX c None",
"QX c #BFBFBF",
"!X c #E1E1E1",
"~X c #464646",
"^X c #505050",
"/X c None",
"(X c #464646",
")X c #464646",
"_X c None",
"`X c #464646",
"'X c #686868",
"]X c #424242",
"[X c #8A8A8A",
"{X c #ACACAC",
"}X c #505050",
"|X c #424242",
" o c #484848",
".o c #CECECE",
"Xo c #F0F0F0",
"oo c #494949",
"Oo c #424242",
"+o c #424242",
"@o c #555555",
"#o c #777777",
"$o c None",
"%o c #454545",
"&o c #999999",
"*o c #3E3E3E",
"=o c #4C4C4C",
"-o c #BBBBBB",
";o c None",
":o c #424242",
">o c #DDDDDD",
",o c #424242",
"<o c None",
"1o c #424242",
"2o c None",
"3o c #3E3E3E",
"4o c #4C4C4C",
"5o c #424242",
"6o c #494949",
"7o c #3E3E3E",
"8o c #424242",
"9o c None",
"0o c #646464",
"qo c None",
"wo c #868686",
"eo c None",
"ro c #A8A8A8",
"to c #CACACA",
"yo c #414141",
"uo c #ECECEC",
"io c #4C4C4C",
"po c #454545",
"ao c None",
"so c #3E3E3E",
"do c #454545",
"fo c #515151",
"go c #3E3E3E",
"ho c #737373",
"jo c #3E3E3E",
"ko c #959595",
"lo c None",
"zo c #B7B7B7",
"xo c #3E3E3E",
"co c #505050",
"vo c #454545",
"bo c #D9D9D9",
"no c #3E3E3E",
"mo c #FBFBFB",
"Mo c None",
"No c #3E3E3E",
"Bo c None",
"Vo c None",
"Co c None",
"Zo c #414141",
"Ao c #606060",
"So c #828282",
"Do c #575757",
"Fo c #A4A4A4",
"Go c #454545",
"Ho c #C6C6C6",
"Jo c #E8E8E8",
"Ko c None",
"Lo c #484848",
"Po c #4F4F4F",
"Io c None",
"Uo c None",
"Yo c None",
"To c #4D4D4D",
"Ro c #6F6F6F",
"Eo c None",
"Wo c #919191",
"Qo c None",
"!o c #B3B3B3",
"~o c #D5D5D5",
"^o c #484848",
"/o c None",
"(o c #F7F7F7",
")o c #454545",
"_o c #535353",
"`o c #5C5C5C",
"'o c None",
"]o c #7E7E7E",
"[o c None",
"{o c #414141",
"}o c #535353",
"|o c #A0A0A0",
" O c None",
".O c #484848",
"XO c #C2C2C2",
"oO c #454545",
"OO c #414141",
"+O c #E4E4E4",
"@O c None",
"#O c #414141",
"$O c #4C4C4C",
"%O c #494949",
"&O c #494949",
"*O c #414141",
"=O c #6B6B6B",
"-O c #8D8D8D",
";O c None",
":O c #4C4C4C",
">O c #AFAFAF",
",O c #535353",
"<O c #D1D1D1",
"1O c None",
"2O c #F3F3F3",
"3O c #444444",
"4O c None",
"5O c None",
"6O c None",
"7O c #585858",
"8O c #7A7A7A",
"9O c #414141",
"0O c None",
"qO c #9C9C9C",
"wO c #4C4C4C",
"eO c #BEBEBE",
"rO c #E0E0E0",
"tO c #454545",
"yO c #575757",
"uO c #454545",
"iO c #454545",
"pO c #676767",
"aO c None",
"sO c #898989",
"dO c #4F4F4F",
"fO c None",
"gO c #ABABAB",
"hO c #5A5A5A",
"jO c #CDCDCD",
"kO c #444444",
"lO c #EFEFEF",
"zO c #414141",
"xO c None",
"cO c #414141",
"vO c #545454",
"bO c #767676",
"nO c #414141",
"mO c #414141",
"MO c #989898",
"NO c None",
"BO c #414141",
"VO c #BABABA",
"CO c #575757",
"ZO c #DCDCDC",
"AO c #414141",
"SO c #414141",
"DO c #FEFEFE",
"FO c #535353",
"GO c #4B4B4B",
"HO c None",
"JO c #484848",
"KO c #414141",
"LO c None",
"PO c None",
"IO c #565656",
"UO c None",
"YO c #636363",
"TO c #535353",
"RO c None",
"EO c #858585",
"WO c #A7A7A7",
"QO c None",
"!O c #C9C9C9",
"~O c #4B4B4B",
"^O c None",
"/O c #EBEBEB",
"(O c #505050",
")O c #444444",
"_O c #727272",
"`O c #949494",
"'O c #B6B6B6",
"]O c None",
"[O c #535353",
"{O c #484848",
"}O c #D8D8D8",
"|O c #484848",
" + c #FAFAFA",
".+ c None",
"X+ c #484848",
"o+ c None",
"O+ c #404040",
"++ c #3D3D3D",
"@+ c #5F5F5F",
"#+ c None",
"$+ c #818181",
"%+ c #444444",
"&+ c #535353",
"*+ c #A3A3A3",
"=+ c None",
"-+ c None",
";+ c #C5C5C5",
":+ c #E7E7E7",
">+ c None",
",+ c #4E4E4E",
"<+ c None",
"1+ c #4C4C4C",
"2+ c None",
"3+ c #6E6E6E",
"4+ c None",
"5+ c #909090",
"6+ c None",
"7+ c #B2B2B2",
"8+ c None",
"9+ c #D4D4D4",
"0+ c #F6F6F6",
"q+ c None",
"w+ c #404040",
"e+ c None",
"r+ c #474747",
"t+ c #404040",
"y+ c #444444",
"u+ c #5B5B5B",
"i+ c #444444",
"p+ c #7D7D7D",
"a+ c #4F4F4F",
"s+ c #474747",
"d+ c None",
"f+ c #9F9F9F",
"g+ c #4F4F4F",
"h+ c None",
"j+ c #C1C1C1",
"k+ c #444444",
"l+ c None",
"z+ c #E3E3E3",
"x+ c #474747",
"c+ c #404040",
"v+ c None",
"b+ c #484848",
"n+ c None",
"m+ c #484848",
"M+ c #404040",
"N+ c #6A6A6A",
"B+ c None",
"V+ c #444444",
"C+ c #8C8C8C",
"Z+ c None",
"A+ c #AEAEAE",
"S+ c #525252",
"D+ c None",
"F+ c #D0D0D0",
"G+ c #F2F2F2",
"H+ c #474747",
"J+ c #525252",
"K+ c #353535",
"L+ c #434343",
"P+ c #575757",
"I+ c #797979",
"U+ c #9B9B9B",
"Y+ c #4B4B4B",
"T+ c #BDBDBD",
"R+ c #444444",
"E+ c #DFDFDF",
"W+ c None",
"Q+ c #404040",
"!+ c #444444",
"~+ c None",
"^+ c #404040",
/* pixels */
" o <o>.loD+4+l+T.t.lXC D+y.>.cX ",
" cXi ,XEoO.{ GO0.~.d Go2XJO# x+=o,+9X_ o+( 9o ",
" AXc.K.SXu.OOO mOD.q.mX1+ToTo1+&OiO1oq L.gX.Ol h+t 4 ",
" >.s.HOr+M+9 )XN 7O:X'XqX|.n.]op+n.hoRo+ @+@o[ J.so*OeXq+UOAX ",
" MXP.RO2 U.uOfo@+} p+| jXa.zoT+QXzXXOQXT+zogOf+-ORXw.-.1+SOF.0.,.@O5 ",
" o >+D L+7o)XP+w.]ow o.XO- +.uX}O@Xy ZOZOy boJ ~o<O^.j+A+`OI+YO(O1oF.^oQ.z o ",
" MX; o8.R+b.N+<XFo4.d.uXy E+6.xX:+6Xn /O/O6XJo) +O!X>obo9+- T+jXhX0o0XBOgXPoP.<o ",
" 6+$o3O/.0XY.hX3X/ GXboE+xX6X: G+KX0+(o(o(o(o(o0+@.KXXo/O:+z+>oJ F+j+jXI+`o`XR.wXBXAX ",
" Uo1OO+V.7OqX.XT+<O@X!X:+).2O0+@.: z+~o5XeOzozoeO5XuX+OlO@.0+j./OxXA.J .oe Wow.0Xjo%o'.( ",
" y.z.t+~X@+p+!.^.J E+JolO@.@.6X.oa.rXR bOZ } N+'XpOpO=ObOC+A++.uo@.2OuoxX>o~o5XFobOvOp B Q . ",
" Uoz.c+%O0oEOzo<Oy +O).@.0+6.OX5+:.RXR <X<XSohX:.I+0 Z } } n.DX&o! j+) 0+G+n !X}OjOo.hXUXp K -+( ",
" 6+#.t+%OY.-OT+9+E+Joj.0+:+e -O<Xi.rXWo-O$ j $+p+8O#o0 n.sO*+VO5Xc -o3X|oXOn KX: xXy F+zoj -.SO)O6 AX ",
" <o$oZo7.YOC+j+uX!X/OKXKXd..XwokoEXqOMO| RXw.YOAoT dXT w.I+E.DXMO!o- +.<Oj+*+FouXKXj.:+ZO<OVOj 7O%X%o;O<o ",
" o v LXV.AoEOT+~o!Xuo0+lO-oi.koFo3X! <.&owoP+X `X`XiOq.1+(Ofo[.fovO| ;++.~oJ <OA+i.C.XoG+:+ZO<Ozo]ovOjoioP.o ",
" _.f.* UXp+zo9+rO/O0+uo>O-O*+A+gOroFo|oMOI+1+<.5XHoHo5X5X5X5X!O7+-.DXHo<O<OHoA+DXVX+ gO).2O:+ZOd.FX|.1+U.m y. ",
" MXQo8.N qX!.F+A./O@.uoa.rXA+F o.a.!.3X|o`O=Ou++.+.jO.od.<OGX+.+OQXdX<.XOOXf+wobORo} Y.YOro: j.xXbo- ! + X %+v+cX ",
" _X3OtO0o`Otoy JoKXlOFXkoF VOzo!oA+WO! jX&oY.n.>oXOQXj+zX/ Ho!O!X&ou+DXWo$+n.0 hoqXRo=O0oYO>Oj.lOz+uX/ -O7Oxo~O'o ",
" AXHO3oP+p+-oJ +Oj.@.eOkoe j+T+'Oa.x Fo!.{X.XUXU+>ozXzX;+5X!OtoF+!XZ fo0 RX8On.bO|.Z Ro} N+YO'XXOKXuoE+GXF 0 mX9OIoMX ",
" B+kO9.N+*+d.E+).0++.w OX;+T+FXWOFoWO= {X!.E.@oT+J Ho5X!O^.jO.obo<O[.u+8Op+RXI+#o|._OqX3+3+n.wokoZO2O:+@XtoqOT %XG 'o ",
" 4 p.S.UXSoXObo:+@.6X|o{XeOFX3X! Fox ro!.gOFo|.h J <Oto- jOd.<O+.z+!o`X'Xp+]o:.8On.0 |.bOEO! 4.GXF = ).lO6.9+-o8OmXYXQO5 ",
" iX .(Xw.! <OrO: @.C.-Ox |o<.|o! Fox WO!.!.U+h ]o6.d..oF+GX+.~oboJoC+&O_OR hXp+8OI+R S >O5X9+boy +.*+!OKX6X@X^.U+`o%XdOV ",
" 9om.#O7 p+eO}O) KX+Oi.C+N.qO<.f+! *+3XWOroWO| @o*+z+<OGX9+uXJ boE+6.pOvO8O$+hXR [X|oe toGX~oJ bo@Xy zXFo6XlO!X+.zo_O`X-XYoo ",
" HXE 3 AokojOA.uo@.VOp+ko&oqO<.f+jX! Fox x f+n.[.HorO~ouX}O@XZOA.:+.o(Oh hXE.`OgOQX^.d.F+GX9+uX}O@XZOJ 3Xc 2O:+}OHoi.fo/.Z+eo ",
" iXTXb+} a.9+z+G+/OWowow &oU+EX<.|ojXjX|o|o&o=OpOE+>oboy >oA.rO6.).a.q._O.XA+4.c ^.jOd.F+<O+.~oJ }OJ toN.w : uoA..o3XAo%X(.xO ",
" ~ w+fo:.4.boJo@.GX:.| w MON.qOEXEX|ox gOa.U+T E.6X>o>oE+!Xz+xXJo: <X&ORXWo3XC.5Xto- .od.<OGX+..oC.f+$+=O} }OXo6.+.OXqXI.> M. ",
"cX[oQ+-.C+to>ouo0+7+RXrX.Xw &oEX3Xa.yX'OyXA+5+b.{X/OrO6.+OxX:+6X).6.P+v.fo} |.*+zX!O^.jO.o- XO{X5+8ORo=O'X@+zo2O) J zXSomX;.4O9o",
"AX#+nOYOEXF+rOXoXo.X$+rXMO! A+OXeOT+-oOXF gO$+UXjOn +O) Jon /O).2OF+u+n.'O!o@+w j+c !O/ yXqOEOn.hoqX3+VXN+@+.Xj.n @XtoS [.1 e.MX",
". , !+w.!.9+6.2O) E.Wo= -o;+5X;+XOQXC.e 'OWOqX} xXn 6X/O).lOXoG+pX).ZO2O +WOu+|oQXe x Wo$+8O#o0 |.Z Ro} =OYOp+6X).>o.of+-.r >X( ",
"fO1.m+qX!ouXxXKX@X`O4.d.F+jO!OHozX4.T+VO'O<.@+DXlOuo).lOj.2O@.(omoa a DOKX$+YOMOMOsO$+]o:.8On.bO|._OqX3+VXpOqXA.XorOF+gO:Xs x.%.",
"<+yo1+|.-o}O) 0+F+*+<O+.F+.o^.5X/ j+eOzo= <X(OyX2OXoG+KX@.(oI mo&XDOmo).QXUXAoR j <XSohXp+RXI+#o0 hoZ Z I+i.E.~oj.!XGXFX+ KOTO2o",
"/o{.0XbOT+boJo(o!Ox 9+~o<Od.- c / -o!.Wo#o@ovO~o@.KX0+pX +&Xa DO@.9+*+qX(O[.hoEOwoEO<X$+]o:.8On.bO#oj f+eO.of+d.G+6.+.yX=O8oL n+",
"l+d N 8OeOboJo0+/ WO~ouX+.F+^.4.>O`ORo@o[.VX= G+(opX +&Xa DOa moa.(OmXUXVX:.wo$ E.EO<X$+hX:.RXhX5+= / +.bo9+jXtoG+6.+.zoqX8og+` ",
"lXd N I+eOboJo0+;+WOuXJ d.4.A+|ow bO[.$ zX6XpXmo&Xa a DOa &XmoXo|.[ 0 woC+-OC+[X$ woj So$+E.&oo./ .o<O~o}OGXjXtoG+6.+.zoRo8oa+Ko",
"]O`.To0 C.bo:+0+to3XjOT+roU+MON.rX0o3+:+momo&Xa DODO&X&X +I I ZOUXY.DXS rX5+-Oi.$ wowo| jXyXj+5Xto.oF++.J +.|oF+G+!X+.!oN+8o[O7X",
"< W.mXhoVOJ ) 0+F+-OEX.X.Xw MO&o[X7OrX(o&XmoDOa &XmoI pX0+0+(oC.1+bO`OkoS 5+DXi.i.ko3XyXC.4.XOHo!O- d.GX~oGX|ouXj.rO<O>OY.KOFO;o",
"fOs+q.3+7+~o+OKXy p+C+S ko.XMOMOE.dXzo) T+4.I +I pX0+@.2OG+KX`ON j w .XrXDX| MOx FXF e -oeOj+/ 5X^..oF+- 'O| rOlOA.d.= @+s }X_.",
"Uo% ,o+ ro+.6.j.:+woE.S `O.Xw w i.Z -O0o*.&o(o(o0+@.2OG+XoXon Ro`o-O`OWorXN.Fo= A+o.yXzoe C.QXXO;+HoQX= -O3+$+6XuoZOjOEXP+q #XHX",
"AXBo8 AoU+d.A.: j.&oR rXS kow MOko$ 0 P+I.4.pXKXG+j.Xo: ).Xo9+foAo<XsO| .XN.EXf+! 3XWO= a.>O7+yXa.N.So_ON+T &oXoJoboc 5+N zO] 5 ",
"cX.+Z.b.[Xc y n @.F 8O5+S .XEX!.zoT+FXRX+ E+KXj.lO: )./On XoFXK+`Xu+:X0oY.+ pOw.=OVX3+RoZ qXVX=OZ _OqX} w.Ao-oG++O~o4.]oq.)o..9o",
" VotXToI+T+J ) KXuXp+5+*+F / - jO!OF _Oj : Xo: uo/On JoJo2OOXqX|.n.I+I+8O8ORX8ORXRXRX:.RXn.UXKOYOZ Z 3++ Roy lOrO<OF VXKOr.$. ",
" 8+^oJ.w.= GX!XlO).qOgO<O~o+.<O.o!O= 0oroG+uo/O6XJo:+xXxXXo).:+:+) ) xXxXxX+O+Oz+6.6.6.6.:+E.8opOhoZ 3+:XkolOn y - jX-.$X^X_. ",
" >.*X].u+5+toy n @.Hox 9+}O~oGXd.5XU+h tolOJo:+) xXz+6.!XrOrOA.>oZOy @X}OJ uX~o+.GX<OF++.!X'XmX3+|._OVXpO5XG++OuXzXwo[ ]X=+4 ",
" 9oJX{oTo#oVOuXz+G+Jo*+XO}OuX+.F+zX$ qXz+n xX+Oz+6.rOE+A.ZOy @X}OJ uX9++.GXF+d..ojO^.to~ojOToP+hobO0 =ODX/OuoA.F+7+=O8oB.T.o ",
" CX1XAOYOEX.oZO/O@.5X! <OJ 9+^.{X0oE.).+O6.!XrOA.>oZO@Xbo}OuX~o9++.<OF+d.jO- ^.toc 5Xy {X8oYO:.C+qO[X- G+xXJ c kovOBOW _. ",
" MXnXZ.fop+T+uXz+j.uoWO!o^.F `OVXiO!.2Ouo/On 6XJo:+:+) xX+O+O6.6.!XrOE+E+A.>oZOy @Xy xXwomX$ 'O^.>OA+: uoA.F+zo_OiOH d+<o ",
" @Ox+1oYOEX- y JoKXbo| p+_ON+P+;XsOgOgOgOgO= = gOgOgO{X{X{X{X{XgOgOgOgOgOgO= = = gOFodXbOj+@XXOjXE+Xoz+uX5X.Xb.$X}XiX ",
" eo5O*o0Xn.'O+.rO).@.4.+ YOpOUX;XaXY Y ++++;X8om+To(O(ON 0XTo1+[ mX&Om+q.`XiOiO&ON 7 Y.f+- c jXd.G+:+y .oFX} I.P G.MX ",
" 0OLor `oDX;+J z+Xoj.>O0oYOY.dXu+`o@+YO3+R 5+MOMOkoS 5+DXi.sOwoj $+]o8On.:.EODX`O&oWOeO4.f+zXXo/OA.GX4.woN 9 }oD+ ",
" <o~+sX`X'XjX^.@X) j.lOgOY.YO=ORoI+DXroC.Ho;+j+eOVOzoyXFXa.= x jXN.`O`OqOFo= FXF -oQXzoN.T+lO).!X~oHoN.`os Y+MocX ",
" A Bo3o0X|.>OF+ZO:+G+lO7+N+Z U+T+F+9+<O.o^.5XXOQXC.e F FXroqOS 5+koU+jXx gOo.F OX!..Xj+lO).6.J torow.X k+e+Uo ",
" o W+f XvO:.F <OZO) j.G+Ho`OFX+.@XJ +.F+- c / j+T+'O!.w [XE.i.5+koN.f+Fo!.a.gOw w jOXo).6.}O- A+hom+cO_oo+ ",
" cX_ g.u 7OSoe <Oy xXlO@.>ogO! 4.GX+.<OjOto/ e 3XDXhXp+R EOsODXrXw qOjXjX.Xi.roE+G+/O!XJ - 7+n.1+$XcoLOcX ",
" 4 k pop UXSoF d.boz+uo2O: !O*+! zoHo5XOXqO$+ho_O0 8O]oSoE.i.5+S Wo[Xj N.- : j.6XE+uX^.>On.To$X$O O4 ",
" 6+=Xvop b.:.>O^.uXE+:+lOKXn !Ox w j } 0oY.w.} Z bOI+p+hXhXp+8OSof+^./O2Ouo+OZOGX5Xro_O[ $X:Ok.>. ",
" 6OCodo$Xfo_O|o/ GXy 6.6XXoKXlOy e w p+Ro+ Y.Y.'X=O_ORXsOf+T+ZOlOG+).) A.J d.4.N.w.m+$XvXk.^O ",
" 6+& H+gomX0oC+F - 9+y !X:+).G+KXG+n E++.^.;+Ho- 9+rO/OG+2OXo/OxXE+bo<Oc o.wou+I.+oco OAX ",
" qoM 4o^+5ob.hoU+C.- 9+boA.z+Jo/O: Xo2O2O2O2OG+j.Xo).n ) !X>oJ <O!OOX.XVX0Xs oOfXLOMX ",
" cX5.NOvoXXq.u+#oN.zo5Xd.9+}Oy A.!X6.z++Oz+z+6.rO>o@XJ +.jO/ !o`OZ 7 I.nOwOe+o+cX ",
" o . WXH.=.Nom+7ORo[X3XOX/ ^.d.GX+.9+~o9+9++.<O.otoXO'OjXEOw.[.I.no|OkXU Uo ",
" <o&.b oXy+$XX 0XdX3+R S f+gOFXyXOXzo!oFX= EXWop+w.P+&OKOBO{Oh.G.t cX ",
" MX'oPO2.6o|X%X8oq.N b.T h 'X} VXpO:X`ovO1+iOg $XV+3.Dod+iX8X ",
" <o>+M X.S+ooi+Oor s g KOKOKOg g s :ol.X+ZXbX4XaO_.<o ",
" o 4 xO}.PXNXIOJ+@ +X^ &+COyO,OhO2+..$._.4 ",
" 9oMX( %./XaoKoKo' ;o_.IXMX9o "
};

BIN
share/pixmaps/check.ico

Binary file not shown.

After

Width:  |  Height:  |  Size: 766 B

BIN
share/pixmaps/favicon.ico

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

BIN
share/pixmaps/nsis-header.bmp

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
share/pixmaps/nsis-wizard.bmp

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

BIN
share/pixmaps/send16.bmp

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
share/pixmaps/send16mask.bmp

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 B

BIN
share/pixmaps/send16masknoshadow.bmp

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 B

BIN
share/pixmaps/send20.bmp

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
share/pixmaps/send20mask.bmp

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 B

37
share/qt/Info.plist

@ -0,0 +1,37 @@ @@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<dict>
<key>CFBundleIconFile</key>
<string>anoncoin.icns</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleGetInfoString</key>
<string>$VERSION, Copyright © 2009-$YEAR The Bitcoin developers</string>
<key>CFBundleShortVersionString</key>
<string>$VERSION</string>
<key>CFBundleVersion</key>
<string>$VERSION</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleExecutable</key>
<string>Anoncoin-Qt</string>
<key>CFBundleIdentifier</key>
<string>net.anoncoin.Anoncoin-Qt</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>net.anoncoin.AnoncoinPayment</string>
<key>CFBundleURLSchemes</key>
<array>
<string>anoncoin</string>
</array>
</dict>
</array>
<key>NSHighResolutionCapable</key>
<true/>
</dict>
</plist>

29
share/qt/clean_mac_info_plist.py

@ -0,0 +1,29 @@ @@ -0,0 +1,29 @@
#!/usr/bin/env python
# Jonas Schnelli, 2013
# make sure the Bitcoin-Qt.app contains the right plist (including the right version)
# fix made because of serval bugs in Qt mac deployment (https://bugreports.qt-project.org/browse/QTBUG-21267)
from string import Template
from datetime import date
bitcoinDir = "./";
inFile = bitcoinDir+"/share/qt/Info.plist"
outFile = "Bitcoin-Qt.app/Contents/Info.plist"
version = "unknown";
fileForGrabbingVersion = bitcoinDir+"bitcoin-qt.pro"
for line in open(fileForGrabbingVersion):
lineArr = line.replace(" ", "").split("=");
if lineArr[0].startswith("VERSION"):
version = lineArr[1].replace("\n", "");
fIn = open(inFile, "r")
fileContent = fIn.read()
s = Template(fileContent)
newFileContent = s.substitute(VERSION=version,YEAR=date.today().year)
fOut = open(outFile, "w");
fOut.write(newFileContent);
print "Info.plist fresh created"

72
share/qt/extract_strings_qt.py

@ -0,0 +1,72 @@ @@ -0,0 +1,72 @@
#!/usr/bin/python
'''
Extract _("...") strings for translation and convert to Qt4 stringdefs so that
they can be picked up by Qt linguist.
'''
from subprocess import Popen, PIPE
import glob
import operator
OUT_CPP="src/qt/bitcoinstrings.cpp"
EMPTY=['""']
def parse_po(text):
"""
Parse 'po' format produced by xgettext.
Return a list of (msgid,msgstr) tuples.
"""
messages = []
msgid = []
msgstr = []
in_msgid = False
in_msgstr = False
for line in text.split('\n'):
line = line.rstrip('\r')
if line.startswith('msgid '):
if in_msgstr:
messages.append((msgid, msgstr))
in_msgstr = False
# message start
in_msgid = True
msgid = [line[6:]]
elif line.startswith('msgstr '):
in_msgid = False
in_msgstr = True
msgstr = [line[7:]]
elif line.startswith('"'):
if in_msgid:
msgid.append(line)
if in_msgstr:
msgstr.append(line)
if in_msgstr:
messages.append((msgid, msgstr))
return messages
files = glob.glob('src/*.cpp') + glob.glob('src/*.h')
# xgettext -n --keyword=_ $FILES
child = Popen(['xgettext','--output=-','-n','--keyword=_'] + files, stdout=PIPE)
(out, err) = child.communicate()
messages = parse_po(out)
f = open(OUT_CPP, 'w')
f.write("""#include <QtGlobal>
// Automatically generated by extract_strings.py
#ifdef __GNUC__
#define UNUSED __attribute__((unused))
#else
#define UNUSED
#endif
""")
f.write('static const char UNUSED *bitcoin_strings[] = {\n')
messages.sort(key=operator.itemgetter(0))
for (msgid, msgstr) in messages:
if msgid != EMPTY:
f.write('QT_TRANSLATE_NOOP("bitcoin-core", %s),\n' % ('\n'.join(msgid)))
f.write('};')
f.close()

BIN
share/qt/img/reload.xcf

Binary file not shown.

43
share/qt/make_spinner.py

@ -0,0 +1,43 @@ @@ -0,0 +1,43 @@
#!/usr/bin/env python
# W.J. van der Laan, 2011
# Make spinning .mng animation from a .png
# Requires imagemagick 6.7+
from __future__ import division
from os import path
from PIL import Image
from subprocess import Popen
SRC='img/reload_scaled.png'
DST='../../src/qt/res/movies/update_spinner.mng'
TMPDIR='/tmp'
TMPNAME='tmp-%03i.png'
NUMFRAMES=35
FRAMERATE=10.0
CONVERT='convert'
CLOCKWISE=True
DSIZE=(16,16)
im_src = Image.open(SRC)
if CLOCKWISE:
im_src = im_src.transpose(Image.FLIP_LEFT_RIGHT)
def frame_to_filename(frame):
return path.join(TMPDIR, TMPNAME % frame)
frame_files = []
for frame in xrange(NUMFRAMES):
rotation = (frame + 0.5) / NUMFRAMES * 360.0
if CLOCKWISE:
rotation = -rotation
im_new = im_src.rotate(rotation, Image.BICUBIC)
im_new.thumbnail(DSIZE, Image.ANTIALIAS)
outfile = frame_to_filename(frame)
im_new.save(outfile, 'png')
frame_files.append(outfile)
p = Popen([CONVERT, "-delay", str(FRAMERATE), "-dispose", "2"] + frame_files + [DST])
p.communicate()

9
share/qt/make_windows_icon.sh

@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
#!/bin/bash
# create multiresolution windows icon
ICON_SRC=../../src/qt/res/icons/bitcoin.png
ICON_DST=../../src/qt/res/icons/bitcoin.ico
convert ${ICON_SRC} -resize 16x16 bitcoin-16.png
convert ${ICON_SRC} -resize 32x32 bitcoin-32.png
convert ${ICON_SRC} -resize 48x48 bitcoin-48.png
convert bitcoin-16.png bitcoin-32.png bitcoin-48.png ${ICON_DST}

162
share/setup.nsi

@ -0,0 +1,162 @@ @@ -0,0 +1,162 @@
Name Anoncoin
RequestExecutionLevel highest
SetCompressor /SOLID lzma
# General Symbol Definitions
!define REGKEY "SOFTWARE\$(^Name)"
!define VERSION 0.8.5.1
!define COMPANY "Anoncoin project"
!define URL https://anoncoin/
# MUI Symbol Definitions
!define MUI_ICON "../share/pixmaps/bitcoin.ico"
!define MUI_WELCOMEFINISHPAGE_BITMAP "../share/pixmaps/nsis-wizard.bmp"
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_RIGHT
!define MUI_HEADERIMAGE_BITMAP "../share/pixmaps/nsis-header.bmp"
!define MUI_FINISHPAGE_NOAUTOCLOSE
!define MUI_STARTMENUPAGE_REGISTRY_ROOT HKLM
!define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY}
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup
!define MUI_STARTMENUPAGE_DEFAULTFOLDER Anoncoin
!define MUI_FINISHPAGE_RUN $INSTDIR\anoncoin-qt.exe
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "../share/pixmaps/nsis-wizard.bmp"
!define MUI_UNFINISHPAGE_NOAUTOCLOSE
# Included files
!include Sections.nsh
!include MUI2.nsh
# Variables
Var StartMenuGroup
# Installer pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
# Installer languages
!insertmacro MUI_LANGUAGE English
# Installer attributes
OutFile anoncoin-0.8.5.1-win32-setup.exe
InstallDir $PROGRAMFILES\Anoncoin
CRCCheck on
XPStyle on
BrandingText " "
ShowInstDetails show
VIProductVersion 0.8.5.1
VIAddVersionKey ProductName Anoncoin
VIAddVersionKey ProductVersion "${VERSION}"
VIAddVersionKey CompanyName "${COMPANY}"
VIAddVersionKey CompanyWebsite "${URL}"
VIAddVersionKey FileVersion "${VERSION}"
VIAddVersionKey FileDescription ""
VIAddVersionKey LegalCopyright ""
InstallDirRegKey HKCU "${REGKEY}" Path
ShowUninstDetails show
# Installer sections
Section -Main SEC0000
SetOutPath $INSTDIR
SetOverwrite on
File ../release/anoncoin-qt.exe
File /oname=COPYING.txt ../COPYING
File /oname=readme.txt ../doc/README_windows.txt
SetOutPath $INSTDIR\daemon
File ../src/anoncoind.exe
SetOutPath $INSTDIR\src
File /r /x *.exe /x *.o ../src\*.*
SetOutPath $INSTDIR
WriteRegStr HKCU "${REGKEY}\Components" Main 1
# Remove old wxwidgets-based-bitcoin executable and locales:
Delete /REBOOTOK $INSTDIR\anoncoin.exe
RMDir /r /REBOOTOK $INSTDIR\locale
SectionEnd
Section -post SEC0001
WriteRegStr HKCU "${REGKEY}" Path $INSTDIR
SetOutPath $INSTDIR
WriteUninstaller $INSTDIR\uninstall.exe
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
CreateDirectory $SMPROGRAMS\$StartMenuGroup
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Anoncoin.lnk" $INSTDIR\anoncoin-qt.exe
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall Anoncoin.lnk" $INSTDIR\uninstall.exe
!insertmacro MUI_STARTMENU_WRITE_END
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)"
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "${VERSION}"
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}"
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}"
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\uninstall.exe
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe
WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1
WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1
WriteRegStr HKCR "anoncoin" "URL Protocol" ""
WriteRegStr HKCR "anoncoin" "" "URL:Anoncoin"
WriteRegStr HKCR "anoncoin\DefaultIcon" "" $INSTDIR\anoncoin-qt.exe
WriteRegStr HKCR "anoncoin\shell\open\command" "" '"$INSTDIR\anoncoin-qt.exe" "%1"'
SectionEnd
# Macro for selecting uninstaller sections
!macro SELECT_UNSECTION SECTION_NAME UNSECTION_ID
Push $R0
ReadRegStr $R0 HKCU "${REGKEY}\Components" "${SECTION_NAME}"
StrCmp $R0 1 0 next${UNSECTION_ID}
!insertmacro SelectSection "${UNSECTION_ID}"
GoTo done${UNSECTION_ID}
next${UNSECTION_ID}:
!insertmacro UnselectSection "${UNSECTION_ID}"
done${UNSECTION_ID}:
Pop $R0
!macroend
# Uninstaller sections
Section /o -un.Main UNSEC0000
Delete /REBOOTOK $INSTDIR\anoncoin-qt.exe
Delete /REBOOTOK $INSTDIR\COPYING.txt
Delete /REBOOTOK $INSTDIR\readme.txt
RMDir /r /REBOOTOK $INSTDIR\daemon
RMDir /r /REBOOTOK $INSTDIR\src
DeleteRegValue HKCU "${REGKEY}\Components" Main
SectionEnd
Section -un.post UNSEC0001
DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)"
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall Anoncoin.lnk"
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Anoncoin.lnk"
Delete /REBOOTOK "$SMSTARTUP\Anoncoin.lnk"
Delete /REBOOTOK $INSTDIR\uninstall.exe
Delete /REBOOTOK $INSTDIR\debug.log
Delete /REBOOTOK $INSTDIR\db.log
DeleteRegValue HKCU "${REGKEY}" StartMenuGroup
DeleteRegValue HKCU "${REGKEY}" Path
DeleteRegKey /IfEmpty HKCU "${REGKEY}\Components"
DeleteRegKey /IfEmpty HKCU "${REGKEY}"
DeleteRegKey HKCR "anoncoin"
RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup
RmDir /REBOOTOK $INSTDIR
Push $R0
StrCpy $R0 $StartMenuGroup 1
StrCmp $R0 ">" no_smgroup
no_smgroup:
Pop $R0
SectionEnd
# Installer functions
Function .onInit
InitPluginsDir
FunctionEnd
# Uninstaller functions
Function un.onInit
ReadRegStr $INSTDIR HKCU "${REGKEY}" Path
!insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup
!insertmacro SELECT_UNSECTION Main ${UNSEC0000}
FunctionEnd

15
share/ui.rc

@ -0,0 +1,15 @@ @@ -0,0 +1,15 @@
bitcoin ICON "pixmaps/bitcoin.ico"
#include "wx/msw/wx.rc"
check ICON "pixmaps/check.ico"
send16 BITMAP "pixmaps/send16.bmp"
send16mask BITMAP "pixmaps/send16mask.bmp"
send16masknoshadow BITMAP "pixmaps/send16masknoshadow.bmp"
send20 BITMAP "pixmaps/send20.bmp"
send20mask BITMAP "pixmaps/send20mask.bmp"
addressbook16 BITMAP "pixmaps/addressbook16.bmp"
addressbook16mask BITMAP "pixmaps/addressbook16mask.bmp"
addressbook20 BITMAP "pixmaps/addressbook20.bmp"
addressbook20mask BITMAP "pixmaps/addressbook20mask.bmp"
favicon ICON "pixmaps/favicon.ico"
Loading…
Cancel
Save