Black Pharao Release

Version 4.2.1.0
- wallet makeover
- staking behaviour adjustments
- non mandatory update-
- no need for updating daemons (only recomended if used for staking)
This commit is contained in:
TrianglesCommunityProject
2015-07-22 23:00:36 +02:00
parent 69cc21394f
commit 627c13c0fc
357 changed files with 67423 additions and 37689 deletions
+1 -2
View File
@@ -1,5 +1,4 @@
Copyright (c) 2014 Triangles Team
Copyright (c) 2013-2014 Triangles Team
Copyright (c) 2014-2015 Triangles Team
Copyright (c) 2011-2012 PPCoin Developers
Copyright (c) 2009-2014 Bitcoin developers
+1 -1
View File
@@ -1,4 +1,4 @@
Triangles (TRI) "Pharao" Version 4.0.0.4 Release,
Triangles (TRI) "Black Pharao" Version 4.2.1.0 Release,
Triangles is a cool new crypto currency that features TOR implementation and secure messaging.
+4 -4
View File
@@ -10,9 +10,9 @@ rpcpass = ""
if rpcpass == "":
access = ServiceProxy("http://127.0.0.1:8332")
access = ServiceProxy("http://127.0.0.1:19111")
else:
access = ServiceProxy("http://"+rpcuser+":"+rpcpass+"@127.0.0.1:8332")
access = ServiceProxy("http://"+rpcuser+":"+rpcpass+"@127.0.0.1:19111")
cmd = sys.argv[1].lower()
if cmd == "backupwallet":
@@ -24,7 +24,7 @@ if cmd == "backupwallet":
elif cmd == "getaccount":
try:
addr = raw_input("Enter a Bitcoin address: ")
addr = raw_input("Enter a Triangles address: ")
print access.getaccount(addr)
except:
print "\n---An error occurred---\n"
@@ -126,7 +126,7 @@ elif cmd == "getreceivedbyaccount":
elif cmd == "getreceivedbyaddress":
try:
addr = raw_input("Enter a Bitcoin address (optional): ")
addr = raw_input("Enter a Triangles address (optional): ")
mc = raw_input("Minimum confirmations (optional): ")
try:
print access.getreceivedbyaddress(addr, mc)
-31
View File
@@ -1,31 +0,0 @@
Gavin's notes on getting gitian builds up and running:
You need the right hardware: you need a 64-bit-capable CPU with hardware virtualization support (Intel VT-x or AMD-V). Not all modern CPUs support hardware virtualization.
You probably need to enable hardware virtualization in your machine's BIOS.
You need to be running a recent version of 64-bit-Ubuntu, and you need to install several prerequisites:
sudo apt-get install apache2 git apt-cacher-ng python-vm-builder qemu-kvm
Sanity checks:
sudo service apt-cacher-ng status # Should return apt-cacher-ng is running
ls -l /dev/kvm # Should show a /dev/kvm device
Once you've got the right hardware and software:
git clone git://github.com/bitcoin/bitcoin.git
git clone git://github.com/devrandom/gitian-builder.git
mkdir gitian-builder/inputs
wget 'http://miniupnp.tuxfamily.org/files/download.php?file=miniupnpc-1.6.tar.gz' -O gitian-builder/inputs/miniupnpc-1.6.tar.gz
cd gitian-builder
bin/make-base-vm --arch i386
bin/make-base-vm --arch amd64
cd ..
# To build
cd bitcoin
git pull
cd ../gitian-builder
git pull
./bin/gbuild --commit bitcoin=HEAD ../bitcoin/contrib/gitian.yml
@@ -1,38 +0,0 @@
---
name: "boost"
suites:
- "lucid"
architectures:
- "i386"
packages:
- "mingw32"
- "faketime"
- "zip"
reference_datetime: "2011-01-30 00:00:00"
remotes: []
files:
- "boost_1_47_0.tar.bz2"
script: |
TMPDIR="$HOME/tmpdir"
mkdir -p $TMPDIR/bin/$GBUILD_BITS $TMPDIR/include
tar xjf boost_1_47_0.tar.bz2
cd boost_1_47_0
echo "using gcc : 4.4 : i586-mingw32msvc-g++
:
<rc>i586-mingw32msvc-windres
<archiver>i586-mingw32msvc-ar
<cxxflags>-frandom-seed=boost1
;" > user-config.jam
./bootstrap.sh --without-icu
./bjam toolset=gcc target-os=windows threadapi=win32 threading=multi variant=release link=static --user-config=user-config.jam --without-mpi --without-python -sNO_BZIP2=1 -sNO_ZLIB=1 --layout=tagged --build-type=complete $MAKEOPTS stage
for lib in chrono date_time exception filesystem graph iostreams math_c99f math_c99l math_c99 math_tr1f math_tr1l math_tr1 prg_exec_monitor program_options random regex serialization signals system test_exec_monitor thread_win32 unit_test_framework wave wserialization; do
mkdir $lib
(cd $lib ; ar xf ../stage/lib/libboost_${lib}-mt-s.a)
mv $lib $TMPDIR/bin/$GBUILD_BITS
done
cp -a boost $TMPDIR/include
cd $TMPDIR
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
zip -r boost-win32-1.47.0-gitian.zip *
cp boost-win32-1.47.0-gitian.zip $OUTDIR
-71
View File
@@ -1,71 +0,0 @@
---
name: "bitcoin-deps"
suites:
- "lucid"
architectures:
- "i386"
packages:
- "mingw32"
- "git-core"
- "zip"
- "faketime"
- "wine"
reference_datetime: "2011-01-30 00:00:00"
remotes: []
files:
- "openssl-1.0.1b.tar.gz"
- "db-4.8.30.NC.tar.gz"
- "miniupnpc-1.6.tar.gz"
- "zlib-1.2.7.tar.gz"
- "libpng-1.5.12.tar.gz"
- "qrencode-3.2.0.tar.bz2"
script: |
#
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
#
tar xzf openssl-1.0.1b.tar.gz
cd openssl-1.0.1b
./Configure --cross-compile-prefix=i586-mingw32msvc- mingw
make
cd ..
#
tar xzf db-4.8.30.NC.tar.gz
cd db-4.8.30.NC/build_unix
../dist/configure --enable-mingw --enable-cxx --host=i586-mingw32msvc CFLAGS="-I/usr/i586-mingw32msvc/include"
make $MAKEOPTS
cd ../..
#
tar xzf miniupnpc-1.6.tar.gz
cd miniupnpc-1.6
sed 's/dllwrap -k --driver-name gcc/$(DLLWRAP) -k --driver-name $(CC)/' -i Makefile.mingw
sed 's|wingenminiupnpcstrings $< $@|./wingenminiupnpcstrings $< $@|' -i Makefile.mingw
make -f Makefile.mingw DLLWRAP=i586-mingw32msvc-dllwrap CC=i586-mingw32msvc-gcc AR=i586-mingw32msvc-ar
cd ..
mv miniupnpc-1.6 miniupnpc
#
tar xzf zlib-1.2.7.tar.gz
cd zlib-1.2.7
make -f win32/Makefile.gcc PREFIX=i586-mingw32msvc- $MAKEOPTS
cd ..
#
tar xzf libpng-1.5.12.tar.gz
cd libpng-1.5.12
./configure -disable-shared CC=i586-mingw32msvc-cc AR=i586-mingw32msvc-ar STRIP=i586-mingw32msvc-strip RANLIB=i586-mingw32msvc-ranlib OBJDUMP=i586-mingw32msvc-objdump LD=i586-mingw32msvc-ld LDFLAGS="-L../zlib-1.2.7/" CFLAGS="-I../zlib-1.2.7/"
make $MAKEOPTS
cd ..
#
tar xjf qrencode-3.2.0.tar.bz2
cd qrencode-3.2.0
./configure CC=i586-mingw32msvc-cc AR=i586-mingw32msvc-ar STRIP=i586-mingw32msvc-strip RANLIB=i586-mingw32msvc-ranlib OBJDUMP=i586-mingw32msvc-objdump LD=i586-mingw32msvc-ld png_LIBS="../libpng-1.5.12/.libs/libpng15.a ../zlib-1.2.7/libz.a" png_CFLAGS="-I../libpng-1.5.12"
make $MAKEOPTS
cd ..
#
zip -r $OUTDIR/ppcoin-deps-0.0.1.zip \
$(ls qrencode-*/{qrencode.h,.libs/libqrencode.{,l}a} | sort) \
$(ls db-*/build_unix/{libdb_cxx.a,db.h,db_cxx.h,libdb.a,.libs/libdb_cxx-?.?.a} | sort) \
$(find openssl-* -name '*.a' -o -name '*.h' | sort) \
$(find miniupnpc -name '*.h' -o -name 'libminiupnpc.a' | sort)
# Kill wine processes as gitian won't figure out we are done otherwise
killall wineserver services.exe explorer.exe winedevice.exe
@@ -1,74 +0,0 @@
---
name: "ppcoin"
suites:
- "lucid"
architectures:
- "i386"
packages:
- "mingw32"
- "git-core"
- "unzip"
- "nsis"
- "faketime"
reference_datetime: "2011-01-30 00:00:00"
remotes:
- "url": "https://github.com/ppcoin/ppcoin.git"
"dir": "ppcoin"
files:
- "qt-win32-4.7.4-gitian.zip"
- "boost-win32-1.47.0-gitian.zip"
- "ppcoin-deps-0.0.1.zip"
script: |
#
mkdir $HOME/qt
cd $HOME/qt
unzip ../build/qt-win32-4.7.4-gitian.zip
cd $HOME/build/
export PATH=$PATH:$HOME/qt/bin/
#
mkdir boost_1_47_0
cd boost_1_47_0
mkdir -p stage/lib
unzip ../boost-win32-1.47.0-gitian.zip
cd bin/$GBUILD_BITS
for lib in *; do
i586-mingw32msvc-ar rc ../../stage/lib/libboost_${lib}-mt-s.a $lib/*.o
i586-mingw32msvc-ranlib ../../stage/lib/libboost_${lib}-mt-s.a
done
cd ../..
mv include/boost .
cd ..
#
unzip ppcoin-deps-0.0.1.zip
#
find -type f | xargs touch --date="$REFERENCE_DATETIME"
#
cd ppcoin
mkdir -p $OUTDIR/src
git archive HEAD | tar -x -C $OUTDIR/src
cp $OUTDIR/src/doc/README_windows.txt $OUTDIR/readme.txt
cp $OUTDIR/src/COPYING $OUTDIR/license.txt
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
$HOME/qt/src/bin/qmake -spec unsupported/win32-g++-cross MINIUPNPC_LIB_PATH=$HOME/build/miniupnpc MINIUPNPC_INCLUDE_PATH=$HOME/build/ BDB_LIB_PATH=$HOME/build/db-4.8.30.NC/build_unix BDB_INCLUDE_PATH=$HOME/build/db-4.8.30.NC/build_unix BOOST_LIB_PATH=$HOME/build/boost_1_47_0/stage/lib BOOST_INCLUDE_PATH=$HOME/build/boost_1_47_0 BOOST_LIB_SUFFIX=-mt-s BOOST_THREAD_LIB_SUFFIX=_win32-mt-s OPENSSL_LIB_PATH=$HOME/build/openssl-1.0.1b OPENSSL_INCLUDE_PATH=$HOME/build/openssl-1.0.1b/include QRENCODE_LIB_PATH=$HOME/build/qrencode-3.2.0/.libs QRENCODE_INCLUDE_PATH=$HOME/build/qrencode-3.2.0 USE_QRCODE=1 INCLUDEPATH=$HOME/build DEFINES=BOOST_THREAD_USE_LIB BITCOIN_NEED_QT_PLUGINS=1 QMAKE_LRELEASE=lrelease QMAKE_CXXFLAGS=-frandom-seed=ppcoin QMAKE_LFLAGS=-frandom-seed=ppcoin USE_BUILD_INFO=1
make $MAKEOPTS
cp release/ppcoin-qt.exe $OUTDIR/
#
cd src
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
make -f makefile.linux-mingw $MAKEOPTS DEPSDIR=$HOME/build ppcoind.exe USE_UPNP=1 DEBUGFLAGS="-frandom-seed=ppcoin"
i586-mingw32msvc-strip ppcoind.exe
mkdir $OUTDIR/daemon
cp ppcoind.exe $OUTDIR/daemon
cd ..
mkdir nsis
git archive HEAD | tar -x -C nsis
cd nsis/src
mkdir ../release
cp ../../release/* ../release/
cp ../../src/*.exe .
makensis ../share/setup.nsi
cp ../share/ppcoin-*-win32-setup.exe $OUTDIR/
-56
View File
@@ -1,56 +0,0 @@
---
name: "ppcoin"
suites:
- "lucid"
architectures:
- "i386"
- "amd64"
packages:
- "libdb4.8++-dev"
- "qt4-qmake"
- "libqt4-dev"
- "libboost-system-dev"
- "libboost-filesystem-dev"
- "libboost-program-options-dev"
- "libboost-thread-dev"
- "libssl-dev"
- "git-core"
- "unzip"
- "pkg-config"
- "libpng12-dev"
reference_datetime: "2011-01-30 00:00:00"
remotes:
- "url": "https://github.com/ppcoin/ppcoin.git"
"dir": "ppcoin"
files:
- "miniupnpc-1.6.tar.gz"
- "qrencode-3.2.0.tar.bz2"
script: |
INSTDIR="$HOME/install"
export LIBRARY_PATH="$INSTDIR/lib"
#
tar xzf miniupnpc-1.6.tar.gz
cd miniupnpc-1.6
INSTALLPREFIX=$INSTDIR make $MAKEOPTS install
cd ..
#
tar xjf qrencode-3.2.0.tar.bz2
cd qrencode-3.2.0
./configure --prefix=$INSTDIR --enable-static --disable-shared
make $MAKEOPTS install
cd ..
#
cd ppcoin
mkdir -p $OUTDIR/src
git archive HEAD | tar -x -C $OUTDIR/src
cp $OUTDIR/src/doc/README $OUTDIR
cp $OUTDIR/src/COPYING $OUTDIR
cd src
make -f makefile.unix STATIC=1 OPENSSL_INCLUDE_PATH="$INSTDIR/include" OPENSSL_LIB_PATH="$INSTDIR/lib" $MAKEOPTS ppcoind USE_UPNP=1 DEBUGFLAGS=
mkdir -p $OUTDIR/bin/$GBUILD_BITS
install -s ppcoind $OUTDIR/bin/$GBUILD_BITS
#
cd ..
qmake INCLUDEPATH="$INSTDIR/include" LIBS="-L$INSTDIR/lib" RELEASE=1 USE_QRCODE=1
make $MAKEOPTS
install ppcoin-qt $OUTDIR/bin/$GBUILD_BITS
-54
View File
@@ -1,54 +0,0 @@
---
name: "qt"
suites:
- "lucid"
architectures:
- "i386"
packages:
- "mingw32"
- "zip"
- "faketime"
reference_datetime: "2011-01-30 00:00:00"
remotes: []
files:
- "qt-everywhere-opensource-src-4.7.4.tar.gz"
script: |
INSTDIR="$HOME/qt/"
mkdir $INSTDIR
SRCDIR="$INSTDIR/src/"
mkdir $SRCDIR
#
tar xzf qt-everywhere-opensource-src-4.7.4.tar.gz
cd qt-everywhere-opensource-src-4.7.4
sed 's/$TODAY/2011-01-30/' -i configure
sed 's/i686-pc-mingw32-/i586-mingw32msvc-/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf
sed --posix 's|QMAKE_CFLAGS\t\t= -pipe|QMAKE_CFLAGS\t\t= -pipe -isystem /usr/i586-mingw32msvc/include/ -frandom-seed=qtbuild|' -i mkspecs/unsupported/win32-g++-cross/qmake.conf
sed 's/QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads/QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf
sed 's/QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads/QMAKE_LFLAGS_EXCEPTIONS_ON = -lmingwthrd/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf
sed --posix 's/QMAKE_MOC\t\t= i586-mingw32msvc-moc/QMAKE_MOC\t\t= moc/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf
sed --posix 's/QMAKE_RCC\t\t= i586-mingw32msvc-rcc/QMAKE_RCC\t\t= rcc/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf
sed --posix 's/QMAKE_UIC\t\t= i586-mingw32msvc-uic/QMAKE_UIC\t\t= uic/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf
# ar adds timestamps to every object file included in the static library
# providing -D as ar argument is supposed to solve it, but doesn't work as qmake strips off the arguments and adds -M to pass a script...
# which somehow cannot be combined with other flags.
# use faketime only for ar, as it confuses make/qmake into hanging sometimes
sed --posix "s|QMAKE_LIB\t\t= i586-mingw32msvc-ar -ru|QMAKE_LIB\t\t= $HOME/ar -Dr|" -i mkspecs/unsupported/win32-g++-cross/qmake.conf
echo '#!/bin/bash' > $HOME/ar
echo 'export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1' >> $HOME/ar
echo 'i586-mingw32msvc-ar "$@"' >> $HOME/ar
chmod +x $HOME/ar
#export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
./configure -prefix $INSTDIR -confirm-license -release -opensource -static -no-qt3support -xplatform unsupported/win32-g++-cross -no-multimedia -no-audio-backend -no-phonon -no-phonon-backend -no-declarative -no-script -no-scripttools -no-javascript-jit -no-webkit -no-svg -no-xmlpatterns -no-sql-sqlite -no-nis -no-cups -no-iconv -no-dbus -no-gif -no-libtiff -opengl no -nomake examples -nomake demos -nomake docs
find . -name *.prl | xargs -l sed 's|/\.||' -i
find . -name *.prl | xargs -l sed 's|/$||' -i
make $MAKEOPTS install
cp -a bin $SRCDIR/
cd $INSTDIR
find . -name *.prl | xargs -l sed 's|/$||' -i
#sed 's|QMAKE_PRL_LIBS.*|QMAKE_PRL_LIBS = -lQtDeclarative -lQtScript -lQtSvg -lQtSql -lQtXmlPatterns -lQtGui -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtNetwork -lQtCore -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32|' -i imports/Qt/labs/particles/qmlparticlesplugin.prl
# as zip stores file timestamps, use faketime to intercept stat calls to set dates for all files to reference date
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
zip -r $OUTDIR/qt-win32-4.7.4-gitian.zip *
Binary file not shown.
Binary file not shown.
Binary file not shown.
-28
View File
@@ -1,28 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: SKS 1.1.0
mQENBE5UtMEBCADOUz2i9l/D8xYINCmfUDnxi+DXvX5LmZ39ZdvsoE+ugO0SRRGdIHEFO2is
0xezX50wXu9aneb+tEqM0BuiLo6VxaXpxrkxHpr6c4jf37SkE/H0qsi/txEUp7337y3+4HMG
lUjiuh802I72p1qusjsKBnmnnR0rwNouTcoDmGUDh7jpKCtzFv+2TR2dRthJn7vmmjq3+bG6
PYfqoFY1yHrAGT1lrDBULZsQ/NBLI2+J4oo2LYv3GCq8GNnzrovqvTvui50VSROhLrOe58o2
shE+sjQShAy5wYkPt1R1fQnpfx+5vf+TPnkxVwRb3h5GhCp0YL8XC/BXsd5vM4KlVH2rABEB
AAG0K1dsYWRpbWlyIEouIHZhbiBkZXIgTGFhbiA8bGFhbndqQGdtYWlsLmNvbT6JATgEEwEC
ACIFAk5UtMECGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEHSBCwEjRsmmy6YIAK09
buNXyYQrJBsX16sXxEhx5QPKyF3uHJDFJv66SdnpvIkNoznsaPiRJkbTANop93FZmaGa6wVn
zGDiz7jPA8Dpxx5aAYPhIT+zPJAdXWM3wJ/Gio9besRNzniai8Lwi5MZ9R/5yFGBobm6/AcN
4sUoqA3NSV2U3I29R0Vwlzo8GVtmyi9ENSi6Oo7AcXNTRt69cxW4nAHkB+amwwDJlcAb31ex
bogYXPhScwqQZixRr+JBkKxBjkTXXnQypT4KI5SegYwQVYfyiZmDP7UHKe/u6pSKKbVphLg8
xLB5spcXse8/a2+onrbNlw6y8TXiJ++Z54PE7zztWTXf2huakeG5AQ0ETlS0wQEIAMNO3OkP
xoPRKWzBLcI7JRITAW+HNaLTq3uN2+4WxA57DEjbL9EDoAv+7wTkDAL40f0T+xiu6GJcLFjw
GJZu/tYu7+mErHjrdo+K4suCQt7w5EXCBvOLjhW4tyYMzNx8hP+oqzOW9iEC+6VV91+DYeqt
EkJuyVXOI4vzBlTw8uGow8aMMsCq8XVvKUZFTPsjGl197Q5B3A+ZOFCR8xqiqdPjuz6MglVV
oFdDNu3EZn8zkGsQlovXoE9ndVeVzx/XMNmsxFaMYsReUs253RIf1FEfgExID0fg2OnyLCjS
2iFW1RgajS+/saIkKl+N1iuMzJA7wMAM0plhRueOG0MtZSsAEQEAAYkBHwQYAQIACQUCTlS0
wQIbDAAKCRB0gQsBI0bJpmsDB/4waenn2CvSHXyomykfpwf5lMte1V5LvH3z5R2LY+1NopRv
LSz3iC39x69XWiTbhywDfgafnGPW4pWBOff2/bu5/A6z1Hnan1vyrRRD/hx1uMJ7S6q+bIvZ
iVIg1p0jH6tdIIhwX3cydhdRZHo7e9oSMgOUWsr6Ar59NRo9CENwGPE4U61HXfOnxWdrFWoA
XdwZczBeLxmUy6Vo6sKqv+gE4bqrtAM0sY/MsQ9cU95x+52ox/sq44lQMwd3ZBYUP7B1qbHI
hZSZuch6MLi5scLPeau0ZvCaljiaMeivP5+x0gWPRs0kI+9sZxInbqvrsJ6oOBJM3xYGhtn1
zZ7qmZR7
=si/k
-----END PGP PUBLIC KEY BLOCK-----
@@ -1,38 +0,0 @@
---
name: bitcoin
urls:
- http://bitcoin.org/bitcoin-latest-linux-gitian.zip
rss:
- url: http://sourceforge.net/api/file/index/project-id/244765/mtime/desc/limit/100/rss
xpath: //item/link/text()
pattern: bitcoin-\d+.\d+.\d+-linux-gitian.zip
signers:
0A82509767C7D4A5D14DA2301AE1D35043E08E54:
weight: 40
name: BlueMatt
key: bluematt
BF6273FAEF7CC0BA1F562E50989F6B3048A116B5:
weight: 40
name: Devrandom
key: devrandom
E463A93F5F3117EEDE6C7316BD02942421F4889F:
weight: 40
name: Luke-Jr
key: luke-jr
D762373D24904A3E42F33B08B9A408E71DAAC974:
weight: 40
name: "Pieter Wuille"
key: sipa
77E72E69DA7EE0A148C06B21B34821D4944DE5F7:
weight: 40
name: tcatm
key: tcatm
01CDF4627A3B88AAE4A571C87588242FBE38D3A8:
weight: 40
name: "Gavin Andresen"
key: gavinandresen
71A3B16735405025D447E8F274810B012346C9A6:
weight: 40
name: "Wladimir J. van der Laan"
key: laanwj
minimum_weight: 120
Binary file not shown.
@@ -1,52 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.10 (GNU/Linux)
mQINBFAsDREBEADD88DdBoGu/rMpNYWyzXNWfHI5su/JX1tfzM/pb/iSrC4ywOtZ
P7wCqqAB1lhuT94j2m8kpv/VSb98Q7ZURxbwY/zEQnDuifiBCj5hO4lWTdSKgmLy
8xVR7WHEYCscKFl92mG6tqDewnD2oX5NyJrFeXPAM9R9jBIDc2oyUVznv5Rb2YUp
D4rdIHbEMoe524Ucw8ez5Kxtf0OW0Zbrraq1utbcL3B99FMnoSaXq5AiGTmcI3Xm
Mx8T8E6I2gd6ZLEtJbgzG7B8so/0tbpGIYExzatjWEzuDEPAgAB028nNWf8q+SE+
G3Zo/ZrCenGYPmDKIaSlqmdhqHe22AGtn+k6gzvLVN9MHY2exIWhu2R8uw6cGCbG
piw7HPDR0epgf5im50rr/k9ZgELhURqDezeHCwRBFtBZd+1sLgzMocYybq7XM9e6
dcHRZoXamlMibKoYMp30jfyb5mVYwnOJAQNUkFxwZOJXONOvwEyO+89ep0c7H/I5
h/4F7UGTpRB84HpkZCK+rxOg90UpOQEAA1OKi2od5DNBtu9JnXOD8Ki9lXHaGgL2
H6Q+ugntvsYmcJZ22IkymZ1DPaEPJa8Y/pwovl9rYac1A1v9PFkl2XsE2EZyipmF
QjTSimnmvCCIXFSG7yN4iP/H/+vP8kdV2HuPfLnq7i0uIe9q9s0ogtZEpwARAQAB
tCVyaWNoYXJkc21pdGggPGljZWVhdHNjcmVhbUBnbWFpbC5jb20+iQI+BBMBAgAo
BQJQLA0RAhsDBQkSzAMABgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCiiuz9
atLt+MecD/9qO/1ALT4EH5MewKG6mMT9hrbsIf07Cc0uKl4/hpbElK2iEclcXdj6
fXyxVF0+1Vl8Bfkj47n4sL8aOmVjZ8YpFcW59GqE9Me9Sw7bPE5x8Ly2Am+NMkhz
myq3aJX54bzUGvBxCNwZYV46DxKjsOLrw2I/Tzt2zjzROlCW/r4IpEuFAQY5zzNv
YryzWuaJF27pVZH2od9X0nEfn7qBoDYWEtvlI5jfsL4HI0bd4Ws9xMrkjHKBaFaC
H5sxZS7mxicTRf4qeP/XKxdEI461sg28wYewnIBqYm8OEkwFS3YB51hlA1ufi3Za
m5sMmiut8H5jq0QXH+LWWQAADOnCbMrr3zbkaueMvLzjUsR1EtbYlpGPHXwk9eVk
9XckZ1hMjUl5VCBLzquuGuJonUfb5plxEDJ2MCkkkhBJ6DR3yMpjS//ogi52fwlI
0yltpyXUXcgURwvQ1pwpTkjbD09KqUmxViULFMLXT3e6vRc5pH9e7mja5LxSe/No
Kqm0RdFlM/2CMDQ0ByNUGWjAPozuxm5PeO0ypS3+tDBiLcgZnayWelsuHzR4BCmk
LkXiNTrIlXSJpBWsg5D99ni8VrFGLwn9PBaDrOsztfL8iDFgVUzPbizbEEAbKiYq
lo/qnq2nrxR7YtChJQwhKlc0NHOWmqJOp2+AIW+L1LfDiVo3wuH6XrkCDQRQLA0R
ARAA0e4sHZQDTZZ9DdmML1yhL9C0DqsBaDTiKQY+s9lanrjSs7HKgv8bK+gTNvng
/O0M1/xhSOsgepq5lpdl7h5QqGZ1oCSF3QYxCeGe85g9SKBsUFNbYwdS2JXBwO3V
1euBM2pNSmNL0PYiTsWylUQPymUZ4ww2n6giVYWmsEqSF/Ld/kkfODzJAP4AwBIJ
f+2GY+vWcvxNKES1JT98p/dlMMMXeDKqcXIIzoZbnpk5gd21oGXbMwaf9s8bK8ob
BMqZCORmSnG9npRSfFXDHSa2983nGPUoL8bMzeyDu/1PViclxTWtI012gYp99pRm
JXzGiGdBmuLItAQW5o8DWXfiiobYd5H0+PfAX62H5oXTWH1T5jblyxcyA+fYU71t
wCRZ93OEHv0Q/RafH6Fr+ltZVnpPmYpJ4gyWpyoP2j91N6KaVyrfbCaN0Cyv4bQG
JCg8Ss8UqOnsFj88KikYwRMVxJp5E6MpM0yEuIU+vrB+58yOmeNCQ+LwBNnltCmC
9v0YYibMbmUv4wRvScGHPAfJ3CWndRbIObXoMlLs9nayMCqpBTEDGhTKheocQdMo
aLt3OJsaTmFKE7iFGKImGgUdD94kbkzb7R+ZRlI9mNNiq+Kuj19CSAVdM9vttjyt
whPYPR6d4GNWZFS+Gg9k2Bv7O2cDYh78Go7ywuAtPkcTMv8AEQEAAYkCJQQYAQIA
DwUCUCwNEQIbDAUJEswDAAAKCRCiiuz9atLt+PAXEACLd967Sz06DpjMHqgHahCr
m1Kt13EM/mbrnoFJWePTp1JAtlzSMXKsWo7zOCC71dyI8PEfjylsZiuC3uL54DDl
JlQmlXa6/qi1KnqroJEkZ+YoDnIy/jiN1L3SqMVwUeQrd5N0koPZflpnoAq1np97
wWDwK8NqALq5VsqXhVWvXeqjDM1q9+7fO7xDQLFZ0MNhqoMBdE4QRRkw55XWJKS9
RI/hxDFuCJlK04eFTU/5pUSksEZZ0vl43YkXlN54qiyOvkVL2Aq9gVgvdaqGbG8x
kVSEtJK9XTwlo+BA/sFCMlR4NL1XCrrvv9/1SwiFAFSV4dz6Cg9ObAonNh0mbnwj
IaaBzS18pqRzqZg69aZzlKp6LxBYOmZTQuPiwdF0Cn/b5VNtgLKInmOvDvpHFWE2
H4dU3Al/B+3o1Bm24mAgLQHGFh4GN4BV1ge+Lijiz+N0sUfPsqtHaP3RNZsm/4oL
zyVuoSMRL+NtkB03SID7CBzrVLGWRGgeWjLfLz+wnrDGlWz0N7dKJx76nayTvsM2
xd81jat8FyHFFoB5D4xn+czbkCq1k3giyKqilz2NNXX0G7kUiU0D+tvIb76qP389
9uiMAuC5q1Ibo+k3pOZrWWHX3c9HB1Qlry9Qw57Y4ncqjRcdMf884da5mTmCjl/d
EwL78xfzdw9iYRRwoeP+IQ==
=jMKy
-----END PGP PUBLIC KEY BLOCK-----
@@ -1,52 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.10 (GNU/Linux)
mQINBFAs/eYBEADJq87tlE9Lu4dtgzKcnLrY6m7Eab3fPL4aW+g1PC3O4rMn2jjT
vp4TU+DHBgt9r+DBpiK48v9fd3BNpg8mB25pDgdWtoBj64D1YxlU/NxbwnR4SGDD
nSCjp/Z+ZxTCjUHfAu384P9nsSvMFksVhhzgd9JXvxJzB61odjgPRVs5buJtLzrg
v7jJdBZPDC2R9kJIggdrrN4sWhE9o3VQ4kFMxEu3KGJSLZuGRdwr1Ni5jxpo1Hio
Xf1LDKJ5+kTb2YpHL9trxe9ELt3HLa5mryCVff1wwN+MBwsXdvxTjF2RXJUWbKlC
M78DjLCCyM5T1XPb4D0dp/olEhNqI6IrBhR9rEOVR5Rbsl49lfhQIUEDAVlogAoG
yzwQMO/NGOD0NUgQV/7ZIN1fpKPuipJsCId2UvzuxzjwtMf20VUI5OPKRk122OOv
9c91y9fI9H6rgHKcS96HLM840pkQmr00CpsEtCjtYxvOKCakCcbq4SHZSrB2gjcK
msY/DfEjO5An/LXh5IbEiSSgSXfCTSXMU7yB36yX4CniIDTEe044DlTwhSGUnw65
alTp4taaswjB+yhAWI5IXOGifFyOAFW0BhGpDHuWoevUHKYXMla9czB0Jn1VIX/E
bAPxi5sZKHjhhjZY6ngZAO2HXliWHXIeLvwjUdE0+AAP5B+eh7kyMV7mlQARAQAB
tCJzY290dG5hZGFsIDxzY290dC5uYWRhbEBnbWFpbC5jb20+iQI+BBMBAgAoBQJQ
LP3mAhsDBQkSzAMABgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRAu6TbaW7w+
y477EAC9yNgDSSdSmqUVQdrPdEn1RyZl4sjAznuRk+CKffi83/ZwjZJkT12GapPF
9/wW/YXGGbb2wUK17xIz8ZcKCjZeSf8w0HNwFfy8bOOkewpJ3QMp+PO61KTa1sfn
hJvPKQTxKAM49tiq1O/x5hppKCrJjPzlH41+4rfrFk7+v5ZHusIDqxIzepS+MyNy
fhmCq1Pd2w/R3zHIDH7R8uuuJKDDkZhhJgQjjxGo4Mqo6UaJOHsmLNGmQi+at/Eu
BssrO2OHSShCvA6/fvKXN4XEFxm7w3WUylw3h47j1hXhQClqBJrLA08N7+iNqKKg
DX2ePpWIptwjJyqn/6UtEfFyeIBQITpxyrVoWCtdnNdo03AQpraPV8DICyxQY3e9
FFKkrod+XKeGqs7Lsk5mPUOQVl7KoCfmW+M1vcvEpK7wElSRUdy0Fw0s6BiYN1xH
baOsBIvc1KWN9x//ctJPcjxEONiPDKv1dyWUYIWieSTrFjP6aOLoe0uGkDXxxlEs
4X4ZAgLUXs4j62on9lsFH1pVAQOpbmVS06vmmHQTR3skG9D8s4jVn1dyJQ35I0ml
P0IH4DazTTld6laYptd4CqlohotME+yh9VqiQ0Tg1u6L4VwYsBN6AKGgOq+T8T0b
VPNK1+Si9Poq4J/wPPqUQRzxSgWbX5Ho/k+6t0R8dpne6oFGrbkCDQRQLP3mARAA
mIA7DN9DT1xN0uazTRXV4lqFTuG+86iPU35eUtReGcChYwq0V56bV+gywObo4fAP
QsynzCUvtk+8FSL++SLysIaD/VAu3YAqsI/shzA/KG77ZqgR3/E6pnkaN8aFVPRf
dFFbBYioXP2MkOMd2MqPSnUI5+dMKnJ4HBQvucG5yxdR7VKP9VxBwQcfZEcE+l8a
yRyaAr3NNDm69Qxb6TeiJlwSQvcY4FhnP9EpIW11DEIvCEKKr6X0UoWFTm7dSfLk
n2e1IsK1kk3Uy45KzrR/4dYB7PhEP0VjLZ4bueXMjvZW8YBUoC6emOU/3B+/j3GO
N+62XE9u0Vsh2uzRnOqjucn+i83Og7+1VaXVRh77giWTlDTAeJARRGa6ScmxI9Vk
MJgbe2oseDxTv9QF5guqLUNe0MlUZ/9SXXjou/D+L/S9Beo775sfn57gANDbaGRm
9795YyAHphl26Qp7es3uj99mlK7tGDHajb2JkJutMtaevGuVNN9QlUrhr7klPOAd
6jdAxsU9Sn/gnUBZJbCFoQlUveEjkSu24/tYoo6Oy7VgMxwt/CMhB5HzVOpY20Ym
BDTO9P9MBeD0/wSPyanHc+XVepXWwsp4EC5RVnJFLf+o3vmeQYqiF0qXuapLmLnK
XqSD+M+uIr15XxTLLx9vsjUVN/xkLu7DCgyVeRA3ytUAEQEAAYkCJQQYAQIADwUC
UCz95gIbDAUJEswDAAAKCRAu6TbaW7w+yxsEEACu+7g6trtjYQZ3FStCK8OZOAJl
jefUONgZX8woSSmyeVlg5Ex9cSvAgfOhiM2J2+K8aI53woOsiE3LihElaX+Qi+hE
GgjsFdd6lNn3i5gFydDHs6uLvtVAXxAOOOaXWT/ucsTgBRGcY4H1QYlkTGD8Xsf8
qyUOzP/s8RQbvIrGrQtLN3O9r8wDBzDdZZjp/IZZaY6VT1r3AvF2mX+ip8/OqxNc
Yd3qxf8s7Kyn0eChSq1DAp83XMWxCje2EwXXzDA7Jd0pMAppWevFks4INGyCxz+9
jOZ4Ris2a907ShWmIg8bw40r5L69j59qPk0fr44X6XVguN9zmKpLV5fyY88Qy9iq
8uy/3UVprZ0LnPbBXhbDsFkgiDOo2zCJfaVhPirMlpPJg/T5pFyAt+klrq6bD+tD
50Hh9gOpXXg58bELJhOtDUCV6Froc99LeqoBvlKJWqr58QguO2mn1cFJcP+nVzxz
DBpB/dWsmQst/NQ3YlgfVr6CcgqlCqVI4yNT91Q5Ns8/pdkcUBIVDUC+4oyKwA4n
XZMmydPJDdUiluwVSeIw0N/jiZhBJvMJHlOQ3xmb8In0WXcnE5JbibCITTN/T224
jL14ObF+aMWlFanqRDUwllEQFv0Wa9dgTaHzxl+l9Ojw+YaYt/96UTtEJaMaxmww
JzdBFnCP7RoNHIQ20A==
=CQsQ
-----END PGP PUBLIC KEY BLOCK-----
Binary file not shown.
@@ -1,52 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.10 (GNU/Linux)
mQINBFAsDOMBEACysMqtJfC7ikO2o+ioQZvHSSbL2R2zdgYxPjtQvLqbNMiJyV3q
vwXGWh0Z3eGu/cpHvfN6mguwHqgh319AtU6wiOHX/1yGMf2MUNFhoh8RlDWhZ+ba
gMTv7pcZKE2Ca7JgDtLNWd+NpjYrlGDSEEFl2vTohKKd+V7hRjyMc8iLkLjVdtdd
OTuFQeyNB8DUMUr3GuaPr52RgidZdMbJ0QSnEQeN9/ZTYjmYfREO+mal+2G/OKMk
6naUcGrhwHimc02WDddkqMhe5eZsU3XG+WqrD5NkN3my72XjkqSE1++k2+XgnOon
pUOciWfF3R3RBlOn0MlfKvNa/GXZ7PFxke3tkxdym8BV10l8spV++tPuhxovR7Gp
XG8Mt66uxlFc4S9wTg5FJilk2W75LK+FjFLAk9gJ24IHUawdSpLdCM+a4/JL1Ys+
CQUuQA06Xdq3x8iuZSduRrnLeFEkM/F6JmyH22L8b5ptIm/wgjCaa+R/8P5ROO/E
FM1z7sw2RK12ZNPqwrNysePSVze2MGNdPnmb2KDcxSlxoK6Nzcef5xGkP/WwdBnd
WN2iA70I0S8DEywpY3hrJ4YIDg+SvCsoRIBH90PUORQ5Uhfj15QbmT2bZrqoFaDY
1+dWmijsPJ6+6MYjDWte/WVDSqTJEa22R/SAjGETGmUig7OqE7FFaQFLPwARAQAB
tCNzdW5ueWtpbmcgPHN1bm55a2luZzk5OTlAZ21haWwuY29tPokCPgQTAQIAKAUC
UCwM4wIbAwUJEswDAAYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQGPNEBNK5
Xmp4hg//f/rUs1ABrsd7ciHN0ByOH/WKdlUNNvf8jua86mHdPcHAFtZ3HC8ICVLe
7TAUMEgQ1Vsmk1QBILCaE50cD9iya4uCYCpBN6RZXUd09Te+ugb+VUYda4NmVbF+
ZYidDjLwFZ3MV4uXZLWMGnxVDYVrBDHdfvFkZvi+/thtEME+Ea84diBZcAW/ncUb
AMNxNsmOTlTcPuB47UZVxg2vSJWkJe9O6IpuF782+49O14hsxidPMV+BKOaYWwoj
wGlJ+NDkobaQ/a0lI0aGHL1KXA58mNMB0i7SoYB8YJMfL2+lx0AZsvxaqFmuMcPf
zo7I9UCyf/gHorQaxsbz2/LUfpFL4T7IWt9IJkVe8TT9KQV8T0l9uUaQtX3iLwqQ
IRJWdQZMpnENhEgkSLRSkmCV/162ksYoboSpfI3Qhz1h0yqnwHAGBKSbE/2IGVo5
3m/27xUFy5+7WeiON7DelYS6mx4UiAkhSWj4/u60YNnq5eTAYQFqawtSwIiO9pLH
C1gqOCoakESdFCQfABNsI6paIkfTylZhLd20qrr9qvBfvOgpMRXbO6xBPYp92/UK
9uRkFFCJORLBUl9saLfZa4Hw1CcY06IA3XXBx2/kp42aeAnWrfzqLvXwFZGtOJie
ajQsJUeDLFjbsYmw9FP8izK2H6plEa3PLFDz2gP+MSLZ5+13eES5Ag0EUCwM4wEQ
AMTFatCCzaUPwFpM9GyC7JwIWofDRpZBigXnzTC8RwHnb1ruWliFUkTEeSB8z7pC
3DaQ+owf0TUqj0c8Ui3SVfCcQqIJuWBycxxUnSaqWvz7wRaRN+WG4gaWgA2z7k4Q
CMmVhbxTaaZ67rfqtFOKM7EaIqOBE+AKg5BCCrxnja/xR0eZxRLwZKXqfakgqXy8
HaWOzLPU6zMheTXu4YW5S6jvZOaMRkKI5xEUdQf/UPYkwYM6PaA/o70rTSGuQ/mc
zwFZp7FxKqKINPBSJLu1CjhnnrZM37y26I5O+nErDTinvYg5Rkq5wV3gMNbzpOdA
qPdw2qkVwKWDErNrA9amKuM0/fpvu/kXkGnfkugvt3Rokc3MQO2u5HI1eO571zaV
GoDt1oYjpKPuu6JMe2b5D1fLhyHicGaH8V2vpJi6+01Ww09srKemox54J4Z/Xjw6
gyaWuPkCHO3roNjeGMtzbbJeOYEZC/AMTuqmnv3gHXENgrxKjCkkGddH8t7nZUNT
zmTMHrqOzhacRIp/6jpKCNXea2FaeRQECtDD2awNxUpmFFQeGpXJGsGc/GYHqvtV
HxWOiio1BpHhjCySHCYpqsq/GtGVdxNVz6o7H0/i4wipT7Q2dKVKbSuapaqI01jv
40019gtjOV7Gw8fX0MLt3ViCQVHpDxdMN/vkumw9YKA1ABEBAAGJAiUEGAECAA8F
AlAsDOMCGwwFCRLMAwAACgkQGPNEBNK5XmpymA//UXydFKX11RGloxzMfdgoFvjw
mNoZeS5Sv22hpsS2XswqAIbGdI/s2PbEzLv6nn0ck1PUFn9wL+TxB9GF2wWelpI4
qe1mKsedJbj9PG6Wx2Invn6IcEInMrSLspBWiJJL2eP4y1hjAGG4v1wxPXQ4/FNe
OvXzAwShz79nVY35MDPBpL/dlhRJAIe/T7pYiI/HB8p4bI9MbtJcfp61oRPt17UC
vIQFnKKkwPT99i3PsOqAa8mVa2Ae4EElHG844Hr89ptHrGjudssfBf4kOaENMQqE
MFlyGaT9CLrD/2Qs/rXqFz3VAQykw/Cuw0kiRJjS5xKZZjVbz3Zd9suklk6YkSpI
jLzcPPON8nC6wvtUus5d0gtQeGx2DaX9n2+ubKlZgTSvT41PO/2Th9o3CgptHYJT
59ncrZP515yd0ZMknZ9bFt9BaE3V17hblOjFXoFqmAhwXyHQD9Ffd62AO1h2JNx5
BAr4D7VyxJ3WX1yJFtdGsU7iD6ko4HahRepfp8UMtyVRLWVPGVmNq38Tozb4dhyh
fk3MxiatbEXQZbvFVr8WfGoNOIXB4Kg68NGxwZv6Jd5lobDOQjVYOykD2UpuOXmY
VRanFk5eIy0UWYAwUNP+XnjGHdwtX4ZYh+O4wDnWEZd4soVMXzOBuyWTSKahHhZi
KIjGheFAFTRFLgBmol4=
=Qxzm
-----END PGP PUBLIC KEY BLOCK-----
Binary file not shown.
@@ -1,38 +0,0 @@
---
name: bitcoin
urls:
- http://bitcoin.org/bitcoin-latest-win32-gitian.zip
rss:
- url: http://sourceforge.net/api/file/index/project-id/244765/mtime/desc/limit/100/rss
xpath: //item/link/text()
pattern: bitcoin-\d+.\d+.\d+-win32-gitian.zip
signers:
0A82509767C7D4A5D14DA2301AE1D35043E08E54:
weight: 40
name: BlueMatt
key: bluematt
BF6273FAEF7CC0BA1F562E50989F6B3048A116B5:
weight: 40
name: Devrandom
key: devrandom
E463A93F5F3117EEDE6C7316BD02942421F4889F:
weight: 40
name: Luke-Jr
key: luke-jr
D762373D24904A3E42F33B08B9A408E71DAAC974:
weight: 40
name: "Pieter Wuille"
key: sipa
77E72E69DA7EE0A148C06B21B34821D4944DE5F7:
weight: 40
name: tcatm
key: tcatm
01CDF4627A3B88AAE4A571C87588242FBE38D3A8:
weight: 40
name: "Gavin Andresen"
key: gavinandresen
71A3B16735405025D447E8F274810B012346C9A6:
weight: 40
name: "Wladimir J. van der Laan"
key: laanwj
minimum_weight: 120
Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.
+1 -1
View File
@@ -22,7 +22,7 @@
<integer>370</integer>
<integer>156</integer>
</array>
<key>BlueChip-Qt.app</key>
<key>triangles-Qt.app</key>
<array>
<integer>128</integer>
<integer>156</integer>
+74 -24
View File
@@ -250,7 +250,6 @@ def copyFramework(framework, path, verbose):
fromPath = "/Library/Frameworks/" + framework.sourceFilePath
else:
fromPath = framework.sourceFilePath
toDir = os.path.join(path, framework.destinationDirectory)
toPath = os.path.join(toDir, framework.binaryName)
@@ -431,12 +430,17 @@ ap = ArgumentParser(description="""Improved version of macdeployqt.
Outputs a ready-to-deploy app in a folder "dist" and optionally wraps it in a .dmg file.
Note, that the "dist" folder will be deleted before deploying on each run.
Optionally, Qt translation files (.qm) and additional resources can be added to the bundle.""")
Optionally, Qt translation files (.qm) and additional resources can be added to the bundle.
Also optionally signs the .app bundle; set the CODESIGNARGS environment variable to pass arguments
to the codesign tool.
E.g. CODESIGNARGS='--sign "Developer ID Application: ..." --keychain /encrypted/foo.keychain'""")
ap.add_argument("app_bundle", nargs=1, metavar="app-bundle", help="application bundle to be deployed")
ap.add_argument("-verbose", type=int, nargs=1, default=[1], metavar="<0-3>", help="0 = no output, 1 = error/warning (default), 2 = normal, 3 = debug")
ap.add_argument("-no-plugins", dest="plugins", action="store_false", default=True, help="skip plugin deployment")
ap.add_argument("-no-strip", dest="strip", action="store_false", default=True, help="don't run 'strip' on the binaries")
ap.add_argument("-sign", dest="sign", action="store_true", default=False, help="sign .app bundle with codesign tool")
ap.add_argument("-dmg", nargs="?", const="", metavar="basename", help="create a .dmg disk image; if basename is not specified, a camel-cased version of the app name is used")
ap.add_argument("-fancy", nargs=1, metavar="plist", default=[], help="make a fancy looking disk image using the given plist file with instructions; requires -dmg to work")
ap.add_argument("-add-qt-tr", nargs=1, metavar="languages", default=[], help="add Qt translation files to the bundle's ressources; the language list must be separated with commas, not with whitespace")
@@ -637,6 +641,15 @@ for p in config.add_resources:
# ------------------------------------------------
if config.sign and 'CODESIGNARGS' not in os.environ:
print "You must set the CODESIGNARGS environment variable. Skipping signing."
elif config.sign:
if verbose >= 1:
print "Code-signing app bundle %s"%(target,)
subprocess.check_call("codesign --force %s %s"%(os.environ['CODESIGNARGS'], target), shell=True)
# ------------------------------------------------
if config.dmg is not None:
def runHDIUtil(verb, image_basename, **kwargs):
hdiutil_args = ["hdiutil", verb, image_basename + ".dmg"]
@@ -715,31 +728,68 @@ if config.dmg is not None:
if fancy.get("applications_symlink", False):
os.symlink("/Applications", os.path.join(disk_root, "Applications"))
finder = appscript.app("Finder")
disk = finder.disks[disk_name]
disk.open()
window = disk.container_window
window.current_view.set(appscript.k.icon_view)
window.toolbar_visible.set(False)
window.statusbar_visible.set(False)
if fancy.has_key("window_bounds"):
window.bounds.set(fancy["window_bounds"])
view_options = window.icon_view_options
view_options.arrangement.set(appscript.k.not_arranged)
if fancy.has_key("icon_size"):
view_options.icon_size.set(fancy["icon_size"])
if bg_path is not None:
view_options.background_picture.set(disk.files[os.path.basename(bg_path)])
# The Python appscript package broke with OSX 10.8 and isn't being fixed.
# So we now build up an AppleScript string and use the osascript command
# to make the .dmg file pretty:
appscript = Template( """
on run argv
tell application "Finder"
tell disk "$disk"
open
set current view of container window to icon view
set toolbar visible of container window to false
set statusbar visible of container window to false
set the bounds of container window to {$window_bounds}
set theViewOptions to the icon view options of container window
set arrangement of theViewOptions to not arranged
set icon size of theViewOptions to $icon_size
$background_commands
$items_positions
close -- close/reopen works around a bug...
open
update without registering applications
delay 5
eject
end tell
end tell
end run
""")
itemscript = Template('set position of item "${item}" of container window to {${position}}')
items_positions = []
if fancy.has_key("items_position"):
for name, position in fancy["items_position"].iteritems():
window.items[name].position.set(position)
disk.close()
params = { "item" : name, "position" : ",".join([str(p) for p in position]) }
items_positions.append(itemscript.substitute(params))
params = {
"disk" : "triangles-Qt",
"window_bounds" : "300,300,800,620",
"icon_size" : "96",
"background_commands" : "",
"items_positions" : "\n ".join(items_positions)
}
if fancy.has_key("window_bounds"):
params["window.bounds"] = ",".join([str(p) for p in fancy["window_bounds"]])
if fancy.has_key("icon_size"):
params["icon_size"] = str(fancy["icon_size"])
if bg_path is not None:
subprocess.call(["SetFile", "-a", "V", bg_path])
disk.update(registering_applications=False)
sleep(2)
disk.eject()
# Set background file, then call SetFile to make it invisible.
# (note: making it invisible first makes set background picture fail)
bgscript = Template("""set background picture of theViewOptions to file "$bgpic"
do shell script "SetFile -a V /Volumes/$disk/$bgpic" """)
params["background_commands"] = bgscript.substitute({"bgpic" : os.path.basename(bg_path), "disk" : params["disk"]})
s = appscript.substitute(params)
if verbose >= 2:
print("Running AppleScript:")
print(s)
p = subprocess.Popen(['osascript', '-'], stdin=subprocess.PIPE)
p.communicate(input=s)
if p.returncode:
print("Error running osascript.")
if verbose >= 2:
print "+ Finalizing .dmg disk image +"
+1 -1
View File
@@ -5,7 +5,7 @@ Python 2.7 and make it your default Python installation.
You will need the appscript package for the fancy disk image creation to work.
Install it by invoking "sudo easy_install appscript".
Ths script should be invoked in the target directory like this:
This script should be invoked in the target directory like this:
$source_dir/contrib/macdeploy/macdeployqtplus triangles-qt.app -add-qt-tr da,de,es,hu,ru,uk,zh_CN,zh_TW -dmg -fancy $source_dir/contrib/macdeploy/fancy.plist -verbose 2
During the process, the disk image window will pop up briefly where the fancy
+2 -2
View File
@@ -10,13 +10,13 @@ import re
import sys
if len(sys.argv) != 3:
sys.exit("Usage: %s $QTDIR/translations $BITCOINDIR/src/qt/locale"%sys.argv[0])
sys.exit("Usage: %s $QTDIR/translations $TRIANGLESDIR/src/qt/locale"%sys.argv[0])
d1 = sys.argv[1]
d2 = sys.argv[2]
l1 = set([ re.search(r'qt_(.*).qm', f).group(1) for f in glob.glob(os.path.join(d1, 'qt_*.qm')) ])
l2 = set([ re.search(r'bitcoin_(.*).qm', f).group(1) for f in glob.glob(os.path.join(d2, 'bitcoin_*.qm')) ])
l2 = set([ re.search(r'triangles_(.*).qm', f).group(1) for f in glob.glob(os.path.join(d2, 'triangles_*.qm')) ])
print ",".join(sorted(l1.intersection(l2)))
+1 -1
View File
@@ -1,5 +1,5 @@
from jsonrpc import ServiceProxy
access = ServiceProxy("http://127.0.0.1:8332")
access = ServiceProxy("http://127.0.0.1:19111")
pwd = raw_input("Enter old wallet passphrase: ")
pwd2 = raw_input("Enter new wallet passphrase: ")
access.walletpassphrasechange(pwd, pwd2)
+1 -1
View File
@@ -1,4 +1,4 @@
from jsonrpc import ServiceProxy
access = ServiceProxy("http://127.0.0.1:8332")
access = ServiceProxy("http://127.0.0.1:19111")
pwd = raw_input("Enter wallet passphrase: ")
access.walletpassphrase(pwd, 60)
+2 -2
View File
@@ -1,6 +1,6 @@
Triangles 4.0.0.4 BETA
Triangles 4.2.1.0
Copyright (c) 2014 Triangles team
Copyright (c) 2014-2015 Triangles team
Copyright (c) 2011-2012 PPCoin Developers
Distributed under the MIT/X11 software license, see the accompanying
file license.txt or http://www.opensource.org/licenses/mit-license.php.
+2 -2
View File
@@ -1,6 +1,6 @@
Triangles 4.0.0.4 BETA
Triangles 4.2.1.0
Copyright (c) 2014 Triangles team
Copyright (c) 2014-2015 Triangles team
Copyright (c) 2011-2013 PPCoin Developers
Distributed under the MIT/X11 software license, see the accompanying
file license.txt or http://www.opensource.org/licenses/mit-license.php.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

+1 -1
View File
@@ -36,7 +36,7 @@ Boost MIT-like license
miniupnpc New (3-clause) BSD license
Versions used in this release:
OpenSSL 1.0.1h
OpenSSL 1.0.2c
Berkeley DB 4.8.30.NC
Boost 1.55.0
miniupnpc 1.9
+1 -1
View File
@@ -55,7 +55,7 @@ Licenses of statically linked libraries:
Versions used in this release:
GCC 4.3.3
OpenSSL 1.0.1h
OpenSSL 1.0.2c
Berkeley DB 5.1 (4.8.30.NC should work too)
Boost 1.48
miniupnpc 1.9
Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 299 KiB

-232
View File
@@ -1,232 +0,0 @@
/* XPM */
static const char * bitcoin32_xpm[] = {
/* columns rows colors chars-per-pixel */
"32 32 194 2",
" c #745305",
". c #785704",
"X c #7C5903",
"o c #75560B",
"O c #77590F",
"+ c #7C5C0B",
"@ c #795B12",
"# c #7F631D",
"$ c #825E07",
"% c #825F0B",
"& c #85610A",
"* c #8C660C",
"= c #8E680E",
"- c #916B0F",
"; c #856515",
": c #8B6714",
"> c #8F6A16",
", c #816218",
"< c #88691C",
"1 c #926D12",
"2 c #936F1C",
"3 c #997417",
"4 c #94721E",
"5 c #9B761C",
"6 c #9F781C",
"7 c #A17B1E",
"8 c #826622",
"9 c #916E20",
"0 c #967425",
"q c #9D7420",
"w c #9C7923",
"e c #997728",
"r c #99792C",
"t c #A37D23",
"y c #A37F2C",
"u c #A68125",
"i c #AB8225",
"p c #A5832B",
"a c #AA852C",
"s c #B28A2C",
"d c #A58233",
"f c #AC8734",
"g c #AE8C33",
"h c #AC8C3C",
"j c #B28C33",
"k c #B98E34",
"l c #B28D3D",
"z c #B59136",
"x c #BC9335",
"c c #B3913E",
"v c #BC933A",
"b c #BF9A3D",
"n c #C19235",
"m c #C2953C",
"M c #C39B3C",
"N c #CA9C3D",
"B c #B59343",
"V c #BE9642",
"C c #B69A44",
"Z c #BD9A45",
"A c #B49649",
"S c #BB9A49",
"D c #BB9F52",
"F c #BFA256",
"G c #C49C43",
"H c #CA9D41",
"J c #C59D4A",
"K c #C99E4D",
"L c #C3A144",
"P c #CDA244",
"I c #CFAA47",
"U c #C3A14D",
"Y c #CDA24A",
"T c #CCAB49",
"R c #D2A644",
"E c #D2A54B",
"W c #D6AA4C",
"Q c #DAAE4E",
"! c #DAB04F",
"~ c #C7A656",
"^ c #CDA452",
"/ c #CFAC52",
"( c #C0A65E",
") c #CEA75A",
"_ c #CCAC59",
"` c #D2AB53",
"' c #DCAF52",
"] c #D6AD5A",
"[ c #D9AE5B",
"{ c #DCB556",
"} c #DFB855",
"| c #D6B25F",
" . c #DCB35C",
".. c #DEBE5E",
"X. c #E2B656",
"o. c #E1B55A",
"O. c #E6BC5D",
"+. c #E9BD5E",
"@. c #C3AA63",
"#. c #CCAD62",
"$. c #D4AF62",
"%. c #CDB565",
"&. c #CEB46D",
"*. c #D7B164",
"=. c #DBB362",
"-. c #D6BD64",
";. c #DDBA64",
":. c #D3B66C",
">. c #DFB86B",
",. c #CEB772",
"<. c #D0B771",
"1. c #D4BA73",
"2. c #D9BE77",
"3. c #D6BE79",
"4. c #D8BF7A",
"5. c #E4BB62",
"6. c #E9BF64",
"7. c #E4BC69",
"8. c #E9BF69",
"9. c #E0BB71",
"0. c #E9C05E",
"q. c #D2C279",
"w. c #DBC27C",
"e. c #E2C667",
"r. c #EDC364",
"t. c #E3C16E",
"y. c #ECC46C",
"u. c #EDCC6C",
"i. c #F1C764",
"p. c #F5CA66",
"a. c #F9CD67",
"s. c #F5CC6A",
"d. c #F9CD6B",
"f. c #FBD36F",
"g. c #EDC572",
"h. c #E5CF77",
"j. c #ECCA74",
"k. c #E0C67E",
"l. c #EFCE78",
"z. c #F6CE72",
"x. c #FBCF71",
"c. c #F4CE79",
"v. c #F4D273",
"b. c #FCD473",
"n. c #F4DC75",
"m. c #FEDA74",
"M. c #F6D77C",
"N. c #FBD47A",
"B. c #F1DA7B",
"V. c #FDDA7C",
"C. c #FEE27D",
"Z. c #DDC683",
"A. c #DFC884",
"S. c #E4CA84",
"D. c #E3CC89",
"F. c #E7D183",
"G. c #EFD280",
"H. c #EFDC82",
"J. c #ECD48D",
"K. c #EFDA8C",
"L. c #F9D783",
"P. c #F2DF83",
"I. c #FCDB83",
"U. c #F5DC8F",
"Y. c #FADD8B",
"T. c #EBD593",
"R. c #EFDA99",
"E. c #F3DD93",
"W. c #F3DF9F",
"Q. c #FFE385",
"!. c #FEE986",
"~. c #FDE48C",
"^. c #FEEC8E",
"/. c #ECE199",
"(. c #F6E591",
"). c #FEE494",
"_. c #FEEB93",
"`. c #FEE69A",
"'. c #FFEB9B",
"]. c #FFF197",
"[. c #FFF39B",
"{. c #FEF99B",
"}. c #F6E2A2",
"|. c #F9E5A5",
" X c #F7E9A5",
".X c #FEECA4",
"XX c #FBE7A8",
"oX c #FDEAAB",
"OX c #F7F2AA",
"+X c #FEF2AC",
"@X c #FDF4B4",
"#X c #FFFABA",
"$X c #FFFEC2",
"%X c None",
/* pixels */
"%X%X%X%X%X%X%X%X%X%X%X%Xp t 6 5 w t w %X%X%X%X%X%X%X%X%X%X%X%X%X",
"%X%X%X%X%X%X%X%X%Xu u x I X.0.s.u.0.W x 7 4 %X%X%X%X%X%X%X%X%X%X",
"%X%X%X%X%X%X%Xy i I i.a.f.m.m.b.f.s.a.s.i.W 7 > %X%X%X%X%X%X%X%X",
"%X%X%X%X%X%Xt M 0.a.m.m.m.m.f.d.p.p.p.f.d.f.i.b 1 < %X%X%X%X%X%X",
"%X%X%X%X%X7 ! d.f.f.m.f.+.W P R I Q 5.v.V.V.z.f.{ 5 + %X%X%X%X%X",
"%X%X%X%Xu X.f.m.m.f.' H s ~ V y _ Z J o.g.L.L.Q.!.e.5 X %X%X%X%X",
"%X%X%Xu X.b.C.m.+.N m n t }.3.> }.w.V 5.y.y.Y.[.^.^.-.1 + %X%X%X",
"%X%Xt P m.N.m.X.v v v k 6 }.1.: /.4.c 7.N.N.v.!.{.{.^.L & %X%X%X",
"%X%Xg Y.Y.V.+.m k a t t : }.1.% }.1.r | l.B.M.b.!.{.^.n.7 X %X%X",
"%Xp -._.'.Y.' Y n D.}.}.|.oXXX|.oX XT.w.F _ j.v.v._.^.C.T & @ %X",
"%Xa (.'.'.9.[ [ K S.}.oXoXoXoXXXoXoXoXoX XD / s.d.v.!.C.v.3 o %X",
"%XU '.'.Y.[ [ [ [ J f <.oXoX( 2 f S J.oXoXT.j r.s.i.C.C.C.z X %X",
"p e.'.'.F. .=.=.=.=.) 1.oXoX@.f . .F oXoX}.a +.i.i.b.C.m.I X O ",
"u w.'.[.j.5.8.7.7.7.] 2.oXoX@.y W c &.oXoXZ.k r.s.i.s.V.m.} = o ",
"u H.[.{.y.8.y.g.8.g.7.2.oXoXA.@.&.D.oXoXT.e G +.O.O.5.V.m.0.- o ",
"u !.].[.r.8.y.g.g.g.7.4.oXoXoXoXoXoXoXoXoX<.y W X.o.o.m.m.0.- o ",
"u B._._.5.5.8.y.g.c.g.w.oXoX,.h A F <..XoXoX1.k ' ' ' V.N.r.- ",
"u u.Q.~.r.6.z.N.V.I.v.k.oXoX@.B | _ c 1.oXoX}.a ' ' O.I.b.O.= o ",
"u ..Q.Q.v.i.s.c.N.L.l.Z.oXoX@.B t.=.S &.oXoXXXy Y R +.N.b.Q % o ",
"t T C.I.I.6.u.z.z.5.S 1.oXoX@.e B h D |.oXoXS.f Y Y 6.d.d.n X O ",
"%Xs m.V.Q.r.r.z.5.<.}.oXoXoXXXW.}.oXoXoXoXW.h G H R a.p.s.7 %X",
"%X7 O.V.V.v.+.r.` 4.oXoXoXoXoXoXoXoXXXR.<.h v N N o.a.p.Q = %X",
"%Xw x v.v.v.r.+. .Z l d e }.Z.r }.3.d l V G n n R a.s.a.s X O %X",
"%X%X6 { v.l.v.+.O.5.=.^ d }.4.9 }.1.f J G m m G d.d.x.Q = %X%X",
"%X%X%Xs u.v.v.v.r.6.o. .l }.4.9 W.4.l ^ ^ J ) c.N.N.y.7 X O %X%X",
"%X%X%X5 z v.v.M.I.g.;. .J 1.#.B 1.#.) 7.$.S..X'.W.Y.j $ %X%X%X",
"%X%X%X%X5 b N.Y.~.).Y.j.5.$.=.=.$.*.2.J.@X$X#X#XoXC $ %X%X%X%X",
"%X%X%X%X%X3 z U.@X+X`.`.`.(.E.E.E.|.@X@X#X#X#X/.j % %X%X%X%X%X",
"%X%X%X%X%X%Xw a q.OX|.).`._.'.'.XX.X.X+X+X X%.w X o %X%X%X%X%X%X",
"%X%X%X%X%X%X%X%Xw a _ j.~.~.).).`.`.`.F._ t & . # %X%X%X%X%X%X%X",
"%X%X%X%X%X%X%X%X%X%X4 3 t z L U Z z t 1 $ . 8 %X%X%X%X%X%X%X%X%X",
"%X%X%X%X%X%X%X%X%X%X%X%X%X< ; & + + , 8 %X%X%X%X%X%X%X%X%X%X%X%X"
};
-292
View File
@@ -1,292 +0,0 @@
/* XPM */
static const char * bitcoin80_xpm[] = {
/* columns rows colors chars-per-pixel */
"80 80 206 2",
" c #725203",
". c #785706",
"X c #7B5907",
"o c #7C5A09",
"O c #7F5F10",
"+ c #815E0B",
"@ c #85620C",
"# c #89650F",
"$ c #856313",
"% c #896614",
"& c #8D6913",
"* c #886718",
"= c #8D6B1B",
"- c #926D14",
"; c #926E1B",
": c #967116",
"> c #997317",
", c #95711E",
"< c #9B7419",
"1 c #9F781B",
"2 c #A27B1D",
"3 c #8F6F22",
"4 c #926F21",
"5 c #947323",
"6 c #9A7623",
"7 c #9D7925",
"8 c #957628",
"9 c #9A7729",
"0 c #9D7B2B",
"q c #9D7F33",
"w c #A47D23",
"e c #A97F27",
"r c #A37E2B",
"t c #9F8030",
"y c #A78021",
"u c #AC8425",
"i c #A5802D",
"p c #AC842B",
"a c #AF8829",
"s c #B2872C",
"d c #B28B2D",
"f c #A68333",
"g c #AA8633",
"h c #AD8A36",
"j c #A4863A",
"k c #A88638",
"l c #A7893B",
"z c #AC8B3B",
"x c #B28732",
"c c #B48C32",
"v c #B98E34",
"b c #B28D3B",
"n c #B88F3C",
"m c #B69033",
"M c #BD9235",
"N c #B4913D",
"B c #BC943A",
"V c #BE993C",
"C c #C19336",
"Z c #C1953B",
"A c #C49A3C",
"S c #C99C3D",
"D c #CDA13F",
"F c #D0A33F",
"G c #A88B40",
"H c #B08F40",
"J c #AE9142",
"K c #AE944C",
"L c #B49443",
"P c #BB9542",
"I c #B49946",
"U c #BD9846",
"Y c #B3964C",
"T c #BB974A",
"R c #B6994A",
"E c #BF9C4A",
"W c #B69B53",
"Q c #B99D53",
"! c #BCA055",
"~ c #BDA25A",
"^ c #C49742",
"/ c #C49C43",
"( c #CB9E42",
") c #C49D4B",
"_ c #C99E4C",
"` c #C29F52",
"' c #C5A244",
"] c #CDA245",
"[ c #C5A34C",
"{ c #CCA34B",
"} c #CCA94D",
"| c #D2A445",
" . c #D1A54B",
".. c #D5AA4E",
"X. c #DBAF4F",
"o. c #C6A352",
"O. c #CBA554",
"+. c #C5AA57",
"@. c #CEAC54",
"#. c #C4A65A",
"$. c #CDA458",
"%. c #C2A85F",
"&. c #CEAA5B",
"*. c #D0A550",
"=. c #D4AB53",
"-. c #DBAE53",
";. c #D0A75B",
":. c #D4AC5A",
">. c #D9AE5C",
",. c #CEB25E",
"<. c #D4B156",
"1. c #DDB156",
"2. c #D4B25C",
"3. c #DCB35D",
"4. c #D7B85C",
"5. c #DCBA5E",
"6. c #E2B355",
"7. c #E2B65B",
"8. c #E4BA5D",
"9. c #EABD5E",
"0. c #C5AA62",
"q. c #CCAE63",
"w. c #C6AE69",
"e. c #D5AF62",
"r. c #CEB167",
"t. c #CCB36C",
"y. c #D5B162",
"u. c #DCB462",
"i. c #D7B964",
"p. c #DCBC64",
"a. c #D2B66B",
"s. c #DCB669",
"d. c #D7BE69",
"f. c #DFB86A",
"g. c #D0B771",
"h. c #D2BA74",
"j. c #D5BE78",
"k. c #E1B766",
"l. c #E4BB63",
"z. c #E9BE63",
"x. c #E3BB6A",
"c. c #E9BF6A",
"v. c #E1BE72",
"b. c #DDC16B",
"n. c #DAC27E",
"m. c #E4C164",
"M. c #ECC264",
"N. c #E4C36B",
"B. c #EBC36C",
"V. c #E7C96F",
"C. c #EECA6E",
"Z. c #F1C564",
"A. c #F1C76A",
"S. c #F5CB6C",
"D. c #FACE6D",
"F. c #F4D06F",
"G. c #FCD06E",
"H. c #E5C371",
"J. c #EDC573",
"K. c #E4CA73",
"L. c #ECCC74",
"P. c #E7CF7A",
"I. c #EBCD7A",
"U. c #F3CD73",
"Y. c #F8CE71",
"T. c #F3CD7A",
"R. c #EDD076",
"E. c #EDD17B",
"W. c #F4D274",
"Q. c #FBD274",
"!. c #FED977",
"~. c #F3D47B",
"^. c #FDD47A",
"/. c #F5DA7C",
"(. c #FDDA7C",
"). c #FFE07F",
"_. c #DBC481",
"`. c #DFC885",
"'. c #E1CA86",
"]. c #EACC80",
"[. c #E4CD8A",
"{. c #EED383",
"}. c #E7D18F",
"|. c #EAD38C",
" X c #F4D680",
".X c #FDD780",
"XX c #F5DA83",
"oX c #FCDC84",
"OX c #F5DB8A",
"+X c #FADE89",
"@X c #EAD492",
"#X c #EED896",
"$X c #EFDA9A",
"%X c #F1DD9D",
"&X c #FDE283",
"*X c #F6E18D",
"=X c #FEE48D",
"-X c #FFE692",
";X c #FFE894",
":X c #FBE799",
">X c #FFEA98",
",X c #F6E2A3",
"<X c #FAE6A6",
"1X c #FAE7A8",
"2X c #FDEAAB",
"3X c None",
/* pixels */
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xu u u u u u u y y u y 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xu u u u u u u u u a u u u u u u a u u 2 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xu u u u u u u u s m V D ' { ' D M d u u a u u u u 2 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xu u u u u u M } m.~.oX=X=X=X=X=X-X-X=X&X/.m.=.V u u a u u w 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xu u u u u M 4.~.=X=X=X=X=X=X=X=X=X=X=X=X=X=X=X=X=X=X/.5.Z u u u u u 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xu u u u ] V.&X=X=X&X=X=X=X=X=X=X=X=X=X&X=X=X=X=X=X=X=X=X=X=XW.} a u u u 2 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xu a u u ' W.=X=X=X=X=X=X=X=X=X=X=X=X=X=X=X=X=X=X=X=X+X=X=X=X&X=X=X=X~.} a u u u < 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xu u u M N.=X&X=X=X=X=X=X=X=X-X=X=X=X=X&X=X=X=XoX=X=X=X=X&X+X=X=X=X=X=X=X=XL.M u u u < 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xu u u u } XX=X=X=X&X=X=X=X=X=X=X=X=X=X=X=X=X=X=X=X*X=X=X=X=X=X=X=X=X=X=X=X=X=X=XoX<.a u u 2 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3Xu u u s m.&X=X=X=X=X=X=X=X=X=X=X=X=X=X/.L.M.m.9.m.9.m.C.~.&X*X=X=X=X=X=X=X=X=X=X=X=X=XV.m u u 2 o 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3Xu u u c R.=X=X=X=X=X=X=X=X=X=X=XoXC.1.| S S A S D D D D ] ] ..<.N./.=X-X=X-X=X=X=X=X=X=X=XXXZ u a 2 o 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3Xu u u m XX=X=X=X=X=X=X=X=X=X=XW.3.| ^ A C M M M C S S A A A / ( { =.<.l.I.=X-X-X=X=X=X=X=X=X=X=XV a u 2 . 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3Xu u m /.=X=X=X-X=X=X=X=X=X~.1.D ] S Z v x p s u s d d v c c v V { =.7.8.7.l.T.=X-X=X-X-X-X-X-X=X=XV u a 1 3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3Xu u d /.=X=X=X=X=X=X=X=X&X8.^ A ( S M v e $.r.e.r.u w i a.a.a.&.b ^ =.l.l.l.c.z.z.XX-X-X-X-X=X-X-X;X&XV u u : 3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3Xu u s R.=X=X=X=X=X=X=X=XU.{ ^ Z C ( A M u w [.2X2X2X0 - 7 2X2X1X@Xi P *.l.x.B.U.C.z.z.W.-X-X-X-X-X-X=X-X*Xd a u # . 3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3Xu u u l.=X=X=X=X-X=X=X=Xm.Z Z Z Z n Z Z v e , '.2X2X2X5 & ; 2X2X2X}.7 b { 3.x.^.^.^.Y.A.z.R.-X;X;X;X;X-X;X-XP.a u y . 3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3Xu u } -X-X=X-X=X=X=X=Xl.M M Z C C C C C x e ; '.2X2X2X, $ = 2X2X2X}.6 h ) >.J..X.X.X.X(.W.Z.C.&X;X;X;X;X-X-X-X<.u u < 3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3Xu u c oX=X=X=X=X=X=X=Xl.Z C M M C C v v v s w = '.2X2X2X5 $ = 2X2X2X}.5 g ) u./.+X+X=X=X=X&XW.Z.F.=X;X;X;X;X-X-X*XV u y @ X 3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3Xu u u N.-X-X-X-X=X=X=XB.Z M C v v s e e e e w > % `.2X2X2X= + % 2X2X2X}.= r L 4.E.OX+X-X=X=X&X).W.M.R.;X;X;X-X-X-X;XR.u u y 3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3Xu u U -X-X-X-X-X-X=XW.^ C C C x e e r 6 5 4 ; = $ `.2X2X2X= O = 2X2X2X}.O = t Q ,.b.P./.*X=X&X&X).F.M.W.;X;X;X;X&X-X&X} u u O 3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3Xu u u R.-X-X-X-X-X-X=X=.{ ^ Z C x n 2X2X<X<X1X2X<X<X2X2X2X2X1X1X<X2X2X2X<X$X[.b.~ J I ~ b.P.&X&X&X).!.F.m.).;X;X;X;X;X&X).u y y 3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3Xu u U -X-X-X-X-X-X-Xc.=.=. ._ ^ x z 2X2X1X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X<Xn.l I ,.K./.).).).F.Z.Z.&X;X;X=X-X-X&X} u u O 3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3Xu u V.-X;X-X-X-X-XOX>.>.>.=.=._ n b 2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X:XI N +.V./.).).F.F.9.W.;X=X;X-X-X-XR.u u > 3X3X3X3X3X3X3X3X",
"3X3X3X3X3Xu u d =X;X-X-X-X-X-Xx.>.>.>.>.>...^ P 2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X,Xl N 4.R.!.!.!.G.Z.M.&X;X=X=X-X-X-XB a u 3X3X3X3X3X3X3X",
"3X3X3X3X3Xu u @.;X;X-X;X;X;XXX>.:.>.>.>.>.>._ P ` Y Y W _.2X2X2X2X2X2X@XW W ~ 0.t.'.<X2X2X2X2X2X2X2X2X'.0 ' m./.!.!.Q.S.9.F.=X;X-X=X-X&X4.u u @ 3X3X3X3X3X3X3X",
"3X3X3X3X3Xu u P.;X;X;X;X-X:XN.>.>.>.>.>.>.>.=._ P z r 4 8 2X2X2X2X2X2X_.. $ , 6 1 3 t ~ 1X2X2X2X2X2X2X2Xt B 5.G.!.!.G.G.M.9.&X;X=X-X-X=X/.u u > 3X3X3X3X3X3X3X",
"3X3X3X3Xu u d =X;X;X=X;X;X=X3.>.>.>.e.>.3.3.>.:.*._ P r 9 2X2X2X2X2X1Xn.@ , c B N m h 8 ~ 2X2X2X2X2X2X2XI h <.F.!.G.G.F.M.9.W.;X=X-X-X=X=Xm u y . 3X3X3X3X3X3X",
"3X3X3X3Xu u ' -X-X>X-X-X-X X>.>.>.>.>.>.>.u.u.u.u.3.$.P f 2X2X2X2X2X2X_.$ i / -.<.8.} h 8 1X2X2X2X2X2X2X! i <.S.G.G.G.G.Z.9.Z.=X-X=X-X&X-X} u u X 3X3X3X3X3X3X",
"3X3X3X3Xu u 4.-X-X-X-X-X-XJ.3.>.>.k.k.k.k.k.u.k.u.u.:.U k 2X2X2X2X2X1X_.% f } 8.Z.F.8.U 8 ,X2X2X2X2X2X2XI g } Z.D.G.D.G.D.Z.9.&X-X=X=X=X-Xm.u u @ 3X3X3X3X3X3X",
"3X3X3X3Xu u K.;X-X;X-X>X-Xk.3.k.k.k.k.k.k.k.k.k.k.u.e.U k 2X2X2X2X2X2X_.% f [ 8.F.M.<.b i 2X2X2X2X2X2X2Xt a X.Z.D.D.D.G.G.Z.9./.=X-X=X=X=XR.u u & 3X3X3X3X3X3X",
"3X3X3X3Xu u E.;X-X;X-X-X=Xl.l.x.c.k.x.k.k.x.x.v.x.x.u.) z 2X2X2X2X2X2X_.$ 7 L <.<.} N 6 h.2X2X2X2X2X2X_.: V 1.S.D.D.G.D.S.M.6.W.-X=X-X=X=X&Xu u > X 3X3X3X3X3X",
"3X3X3Xu a u =X;X;X;X;X;XoX7.z.c.c.c.c.c.c.c.c.c.x.k.u.) z 2X2X2X2X2X2Xn.o = i N h i l n.2X2X2X2X2X2X<Xt t D 7.M.Z.z.z.9.9.9.6.M.-X=X=X=X;X=Xm u 1 3X3X3X3X3X",
"3X3X3Xy u a =X;X;X;X;X;XXXl.z.c.c.c.c.T.J.J.T.v.J.J.s.` z 2X2X2X2X2X2X#XW ~ ~ t.n.$X2X2X2X2X2X2X2X,Xt % t V X.8.9.8.9.9.9.6.6.M.-X=X=X=X=X&XM u 2 3X3X3X3X3X",
"3X3X3Xu u m -X-X-X;X;X;X~.z.z.c.c.c.c..XJ.J.J.J.J.J.x.O.b 2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2Xw.$ * y V X.7.8.8.9.7.8.7.6.8.=X=X-X-X=X-XV a y 3X3X3X3X3X",
"3X3X3Xu a m -X-X-X;X;X;X~.7.z.c.c.c.c.c.c.J.T.J.T.J.B.O.b 2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X,X~ , c ' X.6.6.7.6.6.6.6.8.=X=X=X-X&X-XV u y 3X3X3X3X3X",
"3X3X3Xu u m -X-X-X-X-X-X/.8.l.z.c.T.c.J.c.J.T.v.J.J.x.O.G 2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2Xn.r v { 6.6.6.6.6.6.-.7.&X-X=X=X=X-XD u y 3X3X3X3X3X",
"3X3X3Xu u d =X-X-X-X-X-X~.7.z.z.c.c.c.c.c.J.c.T.T.^.T.y.R 2X2X2X2X2X2X@XK K W W W ~ h.#X1X2X2X2X2X2X2X2X2Xa.i Z ..X.6.6.-.-.6.7.-X-X-X-X-X-XD u 2 3X3X3X3X3X",
"3X3X3Xw u a =X-X-X-X-X-X~.7.7.8.c.c.c.c.T..X.X+X+X+XXXi.R 2X2X2X2X2X2Xn.. * 5 8 5 3 = * q `.2X2X2X2X2X2X2X<Xk c | X.6.-.-.-.-.z.&X;X=X;X-X;XV u w 3X3X3X3X3X",
"3X3X3Xu u u =X-X=X-X-X-X/.8.M.B.Y.T.^.^.^..X.XoXoX+XXXi.R 2X2X2X2X2X2X_.$ 0 b U U N l t 5 $ `.2X2X2X2X2X2X2X0.e Z .....-.-.6.c.;X=X;X=X;X-Xd u 1 3X3X3X3X3X",
"3X3X3X3Xu a E.-X-X-X-X-X=Xz.S.D.Y.^.Q.^.^.^..XoX+X+XXXi.R 2X2X2X2X2X2X_.= l +.u.i.,.O.E h 5 G 2X2X2X2X2X2X2X_.0 n | . .*. .*.T.-X;X;X;X-X=Xa u : 3X3X3X3X3X",
"3X3X3X3Xu u N.-X-X-X=X-X-XA.Z.S.Y.Q.Q.^.^..X.XoXoX&X.Xi.R 2X2X2X2X2X2X_.= N y.H.H.m.i.y.E f 8 2X2X2X2X2X2X2X'.6 n | . . . . ..X;X;X;X;X-X~.u u & 3X3X3X3X3X",
"3X3X3X3Xu u <.-X-X=X=X-X-XW.Z.S.Y.Y.Q.^.^.^.(..XoX=XXXi.R 2X2X2X2X2X2X_.= L 4.H.J.H.x.i.o.k j 2X2X2X2X2X2X2X_.6 B . . . .{ =.-X;X-X;X-X-Xb.a u @ 3X3X3X3X3X",
"3X3X3X3Xy a V =X=X-X-X=X-XXXZ.S.Y.Y.Y.Q.!.^..X.XoXoXE.y.I 2X2X2X2X2X2X_.= J y.b.H.N.p.&.P 0 g.2X2X2X2X2X2X2Xr.r B _ { .| ] l.-X;X;X-X-X;X..u u . . 3X3X3X3X3X",
"3X3X3X3Xy u a =X=X=X=X-X=X-XM.Z.S.Y.Y.Q.Q.^.^.^.U.J.u.E l 2X2X2X2X2X2X_.* k o.e.e.$.` P q W 1X2X2X2X2X2X2X2XG i B ] | ] ] ( ~.=X;X;X;X;X;XM u y 3X3X3X3X3X3X",
"3X3X3X3X3Xu u V.-X=X-X=X-X-XF.M.A.D.Y.Q.Y.Q.Y.B.2.[ N 0 j 2X2X2X2X2X2X_.O 5 l G z H H Q _.2X2X2X2X2X2X2X2X#X, g ^ ] ] | ] ..-X-X-X-X&X;X).u u : 3X3X3X3X3X3X",
"3X3X3X3X3Xu u } =X=X=X=X-X=X&XM.Z.S.D.W.Q.Y.B.*.a.#X@X|.,X2X2X2X2X2X2X,X[.[.}.}.%X<X2X2X2X2X2X2X2X2X2X2X<Xj 6 b / ] ] ] ] M.-X-X-X-X-X-X4.u u O 3X3X3X3X3X3X",
"3X3X3X3X3Xy u d =X=X=X=X=X=X-XS.M.A.S.S.U.A.u.) n.2X2X2X2X2X2X2X2X2X2X2X2X1X2X2X2X2X2X2X2X2X2X2X2X2X2X2XW ; i M ( S S S ] &X-X-X-X-X=X-Xm u y . X 3X3X3X3X3X3X",
"3X3X3X3X3X3Xu u p.=X=X=X=X=X-X&X9.Z.C.S.S.M.:.b [.2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X%XG = r x v C D D D m.-X-X-X-X-X-XR.u u : 3X3X3X3X3X3X3X",
"3X3X3X3X3X3Xy u B =X=X=X=X=X=X=XF.9.M.A.C.M.=.h %X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X1X#X~ 4 ; r p v v M C A | &X-X-X-X-X-X-X] u u X 3X3X3X3X3X3X3X",
"3X3X3X3X3X3Xy u u N.=X=X-X=X-X=X=XM.z.M.M.M.1.V #X%X%X%X%X$X%X%X<X2X2X2X%X$X%X2X2X2X<X[.n.t.W q = , r i x v C C C M C W.-X-X-X-X-X-X/.u u 1 X 3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3Xu u V *X=X=X*X=X=X=XoX8.M.M.M.5.{ m r , ; $ $ o o `.2X2X2X3 o $ 2X2X2X[.o $ 4 9 0 r g x v m C M C C C 8.&X-X-X-X-X-X-X[ u u @ 3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X2 u u 5.=X=X=X=X=X=X=XI.8.M.M.z.3.O.) P b r 0 4 % `.2X2X2X3 $ * 2X2X2X[.$ 4 r e ^ n n Z Z Z C C C M | =X=X-X-X-X-X-XR.u u < 3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3Xy u d XX=X=X=X=X-X=X=XS.8.8.M.M.z.z.7.{ _ U g 5 `.2X2X2X8 = 3 2X2X2X}.3 0 x ^ _ ^ ^ ^ Z ^ B ^ C .&X-X-X-X-X-X-X=XB u u o 3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X1 u u ' =X=X*X=X=X*X=X=XW.8.M.M.A.S.l.u.>.o.L r [.2X2X2X9 = 8 2X2X2X}.4 r ^ _ *.*._ ) ) ^ ^ ^ O.oX=X-X-X-X-X-X-X<.u u : . 3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3Xy u u i.=X=X=X=X=X-X*X=XW.9.M.A.B.3.5.5.;.U f [.2X2X2Xq 4 8 2X2X2X}.r q _ _ ;.;.*._ _ ` _ e.+X-X-X-X-X-X-X-XR.a u 2 3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3Xu u u K.=X=X=X-X=X=X=X=XXXz.M.8.5.8.u.:.) h }.2X2X2Xj r f 2X2X2X@Xq T _ e.e.u.e.;.$.$.b.-X-X-X=X;X=X;X-X&Xa a u + 3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3Xu u d ~.=X=X=X=X=X-X=X-X+XC.3.5.7.7.2.@.) q.r.q.q.H H L g.r.w.q.T ` e.k.v.k.k.s.s.{.-X-X;X-X;X;X;X;X*XV u u & . 3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X2 u u c XX-X=X=X=X=X-X=X-X-X Xl.7.7.u.2.$.o.[ [ o.O.$.&.&.` ` ` q.s.k.v.k.k.x.{.%X>X>X>X;X>X;X>X>X*XV u u > 3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X2 u u m ~.=X-X-X-X=X-X-X-X-X-X Xc.7.5.u.3.e.y.u.s.f.k.s.e.e.s.s.k.k.k.v. X:X>X>X>X>X>X>X;X>X>X*XV u u < 3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X2 u u d R.-X=X-X=X-X-X-X-X-X-X-X+XI.v.u.s.l.k.k.x.x.x.s.s.s.s.j.].+X>X>X>X>X>X:X>X>X>X>X>XOXV u u 1 3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X2 u u a p.-X-X-X;X;X;X-X-X-X:X-X-X-X-XOX XL.J.J.J.L.I.].OX:X>X-X>X>X-X>X>X>X>X>X>X>X>XK.a a u < 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X2 u u u @.=X;X;X>X;X-X-X>X-X-X-X-X;X-X-X-X-X-X>X>X-X>X-X>X>X>X>X;X>X>X>X-X>X-X-X:X<.u u u > 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X1 u u u m n.>X;X>X>X-X-X-X-X>X-X-X-X;X;X;X-X-X-X-X-X>X-X-X>X-X>X>X-X>X>X>X>XK.B u u u & 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xw u u u / {.>X>X-X-X-X-X-X-X-X-X-X-X;X-X-X;X:X-X-X>X-X:X>X;X;X>X;X;X{.[ u u u w + 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X2 u u u u ) K.-X-X-X-X:X-X-X-X-X-X-X-X-X-X-X-X-X>X-X-X-X-X-X-XE.[ u u u u - . 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X1 u u u u m 2.E.-X+X:X-X-X-X-X-X-X-X-X-X:X-X-X-X;X-XOXi.B u u u u 1 o 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X> u u u u u v [ l.I.OX-X-X-X-X-X-X-X-X+XI.f.@.m u u u u u 1 + o 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X& 2 u u u u u u u d B V V V V B d u u u u u u u y - . o 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X+ - 1 u u u u u u u a u u u u u u u u 2 - o o 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xo . X # - > 1 2 2 2 1 2 > - # o . o 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xo o . o 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X"
};
-468
View File
@@ -1,468 +0,0 @@
/* XPM */
static char * BottleCaps32_xpm[] = {
"32 32 433 2",
" c None",
". c #B28F63",
"+ c #C8A274",
"@ c #C69962",
"# c #C59963",
"$ c #C59861",
"% c #C8A478",
"& c #C39760",
"* c #C49863",
"= c #C49963",
"- c #C49862",
"; c #C39862",
"> c #C49A67",
", c #C09F77",
"' c #D5AD79",
") c #E3AB66",
"! c #D38019",
"~ c #D3801B",
"{ c #D3811C",
"] c #D3811B",
"^ c #D07A10",
"/ c #DD9D4E",
"( c #EECB9E",
"_ c #D78D30",
": c #D17D15",
"< c #D17B11",
"[ c #E0A051",
"} c #E0B37D",
"| c #B9966D",
"1 c #C29C6C",
"2 c #D7913A",
"3 c #E1A050",
"4 c #DD9A48",
"5 c #D17A0F",
"6 c #D3801A",
"7 c #D27D14",
"8 c #D48422",
"9 c #ECC28F",
"0 c #F6D7B1",
"a c #E6B271",
"b c #D17A10",
"c c #D88D30",
"d c #E2A65B",
"e c #D98F33",
"f c #CE9F65",
"g c #AF8F67",
"h c #D39B55",
"i c #D57F15",
"j c #D5892A",
"k c #E1A965",
"l c #D68A2D",
"m c #D17E17",
"n c #D3821F",
"o c #D3821E",
"p c #D2811C",
"q c #D07B11",
"r c #E3AF6E",
"s c #F2CFA6",
"t c #F1C999",
"u c #F0CCA0",
"v c #DA9643",
"w c #D07A11",
"x c #D38320",
"y c #D2811D",
"z c #D27F19",
"A c #E1A863",
"B c #DA9541",
"C c #D2790C",
"D c #D69645",
"E c #C3A178",
"F c #CA9E68",
"G c #D88C2E",
"H c #D27E17",
"I c #D07C14",
"J c #DC9D4E",
"K c #DFA359",
"L c #D17D16",
"M c #DA9844",
"N c #F0CEA2",
"O c #F0C897",
"P c #EDC089",
"Q c #F2CEA3",
"R c #E8BC85",
"S c #D2821F",
"T c #D07B12",
"U c #DB9846",
"V c #E0A55C",
"W c #D78622",
"X c #D09C5C",
"Y c #BC976C",
"Z c #D7984B",
"` c #D37F16",
" . c #D2811E",
".. c #D3831F",
"+. c #D9933C",
"@. c #D17C14",
"#. c #D48524",
"$. c #EAC18D",
"%. c #F2CDA1",
"&. c #EEC28C",
"*. c #EEC592",
"=. c #EFC490",
"-. c #F2D1A9",
";. c #DEA156",
">. c #D58829",
",. c #E1AA65",
"'. c #D78E33",
"). c #D17C13",
"!. c #D8933D",
"~. c #C69E6D",
"{. c #CF9D5F",
"]. c #D88621",
"^. c #D2801C",
"/. c #D38422",
"(. c #D9943D",
"_. c #E2AB66",
":. c #E3AD6B",
"<. c #F3D4AE",
"[. c #EEC490",
"}. c #EFC592",
"|. c #EFC593",
"1. c #EEC390",
"2. c #F1CB9D",
"3. c #EEC899",
"4. c #D68B2F",
"5. c #CF790E",
"6. c #DEA053",
"7. c #DEA256",
"8. c #D38321",
"9. c #D28220",
"0. c #D58118",
"a. c #D49C56",
"b. c #B5936A",
"c. c #C09259",
"d. c #D88D31",
"e. c #CF7609",
"f. c #CF780C",
"g. c #DD9D50",
"h. c #D78F35",
"i. c #EDC18B",
"j. c #EEC28D",
"k. c #EDC08A",
"l. c #F2D0A7",
"m. c #E1A862",
"n. c #D5882A",
"o. c #DEA35A",
"p. c #D07C15",
"q. c #CF7910",
"r. c #D07B13",
"s. c #CE770D",
"t. c #D58521",
"u. c #C7975B",
"v. c #B59166",
"w. c #E1B680",
"x. c #DC9740",
"y. c #DB9947",
"z. c #DB9847",
"A. c #D99540",
"B. c #DB9A48",
"C. c #E8BF8A",
"D. c #EECEA4",
"E. c #F5D9B7",
"F. c #F3D1A8",
"G. c #F3D3AB",
"H. c #F3D2AB",
"I. c #F3D3AC",
"J. c #F4D4AE",
"K. c #F5DDC0",
"L. c #EDC38E",
"M. c #E6AB60",
"N. c #DF9841",
"O. c #E19D48",
"P. c #E19D49",
"Q. c #E29D48",
"R. c #E29D49",
"S. c #E39A41",
"T. c #E7B270",
"U. c #C09C72",
"V. c #B38E62",
"W. c #EDD1AD",
"X. c #F1CA9B",
"Y. c #EEC99B",
"Z. c #EFC99B",
"`. c #EFC99A",
" + c #EFC89A",
".+ c #EEC89A",
"++ c #EEC898",
"@+ c #EEC696",
"#+ c #F2D5B1",
"$+ c #ECC89B",
"%+ c #E1A964",
"&+ c #E2AC68",
"*+ c #E3AD6A",
"=+ c #E4AD68",
"-+ c #E9BB83",
";+ c #D1B594",
">+ c #B18349",
",+ c #B38449",
"'+ c #B4864D",
")+ c #B4864E",
"!+ c #B5864D",
"~+ c #B6864D",
"{+ c #B6874E",
"]+ c #B38348",
"^+ c #C1945E",
"/+ c #C7A984",
"(+ c #C8A67D",
"_+ c #F3CFA3",
":+ c #F0C48F",
"<+ c #F0C693",
"[+ c #F0CA9B",
"}+ c #E2AC6A",
"|+ c #CE7507",
"1+ c #CF780D",
"2+ c #CF790F",
"3+ c #CF780E",
"4+ c #D27A0D",
"5+ c #DA953E",
"6+ c #96682F",
"7+ c #764205",
"8+ c #7A4606",
"9+ c #7B4707",
"0+ c #7B4708",
"a+ c #794404",
"b+ c #7B4607",
"c+ c #A37D50",
"d+ c #D7B790",
"e+ c #F5CD9D",
"f+ c #EEC28E",
"g+ c #EEC491",
"h+ c #EEC38F",
"i+ c #F2CFA4",
"j+ c #EBC28F",
"k+ c #D7841F",
"l+ c #DAA665",
"m+ c #8E5E24",
"n+ c #7F4B0B",
"o+ c #865213",
"p+ c #804A08",
"q+ c #A27946",
"r+ c #C2A47E",
"s+ c #B39066",
"t+ c #E6C49B",
"u+ c #F3C894",
"v+ c #F2CCA0",
"w+ c #EDC697",
"x+ c #D5892B",
"y+ c #D17F19",
"z+ c #D3811E",
"A+ c #D6821B",
"B+ c #CA9B61",
"C+ c #895B24",
"D+ c #804A0A",
"E+ c #855112",
"F+ c #845112",
"G+ c #7F4907",
"H+ c #94662F",
"I+ c #B9986F",
"J+ c #C5A57E",
"K+ c #F1C692",
"L+ c #EFC591",
"M+ c #F0C795",
"N+ c #EFC897",
"O+ c #DDA054",
"P+ c #DB8F30",
"Q+ c #B48851",
"R+ c #83531A",
"S+ c #824D0C",
"T+ c #845011",
"U+ c #814B0B",
"V+ c #885518",
"W+ c #B08C61",
"X+ c #D6B790",
"Y+ c #F3CB9A",
"Z+ c #F1CCA0",
"`+ c #D37F18",
" @ c #E1A255",
".@ c #A17138",
"+@ c #7C490A",
"@@ c #834E0E",
"#@ c #814C0C",
"$@ c #A47C4B",
"%@ c #C5A885",
"&@ c #AD8A5E",
"*@ c #E6C49C",
"=@ c #F2C894",
"-@ c #EFC491",
";@ c #EEC38E",
">@ c #E8BA81",
",@ c #D47F16",
"'@ c #D8A15E",
")@ c #966831",
"!@ c #7C4706",
"~@ c #804B0A",
"{@ c #976A33",
"]@ c #BD9D76",
"^@ c #C4A27B",
"/@ c #F0CCA1",
"(@ c #F1C691",
"_@ c #F1CC9F",
":@ c #EBC08D",
"<@ c #D58A2D",
"[@ c #D68219",
"}@ c #C89659",
"|@ c #8F642F",
"1@ c #7F4908",
"2@ c #814C0B",
"3@ c #89571A",
"4@ c #B28F64",
"5@ c #D5B58D",
"6@ c #F4CC9C",
"7@ c #EFC38F",
"8@ c #EEC797",
"9@ c #DC9B4C",
"0@ c #D17E18",
"a@ c #DE9437",
"b@ c #B8884D",
"c@ c #84541A",
"d@ c #824D0D",
"e@ c #834F0F",
"f@ c #A88152",
"g@ c #B08C60",
"h@ c #E3C29B",
"i@ c #F3C995",
"j@ c #F2D0A8",
"k@ c #E0A65E",
"l@ c #E1A152",
"m@ c #A97B42",
"n@ c #855113",
"o@ c #9B703B",
"p@ c #B99970",
"q@ c #C1A078",
"r@ c #EECBA1",
"s@ c #F1C591",
"t@ c #EEC18C",
"u@ c #E5B273",
"v@ c #D37D12",
"w@ c #D59B53",
"x@ c #9D7341",
"y@ c #7D4705",
"z@ c #865314",
"A@ c #814B0A",
"B@ c #8D5D22",
"C@ c #B49268",
"D@ c #D2B38C",
"E@ c #F2CC9C",
"F@ c #F1CA9C",
"G@ c #EABD87",
"H@ c #D17F18",
"I@ c #D1811D",
"J@ c #D8851D",
"K@ c #C89250",
"L@ c #906735",
"M@ c #814B09",
"N@ c #834E0F",
"O@ c #AA8456",
"P@ c #AA875C",
"Q@ c #E2C199",
"R@ c #F3CA97",
"S@ c #DA9743",
"T@ c #D07C16",
"U@ c #DF973C",
"V@ c #BC8C50",
"W@ c #804F13",
"X@ c #844F0F",
"Y@ c #9E7441",
"Z@ c #BD9D77",
"`@ c #C09F78",
" # c #EDCAA0",
".# c #F3D4AF",
"+# c #DD9E4F",
"@# c #DD9A47",
"## c #B08550",
"$# c #7B4504",
"%# c #905F26",
"&# c #B7956D",
"*# c #D1B28C",
"=# c #EFC38D",
"-# c #F3D3AD",
";# c #E2AA65",
"># c #D27B10",
",# c #D39344",
"'# c #A37D4E",
")# c #7B4402",
"!# c #865315",
"~# c #AE895D",
"{# c #E1C19B",
"]# c #F3C996",
"^# c #F0C898",
"/# c #E9BB82",
"(# c #D48627",
"_# c #D7831B",
":# c #CD944D",
"<# c #906530",
"[# c #7D4604",
"}# c #A17948",
"|# c #BB9A72",
"1# c #BF9E75",
"2# c #EDCBA1",
"3# c #EEC99C",
"4# c #D58A2C",
"5# c #DB8C2A",
"6# c #C6965B",
"7# c #7A4504",
"8# c #92642B",
"9# c #B6946B",
"0# c #CFAF89",
"a# c #F2CC9E",
"b# c #F2D3AD",
"c# c #DA9239",
"d# c #D68A2B",
"e# c #B48A57",
"f# c #814E10",
"g# c #DEBF98",
"h# c #F7D6AD",
"i# c #E2A457",
"j# c #D28C36",
"k# c #A07948",
"l# c #BA9A70",
"m# c #EACAA1",
"n# c #F4C58B",
"o# c #CE944D",
"p# c #9E7542",
"q# c #B4936A",
"r# c #D0B28C",
"s# c #F4D4AD",
"t# c #D3A975",
"u# c #AC875B",
"v# c #E5D2BB",
"w# c #E0CAAE",
"x# c #AE895C",
"y# c #BB9D78",
"z# c #C5A989",
" . + @ # # # # # # $ # % & * * = * * - ; > , ",
" ' ) ! ~ { { { { ] ^ / ( _ : { { { { { < [ } | ",
" 1 2 3 4 5 { 6 6 6 7 8 9 0 a b ! 6 6 ] 7 c d e f ",
" g h i j k l m n o p q r s t u v w x o y z A B C D E ",
" F G H I J K L y x ^ M N O P Q R S z x T U V y m W X ",
" Y Z ` .p ..A +.@.m #.$.%.&.*.=.-.;.^ L >.,.'.: x ).!.~. ",
" {.].^.x /.L (._.x ^ :.<.[.}.|.1.2.3.4.5.6.7.L 8.x 9.0.a.b. ",
" c.d.e.I T T T f.g.h.+.u }.i.j.&.j.k.l.m.n.o.p.q.I r.I s.t.u. ",
"v.w.x.y.y.z.U U A.B.C.D.E.F.G.H.H.I.H.J.K.L.M.N.O.P.O.Q.R.S.T.U.",
"V.W.X.Y.Z.`. +.+++@+#+$+%+&+*+*+*+:.:.=+-+;+>+,+'+)+!+~+{+]+^+/+",
" (+_+:+}.}.}.}.}.<+[+}+|+1+2+2+2+2+3+4+5+6+7+8+9+9+0+0+a+b+c+ ",
" d+e+f+*.g+g+g+h+i+j+m y ........o k+l+m+n+o+o+o+o+o+p+q+r+ ",
" s+t+u+1.}.g+g+h+v+w+x+y+o z+y y { A+B+C+D+E+F+E+E+G+H+I+ ",
" J+u K+g+}.L+g+M+N+O+: o o o o 6 P+Q+R+S+F+T+E+U+V+W+ ",
" X+Y+=.g+g+}.=.Z+r w o y o o `+ @.@+@T+T+E+@@#@$@%@ ",
" &@*@=@-@*.}.;@F.>@T o o y o ,@'@)@!@E+E+T+~@{@]@ ",
" ^@/@(@g+L+h+_@:@<@z o o .[@}@|@1@T+E+2@3@4@ ",
" 5@6@7@}.g+L+8@9@r.x o 0@a@b@c@d@E+e@2@f@ ",
" g@h@i@1.}.j.j@k@5.8...).l@m@!@T+n@G+o@p@ ",
" q@r@s@g+t@<.u@@.n 9.v@w@x@y@z@A@B@C@ ",
" D@E@;@1.F@G@4.H@I@J@K@L@M@N@T+O@ ",
" P@Q@R@1.-@Y.S@r.T@U@V@W@X@A@Y@Z@ ",
" `@ #=@j..#+#2+T @###$#2@%#&# ",
" *#X.=#-#;#0@>#,#'#)#!#~# ",
" {#]#^#/#(#_#:#<#[#}#|# ",
" 1#2#=@3#4#5#6#7#8#9# ",
" 0#a#b#c#d#e#f#g@ ",
" g#h#i#j#}#k#l# ",
" ]@m#n#o#p#q# ",
" r#s#t#u# ",
" v#w#x# ",
" y#z# "};
-955
View File
@@ -1,955 +0,0 @@
/* XPM */
static char * BottleCaps80_xpm[] = {
"81 80 872 2",
" c None",
". c #844E0D",
"+ c #8B5A1E",
"@ c #8A591D",
"# c #8A571A",
"$ c #895517",
"% c #895617",
"& c #895618",
"* c #885414",
"= c #885312",
"- c #885313",
"; c #885210",
"> c #87500D",
", c #824C0D",
"' c #824D0D",
") c #814B0A",
"! c #814A07",
"~ c #814A08",
"{ c #804904",
"] c #804702",
"^ c #7F4600",
"/ c #7E4400",
"( c #7F4400",
"_ c #7D4200",
": c #8B5513",
"< c #824A07",
"[ c #CFB89B",
"} c #FFF8ED",
"| c #FCF0DF",
"1 c #FCF0E0",
"2 c #FDF1E1",
"3 c #FDF2E3",
"4 c #FDF2E2",
"5 c #FDF1E2",
"6 c #FDF3E4",
"7 c #FDF3E6",
"8 c #FDF3E5",
"9 c #FEF4E7",
"0 c #FEF5E9",
"a c #FBEDDB",
"b c #FEF7ED",
"c c #FEF6EC",
"d c #FFF7ED",
"e c #FFF8EF",
"f c #FFF9F0",
"g c #FFFAF2",
"h c #FFFBF3",
"i c #FFFCF5",
"j c #FFFBF4",
"k c #FFFFFF",
"l c #AA8353",
"m c #94652C",
"n c #F2D8B9",
"o c #CD7303",
"p c #D17C13",
"q c #D07C13",
"r c #D17C14",
"s c #D27B11",
"t c #FBF3E9",
"u c #D17A0F",
"v c #D17D15",
"w c #D17D16",
"x c #D17E16",
"y c #D17E17",
"z c #D17C12",
"A c #FBF4EC",
"B c #FDFBF8",
"C c #88510F",
"D c #7F4703",
"E c #F6F3F0",
"F c #D78D32",
"G c #F7EAD8",
"H c #E0A45B",
"I c #D17E18",
"J c #D2811D",
"K c #D3821E",
"L c #D3821D",
"M c #D3811E",
"N c #D2811E",
"O c #D2821E",
"P c #D07A0F",
"Q c #EFD1AB",
"R c #FEFDFA",
"S c #EDCA9E",
"T c #D3811D",
"U c #D2821D",
"V c #D07A10",
"W c #F1D6B4",
"X c #E6B77C",
"Y c #E6B478",
"Z c #CDB9A0",
"` c #884F0B",
" . c #B99C79",
".. c #F4D8B4",
"+. c #D0790F",
"@. c #D78B2D",
"#. c #D0790E",
"$. c #D17D17",
"%. c #DC9B4A",
"&. c #FEFDFB",
"*. c #EDBD84",
"=. c #D78A2D",
"-. c #D2801B",
";. c #D27F19",
">. c #DA953F",
",. c #FCF7F0",
"'. c #D07B12",
"). c #FFFFFA",
"!. c #946327",
"~. c #895514",
"{. c #D27F18",
"]. c #D3821F",
"^. c #D07C14",
"/. c #EBC493",
"(. c #EECDA3",
"_. c #CF780D",
":. c #FDFCFA",
"<. c #F0C99B",
"[. c #EEC490",
"}. c #F2D0A9",
"|. c #F7EAD9",
"1. c #CF7609",
"2. c #CF770A",
"3. c #FDF8F2",
"4. c #DB9641",
"5. c #D17F19",
"6. c #DC9947",
"7. c #EDE8E0",
"8. c #814700",
"9. c #7F4601",
"0. c #E6DDD1",
"a. c #E1A861",
"b. c #D78D31",
"c. c #D27F1A",
"d. c #F0D4B0",
"e. c #F6E1C6",
"f. c #EEC28D",
"g. c #EFC592",
"h. c #EDC18A",
"i. c #FCF5EC",
"j. c #E2AA65",
"k. c #E8BC86",
"l. c #FAE3C6",
"m. c #AE8A5F",
"n. c #8E5918",
"o. c #A67F4E",
"p. c #FDEDD8",
"q. c #CF790F",
"r. c #DD9C4C",
"s. c #FAF2E6",
"t. c #CF770B",
"u. c #D38320",
"v. c #DD9E4D",
"w. c #FEFDFC",
"x. c #EDC089",
"y. c #EEC592",
"z. c #FEFEFC",
"A. c #D2801A",
"B. c #D2811C",
"C. c #D48421",
"D. c #D27E17",
"E. c #D38321",
"F. c #D3811C",
"G. c #834D0C",
"H. c #D58523",
"I. c #CF780C",
"J. c #F4DEC4",
"K. c #E5B476",
"L. c #EFC797",
"M. c #EEC491",
"N. c #EFC591",
"O. c #EEC38E",
"P. c #F7E0C7",
"Q. c #EFD2AD",
"R. c #F6E5D1",
"S. c #E1A964",
"T. c #EBBC82",
"U. c #D1BFA8",
"V. c #834B06",
"W. c #834C09",
"X. c #D1BEA6",
"Y. c #CF790E",
"Z. c #D4821E",
"`. c #F1D7B6",
" + c #F6DFC4",
".+ c #DA943D",
"++ c #DFA45A",
"@+ c #F9EDDD",
"#+ c #FFFBF1",
"$+ c #986A32",
"%+ c #986B33",
"&+ c #E4B071",
"*+ c #F4DFC4",
"=+ c #D2801C",
"-+ c #DFA255",
";+ c #FFFCFA",
">+ c #EDC088",
",+ c #EFC491",
"'+ c #F2CFA5",
")+ c #FAF2E7",
"!+ c #D27E16",
"~+ c #D58828",
"{+ c #DC9740",
"]+ c #F2EFEA",
"^+ c #814904",
"/+ c #804906",
"(+ c #F6F3EF",
"_+ c #DB943D",
":+ c #CF780B",
"<+ c #FBF2E8",
"[+ c #DD9C4B",
"}+ c #D3801B",
"|+ c #EFC693",
"1+ c #EFC593",
"2+ c #EDBF88",
"3+ c #FBF3E8",
"4+ c #E5B374",
"5+ c #EECEA7",
"6+ c #EAC290",
"7+ c #F7DBB9",
"8+ c #B5956D",
"9+ c #89520E",
"0+ c #844C08",
"a+ c #BB9F7B",
"b+ c #F4D6B1",
"c+ c #D88E33",
"d+ c #D0790D",
"e+ c #F1D8B8",
"f+ c #F7E0C5",
"g+ c #EEC38F",
"h+ c #EEC591",
"i+ c #D37F18",
"j+ c #D88D32",
"k+ c #FEFCF8",
"l+ c #844D0B",
"m+ c #EECEA5",
"n+ c #EAC292",
"o+ c #DFA256",
"p+ c #FEFCF9",
"q+ c #F6DFC3",
"r+ c #F0D4B1",
"s+ c #FBF5EC",
"t+ c #DC9A48",
"u+ c #E7B476",
"v+ c #D8CAB8",
"w+ c #804500",
"x+ c #7E4500",
"y+ c #E4DCD1",
"z+ c #E2A861",
"A+ c #D17F18",
"B+ c #D17B11",
"C+ c #D68A2B",
"D+ c #EFC897",
"E+ c #EFC492",
"F+ c #FFFFFE",
"G+ c #DA9540",
"H+ c #F3DDC1",
"I+ c #FFF9EE",
"J+ c #986B34",
"K+ c #8B5310",
"L+ c #A68153",
"M+ c #FEEDD8",
"N+ c #E0A359",
"O+ c #F9EDDF",
"P+ c #F2DABC",
"Q+ c #F6DEC2",
"R+ c #EEC28C",
"S+ c #EEC492",
"T+ c #F1CEA3",
"U+ c #D0770B",
"V+ c #D38019",
"W+ c #DA933D",
"X+ c #F5F4F1",
"Y+ c #7F4602",
"Z+ c #824B08",
"`+ c #D48625",
" @ c #F5E3CD",
".@ c #E2AC69",
"+@ c #E0A55C",
"@@ c #FEFBF8",
"#@ c #EDC18B",
"$@ c #FAEEDF",
"%@ c #E6B87F",
"&@ c #E5B274",
"*@ c #F6D8B4",
"=@ c #B99C78",
"-@ c #89510F",
";@ c #834C0A",
">@ c #D4C3AE",
",@ c #EABC84",
"'@ c #D48320",
")@ c #D28019",
"!@ c #EFC695",
"~@ c #DE9E50",
"{@ c #FAF0E4",
"]@ c #8A5516",
"^@ c #986931",
"/@ c #FFFCF3",
"(@ c #D07B13",
"_@ c #E7BA81",
":@ c #F3DDC2",
"<@ c #F5DCBD",
"[@ c #F4DAB9",
"}@ c #F3DCC0",
"|@ c #D07A11",
"1@ c #E3AD6A",
"2@ c #DFD2C2",
"3@ c #824B07",
"4@ c #814906",
"5@ c #F9F7F4",
"6@ c #D89138",
"7@ c #FDF8F3",
"8@ c #E0A760",
"9@ c #FEFAF5",
"0@ c #FFFDFC",
"a@ c #EBC698",
"b@ c #FFF6E7",
"c@ c #9E723D",
"d@ c #925E1E",
"e@ c #864F0C",
"f@ c #BC9F7B",
"g@ c #F5D6B1",
"h@ c #DA9641",
"i@ c #FCF7EF",
"j@ c #FEFEFE",
"k@ c #EFC694",
"l@ c #F0CA9C",
"m@ c #FBF5ED",
"n@ c #D0780D",
"o@ c #D68929",
"p@ c #D17D13",
"q@ c #D98F34",
"r@ c #FAFAF9",
"s@ c #7E4501",
"t@ c #905F23",
"u@ c #D17D14",
"v@ c #CE7304",
"w@ c #EFCEA5",
"x@ c #E6B679",
"y@ c #F1DABB",
"z@ c #F3D7B4",
"A@ c #EEC18B",
"B@ c #EEC18A",
"C@ c #EDC08A",
"D@ c #F8E9D4",
"E@ c #F5E5CF",
"F@ c #DB9845",
"G@ c #CF760A",
"H@ c #CD7201",
"I@ c #F1CC9E",
"J@ c #BDA07C",
"K@ c #824A06",
"L@ c #854F0D",
"M@ c #D2BB9E",
"N@ c #F9F0E4",
"O@ c #F9F1E6",
"P@ c #F9EFE3",
"Q@ c #F8EEDF",
"R@ c #F8ECDC",
"S@ c #F7EADA",
"T@ c #F6E8D6",
"U@ c #F6E6D3",
"V@ c #F6E7D3",
"W@ c #F6E6D2",
"X@ c #F6E5D0",
"Y@ c #FEFFFF",
"Z@ c #FCF6ED",
"`@ c #FCF6EE",
" # c #FCF5ED",
".# c #FCF5EB",
"+# c #FCF4EB",
"@# c #FCF4EA",
"## c #FCF4E9",
"$# c #FBF4E9",
"%# c #FBF3E7",
"&# c #FBF2E6",
"*# c #FBF1E5",
"=# c #FBF1E4",
"-# c #FBF0E3",
";# c #F2D3AC",
"># c #F4D9B6",
",# c #F4D7B1",
"'# c #F3D6B0",
")# c #F3D4AD",
"!# c #F3D4AC",
"~# c #F2D1A8",
"{# c #F1D1A8",
"]# c #F1CEA2",
"^# c #F0CC9E",
"/# c #F0CB9E",
"(# c #EFC899",
"_# c #F0C999",
":# c #EFC999",
"<# c #EEC694",
"[# c #EEC695",
"}# c #ECC089",
"|# c #A57B49",
"1# c #824C0B",
"2# c #F0C897",
"3# c #EFC796",
"4# c #F0C796",
"5# c #F0C898",
"6# c #F0C99A",
"7# c #F0CA9B",
"8# c #F1CB9E",
"9# c #F8E8D4",
"0# c #E8BE88",
"a# c #D78D33",
"b# c #D9923A",
"c# c #D9933C",
"d# c #D9943E",
"e# c #DA9642",
"f# c #DA9744",
"g# c #DB9846",
"h# c #DA9846",
"i# c #DB9A48",
"j# c #DC9A4A",
"k# c #DC9C4C",
"l# c #DC9D4E",
"m# c #DC9C4D",
"n# c #DD9E50",
"o# c #DD9F52",
"p# c #DD9F51",
"q# c #DDA155",
"r# c #DB9948",
"s# c #FCF1E3",
"t# c #B59064",
"u# c #A88150",
"v# c #A88050",
"w# c #A98353",
"x# c #AA8454",
"y# c #AA8354",
"z# c #AB865A",
"A# c #AB875B",
"B# c #AB895F",
"C# c #AC8A60",
"D# c #AB8960",
"E# c #B18D62",
"F# c #B39067",
"G# c #B3936D",
"H# c #B3946D",
"I# c #B49773",
"J# c #B49772",
"K# c #B39671",
"L# c #BE9F79",
"M# c #97652A",
"N# c #8C5717",
"O# c #9B6E37",
"P# c #F1CEA4",
"Q# c #F4E0C7",
"R# c #D07E17",
"S# c #804805",
"T# c #824D0C",
"U# c #824C0C",
"V# c #814C0C",
"W# c #814C0B",
"X# c #814B0B",
"Y# c #773C00",
"Z# c #EEE4D8",
"`# c #A8804E",
" $ c #C9B193",
".$ c #FCECD7",
"+$ c #D27D15",
"@$ c #D89139",
"#$ c #EAE1D5",
"$$ c #7A4200",
"%$ c #855112",
"&$ c #845011",
"*$ c #855011",
"=$ c #845012",
"-$ c #804A08",
";$ c #C4A884",
">$ c #D6C2A9",
",$ c #7E4602",
"'$ c #F1EDE5",
")$ c #F1CFA6",
"!$ c #FDFAF4",
"~$ c #D78F35",
"{$ c #ECC088",
"]$ c #BDA17E",
"^$ c #814D0D",
"/$ c #966830",
"($ c #FBF8F3",
"_$ c #864E09",
":$ c #946023",
"<$ c #8B591B",
"[$ c #EDC28E",
"}$ c #FBEEDF",
"|$ c #E2AA64",
"1$ c #976932",
"2$ c #865214",
"3$ c #855111",
"4$ c #845111",
"5$ c #845112",
"6$ c #855213",
"7$ c #804907",
"8$ c #97682E",
"9$ c #BA9A74",
"0$ c #FFF6E8",
"a$ c #F4D6B2",
"b$ c #EFD3B1",
"c$ c #F8F2EA",
"d$ c #885413",
"e$ c #7B4400",
"f$ c #DBC8B1",
"g$ c #C0A27D",
"h$ c #7D4501",
"i$ c #E8DED1",
"j$ c #F5D8B5",
"k$ c #FCF6F0",
"l$ c #D68F36",
"m$ c #EDE6DD",
"n$ c #7B4200",
"o$ c #855012",
"p$ c #A8804F",
"q$ c #EFE5DA",
"r$ c #814600",
"s$ c #865111",
"t$ c #FDF9F3",
"u$ c #D68A2C",
"v$ c #E7B372",
"w$ c #C6B095",
"x$ c #7F4A09",
"y$ c #844F10",
"z$ c #875212",
"A$ c #8E5919",
"B$ c #86500E",
"C$ c #FFFFF9",
"D$ c #EDBF87",
"E$ c #DEA156",
"F$ c #FBE6CC",
"G$ c #9A6E39",
"H$ c #865315",
"I$ c #7A4100",
"J$ c #F1E8DC",
"K$ c #AD8657",
"L$ c #7D4502",
"M$ c #D8C7B1",
"N$ c #FAE3C7",
"O$ c #EEC28E",
"P$ c #F5DDBF",
"Q$ c #ECC89A",
"R$ c #FBF7F0",
"S$ c #865213",
"T$ c #865314",
"U$ c #7E4705",
"V$ c #C0A27E",
"W$ c #D8C5AE",
"X$ c #F1CB9D",
"Y$ c #FAF1E4",
"Z$ c #D78F36",
"`$ c #ECE4DA",
" % c #7C4300",
".% c #95652B",
"+% c #FFFEFB",
"@% c #844C07",
"#% c #8C5716",
"$% c #9A6D37",
"%% c #E4AE6A",
"&% c #CDB9A1",
"*% c #7E4603",
"=% c #FDFAF6",
"-% c #9A6C34",
";% c #C8AF91",
">% c #FDEDD9",
",% c #DD9E51",
"'% c #F8DEBD",
")% c #A17847",
"!% c #7B4401",
"~% c #D9C5AE",
"{% c #C2A481",
"]% c #F7F3ED",
"^% c #EEC18C",
"/% c #F7E4CB",
"(% c #E8BC85",
"_% c #CF7608",
":% c #824E0E",
"<% c #F0E8DC",
"[% c #854C07",
"}% c #946021",
"|% c #916125",
"1% c #EDC18C",
"2% c #F1CDA2",
"3% c #F4E3CC",
"4% c #EEE7E0",
"5% c #7F4806",
"6% c #905D1E",
"7% c #87500F",
"8% c #B99973",
"9% c #FFF6E9",
"0% c #D0780C",
"a% c #E1A962",
"b% c #D4C2AC",
"c% c #7B4300",
"d% c #EFE5D8",
"e% c #AE885A",
"f% c #7D4400",
"g% c #E8DED2",
"h% c #F4D7B3",
"i% c #F3D2A9",
"j% c #AC885D",
"k% c #804A09",
"l% c #7F4908",
"m% c #BC9C76",
"n% c #DDCCB7",
"o% c #854B03",
"p% c #85500F",
"q% c #F8E6CF",
"r% c #E6B77E",
"s% c #845010",
"t% c #926125",
"u% c #854D09",
"v% c #864F0D",
"w% c #A98253",
"x% c #FFFEF6",
"y% c #F3D3AC",
"z% c #F2DABB",
"A% c #D5831E",
"B% c #F2EFEB",
"C% c #7E4806",
"D% c #7F4704",
"E% c #FEFBF6",
"F% c #9B6E36",
"G% c #7D4500",
"H% c #D8C7B2",
"I% c #F8E2C5",
"J% c #FDF9F4",
"K% c #E2A860",
"L% c #7D4603",
"M% c #7C4503",
"N% c #D5C0A6",
"O% c #C7AC8B",
"P% c #7E4704",
"Q% c #FBFBF9",
"R% c #F1CA9C",
"S% c #FEFCFA",
"T% c #D6892A",
"U% c #B29068",
"V% c #F4EDE4",
"W% c #9D713B",
"X% c #F9E9D6",
"Y% c #E2AE6C",
"Z% c #FFF3E2",
"`% c #8E5D20",
" & c #834E0F",
".& c #814B08",
"+& c #905D1F",
"@& c #CBB395",
"#& c #FEEED9",
"$& c #D27C13",
"%& c #FBFAF8",
"&& c #7C4502",
"*& c #855113",
"=& c #794000",
"-& c #E9DECE",
";& c #AF8C5F",
">& c #804905",
",& c #F6F2EC",
"'& c #F3D0A6",
")& c #EFC795",
"!& c #F9EFE1",
"~& c #E0A051",
"{& c #D9CBBA",
"]& c #BA9971",
"^& c #E0D0BC",
"/& c #844903",
"(& c #915F24",
"_& c #EDC08B",
":& c #D3801A",
"<& c #EFCA9A",
"[& c #B79872",
"}& c #8E5C1F",
"|& c #885110",
"1& c #B99972",
"2& c #FFF4E6",
"3& c #FAEFE1",
"4& c #DFA359",
"5& c #D07B11",
"6& c #FBEBD6",
"7& c #96672F",
"8& c #FBF8F2",
"9& c #9D7039",
"0& c #E8DFD2",
"a& c #EEC390",
"b& c #F4D9B8",
"c& c #EECDA4",
"d& c #D27D16",
"e& c #FFFEFA",
"f& c #D2BB9F",
"g& c #C9B091",
"h& c #854F0E",
"i& c #F7E9D8",
"j& c #DE9843",
"k& c #DFD5C8",
"l& c #7D4705",
"m& c #834F10",
"n& c #A17743",
"o& c #F8F3EC",
"p& c #834A04",
"q& c #874F0D",
"r& c #A88152",
"s& c #FFFCF4",
"t& c #D38421",
"u& c #B89A75",
"v& c #8E5A1C",
"w& c #7F4702",
"x& c #DCCCB8",
"y& c #F8E1C4",
"z& c #FDF7F0",
"A& c #DA943E",
"B& c #F9E6CE",
"C& c #9D713C",
"D& c #E7DBC9",
"E& c #B49066",
"F& c #824C0A",
"G& c #FDFDFB",
"H& c #F6DFC2",
"I& c #E9C08E",
"J& c #7F4807",
"K& c #B59268",
"L& c #E5D8C7",
"M& c #8D5513",
"N& c #9C703B",
"O& c #F1CDA1",
"P& c #D38422",
"Q& c #D98E31",
"R& c #EAE3DA",
"S& c #834E0E",
"T& c #8D5B1E",
"U& c #87510F",
"V& c #CAB295",
"W& c #FDECD7",
"X& c #FBF5EE",
"Y& c #D3831F",
"Z& c #EDBF85",
"`& c #BFA483",
" * c #FAF5EF",
".* c #A07540",
"+* c #F4F0EA",
"@* c #F3D1A7",
"#* c #D88F36",
"$* c #FBE8CE",
"%* c #9D723D",
"&* c #CEB698",
"** c #CCB598",
"=* c #844902",
"-* c #F8E5CE",
";* c #E6B67A",
">* c #FBF4EB",
",* c #875211",
"'* c #804B0A",
")* c #9F733E",
"!* c #FAF6EF",
"~* c #814802",
"{* c #B89872",
"]* c #F5E2CB",
"^* c #D68B30",
"/* c #F1EBE2",
"(* c #814B09",
"_* c #905F22",
":* c #7E4601",
"<* c #F3D6B2",
"[* c #E7B474",
"}* c #C6AF93",
"|* c #7D4704",
"1* c #E5D8C6",
"2* c #8B5719",
"3* c #EDC390",
"4* c #FEFAF6",
"5* c #FAE3C5",
"6* c #9F7643",
"7* c #804B0B",
"8* c #B18D61",
"9* c #E7DACA",
"0* c #8D5817",
"a* c #A98355",
"b* c #FFFEF7",
"c* c #FBEFE1",
"d* c #E1A760",
"e* c #FAF2E9",
"f* c #8C591B",
"g* c #8A5719",
"h* c #885211",
"i* c #804803",
"j* c #DBCBB7",
"k* c #F8DFC2",
"l* c #F4D5B1",
"m* c #D58A2E",
"n* c #F2ECE5",
"o* c #F9F3EB",
"p* c #A27845",
"q* c #FDFDFC",
"r* c #E3A861",
"s* c #CFBEA7",
"t* c #7D4604",
"u* c #CAB091",
"v* c #D1BCA0",
"w* c #824801",
"x* c #9C6F39",
"y* c #F8DDBA",
"z* c #A17A4A",
"A* c #FEFCF7",
"B* c #804703",
"C* c #814803",
"D* c #FBEAD4",
"E* c #DEA257",
"F* c #926024",
"G* c #F4EFEA",
"H* c #F5DDBE",
"I* c #ECC89C",
"J* c #D58A2C",
"K* c #EFE9E1",
"L* c #E2D3BF",
"M* c #BA9973",
"N* c #916024",
"O* c #D6C6B2",
"P* c #EADFD1",
"Q* c #86500D",
"R* c #BB9B75",
"S* c #FFF7E9",
"T* c #F3D1A6",
"U* c #AD8A60",
"V* c #834F0F",
"W* c #875312",
"X* c #895413",
"Y* c #EAE0D4",
"Z* c #FCF3E9",
"`* c #FFF9ED",
" = c #885619",
".= c #F4EDE3",
"+= c #A47C4A",
"@= c #8A5617",
"#= c #F7E4CA",
"$= c #D4831F",
"%= c #F2EEE8",
"&= c #C8AD8C",
"*= c #D4BFA5",
"== c #844B06",
"-= c #8E5716",
";= c #AB8456",
">= c #F5E4CE",
",= c #DBCDBB",
"'= c #FDFAF5",
")= c #844D0A",
"!= c #814905",
"~= c #F7DFC2",
"{= c #CE7506",
"]= c #EFC898",
"^= c #B69771",
"/= c #926227",
"(= c #FFF3E1",
"_= c #DECCB7",
":= c #BE9F7A",
"<= c #874F0B",
"[= c #9B6E38",
"}= c #FFFFF8",
"|= c #F7E1C8",
"1= c #E6B374",
"2= c #F3EEE6",
"3= c #A77E4D",
"4= c #F0E7DC",
"5= c #7D4300",
"6= c #804600",
"7= c #C9B092",
"8= c #E0CFBA",
"9= c #86510F",
"0= c #F4EEE6",
"a= c #A47B49",
"b= c #D2BCA1",
"c= c #8A5412",
"d= c #B28D61",
"e= c #875110",
" . + @ @ @ @ # $ % % % % & * = = = = = - ; > > > > > > . , ' ' ' ' ' ) ! ! ! ! ! ~ { ] ] ] ] ] ] ^ / ( ( _ : ",
" < [ } | 1 1 1 2 3 4 4 4 4 5 6 7 7 7 7 7 8 9 0 0 0 0 0 0 a b c c c c c d e e e e e e f g g g g g g h i i j k l ",
" m k n o p p q p p p p p p p r r r r r r r r r r r r p s t u v v v v v v w w w w w w w w w w w w w x y w z A B C ",
" D E F G H I J K L J J M K N O L K L K L J K K J O O K P Q R S P T K K O K T K K T K K K U U M U T J U K V W X Y Z ` ",
" C ...+.@.k #.O K T J N J K N J L J J K L N K M J N K $.%.&.*.k =.-.J M N K J K J J J J N J J N O J N U ;.>.,.P '.).!. ",
" ~.k {.].^./.(._.K T O K M K M O U K L K L K O K J O N P :.<.[.}.|.1.].M O K T O K T K K K U U M K T K K 2.3.4.5.O 6.7.8. ",
" 9.0.a.-.J J V &.b.c.J J T T T M J N T M T M J J M J K 2.d.e.f.g.h.i.j.5.J N K M J T M T T M N N M J T K V k.d.V K K V l.m. ",
" n.o.p.q.K K K -.r.s.t.u.J J J K J J L J J K L J K M J w v.w.x.y.g.g.y.z.A.].K K J K J J J J N J J N J J B.C.k D.J J J E.F.k ; ",
" G.k H.E.J K K K I.J.K.y J M N K M N K N J K K N K J u.p w.L.M.g.N.M.O.P.Q.+.K K J K N J N N M J J N O ].t.R.S.I K J K J V T.U.V. ",
" W.X.h.Y.T U U O K K F.k Z.u.K J U J J O J J L O J U K V `. +f.g.M.M.g.g.x.k .+J J J U J J J J J J J J J -.++@+2.K K J O J K t.#+$+ ",
" %+#+t.K J K K K K K y &+*+V T K K M K K K K K K N N =+-+;+>+g.,+M.,+g.M.y.'+)++.J K K K K K K K K K K u.!+k ~+K K K K K N K I {+]+^+ ",
" /+(+_+I K J K K K K L ].:+<+[+N T K N O L K L K L J K }+k |+1+M.M.M.M.g.g.g.2+3+4+I K K K T K K K U U J q 5+6+q K K K U L J K K I.7+8+9+ ",
" 0+a+b+V K J J K K K K L O u.c+w.d+K K N J L J J K L K I.e+f+g+M.,+,+M.,+g.M.g.M.h+k i+B.K J J J J N J K O j+k+p ].J N K J L J M J B.F.k l+ ",
" * k !+J K K K K K K K K K T q.m+n+'.K M O U K L K K I o+p+>+1+g.,+,+M.,+,+,+,+M.f.q+r+_.K K T K K K U K 2.s+t+O J K K K U L K N K T y u+v+w+ ",
" x+y+z+A+L T T J T T K L K T K K B+k C+=+K J N T M T J !+k D+[.M.E+E+M.M.M.E+E+,+,+g.x.F+G+I K M T T M K w 4+H+I.K T T M M N M J J L J J d+I+J+ ",
" K+L+M+t.K O J J J K K K K L J K K v N+O+2.K J L J J K I.P+Q+R+g.h+S+,+M.M.M.g.M.g.M.g.g+T+t U+K J J J N B.Z.k V+J J J J N K J L J M U J K B.W+X+Y+ ",
" Z+k `+J K K N N N K K K K K M K K K I. @.@v K K N K v +@@@2+g.M.h+S+N.N.M.N.g.h+g.M.g.g.#@$@%@V K N N K _.*+&@'.K M L K M K J K N K K O K K #.*@=@-@ ",
" ;@>@,@v K J U J J J U U O U K J K U J -.'@k D.J O J J )@k !@[.g.M.h+E+M.M.M.M.g.,+g.,+g.M.M.g+k K J N J I ~@{@2.K J J U U J K J O J U U J O L ].I k ]@ ",
" ^@/@I.K K J K K K N K K K K K K K K N K (@_@W +.K K I.:@<@f.g.g.M.g.E+g.,+M.,+g.g.g.E+g.g.g.g+[@}@I.K O |@&.b.c.O K M L K K K K K N K K O K T J A+1@2@3@ ",
" 4@5@6@O J K J K K K J K K K K L K K L J J O 2.7@4.A+v 8@9@2+g.N.g.M.y.g.g.M.M.M.g.g.N.N.g.h+g.g.>+0@t+O '.a@S +.K U T J U U K K U L J K K U K J J ].t.b@c@d@ ",
" e@f@g@q J J M J O J J J K K K K L J K T J N J B.h@i@d+A.j@k@g.M.g.g.M.h+M.,+,+M.,+g.M.g.M.g.M.g.M.g.l@m@n@o@k p@J J O J N U U N K J L J M U U K J J N u.q@r@s@ ",
" t@i #.{.v v u@r u@r r r p p p q p p '.'.'.'.'.'.v@w@x@y@z@x.A@A@A@A@A@A@A@A@B@h.h.h.h.h.C@C@C@C@x.x.*.D@Y E@F@G@_._._.Y.Y.Y.#.#.#.+.+.+.P P P V V V |@|@H@I@J@K@",
"L@M@k N@O@O@O@P@P@P@Q@Q@Q@R@R@R@|.S@|.T@T@T@U@V@W@X@W@k Y@Z@`@Z@Z@ #.#.#+#@#@###t $#3+%#%#&#&#&#*#=#*#=#-#k k ;#>#,#'#b+)#!#)#~#{#~#]#]#]#^#/#^#(#_#:#<#<#[#}#k |#",
" 1#B 2#,+[.[.g.g.g.k@k@k@3#4#4#5#5#5#6#6#6#l@7#l@8#6#9#0#a#6@b#b#c#d#d#>.e#e#f#g#h#i#j#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#A#A#B#C#D#E#E#E#F#F#F#G#G#H#I#J#K#L#k M#",
" N#O#k C@g.M.M.M.M.M.M.M.M.M.M.M.M.M.[.[.[.[.[.[.[.M.P#Q#1.-.A.A.A.A.A.A.A.A.c.c.c.c.;.c.;.;.;.;.;.;.-.R#s+S#T#T#U#U#U#V#V#V#V#V#V#W#W#W#W#W#W#W#W#W#X#T#Y#Z#`# ",
" /+ $.$R+M.g.M.N.N.h+M.g.g.g.g.g.S+g.g.,+g.M.g.,+g.y.,.+$K O J U K J J J J U J U O U U J U J O J U E.@$#$$$%$&$&$&$*$&$=$=$&$&$%$&$%$=$%$&$&$%$&$&$&$-$;$>$ ",
" ,$'$)$M.g.M.g.g.g.,+g.g.g.g.g.E+g.g.M.S+g.g.M.g.2+!$~$].K N K K N K K K K J K K K O K K K K K K A+{$]$^$%$%$%$%$*$%$=$=$&$%$%$%$%$=$%$%$&$%$&$&$%$/$($_$ ",
" :$<$k [$g.M.N.g.y.M.N.g.g.g.g.g.g.g.M.y.h+g.M.M.f.}$|$J L J K K J O O K U J U K U O K K O K T J t..$1$2$%$%$3$%$*$4$=$5$4$3$%$%$%$5$%$%$4$%$&$6$7$k 8$ ",
" ;@9$0$x.g.h+h+h+,+g.g.g.g.g.,+y.y.M.h+M.y.M.,+g.a$b$'.K N K M J N J J U J U M U K N M N K J K w c$d$%$4$4$&$4$*$4$=$5$4$&$%$4$%$5$%$4$4$%$%$e$f$g$ ",
" h$i$j$f.g.N.N.,+,+,+,+g.g.E+N.,+,+g.,+,+,+,+1+3#k$1.J K O K J O O K K J K M U O K M O K T ].l$m$n$%$%$%$*$%$o$4$o$%$5$*$%$%$5$%$5$%$&$%$X#p$q$r$ ",
" s$k g.M.g.y.M.,+E+E+g.g.E+y.S+M.S+M.S+M.E+g.A@t$u$J J J M J N J T T J T M O J M T N K M =+v$w$x$&$&$&$&$&$&$&$&$&$&$&$&$&$4$&$=$&$%$y$z$k A$ ",
" B$w#C$D$g.h+M.g.g.g.g.g.E+g.g.M.S+M.g.M.,+M.>+&#E$B.J K M J N J J J J J M U O N M N K K +.F$G$H$*$*$*$*$*$&$&$&$&$&$*$%$*$%$&$%$*$%$I$J$K$ ",
" L$M$N$A@g.N.g.g.g.g.g.E+g.g.M.y.h+g.h+N.,+O$P$Q$w K K K N N N N K J K K U K N K N K J d+R$S$T$%$%$%$*$%$o$3$o$%$%$*$%$%$%$%$%$%$U$V$W$ ",
" /+:.X$[.M.g.g.g.g.g.S+g.g.,+g.M.g.,+M.g.S+2#Y$t.K U K J J J J U J U O U U J U J O J Z$`$ %%$&$&$&$&$&$*$&$=$=$&$&$%$&$%$=$&$' .%+%@% ",
" #%$%k x.1+g.g.g.g.g.E+g.g.M.S+g.g.M.g.g.g.f.&.F.B.K K N K K K K J K K K O K K K K -.%%&%e$&$%$%$%$%$%$*$%$=$=$&$%$%$%$%$%$%$*%=%-% ",
" ! ;%>%f.M.g.g.g.g.g.g.g.M.y.h+g.M.g.g.y.x.%#,%c.K K J O O K U J U K U O K K O J q '%)%^$3$%$%$%$3$%$*$4$=$5$4$3$%$%$%$%$!%~%{% ",
" 7$]%P#M.M.g.g.g.,+y.y.M.h+M.y.M.,+y.M.^%/%(%y K M J N J J U J U M U K N M N K _%j 6$%$3$4$4$4$&$4$*$4$=$5$4$&$%$4$&$:%|#<%[% ",
" }%|%k 1%g.g.g.g.E+N.,+,+g.,+,+,+,+,+,+[.2%3%V K K J O O K K J K M U O K M O B.C+4%5%&$3$%$%$%$*$%$o$4$o$%$5$*$%$&$2$. k 6% ",
" 7%8%9%x.g.g.g.E+y.S+M.S+M.S+M.E+S+S+g.f.F+0%J M J N J T T J T M O J M T N ;.a%b%c%&$*$&$&$&$&$&$&$&$&$&$&$&$&$%$n$d%e% ",
" f%g%h%g+g.g.E+g.g.M.S+M.g.M.,+g.M.M.A@`@G+;.M J N J J J J J M U O N M N v i%j%k%*$*$*$*$*$*$*$&$&$&$&$&$*$%$l%m%n%o% ",
" p%k |+M.g.E+g.g.M.y.h+g.h+N.g.M.M.^%q%r%v K N N N N K J K K U K N K K _.#+3$&$*$3$%$%$%$*$%$o$3$o$%$%$%$s%t%k u% ",
" v%w%x%x.g.S+g.g.,+g.M.g.,+M.g.M.M.g+y%z%'.J J J J J U J U O U U J U B.A%B%C%%$&$*$&$&$&$&$&$*$&$=$=$&$&$D%E%F% ",
" G%H%I%f.g.g.g.M.S+g.g.M.g.g.E+E+M.f.J%V K N K K K K J K K K O K K y K%>@L%%$%$%$%$%$%$%$%$*$%$=$=$%$M%N%O% ",
" P%Q%R%[.M.g.M.y.h+g.M.g.g.y.y.g.A@S%T%-.J O O K U J U K U O K K q ]#U%l%%$3$3$%$%$%$3$%$*$4$=$&$^$|#V%r$ ",
" A$W%k 2+g.M.M.h+M.y.M.,+y.M.M.g.f.X%Y%r J N J J U J U M U K N K |@Z%`% &4$&$3$4$4$4$&$4$*$4$=$y$.&k +& ",
" W.@&#&2+g.,+g.,+,+,+,+,+,+,+,+g+..Q.+.J O O K K J K M U O K J $&%&&&%$%$*$3$%$%$%$*$%$o$&$*&=&-&;& ",
" >&,&'&M.M.S+M.S+M.E+S+S+S+,+M.)&!&q K N J T T J T M O J M I ~&{&C%&$4$&$*$&$&$&$&$&$&$%$M%]&^&/& ",
" (&k _&1+M.M.g.M.,+g.M.M.g.g.x.k :&N N J J J J J M U O N V <&[&k%%$*$*$*$*$*$*$*$*$&$6$}&F+|& ",
" B$1&2&h.g.h+g.h+N.g.M.M.g.g.f.3&4&w J N N K J K K U K K 5&6&7&:%%$%$*$3$%$%$%$*$&$S$*%8&9& ",
" D 0&h%a&g.g.,+M.g.M.M.g.g.[.b&c&_.T J J U J U O U U O d&e&n$5$%$&$&$*$&$&$&$&$&$U$f&g& ",
" h&k S+g.M.M.g.g.E+E+g.E+M.l@i&V ].K K K J K K K O c.j&k&l&%$%$%$%$%$%$%$%$%$m&n&o&p& ",
" q&r&s&A@M.M.g.g.y.y.N.g.M.>+@@J t&O K U J U K U J V )&u&V#3$%$%$3$3$%$%$&$%$. k v& ",
" w&x&y&^%g.,+y.M.M.g.g.,+A@z&A&u.J J U J U M U K I.B&C& &4$%$4$&$3$4$4$%$$$D&E& ",
" F&G&6#[.g.,+,+,+,+,+N.[.H&I&v J K K J K M U u.I h 4@&$3$%$%$*$3$%$%$J&K&L&r$ ",
" M&N&k 2+g.S+S+S+,+E+M.M.O&W@n@K T T J T M O P&Q&R&!%%$&$&$4$&$*$%$S&T&k U& ",
" < V&W&C@g.M.M.g.g.M.M.O.X&K Y&J J J J M J I Z&`&V#%$*$%$*$*$*$%$$$ *.* ",
" D +*@*O.M.M.g.g.h+g.>+9@#*t&N K J K K K I.$*%*&$%$3$%$%$&$%$&&&***=* ",
" t@k 1%1+g.g.g.N.g.g+-*;*5.K U J U O ].I >*,*&$%$&$%$&$&$'*)*!*~* ",
" e@{*0$A@g.g.E+M.g.1+T+]*I.T K J K K E.^*/*=&%$%$%$%$%$H$(*k _* ",
" :*0&<*[.M.g.h+N.g.h+i@!+K U J U K -.[*}*'*%$%$3$%$%$|*1*K& ",
" 2*k 3*g.g.h+g.g.2+4*F ].U J U J Y.5*6*6$3$%$4$&$7*8*9*u% ",
" 0*a*b*2+g.N.N.S+f.c*d*J K J K K V e*f**&%$o$%$%$g*k h* ",
" i*j*k*f.g.N.g.g.l*r+'.K J T ].m*n* %%$*$=$%$c%o*p* ",
" < q*_#[.g.g.1+3#,.2.J J J J r*s*C%&$*$%$t*u*v*w* ",
" x*k C@g.g.g.A@J%u$J J K '.y*z**&%$%$:%O#A*B* ",
" C*V&D*#@g.M.>+&#E*J J J 2.z&& H$&$&$(*k F* ",
" x+G*'&g+M.O$H*I*w J J J*K**%%$%$c%L*M* ",
" N*k f.y.E+D+Y$t.O B.+@O*$$&$k%8*P*x+ ",
" Q*R*S*D$g.O.S%:&J w T*U*k%V*W*k X* ",
" < Y**@[.x.Z*m#A.G@`* =2$=&.=+= ",
" @=k [$f.#=k.w $=%=~ U$&=*=== ",
" -=;=s&2+O&>=_.E$,=$$$+'=)= ",
" !=j*~=C@k {=]=^=I$k /= ",
" 3@q*S+Z@F (=S&_=:=<= ",
" [=}=|=1=2=3=4=5= ",
" 6=7=9 $#8=e&9= ",
" Z+0=k k a= ",
" t%k b=^+ ",
" c=d=d$ ",
" e= "};
Binary file not shown.

Before

Width:  |  Height:  |  Size: 766 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

-164
View File
@@ -1,164 +0,0 @@
Name BottleCaps
RequestExecutionLevel highest
SetCompressor /SOLID lzma
# General Symbol Definitions
!define REGKEY "SOFTWARE\$(^Name)"
!define VERSION 0.3.0
!define COMPANY "BottleCaps project"
!define URL http://
# MUI Symbol Definitions
!define MUI_ICON "../share/pixmaps/BottleCaps.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 BottleCaps
!define MUI_FINISHPAGE_RUN $INSTDIR\BottleCaps-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 BottleCaps-0.3.0-win32-setup.exe
InstallDir $PROGRAMFILES\BottleCaps
CRCCheck on
XPStyle on
BrandingText " "
ShowInstDetails show
VIProductVersion 0.3.0.0
VIAddVersionKey ProductName BottleCaps
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/BottleCaps-qt.exe
File /oname=license.txt ../COPYING
File /oname=readme.txt ../doc/README_windows.txt
SetOutPath $INSTDIR\daemon
File ../src/BottleCapsd.exe
SetOutPath $INSTDIR\src
File /r /x *.exe /x *.o ../src\*.*
SetOutPath $INSTDIR
WriteRegStr HKCU "${REGKEY}\Components" Main 1
# Remove old wxwidgets-based-BottleCaps executable and locales:
Delete /REBOOTOK $INSTDIR\BottleCaps.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\BottleCaps.lnk" $INSTDIR\BottleCaps-qt.exe
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall BottleCaps.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
# BottleCaps: URI handling disabled for 0.6.0
WriteRegStr HKCR "BottleCaps" "URL Protocol" ""
WriteRegStr HKCR "BottleCaps" "" "URL:BottleCaps"
WriteRegStr HKCR "BottleCaps\DefaultIcon" "" $INSTDIR\BottleCaps-qt.exe
WriteRegStr HKCR "BottleCaps\shell\open\command" "" '"$INSTDIR\BottleCaps-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\BottleCaps-qt.exe
Delete /REBOOTOK $INSTDIR\license.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 BottleCaps.lnk"
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\BottleCaps.lnk"
Delete /REBOOTOK "$SMSTARTUP\BottleCaps.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 "BottleCaps"
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
+4
View File
@@ -36,6 +36,8 @@ namespace Checkpoints
( 9002, uint256("0xa1e20fb1d44688b763690cf74d6aefe859e4cc32981f9e3f2b2ae9702bbcf249"))
( 10881, uint256("0x4b6554c45e1e6764a6f3c309c47baf53c9edd81f624e52b072518cd15da237e6"))
( 17650, uint256("0x224940e1f986a202209b8e762728d1452ab45870c308abf84905674acf326a47"))
(100000, uint256("0x2f737bded65284d70cdf8992f83ecd8bd1ee00cf24e527b6763465cdd43017b1"))
(200000, uint256("0xd94347d8c21034c0b3fe2a7a0ea9d63127a0d9ed4dd3c063c38a3b06125f38e4"))
;
static MapCheckpoints mapCheckpointsTestnet =
@@ -52,6 +54,8 @@ namespace Checkpoints
( 9002, uint256("0xa1e20fb1d44688b763690cf74d6aefe859e4cc32981f9e3f2b2ae9702bbcf249"))
( 10881, uint256("0x4b6554c45e1e6764a6f3c309c47baf53c9edd81f624e52b072518cd15da237e6"))
( 17650, uint256("0x224940e1f986a202209b8e762728d1452ab45870c308abf84905674acf326a47"))
(100000, uint256("0x2f737bded65284d70cdf8992f83ecd8bd1ee00cf24e527b6763465cdd43017b1"))
(200000, uint256("0xd94347d8c21034c0b3fe2a7a0ea9d63127a0d9ed4dd3c063c38a3b06125f38e4"))
;
bool CheckHardened(int nHeight, const uint256& hash)
+3 -3
View File
@@ -7,9 +7,9 @@
// These need to be macros, as version.cpp's and triangles-qt.rc's voodoo requires it
#define CLIENT_VERSION_MAJOR 4
#define CLIENT_VERSION_MINOR 0
#define CLIENT_VERSION_REVISION 0
#define CLIENT_VERSION_BUILD 4
#define CLIENT_VERSION_MINOR 2
#define CLIENT_VERSION_REVISION 1
#define CLIENT_VERSION_BUILD 0
// Converts the parameter X to a string after macro replacement on X has been performed.
// Don't merge these into one macro!
+7
View File
@@ -52,6 +52,7 @@ void ExitTimeout(void* parg)
void StartShutdown()
{
fRequestShutdown = true;
#ifdef QT_GUI
// ensure we leave the Qt main loop for a clean GUI exit (Shutdown() is called in triangles.cpp afterwards)
uiInterface.QueueShutdown();
@@ -61,6 +62,12 @@ void StartShutdown()
#endif
}
bool ShutdownRequested()
{
return fRequestShutdown;
}
void Shutdown(void* parg)
{
static CCriticalSection cs_Shutdown;
+1
View File
@@ -11,6 +11,7 @@
extern CWallet* pwalletMain;
extern std::string strWalletFileName;
void StartShutdown();
bool ShutdownRequested();
void Shutdown(void* parg);
bool AppInit2();
std::string HelpMessage();
+1 -1
View File
@@ -3624,7 +3624,7 @@ bool ProcessMessages(CNode* pfrom)
PrintExceptionContinue(NULL, "ProcessMessages()");
}
if (!fRet)
if (!fRet && fDebug)
printf("ProcessMessage(%s, %u bytes) FAILED\n", strCommand.c_str(), nMessageSize);
}
+1 -1
View File
@@ -2,7 +2,7 @@
# Distributed under the MIT/X11 software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
USE_UPNP:=1
USE_UPNP:=0
USE_IPV6:=1
LINK:=$(CXX)
+1 -1
View File
@@ -1,6 +1,6 @@
// Copyright (c) 2009-2010 Satoshi Nakamoto
// Copyright (c) 2009-2012 The Bitcoin developers
// Copyright (c) 2014 Triangles team
// Copyright (c) 2014-2015 Triangles team
// Distributed under the MIT/X11 software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+1 -1
View File
@@ -1,6 +1,6 @@
// Copyright (c) 2009-2010 Satoshi Nakamoto
// Copyright (c) 2009-2012 The Bitcoin developers
// Copyright (c) 2014 Triangles team
// Copyright (c) 2014-2015 Triangles team
// Distributed under the MIT/X11 software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#ifndef TRIANGLES_MINER_H
+6 -1
View File
@@ -1,7 +1,10 @@
#include "aboutdialog.h"
#include "ui_aboutdialog.h"
#include "clientmodel.h"
#include <QDesktopWidget>
#include "clientmodel.h"
#include "dialog_move_handler.h"
#include "version.h"
AboutDialog::AboutDialog(QWidget *parent) :
@@ -9,6 +12,8 @@ AboutDialog::AboutDialog(QWidget *parent) :
ui(new Ui::AboutDialog)
{
ui->setupUi(this);
setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint | Qt::Window);
ui->wCaption->installEventFilter(new DialogMoveHandler(this));
}
void AboutDialog::setModel(ClientModel *model)
+33 -8
View File
@@ -7,6 +7,7 @@
#include "editaddressdialog.h"
#include "csvmodelwriter.h"
#include "guiutil.h"
#include "dialog_move_handler.h"
#include <QSortFilterProxyModel>
#include <QClipboard>
@@ -26,6 +27,8 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) :
tab(tab)
{
ui->setupUi(this);
setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint | Qt::Window);
ui->wAddressBookHeader->installEventFilter(new DialogMoveHandler(this));
#ifdef Q_OS_MAC // Icons on push buttons are very uncommon on Mac
ui->newAddressButton->setIcon(QIcon());
@@ -43,32 +46,39 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) :
connect(ui->tableView, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(accept()));
ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
ui->tableView->setFocus();
ui->borderframe->setStyleSheet("#borderframe {border: 2px solid #f26522;}");
break;
case ForEditing:
ui->buttonBox->setVisible(false);
ui->cancelbuttonBox->setVisible(false);
break;
}
switch(tab)
{
case SendingTab:
ui->icon_ab_receive->setVisible(false);
ui->labelExplanation->setVisible(false);
ui->deleteButton->setVisible(true);
ui->verifyMessage->setVisible(true);
ui->signMessage->setVisible(false);
break;
case ReceivingTab:
ui->icon_ab_send->setVisible(false);
ui->label_ab->setText(tr("Triangles receiving addresses"));
ui->deleteButton->setVisible(false);
ui->verifyMessage->setVisible(false);
ui->signMessage->setVisible(true);
break;
}
// Context menu actions
QAction *copyLabelAction = new QAction(tr("Copy &Label"), this);
QAction *copyAddressAction = new QAction(ui->copyToClipboard->text(), this);
QAction *editAction = new QAction(tr("&Edit"), this);
QAction *copyLabelAction = new QAction(QIcon(":/menu_16/copy"),tr("Copy &Label"), this);
QAction *copyAddressAction = new QAction(QIcon(":/menu_16/copy"),ui->copyToClipboard->text(), this);
QAction *editAction = new QAction(QIcon(":/menu_16/edit"), tr("&Edit"), this);
QAction *showQRCodeAction = new QAction(ui->showQRCode->text(), this);
QAction *signMessageAction = new QAction(ui->signMessage->text(), this);
QAction *verifyMessageAction = new QAction(ui->verifyMessage->text(), this);
deleteAction = new QAction(ui->deleteButton->text(), this);
QAction *signMessageAction = new QAction(QIcon(":/menu_16/sign"), ui->signMessage->text(), this);
QAction *verifyMessageAction = new QAction(QIcon(":/menu_16/verify"), ui->verifyMessage->text(), this);
deleteAction = new QAction(QIcon(":/menu_16/delete"), ui->deleteButton->text(), this);
// Build context menu
contextMenu = new QMenu();
@@ -78,12 +88,26 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) :
if(tab == SendingTab)
contextMenu->addAction(deleteAction);
contextMenu->addSeparator();
contextMenu->addAction(showQRCodeAction);
//contextMenu->addAction(showQRCodeAction);
if(tab == ReceivingTab)
contextMenu->addAction(signMessageAction);
else if(tab == SendingTab)
contextMenu->addAction(verifyMessageAction);
contextMenu->setStyleSheet("QMenu {\
background-color: #000; \
border: 1px solid #f26522;\
color: #f26522;\
}\
\
QMenu::item {\
background-color: transparent;\
}\
\
QMenu::item:selected {\
color: #f26522;\
background-color: #61280E;\
}\
");
// Connect signals for context menu actions
connect(copyAddressAction, SIGNAL(triggered()), this, SLOT(on_copyToClipboard_clicked()));
connect(copyLabelAction, SIGNAL(triggered()), this, SLOT(onCopyLabelAction()));
@@ -97,6 +121,7 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) :
// Pass through accept action from button box
connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
connect(ui->cancelbuttonBox, SIGNAL (rejected()), this, SLOT (reject()));
}
AddressBookPage::~AddressBookPage()
+200 -38
View File
@@ -1,5 +1,6 @@
#include "askpassphrasedialog.h"
#include "ui_askpassphrasedialog.h"
#include "dialog_move_handler.h"
#include "guiconstants.h"
#include "walletmodel.h"
@@ -18,6 +19,8 @@ AskPassphraseDialog::AskPassphraseDialog(Mode mode, QWidget *parent) :
fCapsLock(false)
{
ui->setupUi(this);
setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint | Qt::Window);
ui->wCaption->installEventFilter(new DialogMoveHandler(this));
ui->passEdit1->setMaxLength(MAX_PASSPHRASE_SIZE);
ui->passEdit2->setMaxLength(MAX_PASSPHRASE_SIZE);
ui->passEdit3->setMaxLength(MAX_PASSPHRASE_SIZE);
@@ -27,36 +30,46 @@ AskPassphraseDialog::AskPassphraseDialog(Mode mode, QWidget *parent) :
ui->passEdit2->installEventFilter(this);
ui->passEdit3->installEventFilter(this);
ui->stakingCheckBox->hide();
switch(mode)
{
case Encrypt: // Ask passphrase x2
ui->lbTitleIcon_Passphrase->hide();
ui->lbTitleIcon_Unlock->hide();
ui->passLabel1->hide();
ui->passEdit1->hide();
ui->warningLabel->setText(tr("Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>10 or more random characters</b>, or <b>eight or more words</b>."));
setWindowTitle(tr("Encrypt wallet"));
ui->lbTitle->setText(tr("Encrypt wallet"));
break;
case UnlockStaking:
ui->stakingCheckBox->setChecked(true);
ui->stakingCheckBox->setChecked(false);
ui->stakingCheckBox->show();
// fallthru
case Unlock: // Ask passphrase
ui->lbTitleIcon_Lock->hide();
ui->lbTitleIcon_Passphrase->hide();
ui->warningLabel->setText(tr("This operation needs your wallet passphrase to unlock the wallet."));
ui->passLabel2->hide();
ui->passEdit2->hide();
ui->passLabel3->hide();
ui->passEdit3->hide();
setWindowTitle(tr("Unlock wallet"));
ui->lbTitle->setText(tr("Unlock wallet"));
break;
case Decrypt: // Ask passphrase
ui->lbTitleIcon_Lock->hide();
ui->lbTitleIcon_Passphrase->hide();
ui->warningLabel->setText(tr("This operation needs your wallet passphrase to decrypt the wallet."));
ui->passLabel2->hide();
ui->passEdit2->hide();
ui->passLabel3->hide();
ui->passEdit3->hide();
setWindowTitle(tr("Decrypt wallet"));
ui->lbTitle->setText(tr("Decrypt wallet"));
break;
case ChangePass: // Ask old passphrase + new passphrase x2
setWindowTitle(tr("Change passphrase"));
ui->lbTitleIcon_Lock->hide();
ui->lbTitleIcon_Unlock->hide();
ui->lbTitle->setText(tr("Change passphrase"));
ui->warningLabel->setText(tr("Enter the old and new passphrase to the wallet."));
break;
}
@@ -69,10 +82,7 @@ AskPassphraseDialog::AskPassphraseDialog(Mode mode, QWidget *parent) :
AskPassphraseDialog::~AskPassphraseDialog()
{
// Attempt to overwrite text so that they do not linger around in memory
ui->passEdit1->setText(QString(" ").repeated(ui->passEdit1->text().size()));
ui->passEdit2->setText(QString(" ").repeated(ui->passEdit2->text().size()));
ui->passEdit3->setText(QString(" ").repeated(ui->passEdit3->text().size()));
secureClearPassFields();
delete ui;
}
@@ -103,40 +113,107 @@ void AskPassphraseDialog::accept()
// Cannot encrypt with empty passphrase
break;
}
QMessageBox::StandardButton retval = QMessageBox::question(this, tr("Confirm wallet encryption"),
tr("Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR COINS</b>!") + "<br><br>" + tr("Are you sure you wish to encrypt your wallet?"),
QMessageBox::Yes|QMessageBox::Cancel,
QMessageBox::Cancel);
QMessageBox* msgBox = new QMessageBox(QMessageBox::Question,
tr("Confirm wallet encryption"),
tr("Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR COINS</b>!") + "<br><br>" + tr("Are you sure you wish to encrypt your wallet?"),
QMessageBox::Yes|QMessageBox::Cancel, this,
Qt::FramelessWindowHint);
msgBox->setIconPixmap(QPixmap(":/msgbox/question"));
msgBox->setStyleSheet("QMessageBox { border: 2px solid #e22104;}");
msgBox->button(QMessageBox::Yes)->setStyleSheet("\
QMessageBox QPushButton {background-color: #000;color: #f26522;border: 1px solid #f26522;\
min-width: 120px;max-width: 120px;max-height: 20px;min-height: 20px;}\
QMessageBox QPushButton:hover {background-color: #61280E;}\
QMessageBox QPushButton:pressed:flat {color: #000;background-color: #f26522;}\
");
msgBox->button(QMessageBox::Cancel)->setStyleSheet("\
QMessageBox QPushButton {background-color: #000;color: #f26522;border: 1px solid #f26522;\
min-width: 120px;max-width: 120px;max-height: 20px;min-height: 20px;}\
QMessageBox QPushButton:hover {background-color: #61280E;}\
QMessageBox QPushButton:pressed:flat {color: #000;background-color: #f26522;}\
");
int retval = msgBox->exec();
if(retval == QMessageBox::Yes)
{
if(newpass1 == newpass2)
{
if(model->setWalletEncrypted(true, newpass1))
{
QMessageBox::warning(this, tr("Wallet encrypted"),
"<qt>" +
tr("Triangles will close now to finish the encryption process. "
"Remember that encrypting your wallet cannot fully protect "
"your coins from being stolen by malware infecting your computer.") +
"<br><br><b>" +
tr("IMPORTANT: Any previous backups you have made of your wallet file "
"should be replaced with the newly generated, encrypted wallet file. "
"For security reasons, previous backups of the unencrypted wallet file "
"will become useless as soon as you start using the new, encrypted wallet.") +
"</b></qt>");
QMessageBox* msgBox = new QMessageBox(QMessageBox::Warning,
tr("Wallet encrypted"),
"<qt>" +
tr("Triangles will close now to finish the encryption process. "
"Remember that encrypting your wallet cannot fully protect "
"your coins from being stolen by malware infecting your computer.") +
"<br><br><b>" +
tr("IMPORTANT: Any previous backups you have made of your wallet file "
"should be replaced with the newly generated, encrypted wallet file. "
"For security reasons, previous backups of the unencrypted wallet file "
"will become useless as soon as you start using the new, encrypted wallet.") +
"</b></qt>",
QMessageBox::Ok, this,
Qt::FramelessWindowHint);
msgBox->setIconPixmap(QPixmap(":/msgbox/warning"));
msgBox->setStyleSheet("QMessageBox { border: 2px solid #e22104;}");
msgBox->button(QMessageBox::Ok)->setStyleSheet("\
QMessageBox QPushButton {background-color: #000;color: #f26522;border: 1px solid #f26522;\
min-width: 120px;max-width: 120px;max-height: 20px;min-height: 20px;}\
QMessageBox QPushButton:hover {background-color: #61280E;}\
QMessageBox QPushButton:pressed:flat {color: #000;background-color: #f26522;}\
");
msgBox->exec();
QApplication::quit();
}
else
{
QMessageBox::critical(this, tr("Wallet encryption failed"),
tr("Wallet encryption failed due to an internal error. Your wallet was not encrypted."));
QMessageBox* msgBox = new QMessageBox(QMessageBox::Critical,
tr("Wallet encryption failed"),
tr("Wallet encryption failed due to an internal error. Your wallet was not encrypted."),
QMessageBox::Ok, this,
Qt::FramelessWindowHint);
msgBox->setIconPixmap(QPixmap(":/msgbox/critical"));
msgBox->setStyleSheet("QMessageBox { border: 2px solid #e22104;}");
msgBox->button(QMessageBox::Ok)->setStyleSheet("\
QMessageBox QPushButton {background-color: #000;color: #f26522;border: 1px solid #f26522;\
min-width: 120px;max-width: 120px;max-height: 20px;min-height: 20px;}\
QMessageBox QPushButton:hover {background-color: #61280E;}\
QMessageBox QPushButton:pressed:flat {color: #000;background-color: #f26522;}\
");
msgBox->exec();
}
QDialog::accept(); // Success
}
else
{
QMessageBox::critical(this, tr("Wallet encryption failed"),
tr("The supplied passphrases do not match."));
QMessageBox* msgBox = new QMessageBox(QMessageBox::Critical,
tr("Wallet encryption failed"),
tr("The supplied passphrases do not match."),
QMessageBox::Ok, this,
Qt::FramelessWindowHint);
msgBox->setIconPixmap(QPixmap(":/msgbox/critical"));
msgBox->setStyleSheet("QMessageBox { border: 2px solid #e22104;}");
msgBox->button(QMessageBox::Ok)->setStyleSheet("\
QMessageBox QPushButton {background-color: #000;color: #f26522;border: 1px solid #f26522;\
min-width: 120px;max-width: 120px;max-height: 20px;min-height: 20px;}\
QMessageBox QPushButton:hover {background-color: #61280E;}\
QMessageBox QPushButton:pressed:flat {color: #000;background-color: #f26522;}\
");
msgBox->exec();
}
}
else
@@ -148,8 +225,23 @@ void AskPassphraseDialog::accept()
case Unlock:
if(!model->setWalletLocked(false, oldpass))
{
QMessageBox::critical(this, tr("Wallet unlock failed"),
tr("The passphrase entered for the wallet decryption was incorrect."));
QMessageBox* msgBox = new QMessageBox(QMessageBox::Critical,
tr("Wallet unlock failed"),
tr("The passphrase entered for the wallet decryption was incorrect!"),
QMessageBox::Ok, this,
Qt::FramelessWindowHint);
msgBox->setIconPixmap(QPixmap(":/msgbox/critical"));
msgBox->setStyleSheet("QMessageBox { border: 2px solid #e22104;}");
msgBox->button(QMessageBox::Ok)->setStyleSheet("\
QMessageBox QPushButton {background-color: #000;color: #f26522;border: 1px solid #f26522;\
min-width: 120px;max-width: 120px;max-height: 20px;min-height: 20px;}\
QMessageBox QPushButton:hover {background-color: #61280E;}\
QMessageBox QPushButton:pressed:flat {color: #000;background-color: #f26522;}\
");
msgBox->exec();
}
else
{
@@ -160,8 +252,22 @@ void AskPassphraseDialog::accept()
case Decrypt:
if(!model->setWalletEncrypted(false, oldpass))
{
QMessageBox::critical(this, tr("Wallet decryption failed"),
tr("The passphrase entered for the wallet decryption was incorrect."));
QMessageBox* msgBox = new QMessageBox(QMessageBox::Critical,
tr("Wallet decryption failed"),
tr("The passphrase entered for the wallet decryption was incorrect!"),
QMessageBox::Ok, this,
Qt::FramelessWindowHint);
msgBox->setIconPixmap(QPixmap(":/msgbox/critical"));
msgBox->setStyleSheet("QMessageBox { border: 2px solid #e22104;}");
msgBox->button(QMessageBox::Ok)->setStyleSheet("\
QMessageBox QPushButton {background-color: #000;color: #f26522;border: 1px solid #f26522;\
min-width: 120px;max-width: 120px;max-height: 20px;min-height: 20px;}\
QMessageBox QPushButton:hover {background-color: #61280E;}\
QMessageBox QPushButton:pressed:flat {color: #000;background-color: #f26522;}\
");
msgBox->exec();
}
else
{
@@ -173,20 +279,65 @@ void AskPassphraseDialog::accept()
{
if(model->changePassphrase(oldpass, newpass1))
{
QMessageBox::information(this, tr("Wallet encrypted"),
tr("Wallet passphrase was successfully changed."));
QMessageBox* msgBox = new QMessageBox(QMessageBox::Information,
tr("Wallet encrypted"),
tr("Wallet passphrase was successfully changed."),
QMessageBox::Ok, this,
Qt::FramelessWindowHint);
msgBox->setIconPixmap(QPixmap(":/msgbox/information"));
msgBox->setStyleSheet("QMessageBox { border: 2px solid #e22104;}");
msgBox->button(QMessageBox::Ok)->setStyleSheet("\
QMessageBox QPushButton {background-color: #000;color: #f26522;border: 1px solid #f26522;\
min-width: 120px;max-width: 120px;max-height: 20px;min-height: 20px;}\
QMessageBox QPushButton:hover {background-color: #61280E;}\
QMessageBox QPushButton:pressed:flat {color: #000;background-color: #f26522;}\
");
msgBox->exec();
QDialog::accept(); // Success
}
else
{
QMessageBox::critical(this, tr("Wallet encryption failed"),
tr("The passphrase entered for the wallet decryption was incorrect."));
QMessageBox* msgBox = new QMessageBox(QMessageBox::Critical,
tr("Wallet encryption failed"),
tr("The passphrase entered for the wallet decryption was incorrect!"),
QMessageBox::Ok, this,
Qt::FramelessWindowHint);
msgBox->setIconPixmap(QPixmap(":/msgbox/critical"));
msgBox->setStyleSheet("QMessageBox { border: 2px solid #e22104;}");
msgBox->button(QMessageBox::Ok)->setStyleSheet("\
QMessageBox QPushButton {background-color: #000;color: #f26522;border: 1px solid #f26522;\
min-width: 120px;max-width: 120px;max-height: 20px;min-height: 20px;}\
QMessageBox QPushButton:hover {background-color: #61280E;}\
QMessageBox QPushButton:pressed:flat {color: #000;background-color: #f26522;}\
");
msgBox->exec();
}
}
else
{
QMessageBox::critical(this, tr("Wallet encryption failed"),
tr("The supplied passphrases do not match."));
QMessageBox* msgBox = new QMessageBox(QMessageBox::Critical,
tr("Wallet encryption failed"),
tr("The supplied passphrases do not match."),
QMessageBox::Ok, this,
Qt::FramelessWindowHint);
msgBox->setIconPixmap(QPixmap(":/msgbox/critical"));
msgBox->setStyleSheet("QMessageBox { border: 2px solid #e22104;}");
msgBox->button(QMessageBox::Ok)->setStyleSheet("\
QMessageBox QPushButton {background-color: #000;color: #f26522;border: 1px solid #f26522;\
min-width: 120px;max-width: 120px;max-height: 20px;min-height: 20px;}\
QMessageBox QPushButton:hover {background-color: #61280E;}\
QMessageBox QPushButton:pressed:flat {color: #000;background-color: #f26522;}\
");
msgBox->exec();
}
break;
}
@@ -255,3 +406,14 @@ bool AskPassphraseDialog::eventFilter(QObject *object, QEvent *event)
}
return QDialog::eventFilter(object, event);
}
void AskPassphraseDialog::secureClearPassFields()
{
// Attempt to overwrite text so that they do not linger around in memory
ui->passEdit1->setText(QString(" ").repeated(ui->passEdit1->text().size()));
ui->passEdit2->setText(QString(" ").repeated(ui->passEdit2->text().size()));
ui->passEdit3->setText(QString(" ").repeated(ui->passEdit3->text().size()));
ui->passEdit1->clear();
ui->passEdit2->clear();
ui->passEdit3->clear();
}
+1 -1
View File
@@ -6,7 +6,6 @@
namespace Ui {
class AskPassphraseDialog;
}
class WalletModel;
/** Multifunctional dialog to ask for passphrases. Used for encryption, unlocking, and changing the passphrase.
@@ -41,6 +40,7 @@ private slots:
void textChanged();
bool event(QEvent *event);
bool eventFilter(QObject *, QEvent *event);
void secureClearPassFields();
};
#endif // ASKPASSPHRASEDIALOG_H
+65 -8
View File
@@ -7,6 +7,7 @@
#include "addresstablemodel.h"
#include "optionsmodel.h"
#include "coincontrol.h"
#include "dialog_move_handler.h"
#include <QApplication>
#include <QCheckBox>
@@ -31,12 +32,13 @@ CoinControlDialog::CoinControlDialog(QWidget *parent) :
model(0)
{
ui->setupUi(this);
setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint | Qt::Window);
ui->wCaption->installEventFilter(new DialogMoveHandler(this));
// context menu actions
QAction *copyAddressAction = new QAction(tr("Copy address"), this);
QAction *copyLabelAction = new QAction(tr("Copy label"), this);
QAction *copyAmountAction = new QAction(tr("Copy amount"), this);
copyTransactionHashAction = new QAction(tr("Copy transaction ID"), this); // we need to enable/disable this
QAction *copyAddressAction = new QAction(QIcon(":/menu_16/copy"), tr("Copy address"), this);
QAction *copyLabelAction = new QAction(QIcon(":/menu_16/copy"), tr("Copy label"), this);
QAction *copyAmountAction = new QAction(QIcon(":/menu_16/copy"), tr("Copy amount"), this);
copyTransactionHashAction = new QAction(QIcon(":/menu_16/copy"), tr("Copy transaction ID"), this); // we need to enable/disable this
//lockAction = new QAction(tr("Lock unspent"), this); // we need to enable/disable this
//unlockAction = new QAction(tr("Unlock unspent"), this); // we need to enable/disable this
@@ -49,6 +51,24 @@ CoinControlDialog::CoinControlDialog(QWidget *parent) :
//contextMenu->addSeparator();
//contextMenu->addAction(lockAction);
//contextMenu->addAction(unlockAction);
contextMenu->setStyleSheet("QMenu {\
background-color: #000; \
border: 1px solid #f26522;\
color: #f26522;\
}\
\
QMenu::item {\
background-color: transparent;\
}\
\
QMenu::item:selected {\
color: #f26522;\
background-color: #61280E;\
}\
QMenu::item:disabled {\
color: #61280E;\
}\
");
// context menu signals
connect(ui->treeWidget, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showMenu(QPoint)));
@@ -106,8 +126,8 @@ CoinControlDialog::CoinControlDialog(QWidget *parent) :
ui->treeWidget->setColumnWidth(COLUMN_CHECKBOX, 84);
ui->treeWidget->setColumnWidth(COLUMN_AMOUNT, 100);
ui->treeWidget->setColumnWidth(COLUMN_LABEL, 170);
ui->treeWidget->setColumnWidth(COLUMN_ADDRESS, 290);
ui->treeWidget->setColumnWidth(COLUMN_LABEL, 180);
ui->treeWidget->setColumnWidth(COLUMN_ADDRESS, 300);
ui->treeWidget->setColumnWidth(COLUMN_DATE, 110);
ui->treeWidget->setColumnWidth(COLUMN_CONFIRMATIONS, 100);
ui->treeWidget->setColumnWidth(COLUMN_PRIORITY, 100);
@@ -116,6 +136,43 @@ CoinControlDialog::CoinControlDialog(QWidget *parent) :
ui->treeWidget->setColumnHidden(COLUMN_AMOUNT_INT64, true); // store amount int64_t in this column, but dont show it
ui->treeWidget->setColumnHidden(COLUMN_PRIORITY_INT64, true); // store priority int64_t in this column, but dont show it
ui->treeWidget->setStyleSheet("\
CoinControlTreeWidget { \
border: 1px solid #f26522; \
} \
QTreeView::indicator:unchecked{\
image: url(:/icons/stylesheet-checkbox-unchecked) 0;\
}\
QTreeView::indicator:unchecked:disabled{\
image: url(:/icons/stylesheet-vline) 0;\
}\
QTreeView::indicator:checked{\
image: url(:/icons/stylesheet-checkbox-checked) 0;\
}\
QTreeView::indicator:indeterminate{\
image: url(:/icons/stylesheet-checkbox-indeterminate) 0;\
}\
CoinControlTreeWidget::branch:has-siblings:!adjoins-item {\
border-image: url(:/icons/stylesheet-vline) 0;\
}\
CoinControlTreeWidget::branch:has-siblings:adjoins-item {\
border-image: url(:/icons/stylesheet-branch-more) 0;\
}\
CoinControlTreeWidget::branch:!has-children:!has-siblings:adjoins-item {\
border-image: url(:/icons/stylesheet-branch-end) 0;\
}\
CoinControlTreeWidget::branch:has-children:!has-siblings:closed,\
CoinControlTreeWidget::branch:closed:has-children:has-siblings {\
border-image: none;\
image: url(:/icons/stylesheet-branch-closed);\
}\
CoinControlTreeWidget::branch:open:has-children:!has-siblings,\
CoinControlTreeWidget::branch:open:has-children:has-siblings {\
border-image: none;\
image: url(:/icons/stylesheet-branch-open);\
}\
");
// default view is sorted by amount desc
sortView(COLUMN_AMOUNT_INT64, Qt::DescendingOrder);
}
@@ -609,7 +666,7 @@ void CoinControlDialog::updateView()
itemWalletAddress->setCheckState(COLUMN_CHECKBOX,Qt::Unchecked);
for (int i = 0; i < ui->treeWidget->columnCount(); i++)
itemWalletAddress->setBackground(i, QColor(248, 247, 246));
itemWalletAddress->setBackground(i, QColor(0, 0, 0));
// label
itemWalletAddress->setText(COLUMN_LABEL, sWalletLabel);
+50
View File
@@ -0,0 +1,50 @@
#include "dialog_move_handler.h"
#include <QEvent>
#include <QMouseEvent>
#include <QWidget>
DialogMoveHandler::DialogMoveHandler(QWidget *target)
: QObject(target)
, _moving(false)
, _lastPosition(0, 0)
{
}
bool DialogMoveHandler::eventFilter(QObject *obj, QEvent *event)
{
QMouseEvent* mouseEvent = static_cast<QMouseEvent*>(event);
switch (event->type())
{
case QEvent::MouseButtonPress:
if ( mouseEvent->button() == Qt::LeftButton)
{
_moving = true;
_lastPosition = mouseEvent->globalPos();
return true;
}
break;
case QEvent::MouseMove:
if (mouseEvent->buttons().testFlag(Qt::LeftButton) && _moving)
{
QWidget* target = qobject_cast<QWidget*>(parent());
if (target)
{
target->move(target->pos() + (mouseEvent->globalPos() - _lastPosition));
_lastPosition = mouseEvent->globalPos();
return true;
}
}
break;
case QEvent::MouseButtonRelease:
if (mouseEvent->button() == Qt::LeftButton)
{
_moving = false;
return true;
}
break;
default:
break;
}
return QObject::eventFilter(obj, event);
}
+24
View File
@@ -0,0 +1,24 @@
#ifndef DIALOG_MOVE_HANDLER_H
#define DIALOG_MOVE_HANDLER_H
#include <QObject>
#include <QPoint>
QT_BEGIN_NAMESPACE
QT_FORWARD_DECLARE_CLASS(QWidget)
QT_END_NAMESPACE
class DialogMoveHandler : public QObject
{
Q_OBJECT
public:
explicit DialogMoveHandler(QWidget* target);
protected:
bool eventFilter(QObject *obj, QEvent *event);
private:
bool _moving;
QPoint _lastPosition;
};
#endif // DIALOG_MOVE_HANDLER_H
+27 -8
View File
@@ -8,6 +8,7 @@
#include "base58.h"
#include "clientmodel.h"
#include "trianglesrpc.h"
#include "dialog_move_handler.h"
#include <QDataWidgetMapper>
#include <QMessageBox>
@@ -17,6 +18,8 @@ EditAddressDialog::EditAddressDialog(Mode mode, QWidget *parent) :
ui(new Ui::EditAddressDialog), mapper(0), mode(mode), model(0)
{
ui->setupUi(this);
setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint | Qt::Window);
ui->wCaption->installEventFilter(new DialogMoveHandler(this));
GUIUtil::setupAddressWidget(ui->addressEdit, this);
@@ -24,28 +27,44 @@ EditAddressDialog::EditAddressDialog(Mode mode, QWidget *parent) :
{
case NewReceivingAddress:
setWindowTitle(tr("New receiving address"));
ui->lbTitle->setText(tr("New receiving address"));
ui->picSend->setVisible(false);
ui->addressEdit->setEnabled(false);
ui->addressEdit->setVisible(false);
if (!fTestNet && (pindexBest->nHeight < 27000)) {
ui->stealthCB->setEnabled(false); }
if (fTestNet || pindexBest->nHeight > 26999) {
ui->stealthCB->setEnabled(true); }
ui->stealthCB->setVisible(true);
ui->pasteButton->setEnabled(false);
ui->pasteButton->setVisible(false);
ui->label_address->setVisible(false);
ui->stealthCB->setEnabled(false);
ui->stealthCB->setVisible(false);
break;
case NewSendingAddress:
setWindowTitle(tr("New sending address"));
ui->stealthCB->setVisible(false);
ui->lbTitle->setText(tr("New sending address"));
ui->picReceive->setVisible(false);
ui->stealthCB->setEnabled(false);
ui->stealthCB->setVisible(false);
break;
case EditReceivingAddress:
setWindowTitle(tr("Edit receiving address"));
ui->picSend->setVisible(false);
ui->lbTitle->setText(tr("Edit receiving address"));
ui->addressEdit->setEnabled(false);
ui->addressEdit->setVisible(true);
ui->pasteButton->setEnabled(false);
ui->pasteButton->setVisible(false);
ui->stealthCB->setEnabled(false);
ui->stealthCB->setVisible(true);
ui->stealthCB->setVisible(false);
break;
case EditSendingAddress:
setWindowTitle(tr("Edit sending address"));
ui->stealthCB->setVisible(false);
ui->lbTitle->setText(tr("Edit sending address"));
ui->picReceive->setVisible(false);
ui->addressEdit->setEnabled(false);
ui->addressEdit->setVisible(true);
ui->pasteButton->setEnabled(false);
ui->pasteButton->setVisible(false);
ui->stealthCB->setEnabled(false);
ui->stealthCB->setVisible(false);
break;
}
+4 -4
View File
@@ -3,15 +3,15 @@
#include <QDialog>
QT_BEGIN_NAMESPACE
class QDataWidgetMapper;
QT_END_NAMESPACE
namespace Ui {
class EditAddressDialog;
}
class AddressTableModel;
QT_BEGIN_NAMESPACE
class QDataWidgetMapper;
QT_END_NAMESPACE
/** Dialog for editing an address and associated information.
*/
class EditAddressDialog : public QDialog
+1195 -139
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+552 -99
View File
@@ -6,12 +6,12 @@
<rect>
<x>0</x>
<y>0</y>
<width>598</width>
<height>198</height>
<width>550</width>
<height>274</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -25,111 +25,548 @@
<property name="windowTitle">
<string>Passphrase Dialog</string>
</property>
<property name="styleSheet">
<string notr="true">color: #f26522;
background-color: #000;
QLineEdit {
background-color: #1c1c1c;
border: 1px solid #f26522;
}
</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="warningLabel">
<property name="textFormat">
<enum>Qt::RichText</enum>
<widget class="QFrame" name="frame">
<property name="styleSheet">
<string notr="true">#frame {
border: 2px solid #f26522;
}</string>
</property>
<property name="wordWrap">
<bool>true</bool>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
</widget>
</item>
<item>
<layout class="QFormLayout" name="formLayout">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<item row="0" column="0">
<widget class="QLabel" name="passLabel1">
<property name="text">
<string>Enter passphrase</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="passEdit1">
<property name="echoMode">
<enum>QLineEdit::Password</enum>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="passLabel2">
<property name="text">
<string>New passphrase</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="passEdit2">
<property name="echoMode">
<enum>QLineEdit::Password</enum>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="passLabel3">
<property name="text">
<string>Repeat new passphrase</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="passEdit3">
<property name="echoMode">
<enum>QLineEdit::Password</enum>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="capsLabel">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QCheckBox" name="stakingCheckBox">
<property name="enabled">
<bool>true</bool>
</property>
<property name="toolTip">
<string>Serves to disable the trivial sendmoney when OS account compromised. Provides no real security.</string>
</property>
<property name="text">
<string>For staking only</string>
</property>
<property name="visible">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>9</number>
</property>
<property name="topMargin">
<number>9</number>
</property>
<property name="rightMargin">
<number>9</number>
</property>
<property name="bottomMargin">
<number>9</number>
</property>
<item>
<widget class="QWidget" name="wCaption" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>35</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>35</height>
</size>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="is_header" stdset="0">
<bool>true</bool>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="lbTitleIcon_Lock">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../triangles.qrc">:/menu_32/lock</pixmap>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lbTitleIcon_Unlock">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../triangles.qrc">:/menu_32/unlock</pixmap>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lbTitleIcon_Passphrase">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../triangles.qrc">:/menu_32/passphrase</pixmap>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_26">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>7</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="lbTitle">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<pointsize>11</pointsize>
<weight>75</weight>
<bold>true</bold>
<stylestrategy>PreferAntialias</stylestrategy>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>Change password</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="bClose">
<property name="minimumSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
image: url(:/icons/close_normal);
border: 0px solid gray;
}
QPushButton:pressed:flat {
image: url(:/icons/close_normal);
}
QPushButton:hover {
image: url(:/icons/close_hover);
}</string>
</property>
<property name="text">
<string notr="true"/>
</property>
<property name="flat">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>25</number>
</property>
<property name="topMargin">
<number>9</number>
</property>
<property name="rightMargin">
<number>25</number>
</property>
<property name="bottomMargin">
<number>9</number>
</property>
<item>
<widget class="QLabel" name="warningLabel">
<property name="font">
<font>
<pointsize>10</pointsize>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
<property name="textFormat">
<enum>Qt::RichText</enum>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
<property name="margin">
<number>0</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QFormLayout" name="formLayout">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<property name="horizontalSpacing">
<number>9</number>
</property>
<property name="verticalSpacing">
<number>9</number>
</property>
<property name="leftMargin">
<number>25</number>
</property>
<property name="topMargin">
<number>15</number>
</property>
<property name="rightMargin">
<number>25</number>
</property>
<property name="bottomMargin">
<number>9</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="passLabel1">
<property name="font">
<font>
<pointsize>10</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Enter passphrase</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="passEdit1">
<property name="minimumSize">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QLineEdit
{
background-color: #1c1c1c;
border: 1px solid #f26522;
}</string>
</property>
<property name="echoMode">
<enum>QLineEdit::Password</enum>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="passLabel2">
<property name="font">
<font>
<pointsize>10</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>New passphrase</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="passEdit2">
<property name="minimumSize">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QLineEdit
{
background-color: #1c1c1c;
border: 1px solid #f26522;
}</string>
</property>
<property name="echoMode">
<enum>QLineEdit::Password</enum>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="passLabel3">
<property name="font">
<font>
<pointsize>10</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Repeat new passphrase</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="passEdit3">
<property name="minimumSize">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QLineEdit
{
background-color: #1c1c1c;
border: 1px solid #f26522;
}</string>
</property>
<property name="echoMode">
<enum>QLineEdit::Password</enum>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QCheckBox" name="stakingCheckBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="visible">
<bool>true</bool>
</property>
<property name="styleSheet">
<string notr="true">QCheckBox::indicator {
border:1px solid #f26522;
background-color: #000;
}
QCheckBox::indicator:checked {
image:url(:/icons/checkbox);
padding: 1px;
}</string>
</property>
<property name="text">
<string>Unlock for staking only</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="capsLabel">
<property name="enabled">
<bool>true</bool>
</property>
<property name="font">
<font>
<pointsize>10</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
background-color: #000;
color: #f26522;
border: 1px solid #f26522;
max-height: 20px;
min-height: 20px;
max-width: 120px;
min-width: 120px;
}
QPushButton:hover {
background-color: #61280E;
}
QPushButton:pressed:flat {
color: #000;
background-color: #f26522;
}
QPushButton:!enabled {
background-color: #000;
border: 1px solid #61280E;
color: #61280E;
}</string>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
<property name="centerButtons">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<resources/>
<resources>
<include location="../triangles.qrc"/>
</resources>
<connections>
<connection>
<sender>buttonBox</sender>
@@ -163,5 +600,21 @@
</hint>
</hints>
</connection>
<connection>
<sender>bClose</sender>
<signal>clicked()</signal>
<receiver>AskPassphraseDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>558</x>
<y>25</y>
</hint>
<hint type="destinationlabel">
<x>291</x>
<y>138</y>
</hint>
</hints>
</connection>
</connections>
</ui>
File diff suppressed because it is too large Load Diff
+525 -65
View File
@@ -6,75 +6,532 @@
<rect>
<x>0</x>
<y>0</y>
<width>457</width>
<height>129</height>
<width>519</width>
<height>188</height>
</rect>
</property>
<property name="windowTitle">
<string>Edit Address</string>
<string/>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="styleSheet">
<string notr="true">color: #f26522;
background-color: #000;
</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<layout class="QFormLayout" name="formLayout">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
<widget class="QFrame" name="frame">
<property name="styleSheet">
<string notr="true">#frame {
border: 2px solid #f26522;
}</string>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>&amp;Label</string>
</property>
<property name="buddy">
<cstring>labelEdit</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="labelEdit">
<property name="toolTip">
<string>The label associated with this address book entry</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>&amp;Address</string>
</property>
<property name="buddy">
<cstring>addressEdit</cstring>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="addressEdit">
<property name="toolTip">
<string>The address associated with this address book entry. This can only be modified for sending addresses.</string>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2">
<widget class="QCheckBox" name="stealthCB">
<property name="text">
<string>&amp;Stealth Address</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="lineWidth">
<number>1</number>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>9</number>
</property>
<property name="topMargin">
<number>9</number>
</property>
<property name="rightMargin">
<number>9</number>
</property>
<property name="bottomMargin">
<number>9</number>
</property>
<item>
<widget class="QWidget" name="wCaption" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>32</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>32</height>
</size>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="is_header" stdset="0">
<bool>true</bool>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="picSend">
<property name="enabled">
<bool>true</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../triangles.qrc">:/menu_32/send</pixmap>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="picReceive">
<property name="enabled">
<bool>true</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../triangles.qrc">:/menu_32/receive</pixmap>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_26">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>7</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="lbTitle">
<property name="font">
<font>
<pointsize>11</pointsize>
<weight>75</weight>
<bold>true</bold>
<stylestrategy>PreferAntialias</stylestrategy>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>Edit record</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>5</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2" stretch="0,0,0">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>35</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QWidget" name="wContent" native="true">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label_label">
<property name="minimumSize">
<size>
<width>64</width>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>64</width>
<height>30</height>
</size>
</property>
<property name="font">
<font>
<pointsize>10</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>&amp;Label</string>
</property>
<property name="margin">
<number>5</number>
</property>
<property name="buddy">
<cstring>labelEdit</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="labelEdit">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>350</width>
<height>20</height>
</size>
</property>
<property name="toolTip">
<string>The label associated with this address book entry</string>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="styleSheet">
<string notr="true">QLineEdit {
background-color: #1c1c1c;
border: 1px solid #f26522;
margin: 0px 10px;
}</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_address">
<property name="minimumSize">
<size>
<width>64</width>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>64</width>
<height>30</height>
</size>
</property>
<property name="font">
<font>
<pointsize>10</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>&amp;Address</string>
</property>
<property name="margin">
<number>5</number>
</property>
<property name="buddy">
<cstring>addressEdit</cstring>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="addressEdit">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>350</width>
<height>20</height>
</size>
</property>
<property name="toolTip">
<string>The address associated with this address book entry. This can only be modified for sending addresses.</string>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="styleSheet">
<string notr="true">QLineEdit {
background-color: #1c1c1c;
border: 1px solid #f26522;
margin: 0px 10px;
}</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QPushButton" name="pasteButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>28</width>
<height>22</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>28</width>
<height>22</height>
</size>
</property>
<property name="toolTip">
<string>Paste from clipboard</string>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
text-align:left;
border: 0px solid gray;
padding: 3px 5px 3px 5px;
}
QPushButton:pressed:flat {
color: #000;
background-color: #f26522;
}
QPushButton:hover {
background-color: #61280E;
}
QPushButton:!enabled {
color: #61280E;
}</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="../triangles.qrc">
<normaloff>:/menu_16/paste</normaloff>:/menu_16/paste</iconset>
</property>
<property name="iconSize">
<size>
<width>16</width>
<height>16</height>
</size>
</property>
<property name="shortcut">
<string>Alt+A</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<spacer name="horizontalSpacer_7">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="styleSheet">
<string notr="true">QPushButton {
background-color: #000;
color: #f26522;
border: 1px solid #f26522;
max-height: 20px;
min-height: 20px;
max-width: 120px;
min-width: 120px;
}
QPushButton:hover {
background-color: #61280E;
}
QPushButton:pressed:flat {
color: #000;
background-color: #f26522;
}</string>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="stealthCB">
<property name="enabled">
<bool>false</bool>
</property>
<property name="maximumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="checkable">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>10</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>35</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<resources/>
<resources>
<include location="../triangles.qrc"/>
</resources>
<connections>
<connection>
<sender>buttonBox</sender>
@@ -83,12 +540,12 @@
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>248</x>
<y>254</y>
<x>273</x>
<y>121</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
<x>252</x>
<y>70</y>
</hint>
</hints>
</connection>
@@ -99,14 +556,17 @@
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>316</x>
<y>260</y>
<x>273</x>
<y>121</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
<x>252</x>
<y>70</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>pasteRequested()</slot>
</slots>
</ui>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+474 -34
View File
@@ -7,12 +7,436 @@
<x>0</x>
<y>0</y>
<width>785</width>
<height>463</height>
<height>509</height>
</rect>
</property>
<property name="palette">
<palette>
<active>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="Button">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Light">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>180</green>
<blue>144</blue>
</color>
</brush>
</colorrole>
<colorrole role="Midlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>248</red>
<green>140</green>
<blue>89</blue>
</color>
</brush>
</colorrole>
<colorrole role="Dark">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>121</red>
<green>50</green>
<blue>17</blue>
</color>
</brush>
</colorrole>
<colorrole role="Mid">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>161</red>
<green>67</green>
<blue>22</blue>
</color>
</brush>
</colorrole>
<colorrole role="Text">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="BrightText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Shadow">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="AlternateBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>248</red>
<green>178</green>
<blue>144</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>220</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="Button">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Light">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>180</green>
<blue>144</blue>
</color>
</brush>
</colorrole>
<colorrole role="Midlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>248</red>
<green>140</green>
<blue>89</blue>
</color>
</brush>
</colorrole>
<colorrole role="Dark">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>121</red>
<green>50</green>
<blue>17</blue>
</color>
</brush>
</colorrole>
<colorrole role="Mid">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>161</red>
<green>67</green>
<blue>22</blue>
</color>
</brush>
</colorrole>
<colorrole role="Text">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="BrightText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Shadow">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="AlternateBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>248</red>
<green>178</green>
<blue>144</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>220</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="Button">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Light">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>180</green>
<blue>144</blue>
</color>
</brush>
</colorrole>
<colorrole role="Midlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>248</red>
<green>140</green>
<blue>89</blue>
</color>
</brush>
</colorrole>
<colorrole role="Dark">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>121</red>
<green>50</green>
<blue>17</blue>
</color>
</brush>
</colorrole>
<colorrole role="Mid">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>161</red>
<green>67</green>
<blue>22</blue>
</color>
</brush>
</colorrole>
<colorrole role="Text">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="BrightText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Shadow">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="AlternateBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>220</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<property name="styleSheet">
<string notr="true">color: #f26522;
background-color: #000;
QWidget#line {
border: 2px solid #f26522;
}
</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout" stretch="0">
<item>
<widget class="QFrame" name="frameMain">
@@ -24,6 +448,11 @@
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QFrame" name="frame">
<property name="styleSheet">
<string notr="true">#frame {
border: 1px solid #f26522;
}</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
@@ -204,6 +633,11 @@
</item>
<item row="4" column="0" colspan="2">
<widget class="Line" name="line">
<property name="styleSheet">
<string notr="true">#line {
border: 2px solid #f26522;
}</string>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@@ -291,6 +725,12 @@
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QFrame" name="frame_2">
<property name="styleSheet">
<string notr="true">#frame_2 {
border: 1px solid #f26522;
}
</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
@@ -361,21 +801,21 @@
<widget class="QLabel" name="TRIhome">
<property name="styleSheet">
<string notr="true">a:link {color:#000;} /* unvisited link */
a:visited {color:#000;} /* visited link */
a:hover {color:#000;} /* mouse over link */
a:active {color:#000;} /* selected link */</string>
a:visited {color:#000;} /* visited link */
a:hover {color:#000;} /* mouse over link */
a:active {color:#000;} /* selected link */</string>
</property>
<property name="text">
<string>&lt;head&gt;
&lt;style type=&quot;text/css&quot; media=&quot;screen&quot;&gt;
a:link { color:#000; text-decoration: none;font-weight:bold; }
a:visited { color:#000; text-decoration: none; }
a:hover { color:#e22104; text-decoration: none; }
a:active { color:#000; text-decoration: underline; }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;a href=&quot;http://triangles.technology&quot;&gt; &amp;#187; TRI home&lt;/a&gt;&lt;/body&gt;</string>
&lt;style type=&quot;text/css&quot; media=&quot;screen&quot;&gt;
a:link { color:#f26522; text-decoration: none;font-weight:bold; }
a:visited { color:#f26522; text-decoration: none; }
a:hover { color:#f26522; text-decoration: underline; }
a:active { color:#f26522; text-decoration: underline; }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;a href=&quot;http://triangles.technology&quot;&gt; &amp;#187; TRI home&lt;/a&gt;&lt;/body&gt;</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -392,15 +832,15 @@ a:active { color:#000; text-decoration: underline; }
</property>
<property name="text">
<string>&lt;head&gt;
&lt;style type=&quot;text/css&quot; media=&quot;screen&quot;&gt;
a:link { color:#000; text-decoration: none;font-weight:bold; }
a:visited { color:#000; text-decoration: none; }
a:hover { color:#e22104; text-decoration: none; }
a:active { color:#000; text-decoration: underline; }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;a href=&quot;https://bittrex.com/Market/Index?MarketName=BTC-TRI&quot;&gt; &amp;#187; TRI on Bittrex&lt;/a&gt;&lt;/body&gt;</string>
&lt;style type=&quot;text/css&quot; media=&quot;screen&quot;&gt;
a:link { color:#f26522; text-decoration: none;font-weight:bold; }
a:visited { color:#f26522; text-decoration: none; }
a:hover { color:#f26522; text-decoration: underline; }
a:active { color:#f26522; text-decoration: underline; }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;a href=&quot;https://bittrex.com/Market/Index?MarketName=BTC-TRI&quot;&gt; &amp;#187; TRI on Bittrex&lt;/a&gt;&lt;/body&gt;</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -414,21 +854,21 @@ a:active { color:#000; text-decoration: underline; }
<widget class="QLabel" name="TRIexplorer">
<property name="styleSheet">
<string notr="true">a:link {color:#000;} /* unvisited link */
a:visited {color:#000;} /* visited link */
a:hover {color:#000;} /* mouse over link */
a:active {color:#000;} /* selected link */</string>
a:visited {color:#000;} /* visited link */
a:hover {color:#000;} /* mouse over link */
a:active {color:#000;} /* selected link */</string>
</property>
<property name="text">
<string>&lt;head&gt;
&lt;style type=&quot;text/css&quot; media=&quot;screen&quot;&gt;
a:link { color:#000; text-decoration: none;font-weight:bold; }
a:visited { color:#000; text-decoration: none; }
a:hover { color:#e22104; text-decoration: none; }
a:active { color:#000; text-decoration: underline; }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;a href=&quot;http://explorer.triangles.technology&quot;&gt; &amp;#187; TRI block explorer&lt;/a&gt;&lt;/body&gt;</string>
&lt;style type=&quot;text/css&quot; media=&quot;screen&quot;&gt;
a:link { color:#f26522; text-decoration: none;font-weight:bold; }
a:visited { color:#f26522; text-decoration: none; }
a:hover { color:#f26522; text-decoration: underline; }
a:active { color:#f26522; text-decoration: underline; }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;a href=&quot;http://explorer.triangles.technology&quot;&gt; &amp;#187; TRI block explorer&lt;/a&gt;&lt;/body&gt;</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+1142 -413
View File
File diff suppressed because it is too large Load Diff
+644 -6
View File
@@ -7,13 +7,545 @@
<x>0</x>
<y>0</y>
<width>850</width>
<height>400</height>
<height>432</height>
</rect>
</property>
<property name="palette">
<palette>
<active>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="Button">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Light">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>180</green>
<blue>144</blue>
</color>
</brush>
</colorrole>
<colorrole role="Midlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>248</red>
<green>140</green>
<blue>89</blue>
</color>
</brush>
</colorrole>
<colorrole role="Dark">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>121</red>
<green>50</green>
<blue>17</blue>
</color>
</brush>
</colorrole>
<colorrole role="Mid">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>161</red>
<green>67</green>
<blue>22</blue>
</color>
</brush>
</colorrole>
<colorrole role="Text">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="BrightText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Shadow">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="AlternateBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>248</red>
<green>178</green>
<blue>144</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>220</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="Button">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Light">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>180</green>
<blue>144</blue>
</color>
</brush>
</colorrole>
<colorrole role="Midlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>248</red>
<green>140</green>
<blue>89</blue>
</color>
</brush>
</colorrole>
<colorrole role="Dark">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>121</red>
<green>50</green>
<blue>17</blue>
</color>
</brush>
</colorrole>
<colorrole role="Mid">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>161</red>
<green>67</green>
<blue>22</blue>
</color>
</brush>
</colorrole>
<colorrole role="Text">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="BrightText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Shadow">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="AlternateBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>248</red>
<green>178</green>
<blue>144</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>220</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="Button">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Light">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>180</green>
<blue>144</blue>
</color>
</brush>
</colorrole>
<colorrole role="Midlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>248</red>
<green>140</green>
<blue>89</blue>
</color>
</brush>
</colorrole>
<colorrole role="Dark">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>121</red>
<green>50</green>
<blue>17</blue>
</color>
</brush>
</colorrole>
<colorrole role="Mid">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>161</red>
<green>67</green>
<blue>22</blue>
</color>
</brush>
</colorrole>
<colorrole role="Text">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="BrightText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Shadow">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="AlternateBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>220</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="windowTitle">
<string>Send Coins</string>
</property>
<property name="styleSheet">
<string notr="true">color: #f26522;
background-color: #000;</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QWidget" name="wCaption" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>32</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>40</height>
</size>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="is_header" stdset="0">
<bool>true</bool>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<property name="spacing">
<number>6</number>
</property>
<property name="leftMargin">
<number>9</number>
</property>
<property name="topMargin">
<number>9</number>
</property>
<property name="bottomMargin">
<number>9</number>
</property>
<item>
<widget class="QLabel" name="icon_send">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
<property name="baseSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../triangles.qrc">:/menu_32/send</pixmap>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_send_1">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>4</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_send">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="font">
<font>
<pointsize>11</pointsize>
<weight>75</weight>
<bold>true</bold>
<stylestrategy>PreferAntialias</stylestrategy>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>Send Triangles</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QFrame" name="frameMain">
<layout class="QVBoxLayout" name="verticalLayout_3">
@@ -31,6 +563,11 @@
<height>16777215</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">#frameCoinControl {
border: 1px solid #f26522;
}</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
@@ -104,7 +641,24 @@
<item>
<widget class="QPushButton" name="pushButtonCoinControl">
<property name="styleSheet">
<string notr="true"/>
<string notr="true">QPushButton {
border: 1px solid #f26522;
padding: 3px 20px 3px 20px;
}
QPushButton:pressed:flat {
color: #000;
background-color: #f26522;
}
QPushButton:hover {
background-color: #61280E;
}
QPushButton:!enabled {
color: #61280E;
border: 1px solid #61280E;
}</string>
</property>
<property name="text">
<string>Inputs...</string>
@@ -564,6 +1118,17 @@
</property>
<item>
<widget class="QCheckBox" name="checkBoxCoinControlChange">
<property name="styleSheet">
<string notr="true">QCheckBox::indicator {
border:1px solid #f26522;
background-color: #000;
}
QCheckBox::indicator:checked {
image:url(:/icons/checkbox);
padding: 1px;
}</string>
</property>
<property name="text">
<string>custom change address</string>
</property>
@@ -580,6 +1145,18 @@
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>22</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QLineEdit {
background-color: #1c1c1c;
border: 1px solid #f26522;
}</string>
</property>
</widget>
</item>
<item>
@@ -637,8 +1214,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>813</width>
<height>148</height>
<width>814</width>
<height>141</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
@@ -685,6 +1262,26 @@
<property name="toolTip">
<string>Send to multiple recipients at once</string>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
text-align:left;
border: 0px solid gray;
padding: 3px 5px 3px 5px;
}
QPushButton:pressed:flat {
color: #000;
background-color: #f26522;
}
QPushButton:hover {
background-color: #61280E;
}
QPushButton:!enabled {
color: #61280E;
}</string>
</property>
<property name="text">
<string>Add &amp;Recipient</string>
</property>
@@ -708,6 +1305,26 @@
<property name="toolTip">
<string>Remove all transaction fields</string>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
text-align:left;
border: 0px solid gray;
padding: 3px 5px 3px 5px;
}
QPushButton:pressed:flat {
color: #000;
background-color: #f26522;
}
QPushButton:hover {
background-color: #61280E;
}
QPushButton:!enabled {
color: #61280E;
}</string>
</property>
<property name="text">
<string>Clear &amp;All</string>
</property>
@@ -779,19 +1396,40 @@
<widget class="QPushButton" name="sendButton">
<property name="minimumSize">
<size>
<width>150</width>
<width>90</width>
<height>0</height>
</size>
</property>
<property name="toolTip">
<string>Confirm the send action</string>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
border: 0px solid gray;
padding: 3px 5px 3px 5px;
min-width: 80px;
max-width: 80px;
}
QPushButton:pressed:flat {
color: #000;
background-color: #f26522;
}
QPushButton:hover {
background-color: #61280E;
}
QPushButton:!enabled {
color: #61280E;
}</string>
</property>
<property name="text">
<string>S&amp;end</string>
</property>
<property name="icon">
<iconset resource="../triangles.qrc">
<normaloff>:/icons/send</normaloff>:/icons/send</iconset>
<normaloff>:/menu_16/send</normaloff>:/menu_16/send</iconset>
</property>
<property name="default">
<bool>true</bool>
+710 -83
View File
@@ -7,12 +7,442 @@
<x>0</x>
<y>0</y>
<width>729</width>
<height>142</height>
<height>103</height>
</rect>
</property>
<property name="palette">
<palette>
<active>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="Button">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Light">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>180</green>
<blue>144</blue>
</color>
</brush>
</colorrole>
<colorrole role="Midlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>248</red>
<green>140</green>
<blue>89</blue>
</color>
</brush>
</colorrole>
<colorrole role="Dark">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>121</red>
<green>50</green>
<blue>17</blue>
</color>
</brush>
</colorrole>
<colorrole role="Mid">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>161</red>
<green>67</green>
<blue>22</blue>
</color>
</brush>
</colorrole>
<colorrole role="Text">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="BrightText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Shadow">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="AlternateBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>248</red>
<green>178</green>
<blue>144</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>220</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="Button">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Light">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>180</green>
<blue>144</blue>
</color>
</brush>
</colorrole>
<colorrole role="Midlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>248</red>
<green>140</green>
<blue>89</blue>
</color>
</brush>
</colorrole>
<colorrole role="Dark">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>121</red>
<green>50</green>
<blue>17</blue>
</color>
</brush>
</colorrole>
<colorrole role="Mid">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>161</red>
<green>67</green>
<blue>22</blue>
</color>
</brush>
</colorrole>
<colorrole role="Text">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="BrightText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Shadow">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="AlternateBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>248</red>
<green>178</green>
<blue>144</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>220</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>121</red>
<green>50</green>
<blue>17</blue>
</color>
</brush>
</colorrole>
<colorrole role="Button">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Light">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>180</green>
<blue>144</blue>
</color>
</brush>
</colorrole>
<colorrole role="Midlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>248</red>
<green>140</green>
<blue>89</blue>
</color>
</brush>
</colorrole>
<colorrole role="Dark">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>121</red>
<green>50</green>
<blue>17</blue>
</color>
</brush>
</colorrole>
<colorrole role="Mid">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>161</red>
<green>67</green>
<blue>22</blue>
</color>
</brush>
</colorrole>
<colorrole role="Text">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>121</red>
<green>50</green>
<blue>17</blue>
</color>
</brush>
</colorrole>
<colorrole role="BrightText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>121</red>
<green>50</green>
<blue>17</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Shadow">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="AlternateBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>220</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<property name="styleSheet">
<string notr="true">#SendCoinsEntry{
background-color: #000;
border: 1px solid #f26522;
}
TrianglesAmountField QAbstractItemView {
background-color: #1c1c1c;
selection-background-color:#61280E;
outline: 0px;
selection-color: #f26522;
border: 1px solid #f26522;
color:#f26522;
}</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
@@ -20,24 +450,11 @@
<enum>QFrame::Sunken</enum>
</property>
<layout class="QGridLayout" name="gridLayout">
<property name="spacing">
<number>12</number>
</property>
<item row="6" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>A&amp;mount:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>payAmount</cstring>
</property>
</widget>
</item>
<item row="3" column="0">
<item row="0" column="0">
<widget class="QLabel" name="label_2">
<property name="styleSheet">
<string notr="true">color: #f26522;</string>
</property>
<property name="text">
<string>Pay &amp;To:</string>
</property>
@@ -49,72 +466,28 @@
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="TrianglesAmountField" name="payAmount"/>
</item>
<item row="4" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>0</number>
</property>
<item>
<widget class="QValidatedLineEdit" name="addAsLabel">
<property name="enabled">
<bool>true</bool>
</property>
<property name="toolTip">
<string>Enter a label for this address to add it to your address book</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>N&amp;arration:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>narration</cstring>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QValidatedLineEdit" name="narration">
<property name="enabled">
<bool>true</bool>
</property>
<property name="toolTip">
<string>Enter a short note to send with payment (max 24 characters)</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>&amp;Label:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>addAsLabel</cstring>
</property>
</widget>
</item>
<item row="3" column="1">
<item row="0" column="1" colspan="2">
<layout class="QHBoxLayout" name="payToLayout">
<property name="spacing">
<number>0</number>
<number>6</number>
</property>
<item>
<widget class="QValidatedLineEdit" name="payTo">
<property name="minimumSize">
<size>
<width>0</width>
<height>22</height>
</size>
</property>
<property name="toolTip">
<string>The address to send the payment to (e.g. TXc7mPCNFFpinDonuSH5PNVY9S8nBcvGQm)</string>
</property>
<property name="styleSheet">
<string notr="true">QLineEdit {
background-color: #1c1c1c;
border: 1px solid #f26522;
}</string>
</property>
<property name="maxLength">
<number>34</number>
</property>
@@ -125,12 +498,32 @@
<property name="toolTip">
<string>Choose address from address book</string>
</property>
<property name="styleSheet">
<string notr="true">QToolButton {
text-align:left;
border: 0px solid gray;
padding: 3px 5px 3px 5px;
}
QToolButton:pressed:flat {
color: #000;
background-color: #f26522;
}
QToolButton:hover {
background-color: #61280E;
}
QToolButton:!enabled {
color: #61280E;
}</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="../triangles.qrc">
<normaloff>:/icons/address-book</normaloff>:/icons/address-book</iconset>
<normaloff>:/menu_16/addressbook</normaloff>:/menu_16/addressbook</iconset>
</property>
<property name="shortcut">
<string>Alt+A</string>
@@ -142,12 +535,32 @@
<property name="toolTip">
<string>Paste address from clipboard</string>
</property>
<property name="styleSheet">
<string notr="true">QToolButton {
text-align:left;
border: 0px solid gray;
padding: 3px 5px 3px 5px;
}
QToolButton:pressed:flat {
color: #000;
background-color: #f26522;
}
QToolButton:hover {
background-color: #61280E;
}
QToolButton:!enabled {
color: #61280E;
}</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="../triangles.qrc">
<normaloff>:/icons/editpaste</normaloff>:/icons/editpaste</iconset>
<normaloff>:/menu_16/paste</normaloff>:/menu_16/paste</iconset>
</property>
<property name="shortcut">
<string>Alt+P</string>
@@ -159,6 +572,26 @@
<property name="toolTip">
<string>Remove this recipient</string>
</property>
<property name="styleSheet">
<string notr="true">QToolButton {
text-align:left;
border: 0px solid gray;
padding: 3px 5px 3px 5px;
}
QToolButton:pressed:flat {
color: #000;
background-color: #f26522;
}
QToolButton:hover {
background-color: #61280E;
}
QToolButton:!enabled {
color: #61280E;
}</string>
</property>
<property name="text">
<string/>
</property>
@@ -170,20 +603,214 @@
</item>
</layout>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_4">
<property name="styleSheet">
<string notr="true">color: #f26522;
</string>
</property>
<property name="text">
<string>&amp;Label:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>addAsLabel</cstring>
</property>
</widget>
</item>
<item row="1" column="1" colspan="2">
<widget class="QValidatedLineEdit" name="addAsLabel">
<property name="enabled">
<bool>true</bool>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>22</height>
</size>
</property>
<property name="toolTip">
<string>Enter a label for this address to add it to your address book</string>
</property>
<property name="styleSheet">
<string notr="true">QLineEdit {
background-color: #1c1c1c;
border: 1px solid #f26522;
}</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label">
<property name="minimumSize">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">color: #f26522;
</string>
</property>
<property name="text">
<string>A&amp;mount:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>payAmount</cstring>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="TrianglesAmountField" name="payAmount">
<property name="minimumSize">
<size>
<width>70</width>
<height>22</height>
</size>
</property>
<property name="palette">
<palette>
<active>
<colorrole role="Button">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>28</red>
<green>28</green>
<blue>28</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>28</red>
<green>28</green>
<blue>28</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>28</red>
<green>28</green>
<blue>28</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="Button">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>28</red>
<green>28</green>
<blue>28</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>28</red>
<green>28</green>
<blue>28</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>28</red>
<green>28</green>
<blue>28</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="Button">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>28</red>
<green>28</green>
<blue>28</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>28</red>
<green>28</green>
<blue>28</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>28</red>
<green>28</green>
<blue>28</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="contextMenuPolicy">
<enum>Qt::NoContextMenu</enum>
</property>
<property name="styleSheet">
<string notr="true">border: 1px solid #f26522;
background-color: #1c1c1c;
</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QValidatedLineEdit" name="narration">
<property name="enabled">
<bool>true</bool>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>22</height>
</size>
</property>
<property name="toolTip">
<string>Enter a short note to send with payment (max 24 characters)</string>
</property>
<property name="styleSheet">
<string notr="true">QLineEdit
{
background-color: #1c1c1c;
border: 1px solid #f26522;
}</string>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>QValidatedLineEdit</class>
<extends>QLineEdit</extends>
<header>qvalidatedlineedit.h</header>
</customwidget>
<customwidget>
<class>TrianglesAmountField</class>
<extends>QSpinBox</extends>
<header>trianglesamountfield.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>QValidatedLineEdit</class>
<extends>QLineEdit</extends>
<header>qvalidatedlineedit.h</header>
</customwidget>
</customwidgets>
<resources>
<include location="../triangles.qrc"/>
File diff suppressed because it is too large Load Diff
+636 -5
View File
@@ -10,9 +10,435 @@
<height>236</height>
</rect>
</property>
<property name="palette">
<palette>
<active>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="Button">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Light">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>180</green>
<blue>144</blue>
</color>
</brush>
</colorrole>
<colorrole role="Midlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>248</red>
<green>140</green>
<blue>89</blue>
</color>
</brush>
</colorrole>
<colorrole role="Dark">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>121</red>
<green>50</green>
<blue>17</blue>
</color>
</brush>
</colorrole>
<colorrole role="Mid">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>161</red>
<green>67</green>
<blue>22</blue>
</color>
</brush>
</colorrole>
<colorrole role="Text">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="BrightText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Shadow">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="AlternateBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>248</red>
<green>178</green>
<blue>144</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>220</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="Button">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Light">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>180</green>
<blue>144</blue>
</color>
</brush>
</colorrole>
<colorrole role="Midlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>248</red>
<green>140</green>
<blue>89</blue>
</color>
</brush>
</colorrole>
<colorrole role="Dark">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>121</red>
<green>50</green>
<blue>17</blue>
</color>
</brush>
</colorrole>
<colorrole role="Mid">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>161</red>
<green>67</green>
<blue>22</blue>
</color>
</brush>
</colorrole>
<colorrole role="Text">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="BrightText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Shadow">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="AlternateBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>248</red>
<green>178</green>
<blue>144</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>220</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>121</red>
<green>50</green>
<blue>17</blue>
</color>
</brush>
</colorrole>
<colorrole role="Button">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Light">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>180</green>
<blue>144</blue>
</color>
</brush>
</colorrole>
<colorrole role="Midlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>248</red>
<green>140</green>
<blue>89</blue>
</color>
</brush>
</colorrole>
<colorrole role="Dark">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>121</red>
<green>50</green>
<blue>17</blue>
</color>
</brush>
</colorrole>
<colorrole role="Mid">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>161</red>
<green>67</green>
<blue>22</blue>
</color>
</brush>
</colorrole>
<colorrole role="Text">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>121</red>
<green>50</green>
<blue>17</blue>
</color>
</brush>
</colorrole>
<colorrole role="BrightText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>121</red>
<green>50</green>
<blue>17</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Shadow">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="AlternateBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>242</red>
<green>101</green>
<blue>34</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>220</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<property name="styleSheet">
<string notr="true">#SendMessagesEntry{
background-color: #000;
border: 1px solid #f26522;
}
QLineEdit, QPlainTextEdit {
background-color: #1c1c1c;
border: 1px solid #f26522;
}</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
@@ -30,11 +456,23 @@
</property>
<item>
<widget class="QValidatedLineEdit" name="sendTo">
<property name="minimumSize">
<size>
<width>0</width>
<height>22</height>
</size>
</property>
<property name="toolTip">
<string>The address to send the payment to (e.g. 4Zo1ga6xuKuQ7JV7M9rGDoxdbYwV5zgQJ5)</string>
<string>The address to send the message to (e.g. TXc7mPCNFFpinDonuSH5PNVY9S8nBcvGQm)</string>
</property>
<property name="styleSheet">
<string notr="true">QLineEdit {
background-color: #1c1c1c;
border: 1px solid #f26522;
}</string>
</property>
<property name="maxLength">
<number>34</number>
<number>32767</number>
</property>
</widget>
</item>
@@ -43,12 +481,32 @@
<property name="toolTip">
<string>Choose address from address book</string>
</property>
<property name="styleSheet">
<string notr="true">QToolButton {
text-align:left;
border: 0px solid gray;
padding: 3px 5px 3px 5px;
}
QToolButton:pressed:flat {
color: #000;
background-color: #f26522;
}
QToolButton:hover {
background-color: #61280E;
}
QToolButton:!enabled {
color: #61280E;
}</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="../triangles.qrc">
<normaloff>:/icons/address-book</normaloff>:/icons/address-book</iconset>
<normaloff>:/menu_16/addressbook</normaloff>:/menu_16/addressbook</iconset>
</property>
<property name="shortcut">
<string>Alt+A</string>
@@ -60,12 +518,32 @@
<property name="toolTip">
<string>Paste address from clipboard</string>
</property>
<property name="styleSheet">
<string notr="true">QToolButton {
text-align:left;
border: 0px solid gray;
padding: 3px 5px 3px 5px;
}
QToolButton:pressed:flat {
color: #000;
background-color: #f26522;
}
QToolButton:hover {
background-color: #61280E;
}
QToolButton:!enabled {
color: #61280E;
}</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="../triangles.qrc">
<normaloff>:/icons/editpaste</normaloff>:/icons/editpaste</iconset>
<normaloff>:/menu_16/paste</normaloff>:/menu_16/paste</iconset>
</property>
<property name="shortcut">
<string>Alt+P</string>
@@ -77,6 +555,26 @@
<property name="toolTip">
<string>Remove this recipient</string>
</property>
<property name="styleSheet">
<string notr="true">QToolButton {
text-align:left;
border: 0px solid gray;
padding: 3px 5px 3px 5px;
}
QToolButton:pressed:flat {
color: #000;
background-color: #f26522;
}
QToolButton:hover {
background-color: #61280E;
}
QToolButton:!enabled {
color: #61280E;
}</string>
</property>
<property name="text">
<string/>
</property>
@@ -90,6 +588,9 @@
</item>
<item row="6" column="0">
<widget class="QLabel" name="messageLabel">
<property name="styleSheet">
<string notr="true">color: #f26522;</string>
</property>
<property name="text">
<string>&amp;Message:</string>
</property>
@@ -103,6 +604,9 @@
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_2">
<property name="styleSheet">
<string notr="true">color: #f26522;</string>
</property>
<property name="text">
<string>Send &amp;To:</string>
</property>
@@ -116,12 +620,108 @@
</item>
<item row="6" column="2">
<widget class="QValidatedTextEdit" name="messageText">
<property name="palette">
<palette>
<active>
<colorrole role="Button">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>28</red>
<green>28</green>
<blue>28</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>28</red>
<green>28</green>
<blue>28</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>28</red>
<green>28</green>
<blue>28</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="Button">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>28</red>
<green>28</green>
<blue>28</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>28</red>
<green>28</green>
<blue>28</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>28</red>
<green>28</green>
<blue>28</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="Button">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>28</red>
<green>28</green>
<blue>28</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>28</red>
<green>28</green>
<blue>28</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>28</red>
<green>28</green>
<blue>28</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="mouseTracking">
<bool>true</bool>
</property>
<property name="focusPolicy">
<enum>Qt::WheelFocus</enum>
</property>
<property name="styleSheet">
<string notr="true">
/* style set in qvalidatedtextedit.cpp */
</string>
</property>
<property name="tabChangesFocus">
<bool>false</bool>
</property>
@@ -132,13 +732,28 @@
<property name="enabled">
<bool>true</bool>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>22</height>
</size>
</property>
<property name="toolTip">
<string>Enter a label for this address to add it to your address book</string>
</property>
<property name="styleSheet">
<string notr="true">QLineEdit {
background-color: #1c1c1c;
border: 1px solid #f26522;
}</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_4">
<property name="styleSheet">
<string notr="true">color: #f26522;</string>
</property>
<property name="text">
<string>&amp;Label:</string>
</property>
@@ -152,6 +767,9 @@
</item>
<item row="5" column="0">
<widget class="QLabel" name="publicKeyLabel">
<property name="styleSheet">
<string notr="true">color: #f26522;</string>
</property>
<property name="text">
<string>&amp;Public Key:</string>
</property>
@@ -161,7 +779,20 @@
</widget>
</item>
<item row="5" column="2">
<widget class="QValidatedLineEdit" name="publicKey"/>
<widget class="QValidatedLineEdit" name="publicKey">
<property name="minimumSize">
<size>
<width>0</width>
<height>22</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QLineEdit {
background-color: #1c1c1c;
border: 1px solid #f26522;
}</string>
</property>
</widget>
</item>
</layout>
</widget>
File diff suppressed because it is too large Load Diff
-386
View File
@@ -1,386 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>SignVerifyMessageDialog</class>
<widget class="QDialog" name="SignVerifyMessageDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>700</width>
<height>380</height>
</rect>
</property>
<property name="windowTitle">
<string>Signatures - Sign / Verify a Message</string>
</property>
<property name="modal">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>1</number>
</property>
<widget class="QWidget" name="tabSignMessage">
<attribute name="title">
<string>&amp;Sign Message</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_SM">
<item>
<widget class="QLabel" name="infoLabel_SM">
<property name="text">
<string>You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</string>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_1_SM">
<property name="spacing">
<number>0</number>
</property>
<item>
<widget class="QValidatedLineEdit" name="addressIn_SM">
<property name="toolTip">
<string>The address to sign the message with (e.g. TXc7mPCNFFpinDonuSH5PNVY9S8nBcvGQm)</string>
</property>
<property name="maxLength">
<number>34</number>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="addressBookButton_SM">
<property name="toolTip">
<string>Choose an address from the address book</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="../triangles.qrc">
<normaloff>:/icons/address-book</normaloff>:/icons/address-book</iconset>
</property>
<property name="shortcut">
<string>Alt+A</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pasteButton_SM">
<property name="toolTip">
<string>Paste address from clipboard</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="../triangles.qrc">
<normaloff>:/icons/editpaste</normaloff>:/icons/editpaste</iconset>
</property>
<property name="shortcut">
<string>Alt+P</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QPlainTextEdit" name="messageIn_SM">
<property name="toolTip">
<string>Enter the message you want to sign here</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2_SM">
<property name="spacing">
<number>0</number>
</property>
<item>
<widget class="QLineEdit" name="signatureOut_SM">
<property name="font">
<font>
<italic>true</italic>
</font>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="copySignatureButton_SM">
<property name="toolTip">
<string>Copy the current signature to the system clipboard</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="../triangles.qrc">
<normaloff>:/icons/editcopy</normaloff>:/icons/editcopy</iconset>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3_SM">
<item>
<widget class="QPushButton" name="signMessageButton_SM">
<property name="toolTip">
<string>Sign the message to prove you own this TRI address</string>
</property>
<property name="text">
<string>&amp;Sign Message</string>
</property>
<property name="icon">
<iconset resource="../triangles.qrc">
<normaloff>:/icons/edit</normaloff>:/icons/edit</iconset>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="clearButton_SM">
<property name="toolTip">
<string>Reset all sign message fields</string>
</property>
<property name="text">
<string>Clear &amp;All</string>
</property>
<property name="icon">
<iconset resource="../triangles.qrc">
<normaloff>:/icons/remove</normaloff>:/icons/remove</iconset>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_1_SM">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>48</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="statusLabel_SM">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string/>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2_SM">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>48</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="tabVerifyMessage">
<attribute name="title">
<string>&amp;Verify Message</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_VM">
<item>
<widget class="QLabel" name="infoLabel_VM">
<property name="text">
<string>Enter the signing address, message (ensure you copy line breaks, spaces, tabs, etc. exactly) and signature below to verify the message. Be careful not to read more into the signature than what is in the signed message itself, to avoid being tricked by a man-in-the-middle attack.</string>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_1_VM">
<property name="spacing">
<number>0</number>
</property>
<item>
<widget class="QValidatedLineEdit" name="addressIn_VM">
<property name="toolTip">
<string>The address the message was signed with (e.g. TXc7mPCNFFpinDonuSH5PNVY9S8nBcvGQm)</string>
</property>
<property name="maxLength">
<number>34</number>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="addressBookButton_VM">
<property name="toolTip">
<string>Choose an address from the address book</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="../triangles.qrc">
<normaloff>:/icons/address-book</normaloff>:/icons/address-book</iconset>
</property>
<property name="shortcut">
<string>Alt+A</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QPlainTextEdit" name="messageIn_VM"/>
</item>
<item>
<widget class="QValidatedLineEdit" name="signatureIn_VM"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2_VM">
<item>
<widget class="QPushButton" name="verifyMessageButton_VM">
<property name="toolTip">
<string>Verify the message to ensure it was signed with the specified TRI address</string>
</property>
<property name="text">
<string>&amp;Verify Message</string>
</property>
<property name="icon">
<iconset resource="../triangles.qrc">
<normaloff>:/icons/transaction_0</normaloff>:/icons/transaction_0</iconset>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="clearButton_VM">
<property name="toolTip">
<string>Reset all verify message fields</string>
</property>
<property name="text">
<string>Clear &amp;All</string>
</property>
<property name="icon">
<iconset resource="../triangles.qrc">
<normaloff>:/icons/remove</normaloff>:/icons/remove</iconset>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_1_VM">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>48</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="statusLabel_VM">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string/>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2_VM">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>48</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>QValidatedLineEdit</class>
<extends>QLineEdit</extends>
<header>qvalidatedlineedit.h</header>
</customwidget>
</customwidgets>
<resources>
<include location="../triangles.qrc"/>
</resources>
<connections/>
</ui>
+273 -17
View File
@@ -6,37 +6,277 @@
<rect>
<x>0</x>
<y>0</y>
<width>620</width>
<height>250</height>
<width>685</width>
<height>270</height>
</rect>
</property>
<property name="windowTitle">
<string>Transaction details</string>
</property>
<property name="styleSheet">
<string notr="true">QLabel {
color: #f26522;
}
QDialog {
background-color: #000;
}
</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QTextEdit" name="detailText">
<property name="toolTip">
<string>This pane shows a detailed description of the transaction</string>
<widget class="QFrame" name="borderframe">
<property name="styleSheet">
<string notr="true">#borderframe {
border: 2px solid #f26522;
}</string>
</property>
<property name="readOnly">
<bool>true</bool>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Close</set>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QWidget" name="wCaption" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>38</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>35</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">#wCaption {
background-color: #000;
}</string>
</property>
<property name="is_header" stdset="0">
<bool>true</bool>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QLabel" name="lbTitleIcon">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../triangles.qrc">:/menu_32/transactions</pixmap>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_224">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>5</width>
<height>14</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_aboutTriangles">
<property name="minimumSize">
<size>
<width>400</width>
<height>32</height>
</size>
</property>
<property name="baseSize">
<size>
<width>409</width>
<height>36</height>
</size>
</property>
<property name="font">
<font>
<pointsize>14</pointsize>
<weight>75</weight>
<bold>true</bold>
<stylestrategy>PreferAntialias</stylestrategy>
</font>
</property>
<property name="lineWidth">
<number>2</number>
</property>
<property name="text">
<string>Transaction details</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_223">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>10</width>
<height>14</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="bClose">
<property name="minimumSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
image: url(:/icons/close_normal);
border: 0px solid gray;
}
QPushButton:pressed:flat {
image: url(:/icons/close_normal);
}
QPushButton:hover {
image: url(:/icons/close_hover);
}</string>
</property>
<property name="text">
<string notr="true"/>
</property>
<property name="flat">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QTextEdit" name="detailText">
<property name="toolTip">
<string>This pane shows a detailed description of the transaction</string>
</property>
<property name="styleSheet">
<string notr="true">QTextEdit {
background-color: #1c1c1c;
border: 1px solid #f26522;
color: #f26522;
}</string>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="styleSheet">
<string notr="true">QPushButton {
background-color: #000;
color: #f26522;
border: 1px solid #f26522;
max-height: 20px;
min-height: 20px;
max-width: 120px;
min-width: 120px;
}
QPushButton:hover {
background-color: #61280E;
}
QPushButton:pressed:flat {
color: #000;
background-color: #f26522;
}</string>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Close</set>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<resources/>
<resources>
<include location="../triangles.qrc"/>
</resources>
<connections>
<connection>
<sender>buttonBox</sender>
@@ -70,5 +310,21 @@
</hint>
</hints>
</connection>
<connection>
<sender>bClose</sender>
<signal>clicked()</signal>
<receiver>TransactionDescDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>544</x>
<y>17</y>
</hint>
<hint type="destinationlabel">
<x>552</x>
<y>44</y>
</hint>
</hints>
</connection>
</connections>
</ui>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -11,14 +11,14 @@ static const int MAX_PASSPHRASE_SIZE = 1024;
static const int STATUSBAR_ICONSIZE = 16;
/* Invalid field background style */
#define STYLE_INVALID "background:#FF8080"
#define STYLE_INVALID "border: 1px solid #ff0000;background:#1c1c1c;color: #f26522;"
/* Transaction list -- unconfirmed transaction */
#define COLOR_UNCONFIRMED QColor(190, 190, 190)
#define COLOR_UNCONFIRMED QColor(97, 40, 14)
/* Transaction list -- negative amount */
#define COLOR_NEGATIVE QColor(255, 0, 0)
/* Transaction list -- bare address (without label) */
#define COLOR_BAREADDRESS QColor(140, 140, 140)
#define COLOR_BAREADDRESS QColor(97, 40, 14)
/* Tooltips longer than this (in characters) are converted into rich text,
so that they can be word-wrapped.
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More